@mdn/fred 2.4.1 → 2.4.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +19 -0
- package/components/search-modal/element.css +1 -2
- package/components/search-modal/element.js +15 -1
- package/components/search-modal/global.css +7 -0
- package/out/service-worker.js +1 -1
- package/out/static/client/{2834.79ced0a30b0939c7.js → 2834.e727d9ac07ad4286.js} +2 -2
- package/out/static/client/2834.e727d9ac07ad4286.js.map +1 -0
- package/out/static/{legacy/4517.e81e479dd8baaa08.js → client/4517.0c5b7819647ee298.js} +2 -2
- package/out/static/client/4517.0c5b7819647ee298.js.map +1 -0
- package/out/static/client/6375.e9f9517e7d93e984.js +26 -0
- package/out/static/client/6375.e9f9517e7d93e984.js.map +1 -0
- package/out/static/{legacy/8292.8c8aab5cf0e0fc8e.js → client/8292.15265e24ff099b04.js} +2 -2
- package/out/static/client/{8292.8c8aab5cf0e0fc8e.js.map → 8292.15265e24ff099b04.js.map} +1 -1
- package/out/static/client/{index.15ed245d7a4f66ec.js → index.2d8f328c434a5768.js} +10 -5
- package/out/static/client/index.2d8f328c434a5768.js.map +1 -0
- package/out/static/client/{runtime.6bb9da89bdbb84bf.js → runtime.fa41b0d4fa762325.js} +2 -2
- package/out/static/client/{runtime.6bb9da89bdbb84bf.js.map → runtime.fa41b0d4fa762325.js.map} +1 -1
- package/out/static/client/stats.json +143 -143
- package/out/static/client/styles-global.356d25ef0f954fc4.css +2 -0
- package/out/static/client/styles-global.356d25ef0f954fc4.css.map +1 -0
- package/out/static/client/styles-global.8b4b213c704a703e.js +1 -0
- package/out/static/legacy/{2834.79ced0a30b0939c7.js → 2834.e727d9ac07ad4286.js} +2 -2
- package/out/static/legacy/2834.e727d9ac07ad4286.js.map +1 -0
- package/out/static/{client/4517.e81e479dd8baaa08.js → legacy/4517.0c5b7819647ee298.js} +2 -2
- package/out/static/legacy/4517.0c5b7819647ee298.js.map +1 -0
- package/out/static/legacy/6375.e9f9517e7d93e984.js +26 -0
- package/out/static/legacy/6375.e9f9517e7d93e984.js.map +1 -0
- package/out/static/{client/8292.8c8aab5cf0e0fc8e.js → legacy/8292.15265e24ff099b04.js} +2 -2
- package/out/static/legacy/{8292.8c8aab5cf0e0fc8e.js.map → 8292.15265e24ff099b04.js.map} +1 -1
- package/out/static/legacy/asset-manifest.json +9 -9
- package/out/static/legacy/{index.167b77b176751752.html → index.85161ba7fe682ee8.html} +1 -1
- package/out/static/legacy/stats.json +9 -9
- package/out/static/legacy/{yari.9d76a374f51def3a.js → yari.01d97d56e30935ec.js} +3 -3
- package/out/static/legacy/{yari.9d76a374f51def3a.js.map → yari.01d97d56e30935ec.js.map} +1 -1
- package/out/static/ssr/2834.js +1 -1
- package/out/static/ssr/2834.js.map +1 -1
- package/out/static/ssr/4517.js +1 -1
- package/out/static/ssr/4517.js.map +1 -1
- package/out/static/ssr/6375.js +14 -13
- package/out/static/ssr/6375.js.map +1 -1
- package/out/static/ssr/8292.js +1 -1
- package/out/static/ssr/8292.js.map +1 -1
- package/out/static/ssr/index.js +9 -4
- package/out/static/ssr/index.js.map +1 -1
- package/out/static/ssr/stats.json +4 -4
- package/package.json +9 -9
- package/out/static/client/2834.79ced0a30b0939c7.js.map +0 -1
- package/out/static/client/4517.e81e479dd8baaa08.js.map +0 -1
- package/out/static/client/6375.1241b12199e08382.js +0 -25
- package/out/static/client/6375.1241b12199e08382.js.map +0 -1
- package/out/static/client/index.15ed245d7a4f66ec.js.map +0 -1
- package/out/static/client/styles-global.aad93fff9f2f386b.js +0 -1
- package/out/static/client/styles-global.d76107900f38bb57.css +0 -2
- package/out/static/client/styles-global.d76107900f38bb57.css.map +0 -1
- package/out/static/legacy/2834.79ced0a30b0939c7.js.map +0 -1
- package/out/static/legacy/4517.e81e479dd8baaa08.js.map +0 -1
- package/out/static/legacy/6375.1241b12199e08382.js +0 -25
- package/out/static/legacy/6375.1241b12199e08382.js.map +0 -1
- /package/out/static/client/{index.15ed245d7a4f66ec.js.LICENSE.txt → index.2d8f328c434a5768.js.LICENSE.txt} +0 -0
- /package/out/static/legacy/{yari.9d76a374f51def3a.js.LICENSE.txt → yari.01d97d56e30935ec.js.LICENSE.txt} +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.15ed245d7a4f66ec.js","sources":["webpack://@mdn/fred/./l10n/locales/en-US.ftl","webpack://@mdn/fred/./components/search-modal/element.css","webpack://@mdn/fred/./components/icon/cancel.svg","webpack://@mdn/fred/./components|lazy|/^\\.\\/.*\\/element\\.js$/|groupOptions: {}|strict namespace object","webpack://@mdn/fred/./l10n/locales|lazy|/^\\.\\/.*\\.ftl$/|referencedExports: default|groupOptions: {}|strict namespace object","webpack://@mdn/fred/./components/baseline-indicator/hook.js","webpack://@mdn/fred/./components/env/runtime.js","webpack://@mdn/fred/./components/env/utils.js","webpack://@mdn/fred/./components/env/index.js","webpack://@mdn/fred/./components/navigation/hook.js","webpack://@mdn/fred/./components/search-modal/element.js","webpack://@mdn/fred/./components/user/context.js","webpack://@mdn/fred/./hooks/code-examples.js","webpack://@mdn/fred/./hooks/dialog-closedby.js","webpack://@mdn/fred/./hooks/glean-init.js","webpack://@mdn/fred/./utils/telemetry-opt-out.js","webpack://@mdn/fred/./hooks/live-samples.js","webpack://@mdn/fred/./hooks/load-elements.js","webpack://@mdn/fred/./hooks/sidebar-scroll-to-current.js","webpack://@mdn/fred/./hooks/skip-to-search.js","webpack://@mdn/fred/./hooks/toc-highlight.js","webpack://@mdn/fred/./hooks/user-ping.js","webpack://@mdn/fred/./l10n/fluent.js","webpack://@mdn/fred/./l10n/hook.js","webpack://@mdn/fred/./l10n/mixin.js","webpack://@mdn/fred/./symmetric-context/both.js","webpack://@mdn/fred/./symmetric-context/client.js","webpack://@mdn/fred/./utils/glean.js","webpack://@mdn/fred/./utils/mdn-url2breadcrumb.js"],"sourcesContent":["export default `# WARNING: don't use this file as a source for strings requiring l10n, use ../template.ftl instead:\n# this file only contains manually added strings, not ones inlined in code. See ../README.md for more details.\n\n# TODO Use comments, see: https://firefox-source-docs.mozilla.org/l10n/fluent/review.html#comments\n# TODO Consider using terms, see: https://firefox-source-docs.mozilla.org/l10n/fluent/review.html#terms and https://projectfluent.org/fluent/guide/references.html#message-references\n\narticle-footer-last-modified = This page was last modified on <time data-l10n-name=\"date\">{ \\$date }</time> by <a data-l10n-name=\"contributors\">MDN contributors</a>.\narticle-footer-source-title = Folder: { \\$folder } (Opens in a new tab)\n\nbaseline-asterisk = Some parts of this feature may have varying levels of support.\nbaseline-high-extra = This feature is well established and works across many devices and browser versions. It’s been available across browsers since { \\$date }.\nbaseline-low-extra = Since { \\$date }, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.\nbaseline-not-extra = This feature is not Baseline because it does not work in some of the most widely-used browsers.\nbaseline-supported-in = Supported in { \\$browsers }\nbaseline-unsupported-in = Not widely supported in { \\$browsers }\nbaseline-supported-and-unsupported-in = Supported in { \\$supported }, but not widely supported in { \\$unsupported }\n\nhomepage-hero-title = Resources for Developers,<br> by Developers\nhomepage-hero-description = Documenting <a data-l10n-name=\"css\">CSS</a>, <a data-l10n-name=\"html\">HTML</a>, and <a data-l10n-name=\"js\">JavaScript</a>, since 2005.\n\nnot-found-title = Page not found\nnot-found-description = Sorry, the page <code data-l10n-name=\"url\">{ \\$url }</code> could not be found.\nnot-found-fallback-english = <strong data-l10n-name=\"strong\">Good news:</strong> The page you requested exists in <em data-l10n-name=\"em\">English</em>.\nnot-found-fallback-search = The page you requested doesn't exist, but you could try a site search for:\nnot-found-back = Go back to the home page\n\nreference-toc-header = In this article\n\nfooter-mofo = Visit <a data-l10n-name=\"moco\">Mozilla Corporation’s</a> not-for-profit parent, the <a data-l10n-name=\"mofo\">Mozilla Foundation</a>.\nfooter-copyright = Portions of this content are ©1998–{ \\$year } by individual mozilla.org contributors. Content available under <a data-l10n-name=\"cc\">a Creative Commons license</a>.\n\nsearch-modal-site-search = Site search for <em>{ \\$query }</em>\n\nsite-search-search-stats = Found { \\$results } documents.\nsite-search-suggestion-matches = { \\$relation ->\n [gt] more than { \\$matches ->\n [one] { \\$matches } match\n *[other] { \\$matches } matches\n }\n *[eq] { \\$matches ->\n [one] { \\$matches } match\n *[other] { \\$matches } matches\n }\n}\n\nblog-time-to-read = { \\$minutes ->\n [one] { \\$minutes } minute read\n *[other] { \\$minutes } minutes read\n}\nblog-post-not-found = Blog post not found.\n\nblog-previous = Previous post\nblog-next = Next post\n\n-brand-name-obs = HTTP Observatory\nobs-report = Report\nobs-title = { -brand-name-obs }\nobs-landing-intro = Launched in 2016, the { -brand-name-obs } enhances web security by analyzing compliance with best security practices. It has provided insights to over 6.9 million websites through 47 million scans.\nobs-assessment = Developed by Mozilla, the { -brand-name-obs } performs an in-depth assessment of a site’s HTTP headers and other key security configurations.\nobs-scanning = Its automated scanning process provides developers and website administrators with detailed, actionable feedback, focusing on identifying and addressing potential security vulnerabilities.\nobs-security = The tool is instrumental in helping developers and website administrators strengthen their sites against common security threats in a constantly advancing digital environment.\nobs-mdn = The { -brand-name-obs } provides effective security insights, guided by Mozilla's expertise and commitment to a safer and more secure internet and based on well-established trends and guidelines.\n\n\ncompat-loading = Loading…\ncompat-js-required = Enable JavaScript to view this browser compatibility table.\n\ncompat-browser-version-date = { \\$browser } { \\$version } – Release date: { \\$date }\ncompat-browser-version-released = Release date: { \\$date }\n\ncompat-link-report-issue = Report problems with this compatibility data\ncompat-link-report-issue-title = Report an issue with this compatibility data\ncompat-link-report-missing-title = Report missing compatibility data\ncompat-link-report-missing = Report this issue\ncompat-link-source = View data on GitHub\ncompat-link-source-title = File: { \\$filename }\n\ncompat-deprecated = Deprecated\ncompat-experimental = Experimental\ncompat-nonstandard = Non-standard\ncompat-no = No\n\ncompat-support-full = Full support\ncompat-support-partial = Partial support\ncompat-support-no = No support\ncompat-support-unknown = Support unknown\ncompat-support-prefix = Implemented with the vendor prefix: { \\$prefix }\ncompat-support-altname = Alternate name: { \\$altname }\ncompat-support-removed = Removed in { \\$version } and later\ncompat-support-see-impl-url = See <a data-l10n-name=\"impl_url\">{ \\$label }</a>\ncompat-support-flags =\n { NUMBER(\\$has_added) ->\n [one] From version { \\$version_added }\n *[other] {\"\"}\n }{ \\$has_last ->\n [one] { NUMBER(\\$has_added) ->\n *[zero] Until { \\$versionLast } users\n [one] {\" \"}until { \\$versionLast } users\n }\n *[zero] { NUMBER(\\$has_added) ->\n *[zero] Users\n [one] {\" \"}users\n }\n }\n {\" \"}must explicitly set the <code data-l10n-name=\"name\">{ \\$flag_name }</code>{\" \"}\n { \\$flag_type ->\n *[preference] preference\n [runtime_flag] runtime flag\n }{ NUMBER(\\$has_value) ->\n [one] {\" \"}to <code data-l10n-name=\"value\">{ \\$flag_value }</code>\n *[other] {\"\"}\n }{\".\"}\n { NUMBER(\\$has_pref_url) ->\n [one] { \\$flag_type ->\n [preference] To change preferences in { \\$browser_name }, visit { \\$browser_pref_url }.\n *[other] {\"\"}\n }\n *[other] {\"\"}\n }\n\ncompat-legend = Legend\ncompat-legend-tip = Tip: you can click/tap on a cell for more information.\ncompat-legend-yes = { compat-support-full }\ncompat-legend-partial = { compat-support-partial }\ncompat-legend-preview = In development. Supported in a pre-release version.\ncompat-legend-no = { compat-support-no }\ncompat-legend-unknown = Compatibility unknown\ncompat-legend-experimental = { compat-experimental }. Expect behavior to change in the future.\ncompat-legend-nonstandard = { compat-nonstandard }. Check cross-browser support before using.\ncompat-legend-deprecated = { compat-deprecated }. Not for use in new websites.\ncompat-legend-footnote = See implementation notes.\ncompat-legend-disabled = User must explicitly enable this feature.\ncompat-legend-altname = Uses a non-standard name.\ncompat-legend-prefix = Requires a vendor prefix or different name for use.\ncompat-legend-more = Has more compatibility info.\n\nplacement-note = Ad\nplacement-no = Don't want to see ads?\n\npagination-next = Next page\npagination-prev = Previous page\npagination-current = Current page\npagination-goto = Go to page { \\$page }\n\nlogout = Sign out\nlogin = Log in\n\nexample-play-button-label = Play\nexample-play-button-title = Run example in MDN Playground (opens in new tab)\n\ncontent-feedback-question = Was this page helpful to you?\ncontent-feedback-reason = Why was this page not helpful to you?\ncontent-feedback-thanks = Thank you for your feedback!\n\nwriter-reload-polling = Polling every { \\$seconds }s\n`;","import { css } from \"lit\";\n// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_GET_URL_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/getUrl.js\";\nvar ___CSS_LOADER_URL_IMPORT_0___ = new URL(\"../icon/search.svg\", import.meta.url);\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `*,:after,:before{box-sizing:border-box}dialog{border:0;padding:0}@media (width > 1044px){dialog{background-color:var(--color-background-primary);border:1px solid var(--color-border-primary);border-radius:.5rem;font-size:var(--font-size-large);margin:calc(var(--sticky-header-height) + 1rem) auto 1rem;max-height:calc(100% - var(--sticky-header-height) - 2rem);width:calc(var(--layout-content-max) + 1rem)}dialog::backdrop{--csstools-light-dark-toggle-dee8eb9e-0:var(--csstools-color-scheme--light) var(--color-black-alpha-75);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background-color:var(--csstools-light-dark-toggle-dee8eb9e-0,var(--color-white-alpha-75))}@supports (color:light-dark(red,red)){dialog::backdrop{background-color:light-dark(var(--color-white-alpha-75),var(--color-black-alpha-75))}}}@media (width <= 1044px){dialog{font-size:var(--font-size-normal);height:100%;margin:0;max-height:100%;max-width:100%;width:100%}}dialog[open]{display:grid;grid-template-areas:\"search close\" \"progress progress\" \"results results\";grid-template-columns:1fr min-content;grid-template-rows:var(--navigation-height) min-content min-content}progress{grid-area:progress;margin:0 1rem .5rem}@media (width <= 1044px){progress{margin-inline:.3rem}}.close{font-size:1.37rem;grid-area:close}@media (width > 1044px){.close{display:none}}form{display:grid;gap:.5rem;grid-area:search;grid-template-columns:min-content 1fr;padding:1rem;place-items:center}@media (width <= 1044px){form{align-self:center;background-color:var(--color-background-primary);border:1px solid var(--color-border-primary);border-radius:.5rem;margin-left:.3rem;padding:.5rem}}form:before{background-color:var(--color-border-secondary);content:\"\";height:1em;-webkit-mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_0___});mask-image:url(${___CSS_LOADER_URL_REPLACEMENT_0___});-webkit-mask-size:contain;mask-size:contain;width:1em}input{background-color:initial;border:none;font-size:inherit;margin:0;outline:none;padding:0;width:100%}input::placeholder{color:var(--color-text-secondary)}ul{grid-area:results;margin:0;overflow:auto;overscroll-behavior:contain;padding:0}ul:has(li){border-top:1px solid var(--color-border-primary)}li[data-selected]{background:var(--color-background-blue);border-color:var(--color-blue-50)}li{border-inline-start:2px solid #0000;list-style-type:none}li:not([data-selected]):hover{background-color:var(--color-background-secondary)}li>*{padding:.5rem 1.5rem;width:100%}a{color:var(--color-link-normal);display:grid;-webkit-text-decoration:none;text-decoration:none}a:visited{color:var(--color-link-visited)}.slug{color:var(--color-text-secondary);font-size:var(--font-size-small)}mark{background-color:var(--color-background-yellow);color:var(--color-text-primary)}`, \"\"]);\n// Exports\nexport default css([___CSS_LOADER_EXPORT___.toString()]);\n","import { svg } from \"lit\"; export default svg`<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" viewBox=\"0 0 24 24\"><path d=\"M18 6 6 18M6 6l12 12\"/></svg>`;","var map = {\n \"./code-example/element.js\": [\n \"84352\",\n \"6703\",\n \"6203\",\n \"1861\",\n \"6475\",\n \"7065\",\n \"7517\"\n ],\n \"./dropdown/element.js\": [\n \"58623\",\n \"2868\",\n \"4740\"\n ],\n \"./live-sample-result/element.js\": [\n \"47849\",\n \"6703\",\n \"3611\",\n \"6203\",\n \"5950\",\n \"4098\",\n \"1861\",\n \"5330\"\n ],\n \"./observatory-tests-and-scores/element.js\": [\n \"56538\",\n \"6407\"\n ],\n \"./play-runner/element.js\": [\n \"63657\",\n \"6703\",\n \"5950\",\n \"4098\",\n \"4074\"\n ],\n \"./search-button/element.js\": [\n \"23745\",\n \"3690\"\n ],\n \"./survey/element.js\": [\n \"70134\",\n \"6703\",\n \"6203\",\n \"2105\",\n \"2283\"\n ],\n \"./ix-tab-wrapper/element.js\": [\n \"49979\",\n \"2568\"\n ],\n \"./placement-sidebar/element.js\": [\n \"57468\",\n \"6703\",\n \"3611\",\n \"8280\",\n \"1477\",\n \"5649\",\n \"2173\"\n ],\n \"./placement-hp-main/element.js\": [\n \"44394\",\n \"6703\",\n \"3611\",\n \"8280\",\n \"1477\",\n \"5649\",\n \"4759\"\n ],\n \"./record-visit/element.js\": [\n \"55237\",\n \"5562\",\n \"3094\"\n ],\n \"./toggle-sidebar/element.js\": [\n \"27486\",\n \"6203\",\n \"2415\"\n ],\n \"./user-menu/element.js\": [\n \"76706\",\n \"6203\",\n \"2105\",\n \"3775\"\n ],\n \"./interactive-example/element.js\": [\n \"81505\",\n \"6703\",\n \"749\",\n \"3730\",\n \"3106\",\n \"993\",\n \"6216\",\n \"2080\",\n \"640\",\n \"9515\",\n \"1356\",\n \"6203\",\n \"5950\",\n \"4098\",\n \"6760\",\n \"3047\",\n \"1861\",\n \"2448\",\n \"6475\",\n \"4419\",\n \"7065\",\n \"2568\",\n \"5338\",\n \"5722\"\n ],\n \"./copy-button/element.js\": [\n \"38262\",\n \"6203\",\n \"6475\",\n \"4660\"\n ],\n \"./observatory-comparison-table/element.js\": [\n \"50117\",\n \"9410\",\n \"2006\"\n ],\n \"./sidebar-filter/element.js\": [\n \"83703\",\n \"9324\"\n ],\n \"./issues-table/element.js\": [\n \"37511\",\n \"4204\"\n ],\n \"./scrim-inline/element.js\": [\n \"43602\",\n \"3611\",\n \"5183\"\n ],\n \"./switch/element.js\": [\n \"41798\",\n \"9099\"\n ],\n \"./collection-save-button/element.js\": [\n \"1355\",\n \"6203\",\n \"3000\",\n \"4920\"\n ],\n \"./contributor-list/element.js\": [\n \"23082\",\n \"9127\"\n ],\n \"./button/element.js\": [\n \"17398\",\n \"6203\",\n \"9898\"\n ],\n \"./homepage-search/element.js\": [\n \"27373\",\n \"7678\"\n ],\n \"./modal/element.js\": [\n \"14903\",\n \"6203\",\n \"3000\"\n ],\n \"./color-theme/element.js\": [\n \"55269\",\n \"2868\",\n \"544\"\n ],\n \"./about-team-member/element.js\": [\n \"612\",\n \"8981\"\n ],\n \"./content-feedback/element.js\": [\n \"83818\",\n \"6203\",\n \"4891\"\n ],\n \"./play-console/element.js\": [\n \"71787\",\n \"6760\"\n ],\n \"./ix-tab/element.js\": [\n \"18977\",\n \"4419\",\n \"5338\"\n ],\n \"./observatory-header-link/element.js\": [\n \"1879\",\n \"9410\",\n \"3676\"\n ],\n \"./curriculum-tabs/element.js\": [\n \"52500\",\n \"9717\"\n ],\n \"./placement-bottom/element.js\": [\n \"7895\",\n \"6703\",\n \"3611\",\n \"8280\",\n \"1477\",\n \"5649\",\n \"4060\"\n ],\n \"./image-history/element.js\": [\n \"47706\",\n \"1975\"\n ],\n \"./not-found/element.js\": [\n \"2622\",\n \"8926\",\n \"3555\"\n ],\n \"./placement-note/element.js\": [\n \"47764\",\n \"1477\"\n ],\n \"./compat-table-lazy/element.js\": [\n \"96678\",\n \"2105\",\n \"718\",\n \"251\"\n ],\n \"./site-search/element.js\": [\n \"41425\",\n \"6203\",\n \"9578\"\n ],\n \"./placement-no/element.js\": [\n \"13755\",\n \"8280\"\n ],\n \"./play-controller/element.js\": [\n \"23731\",\n \"2448\"\n ],\n \"./placement-top/element.js\": [\n \"9951\",\n \"6703\",\n \"3611\",\n \"8280\",\n \"1477\",\n \"5649\",\n \"9204\"\n ],\n \"./observatory-form/element.js\": [\n \"17547\",\n \"6703\",\n \"6203\",\n \"6110\",\n \"8364\"\n ],\n \"./observatory-results/element.js\": [\n \"13430\",\n \"6203\",\n \"9410\",\n \"2868\",\n \"6110\",\n \"2006\",\n \"7593\",\n \"3676\",\n \"4070\",\n \"3259\"\n ],\n \"./about-tabs/element.js\": [\n \"54842\",\n \"7047\"\n ],\n \"./observatory-human-duration/element.js\": [\n \"37077\",\n \"9410\",\n \"4070\"\n ],\n \"./playground/element.js\": [\n \"14652\",\n \"6703\",\n \"749\",\n \"3730\",\n \"3106\",\n \"993\",\n \"6216\",\n \"2080\",\n \"640\",\n \"9515\",\n \"6203\",\n \"5950\",\n \"4098\",\n \"6760\",\n \"3047\",\n \"2448\",\n \"3000\",\n \"291\"\n ],\n \"./ix-tab-panel/element.js\": [\n \"89854\",\n \"4419\"\n ],\n \"./play-editor/element.js\": [\n \"63386\",\n \"749\",\n \"3730\",\n \"3106\",\n \"993\",\n \"6216\",\n \"2080\",\n \"640\",\n \"9515\",\n \"5950\",\n \"3047\"\n ],\n \"./themed-image/element.js\": [\n \"48125\",\n \"5102\"\n ],\n \"./writer-open-editor/element.js\": [\n \"51310\",\n \"6203\",\n \"9967\"\n ],\n \"./progress-bar/element.js\": [\n \"20141\",\n \"6110\"\n ],\n \"./compat-table/element.js\": [\n \"72301\",\n \"2105\",\n \"718\"\n ],\n \"./login-button/element.js\": [\n \"70242\",\n \"6203\",\n \"6067\"\n ],\n \"./observatory-rescan-button/element.js\": [\n \"14416\",\n \"6203\",\n \"7593\",\n \"3140\"\n ],\n \"./recently-visited/element.js\": [\n \"95821\",\n \"5562\",\n \"5246\"\n ],\n \"./language-always-redirect-button/element.js\": [\n \"77108\",\n \"8300\",\n \"5685\"\n ],\n \"./language-switcher/element.js\": [\n \"64786\",\n \"2868\",\n \"9099\",\n \"8300\",\n \"8926\",\n \"5667\"\n ],\n \"./search-modal/element.js\": [\n \"97154\"\n ],\n \"./writer-reload/element.js\": [\n \"14925\",\n \"4366\"\n ]\n};\nfunction __rspack_async_context(req) {\n if(!__webpack_require__.o(map, req)) {\n return Promise.resolve().then(function() {\n var e = new Error(\"Cannot find module '\" + req + \"'\");\n e.code = 'MODULE_NOT_FOUND';\n throw e;\n });\n }\n\n var ids = map[req], id = ids[0];\n return Promise.all(ids.slice(1).map(__webpack_require__.e)).then(function() {\n return __webpack_require__(id);\n });\n}\n\n__rspack_async_context.keys = () => (Object.keys(map));\n__rspack_async_context.id = 98693;\nmodule.exports = __rspack_async_context;\n","var map = {\n \"./en-US.ftl\": [\n \"537\"\n ],\n \"./es.ftl\": [\n \"59137\",\n \"7898\"\n ],\n \"./de.ftl\": [\n \"89516\",\n \"6333\"\n ],\n \"./pt-BR.ftl\": [\n \"27146\",\n \"8839\"\n ],\n \"./ja.ftl\": [\n \"68942\",\n \"7027\"\n ],\n \"./zh-TW.ftl\": [\n \"81023\",\n \"8964\"\n ],\n \"./fr.ftl\": [\n \"23293\",\n \"1550\"\n ],\n \"./ru.ftl\": [\n \"40730\",\n \"3255\"\n ],\n \"./zh-CN.ftl\": [\n \"39555\",\n \"9456\"\n ],\n \"./ko.ftl\": [\n \"45687\",\n \"8604\"\n ]\n};\nfunction __rspack_async_context(req) {\n if(!__webpack_require__.o(map, req)) {\n return Promise.resolve().then(function() {\n var e = new Error(\"Cannot find module '\" + req + \"'\");\n e.code = 'MODULE_NOT_FOUND';\n throw e;\n });\n }\n\n var ids = map[req], id = ids[0];\n return Promise.all(ids.slice(1).map(__webpack_require__.e)).then(function() {\n return __webpack_require__(id);\n });\n}\n\n__rspack_async_context.keys = () => (Object.keys(map));\n__rspack_async_context.id = 9177;\nmodule.exports = __rspack_async_context;\n","try {\n const indicator = document.querySelector(\".baseline-indicator\");\n if (indicator instanceof HTMLDetailsElement) {\n indicator.addEventListener(\"toggle\", () => {\n saveState(indicator.open);\n });\n saveState(indicator.open);\n }\n\n /**\n * @param {boolean} open\n */\n function saveState(open) {\n if (open) {\n localStorage.setItem(\"baseline-indicator\", \"open\");\n } else {\n localStorage.removeItem(\"baseline-indicator\");\n }\n }\n} catch (error) {\n console.warn(\"Unable to attach to baseline indicator\", error);\n}\n","import { parseBool } from \"./utils.js\";\n\n/** @type {string[]} */\nexport const runtimeVariables = [];\n/** Overriden to prod default (false) in rspack config, set to true so it works in dev server by default. */\nexport const RUNTIME_ENV = parseBool(\"RUNTIME_ENV\", true);\n","import { RUNTIME_ENV, runtimeVariables } from \"./runtime.js\";\n\n/**\n * @typedef {object} Options\n * @property {boolean} [runtime] Allow setting this value at runtime\n */\n\n/**\n * @param {string} name\n * @param {boolean} fallback\n * @param {Options} [options]\n */\nexport function parseBool(name, fallback, options) {\n try {\n return Boolean(\n JSON.parse(getEnv(name, options) || JSON.stringify(fallback)),\n );\n } catch {\n return fallback;\n }\n}\n\n/**\n * @param {string} name\n * @param {number} fallback\n * @param {Options} [options]\n */\nexport function parseInt(name, fallback, options) {\n const stringValue = getEnv(name, options);\n const numberValue = stringValue ? Number.parseInt(stringValue, 10) : fallback;\n return Number.isNaN(numberValue) ? fallback : numberValue;\n}\n\n/**\n * @param {string} name\n * @param {string} fallback\n * @param {Options} [options]\n */\nexport function parseString(name, fallback, options) {\n return getEnv(name, options) || fallback;\n}\n\n/**\n * @param {string} name\n * @param {Options} [options]\n * @returns {string | undefined}\n */\nfunction getEnv(name, options = {}) {\n const { runtime } = { runtime: false, ...options };\n const fullName = `FRED_${name}`;\n if (runtime && RUNTIME_ENV) {\n runtimeVariables.push(fullName);\n // safely navigate if process is not defined\n return globalThis.process?.env[fullName] || getEnv(name);\n }\n return globalThis.__MDNEnv?.[fullName];\n}\n","import { parseBool, parseInt, parseString } from \"./utils.js\";\n\nexport const PLAYGROUND_BASE_HOST = parseString(\n \"PLAYGROUND_BASE_HOST\",\n \"mdnplay.dev\",\n);\nexport const PLAYGROUND_LOCAL = parseBool(\"PLAYGROUND_LOCAL\", false, {\n runtime: true,\n});\nexport const PORT = parseInt(\"PORT\", 3000, { runtime: true });\nexport const OPEN_BROWSER_ON_START = parseBool(\"OPEN_BROWSER_ON_START\", false, {\n runtime: true,\n});\nexport const PLAYGROUND_PORT = parseInt(\"PLAYGROUND_PORT\", 3001, {\n runtime: true,\n});\n\nexport const FXA_SIGNIN_URL = parseString(\n \"FXA_SIGNIN_URL\",\n \"/users/fxa/login/authenticate/\",\n);\nexport const FXA_SIGNOUT_URL = parseString(\n \"FXA_SIGNOUT_URL\",\n \"/users/fxa/login/logout/\",\n);\n\n/** Set to non-prod default, because we don't want glean to run without explicitly enabling. */\nexport const GLEAN_ENABLED = parseBool(\"GLEAN_ENABLED\", false);\n/** Set to non-prod default, because we don't want glean to run without explicitly enabling. */\nexport const GLEAN_CHANNEL = parseString(\"GLEAN_CHANNEL\", \"dev\");\nexport const GLEAN_DEBUG = parseBool(\"GLEAN_DEBUG\", false);\n\n/**\n * While there is a risk from not including the `noindex` meta tag on stage etc, we have a\n * `robots.txt` in place, and the effect of accidentally including it on prod is far worse:\n * so this must be the prod default.\n */\nexport const ROBOTS_GLOBAL_ALLOW = parseBool(\"ROBOTS_GLOBAL_ALLOW\", true);\n\nexport const WRITER_MODE = parseBool(\"WRITER_MODE\", false, { runtime: true });\n\nexport const BCD_BASE_URL = parseString(\n \"BCD_BASE_URL\",\n \"https://bcd.developer.mozilla.org\",\n);\n\nexport const OBSERVATORY_API_URL = parseString(\n \"OBSERVATORY_API_URL\",\n \"https://observatory-api.mdn.mozilla.net\",\n);\n\n// Transcend Consent Management - https://docs.transcend.io/docs/consent\nexport const TRANSCEND_BUNDLE_ID = parseString(\"TRANSCEND_BUNDLE_ID\", \"\");\n","const button = document.querySelector(`[aria-controls=\"navigation__popup\"]`);\nconst navigation = document.querySelector(\".navigation\");\nif (button instanceof HTMLElement && navigation instanceof HTMLElement) {\n button.addEventListener(\"click\", () => {\n const open = (!(navigation.dataset.open === \"true\")).toString();\n navigation.dataset.open = open;\n button.setAttribute(\"aria-expanded\", open);\n });\n}\n","import { Task } from \"@lit/task\";\nimport { LitElement, html, nothing } from \"lit\";\n\nimport { L10nMixin } from \"../../l10n/mixin.js\";\n\nimport { gleanClick } from \"../../utils/glean.js\";\nimport { mdnUrl2Breadcrumb } from \"../../utils/mdn-url2breadcrumb.js\";\n\nimport exitIcon from \"../icon/cancel.svg?lit\";\n\nimport styles from \"./element.css?lit\";\n\nexport class MDNSearchModal extends L10nMixin(LitElement) {\n static ssr = false;\n static styles = styles;\n\n static properties = {\n _index: { state: true },\n _query: { state: true },\n _selected: { state: true },\n _shiftFocus: { state: true },\n };\n\n constructor() {\n super();\n /** @type {Promise<import(\"./types.js\").SearchIndex> | undefined} */\n this._index = undefined;\n this._query = \"\";\n this._selected = 0;\n this._shiftFocus = false;\n /** Capture whether user has engaged with the search. */\n this._hasEngaged = false;\n }\n\n async _loadIndex() {\n if (this._index) {\n return;\n }\n\n this._index = this._fetchIndex();\n }\n\n async _fetchIndex() {\n const res = await fetch(`/${this.locale}/search-index.json`);\n /** @type {import(\"./types.js\").SearchIndexItem[]} */\n const items = await res.json();\n /** @type {import(\"./types.js\").SearchIndexFlexItem[]} */\n const flex = items.map(({ title, url }, index) => ({\n index,\n title: title.toLowerCase(),\n slugTail: url.split(\"/\").pop()?.toLowerCase() || \"\",\n }));\n\n return {\n flex,\n items,\n };\n }\n\n showModal() {\n this._loadIndex();\n this.shadowRoot?.querySelector(\"dialog\")?.showModal();\n this.shadowRoot?.querySelector(\"input\")?.select();\n }\n\n /** @param {InputEvent} event */\n _input({ inputType, target }) {\n if (target instanceof HTMLInputElement) {\n this._query = target.value;\n if (!this._hasEngaged && inputType.startsWith(\"insert\")) {\n this._hasEngaged = true;\n gleanClick(\n `quick-search-change: ${inputType === \"insertFromPaste\" ? \"paste\" : \"type\"}`,\n );\n }\n }\n }\n\n /** @param {KeyboardEvent} event */\n _keydown(event) {\n switch (event.key) {\n case \"ArrowUp\": {\n event.preventDefault();\n this._select(this._selected - 1);\n break;\n }\n case \"ArrowDown\":\n event.preventDefault();\n this._select(this._selected + 1);\n break;\n\n case \"Enter\": {\n const { ctrlKey, shiftKey, altKey, metaKey } = event;\n const item = this._getSelectedItem();\n if (item instanceof HTMLElement) {\n event.preventDefault();\n item.dispatchEvent(\n new MouseEvent(\"click\", {\n bubbles: true,\n composed: true,\n // we attempt to pass modifier keys through\n // but browser support is incredibly varied:\n ctrlKey,\n shiftKey,\n altKey,\n metaKey,\n }),\n );\n }\n break;\n }\n\n default:\n return;\n }\n }\n\n /** @returns {HTMLElement|null} */\n _getSelectedItem() {\n return this.shadowRoot?.querySelector(\"[data-selected] a\") ?? null;\n }\n\n /** @param {number} index */\n _select(index) {\n const results = (this._queryIndex.value?.length || 0) + 1;\n const value = index % results;\n this._selected = value < 0 ? results + index : value;\n setTimeout(() => {\n const item = this._getSelectedItem();\n if (item instanceof HTMLElement) {\n item.scrollIntoView({\n behavior: \"smooth\",\n block: \"nearest\",\n });\n }\n }, 0);\n }\n\n /** @param {SubmitEvent} event */\n _submit(event) {\n event.preventDefault();\n const item = this._getSelectedItem();\n if (item instanceof HTMLElement) {\n item.click();\n }\n }\n\n /** @param {FocusEvent} event */\n _focus({ target }) {\n if (target instanceof HTMLElement) {\n const focused = target.closest(\"[data-result]\");\n if (focused instanceof HTMLElement) {\n const index = Number.parseInt(focused.dataset.result || \"NaN\", 10);\n if (!Number.isNaN(index)) {\n this._selected = index;\n this._shiftFocus = true;\n }\n } else {\n this._shiftFocus = false;\n }\n }\n }\n\n /** @param {KeyboardEvent} event */\n _globalKeydown(event) {\n const target = event.composedPath()?.[0] || event.target;\n const isTextField =\n target instanceof HTMLElement &&\n ([\"TEXTAREA\", \"INPUT\"].includes(target.tagName) ||\n target.isContentEditable);\n\n if (isTextField) {\n return;\n }\n\n const selection = globalThis.getSelection()?.toString();\n const keyPressed = event.key;\n const ctrlOrMetaPressed = event.ctrlKey || event.metaKey;\n const isSlash = keyPressed === \"/\" && !ctrlOrMetaPressed;\n const isCtrlK = keyPressed === \"k\" && ctrlOrMetaPressed && !event.shiftKey;\n\n if (isSlash || isCtrlK) {\n event.preventDefault();\n gleanClick(\n `quick-search-open: keyboard -> ${isSlash ? \"slash\" : \"ctrl-k\"}`,\n );\n this.showModal();\n if (selection) {\n this._query = selection;\n if (!this._hasEngaged) {\n this._hasEngaged = true;\n gleanClick(\"quick-search-change: selection\");\n }\n }\n }\n }\n\n _queryIndex = new Task(this, {\n args: () => [this._index, this._query],\n task: async ([index, query]) => {\n if (!index || !query) {\n return;\n }\n return quickSearch(query, await index);\n },\n });\n\n _close() {\n this.shadowRoot?.querySelector(\"dialog\")?.close();\n }\n\n connectedCallback() {\n super.connectedCallback();\n this._globalKeydown = this._globalKeydown.bind(this);\n document.addEventListener(\"keydown\", this._globalKeydown);\n this._loadIndex = this._loadIndex.bind(this);\n this.renderRoot.addEventListener(\"mouseover\", this._loadIndex);\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n this.renderRoot.removeEventListener(\"mouseover\", this._loadIndex);\n document.removeEventListener(\"keydown\", this._globalKeydown);\n }\n\n _renderLoadingSearchIndex() {\n return html`<progress\n aria-label=${this.l10n(\n \"search-modal-loading-search-index\",\n )`Loading search index…`}\n ></progress>`;\n }\n\n render() {\n const siteSearchIndex = this._queryIndex.value?.length || 0;\n const searchUrl = this._query\n ? `/${this.locale}/search?${new URLSearchParams({ q: this._query })}`\n : null;\n return html`\n <dialog @keydown=${this._keydown} @focusin=${this._focus} closedby=\"any\">\n <form\n method=\"get\"\n action=${`/${this.locale}/search`}\n @submit=${this._submit}\n >\n <input\n type=\"search\"\n name=\"q\"\n .value=${this._query}\n autocomplete=\"off\"\n autofocus\n @input=${this._input}\n placeholder=${this.l10n(\"search-modal-search\")`Search`}\n aria-label=${this.l10n(\"search-modal-search\")`Search`}\n />\n </form>\n <mdn-button\n class=\"close\"\n variant=\"plain\"\n icon-only\n .icon=${exitIcon}\n @click=${this._close}\n >${this.l10n(\"search-modal-exit-search\")`Exit search`}</mdn-button\n >\n ${this._queryIndex.render({\n initial: this._renderLoadingSearchIndex.bind(this),\n pending: this._renderLoadingSearchIndex.bind(this),\n })}\n <ul>\n ${this._queryIndex.render({\n complete: (results) =>\n results?.map(\n ({ title, url }, i) => html`\n <li ?data-selected=${this._selected === i} data-result=${i}>\n <a\n href=${url}\n data-glean-id=${`quick-search: results[${1 + i}] -> ${this._query} -> ${url}`}\n ><span class=\"slug\"\n >${mdnUrl2Breadcrumb(url, this.locale)}</span\n >\n <span class=\"title\"\n >${HighlightMatch(title, this._query)}</span\n ></a\n >\n </li>\n `,\n ),\n })}\n ${searchUrl\n ? html`<li\n ?data-selected=${this._selected === siteSearchIndex}\n data-result=${siteSearchIndex}\n >\n <a\n href=${searchUrl}\n data-glean-id=${`quick-search: site-search -> ${this._query}`}\n ><span class=\"title\"\n >${this.l10n.raw({\n id: \"search-modal-site-search\",\n args: {\n query: this._query,\n },\n elements: {\n query: { tag: \"code\" },\n },\n })}</span\n ></a\n >\n </li>`\n : nothing}\n </ul>\n </dialog>\n `;\n }\n\n updated() {\n if (this._shiftFocus) {\n const selected = this._getSelectedItem();\n if (selected instanceof HTMLElement) {\n selected.focus();\n }\n }\n }\n}\n\ncustomElements.define(\"mdn-search-modal\", MDNSearchModal);\n\n/**\n * @param {string} input\n * @param {import(\"./types.js\").SearchIndex} index\n * @returns {import(\"./types.js\").SearchResultItem[]}\n */\nfunction quickSearch(input, index) {\n const inputValueLC = input.toLowerCase().trim();\n const q = splitQuery(input);\n const indexResults = index.flex\n .filter(({ title }) => q.every((q) => title.includes(q)))\n .map(({ index, title, slugTail }) => {\n const exact = Number([title, slugTail].includes(inputValueLC));\n return /** @type {const} */ ([exact, index]);\n })\n .sort(([aExact], [bExact]) => bExact - aExact) // Boost exact matches.\n .map(([_, i]) => i)\n .slice(0, 10);\n\n return indexResults.map((i) => i && (index.items || [])[i]).filter(Boolean);\n}\n\n/**\n * Used by quicksearch and sidebar filters.\n * @param {string} term\n * @returns {string[]}\n */\nexport function splitQuery(term) {\n term = term.trim().toLowerCase();\n return term.startsWith(\".\") || term.endsWith(\".\")\n ? // Dot is probably meaningful.\n term.split(/[ ,]+/)\n : // Dot is probably just a word separator.\n term.split(/[ ,.]+/);\n}\n\n/**\n * @param {string} title\n * @param {string} query\n */\nfunction HighlightMatch(title, query) {\n // Split on highlight term and include term into parts, ignore case.\n const words = splitQuery(query);\n // $& means the whole matched string\n const regexWords = words.map((s) =>\n s.replaceAll(/[.*+?^${}()|[\\]\\\\]/g, String.raw`\\$&`),\n );\n const regex = regexWords.map((word) => `(${word})`).join(\"|\");\n const parts = title.split(new RegExp(regex, \"gi\"));\n return parts\n .filter(Boolean)\n .map((part) =>\n words.includes(part.toLowerCase()) ? html`<mark>${part}</mark>` : part,\n );\n}\n","/**\n * @import * as User from \"../user/types.js\";\n */\n\nimport { WRITER_MODE } from \"../env/index.js\";\n\nconst DEFAULT_GEO = { country: \"United States\", country_iso: \"US\" };\n\n/**\n * @type {User.User}\n */\nconst DEFAULT_USER = {\n username: null,\n isAuthenticated: false,\n avatarUrl: null,\n isSubscriber: false,\n subscriptionType: null,\n email: null,\n geo: DEFAULT_GEO,\n settings: null,\n};\n\n/**\n * @type {Promise<User.User> | undefined}\n */\nlet USER;\n\n/**\n *\n * @returns {Promise<User.User>}\n */\nexport function globalUser() {\n if (WRITER_MODE) {\n return new Promise(() => {});\n }\n if (!USER) {\n USER = fetchUserData().catch((error) => {\n console.error(error);\n return DEFAULT_USER;\n });\n }\n return USER;\n}\n\n/**\n *\n * @returns {Promise<User.User>}\n */\nasync function fetchUserData() {\n const response = await fetch(\"/api/v1/whoami\");\n if (!response.ok) {\n throw new Error(response.statusText);\n }\n\n try {\n /**\n * @type {User.WhoamiResponse}\n */\n const data = await response.json();\n const settings = data?.settings\n ? {\n aiHelpHistory:\n typeof data.settings?.ai_help_history === \"boolean\"\n ? data.settings.ai_help_history\n : null,\n noAds: data.settings?.no_ads ?? null,\n }\n : DEFAULT_USER.settings;\n Settings.noAds = settings?.noAds || false;\n return {\n username: data.username ?? DEFAULT_USER.username,\n isAuthenticated: data.is_authenticated ?? DEFAULT_USER.isAuthenticated,\n avatarUrl: data.avatar_url ?? DEFAULT_USER.avatarUrl,\n isSubscriber: data.is_subscriber ?? DEFAULT_USER.isSubscriber,\n subscriptionType:\n data.subscription_type === \"core\"\n ? \"mdn_core\"\n : (data.subscription_type ?? DEFAULT_USER.subscriptionType),\n email: data.email ?? DEFAULT_USER.email,\n geo: {\n country: (data.geo && data.geo.country) ?? DEFAULT_GEO.country,\n country_iso:\n (data.geo && data.geo.country_iso) ?? DEFAULT_GEO.country_iso,\n },\n settings,\n };\n } catch {\n throw new Error(response.statusText);\n }\n}\n\nexport const Settings = {\n set noAds(value) {\n if (value) {\n globalThis.localStorage.setItem(\"nop\", \"yes\");\n } else {\n globalThis.localStorage.removeItem(\"nop\");\n }\n },\n\n get noAds() {\n return globalThis.localStorage?.getItem?.(\"nop\") === \"yes\";\n },\n};\n","for (const pre of document.querySelectorAll(\n `div.code-example pre:not(.hidden):not([class*=\"live-sample\"]):not([class*=\"interactive-example\"])`,\n)) {\n const { upgradePre } = await import(\"../components/code-example/element.js\");\n upgradePre(pre);\n}\n","/**\n * dialog closedby polyfill based on https://github.com/tak-dcxi/dialog-closedby-polyfill\n *\n * @license MIT\n *\n * Copyright (c) 2025 Takahiro Arai\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\n\nif (!(\"closedBy\" in HTMLDialogElement.prototype)) {\n addEventListener(\"click\", (event) => {\n const source = event.composedPath()[0];\n if (\n source instanceof HTMLDialogElement &&\n source.getAttribute(\"closedby\") === \"any\"\n ) {\n const rect = source.getBoundingClientRect();\n const { clientX: x, clientY: y } = event;\n const inside =\n rect.top <= y && y <= rect.bottom && rect.left <= x && x <= rect.right;\n\n if (!inside) source.close();\n }\n });\n}\n","import Glean from \"@mozilla/glean/web\";\n\nimport {\n GLEAN_CHANNEL,\n GLEAN_DEBUG,\n GLEAN_ENABLED,\n} from \"../components/env/index.js\";\nimport { gleanClick } from \"../utils/glean.js\";\nimport { userIsOptedOut } from \"../utils/telemetry-opt-out.js\";\n\nconst GLEAN_APP_ID = \"mdn-fred\";\n\nconst uploadEnabled = !userIsOptedOut() && GLEAN_ENABLED;\n\nif (GLEAN_DEBUG) {\n Glean.setDebugViewTag(\"mdn-dev\");\n Glean.setLogPings(true);\n}\n\nGlean.initialize(GLEAN_APP_ID, uploadEnabled, {\n enableAutoPageLoadEvents: true,\n enableAutoElementClickEvents: true,\n channel: GLEAN_CHANNEL,\n});\n\ndocument.addEventListener(\"click\", (event) => {\n const composedTarget = event.composedPath()?.[0];\n if (composedTarget !== event.target && composedTarget instanceof Element) {\n // Workaround for automatic click events in shadow DOM.\n // See: https://bugzil.la/1988206\n const taggedElement = composedTarget.closest(\"[data-glean-id]\");\n if (taggedElement instanceof HTMLElement) {\n const gleanId = taggedElement.dataset.gleanId;\n if (gleanId) {\n gleanClick(gleanId);\n }\n }\n }\n\n const target = composedTarget ?? event.target;\n if (target instanceof Element) {\n // External link measurement.\n const anchor = target.closest(\"a\");\n if (\n anchor instanceof HTMLAnchorElement &&\n anchor.href &&\n anchor.origin &&\n anchor.origin !== document.location.origin\n ) {\n gleanClick(`external-link: ${anchor.href}`);\n }\n }\n});\n","const FIRST_PARTY_DATA_OPT_OUT_COOKIE_NAME = \"moz-1st-party-data-opt-out\";\n\n/**\n * Checks if user has opted out of first-party data collection.\n * @param {string} [cookie] - An optional mock cookie string to ease unit testing.\n * @returns {boolean} True if user has opted out, false otherwise\n */\nexport function userIsOptedOut(cookie) {\n return (cookie || document.cookie)\n .split(\"; \")\n .includes(`${FIRST_PARTY_DATA_OPT_OUT_COOKIE_NAME}=true`);\n}\n","/**\n * @import { MDNCodeExample } from \"../components/code-example/element.js\";\n */\n\nfor (const iframe of document.querySelectorAll(\"iframe[data-live-id]\")) {\n if (iframe instanceof HTMLIFrameElement) {\n const { liveId, livePath } = iframe.dataset;\n if (liveId) {\n /** @type {Record<string, string>} */\n const liveSampleCode = {};\n /** @type {MDNCodeExample[]} */\n const codeExamples = [];\n\n const escapedId = liveId.replaceAll(\".\", String.raw`\\.`);\n for (const element of document.querySelectorAll(\n `.live-sample___${escapedId}, .live-sample---${escapedId}`,\n )) {\n const { MDNCodeExample, upgradePre } =\n await import(\"../components/code-example/element.js\");\n const codeExample =\n element instanceof MDNCodeExample ? element : upgradePre(element);\n if (codeExample) {\n codeExamples.push(codeExample);\n const { language, code } = codeExample;\n if (liveSampleCode[language]) {\n liveSampleCode[language] += code;\n } else {\n liveSampleCode[language] = code;\n }\n }\n }\n\n await import(\"../components/live-sample-result/element.js\");\n const result = document.createElement(\"mdn-live-sample-result\");\n result.liveId = liveId;\n result.code = liveSampleCode;\n result.srcPrefix = livePath;\n result.allow = iframe.allow || undefined;\n result.sandbox = iframe.sandbox.toString();\n result.height = iframe.height;\n iframe.closest(\".code-example\")?.replaceWith(result);\n\n for (const codeExample of codeExamples) {\n codeExample.liveSample ||= result;\n }\n }\n }\n}\n","const loaded = new Set();\nfor (const element of document.querySelectorAll(\"*\")) {\n const tag = element.tagName.toLowerCase();\n if (tag.startsWith(\"mdn-\") || tag === \"interactive-example\") {\n const component = tag.replace(\"mdn-\", \"\");\n if (!loaded.has(component)) {\n loaded.add(component);\n // we don't want to await, because we want these to load in parallel\n // eslint-disable-next-line unicorn/prefer-top-level-await\n import(`../components/${component}/element.js`).catch((error) => {\n console.error(\n `couldn't load code for <${component}>: does the element's code not match the naming schema?`,\n error,\n );\n });\n }\n }\n}\n","const sidebar = document.querySelector(\"#main-sidebar\");\nconst current = sidebar?.querySelector('[aria-current=\"page\"]');\nif (sidebar && current instanceof HTMLElement) {\n sidebar.scrollTo({\n top: current.offsetTop - window.innerHeight / 4,\n });\n}\n","import { MDNSearchModal } from \"../components/search-modal/element.js\";\n\nconst skipToSearch = document.querySelector(`.a11y-menu a[href=\"#search\"]`);\n\nif (skipToSearch instanceof HTMLAnchorElement) {\n const search = document.querySelector(\"#search\");\n\n if (search instanceof MDNSearchModal) {\n skipToSearch.addEventListener(\"click\", (event) => {\n const { target } = event;\n\n if (target instanceof HTMLElement) {\n target.blur();\n event.preventDefault();\n }\n\n search.showModal();\n });\n } else {\n console.error(\"MDNSearchModal not found!\");\n skipToSearch.hidden = true;\n }\n}\n","/**\n * @param {HTMLElement} toc\n * @returns {void}\n */\nfunction highlightTOC(toc) {\n // 1. Collect TOC items\n const tocItems = [...toc.querySelectorAll(\"a\")];\n\n // 2. Map sections to TOC item\n /** @type {Map<HTMLElement, HTMLAnchorElement>} */\n const tocItemBySection = new Map();\n for (const item of tocItems.reverse()) {\n const target = document.querySelector(\n `[id=\"${decodeURIComponent(item.hash).slice(1)}\"]`,\n );\n\n if (!target) {\n continue;\n }\n\n /** @type {Element|null} */\n let section = target.closest(\"section\");\n\n while (\n section &&\n section instanceof HTMLElement &&\n !tocItemBySection.has(section)\n ) {\n tocItemBySection.set(section, item);\n const next = section.nextElementSibling;\n section = next;\n }\n }\n\n /** @type {WeakMap<HTMLElement,number>} */\n const visibleSectionsByItem = new WeakMap();\n\n /** @type {Set<HTMLElement>} */\n const everVisibleSections = new Set();\n\n // 3. Handle visibility transitions\n const onIntersect = (/** @type {IntersectionObserverEntry[]} */ entries) => {\n for (const { target, isIntersecting } of entries) {\n if (!(target instanceof HTMLElement)) {\n continue;\n }\n\n if (!everVisibleSections.has(target)) {\n if (isIntersecting) {\n everVisibleSections.add(target);\n } else {\n continue;\n }\n }\n\n const item = tocItemBySection.get(target);\n\n if (!item) {\n continue;\n }\n\n const visibleCount =\n (visibleSectionsByItem.get(item) ?? 0) + (isIntersecting ? 1 : -1);\n\n item.ariaCurrent = visibleCount > 0 ? \"true\" : null;\n visibleSectionsByItem.set(item, visibleCount);\n }\n };\n\n // 5. Determine options.\n /** @type {IntersectionObserverInit} */\n const options = {\n threshold: 0,\n };\n const header = document.querySelector(\"header\");\n if (header instanceof HTMLElement) {\n options.rootMargin = `-${header.clientHeight}px 0px 0px 0px`;\n }\n\n // 5. Init observer.\n const observer = new IntersectionObserver(onIntersect, options);\n\n // 6. Observe sections.\n for (const section of tocItemBySection.keys()) {\n observer.observe(section);\n }\n}\n\nfor (const toc of document.querySelectorAll(\n \".generic-toc, .reference-toc, .document-toc, .blog-toc\",\n)) {\n if (toc instanceof HTMLElement) {\n highlightTOC(toc);\n }\n}\n","import { globalUser } from \"../components/user/context.js\";\n\ntry {\n const user = await globalUser();\n const nextPing = new Date(localStorage.getItem(\"next-ping\") || 0);\n if (navigator.sendBeacon && user.isAuthenticated && nextPing < new Date()) {\n const params = new URLSearchParams();\n\n navigator.sendBeacon(\"/api/v1/ping\", params);\n\n const newNextPing = new Date();\n newNextPing.setUTCDate(newNextPing.getUTCDate() + 1);\n newNextPing.setUTCHours(0);\n newNextPing.setUTCMinutes(0);\n newNextPing.setUTCSeconds(0);\n newNextPing.setUTCMilliseconds(0);\n localStorage.setItem(\"next-ping\", newNextPing.toISOString());\n }\n} catch (error) {\n console.error(\"Failed to send ping\", error);\n}\n","import { FluentBundle, FluentResource } from \"@fluent/bundle\";\nimport insane from \"insane\";\nimport { unsafeHTML } from \"lit/directives/unsafe-html.js\";\n\nimport enUS_ftl from \"./locales/en-US.ftl\";\n\n/**\n * @import { AllowedTags } from \"insane\";\n */\n\n/** @type {Record<string, string>} */\nconst ftlMap = {\n \"en-US\": enUS_ftl,\n};\n\nconst ALLOWED_TAGS = [\"i\", \"strong\", \"br\", \"em\"];\nconst ALLOWED_ATTRIBUTES = [\"title\", \"aria-label\"];\n\nexport class Fluent {\n /**\n * @param {string} locale\n * @param {string[]} resources\n */\n constructor(locale = \"en-US\", resources = []) {\n this.locale = locale;\n\n this.usBundle = Fluent.constructBundle(\n new FluentBundle(locale, { useIsolating: false }),\n [enUS_ftl],\n );\n\n if (resources.length > 0) {\n this.bundle = Fluent.constructBundle(\n new FluentBundle(locale, { useIsolating: false }),\n [enUS_ftl, ...resources],\n );\n }\n }\n\n /**\n * @param {FluentBundle} bundle\n * @param {string[]} resources\n */\n static constructBundle(bundle, resources = []) {\n for (const r of resources) {\n const errors = bundle.addResource(new FluentResource(r), {\n allowOverrides: true,\n });\n if (errors.length > 0) {\n console.error(errors);\n }\n }\n return bundle;\n }\n\n /**\n * @param {string} id\n * @param {string} [attr]\n * @param {Record<string, any>} [args]\n * @param {Record<string, import(\"../types/fluent.js\").Element>} [elements]\n * @returns {string | ReturnType<typeof unsafeHTML> | undefined}\n */\n get(id, attr, args, elements) {\n const message = this.getMessage(id, attr, args);\n if (!message) {\n return;\n }\n return Fluent.sanitize(message, elements);\n }\n\n /**\n * @param {string} message\n * @param {Record<string, import(\"../types/fluent.js\").Element>} [elements]\n * @returns {string | ReturnType<typeof unsafeHTML>}\n */\n static sanitize(message, elements = {}) {\n /** @type { Record<string, string[]> } */\n const allowedAttributes = {};\n for (const t of Object.values(elements)) {\n allowedAttributes[t.tag] = [\n ...Object.keys(t).filter((x) => x !== \"tag\"),\n ...ALLOWED_ATTRIBUTES,\n ];\n }\n\n const allowedTags = [\n ...Object.values(elements).map((t) => t.tag),\n ...ALLOWED_TAGS,\n ];\n\n let safe = true;\n const sanitized = insane(\n message,\n {\n allowedAttributes,\n allowedTags: /** @type {AllowedTags[]} */ (allowedTags),\n allowedSchemes: [\"http\", \"https\", \"mailto\"],\n filter(token) {\n // TODO: use element names directly\n const name = token.attrs[\"data-l10n-name\"];\n if (name) {\n for (const [k, v] of Object.entries(elements[name] || {})) {\n token.attrs[k] = v;\n }\n }\n if (\n ALLOWED_TAGS.includes(token.tag) ||\n (name &&\n Object.keys(elements).includes(name) &&\n elements[name]?.tag === token.tag)\n ) {\n safe = false;\n return true;\n }\n return false;\n },\n },\n true,\n );\n return safe ? sanitized : unsafeHTML(sanitized);\n }\n\n /**\n * @param {string} id\n * @param {string} [attr]\n * @param {Record<string, any>} [args]\n * @param {FluentBundle | undefined} [bundle]\n * @param {boolean} [us]\n * @returns {string | undefined}\n */\n getMessage(id, attr, args = {}, bundle = this.bundle, us = false) {\n const parentMessage = bundle ? bundle.getMessage(id) : undefined;\n let message;\n\n if (this.locale === \"qai\") {\n return `[${id}${attr ? `.${attr}` : \"\"}]`;\n }\n\n if (!parentMessage) {\n if (us) {\n // console.error(`string ${id} doesn't exist`);\n // return `[${id}${attr ? `.${attr}` : \"\"}]`;\n return;\n }\n return this.getMessage(id, attr, args, this.usBundle, true);\n }\n\n if (attr) {\n message = parentMessage.attributes[attr];\n if (!message) {\n if (us) {\n // console.error(`string ${id} with ${attr} attribute doesn't exist`);\n // return `[${id}.${attr}]`;\n return;\n }\n return this.getMessage(id, attr, args, this.usBundle, true);\n }\n } else if (parentMessage.value) {\n message = parentMessage.value;\n }\n\n if (!message || !bundle) {\n return \"\";\n }\n\n /** @type {Error[]} */\n const errors = [];\n const formatted = bundle?.formatPattern(message, args, errors);\n if (errors.length > 0) {\n console.error(errors);\n }\n return formatted;\n }\n}\n\n/** @type {Map<string, Fluent>} */\nconst fluent = new Map();\n\n/**\n * @param {string} [locale]\n */\nfunction getLocale(locale) {\n if (!locale) {\n return;\n }\n if (!fluent.has(locale)) {\n const ftl = ftlMap[locale];\n if (!ftl) {\n return new Fluent(locale);\n }\n const localeF = new Fluent(locale, [ftl]);\n fluent.set(locale, localeF);\n }\n return fluent.get(locale);\n}\n\n/**\n * @param {string} locale\n */\nexport async function loadFluentFile(locale) {\n if (locale !== \"qai\" && !ftlMap[locale]) {\n try {\n const { default: localeStrings } = await import(\n `./locales/${locale}.ftl`\n );\n ftlMap[locale] = localeStrings;\n } catch (error) {\n console.error(error);\n }\n }\n}\n\n/**\n * @param {string} locale\n */\nexport default function getFluentContext(locale) {\n /**\n * @param {string} id\n * @param {string} [_comment]\n * @returns {import(\"../types/fluent.js\").L10nTag}\n */\n function l10n(id, _comment) {\n // called as a function, returning a template tag:\n // l10n(\"foobar\")`Foobar`\n const localizedStringOrHtml = getLocale(locale)?.get(id);\n // if fluent has returned a lit html template, discard it\n const localizedString =\n typeof localizedStringOrHtml === \"string\"\n ? localizedStringOrHtml\n : undefined;\n const fallbackString = `[${id}]`;\n /** @type {import(\"../types/fluent.js\").L10nTag} */\n const tag = (strings) => {\n // we don't currently support any expressions in the template string\n // we might in the future, if we use l10n.raw a lot\n const templateString = strings[0];\n return localizedString || templateString || fallbackString;\n };\n tag.toString = () => {\n // called as a function, used as a function:\n // ${l10n(\"foobar\")}\n return localizedString || fallbackString;\n };\n return tag;\n }\n\n /**\n * @param {{ id: string, attr?: string, args?: Record<string, any>, elements?: Record<string, import(\"../types/fluent.js\").Element> }} param0\n */\n l10n.raw = function ({ id, attr, args, elements }) {\n const fluent = getLocale(locale);\n if (fluent) {\n return fluent.get(id, attr, args, elements);\n }\n return `[${id}]`;\n };\n\n return l10n;\n}\n\n// const l10n = getFluentContext(\"en-US\");\n\n// console.log(l10n`Hello`);\n// console.log(l10n(\"hello\")`Hello`);\n// console.log(l10n(\"hello\", \"a greeting to the user\")`Hello`);\n// console.log(l10n.raw({ id: \"hello\" }));\n// console.log(`${l10n(\"hello\")}`);\n\n// should show error:\n// l10n(\"hello\")`Hello ${\"world\"}`;\n","import { getSymmetricContext } from \"../symmetric-context/both.js\";\n\nimport { loadFluentFile } from \"./fluent.js\";\n\nconst locale = getSymmetricContext().locale;\nif (locale) await loadFluentFile(locale);\n","import { getSymmetricContext } from \"../symmetric-context/both.js\";\n\nimport getFluentContext from \"./fluent.js\";\n\n/**\n * @import { LitElement } from \"lit\";\n */\n\n/**\n * @template {new (...args: any[]) => LitElement} TBase\n * @param {TBase} Base\n */\nexport const L10nMixin = (Base) =>\n class LocalizedElement extends Base {\n /**\n * @param {...any} args\n */\n constructor(...args) {\n super(...args);\n const context = getSymmetricContext();\n this.locale = context.locale;\n this.l10n = getFluentContext(this.locale);\n }\n };\n","/**\n * Runs on either client or server,\n * and returns the client or server context respectively\n * @returns {import(\"./types.js\").SymmetricContext}\n */\nexport function getSymmetricContext() {\n const serverStore = globalThis.__MDNServerContext?.getStore();\n const clientStore = globalThis.__MDNClientContext;\n return serverStore || clientStore;\n}\n","/**\n * The client-derived values of the symmetric context:\n * this will run within a user's web browser\n * @type {import(\"./types.js\").SymmetricContext}\n */\nglobalThis.__MDNClientContext = {\n locale: globalThis.location.pathname.split(\"/\")[1] || \"en-US\",\n};\n","import GleanMetrics from \"@mozilla/glean/metrics\";\n\n/**\n * Records a click event.\n *\n * Use only if automatic click events are not an option.\n * See: https://mozilla.github.io/glean.js/automatic_instrumentation/click_events/\n *\n * @param {string} source\n */\nexport function gleanClick(source) {\n GleanMetrics.recordElementClick({\n id: source,\n url: globalThis.location.href,\n referrer: document.referrer,\n title: document.title,\n });\n}\n","/**\n * Returns an MDN URL into a Breadcrumb-like string representation.\n *\n * @param {string} url - the full MDN URL (e.g. \"/en-US/docs/Web/HTML/Reference/Elements/a\").\n * @param {string} locale - the locale (to omit)\n * @returns {string} the breadcrumb-like string for the URL.\n */\nexport function mdnUrl2Breadcrumb(url, locale) {\n let parents = url\n .replaceAll(\"_\", \" \")\n .split(\"/\")\n .filter((p) => ![\"\", locale, \"docs\"].includes(p));\n\n // Replace \"API\" for clarity.\n parents = parents.map((p) => (p === \"API\" ? \"Web APIs\" : p));\n\n if (parents.length > 1 && parents.at(0) === \"Web\") {\n // Remove virtual \"Web\" path.\n parents.splice(0, 1);\n }\n\n if (parents.length > 1) {\n // Remove current item.\n parents.splice(-1, 1);\n }\n\n return parents.join(\" / \");\n}\n"],"names":["Promise","Error","Object","document","localStorage","HTMLDetailsElement","e","console","o","JSON","n","Number","globalThis","HTMLElement","MDNSearchModal","fetch","t","HTMLInputElement","a","MouseEvent","setTimeout","i","Boolean","URLSearchParams","String","RegExp","customElements","value","HTMLDialogElement","addEventListener","Element","HTMLAnchorElement","HTMLIFrameElement","Set","window","Map","decodeURIComponent","WeakMap","IntersectionObserver","Date","navigator","Fluent","s"],"mappings":";+IAAA,MAAe,CAAC;AAChB;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,CAAC,yGCtJG,EAAgC,kBAChC,EAA0B,IAA4B,KACtD,EAAqC,IAAgC,GAEzE,EAAwB,IAAI,CAAC,CAAC,EAAO,EAAE,CAAE,CAAC,+tDAA+tD,EAAE,EAAmC,iBAAiB,EAAE,EAAmC,y5BAAy5B,CAAC,CAAE,GAAG,EAEnwF,MAAe,SAAI,CAAC,EAAwB,QAAQ,GAAG,gDCX5B,MAAe,QAAG,CAAC,2NAA2N,CAAC,eCA1Q,IAAI,EAAM,CACR,4BAA6B,CAC3B,QACA,OACA,OACA,OACA,OACA,OACA,OACD,CACD,wBAAyB,CACvB,QACA,OACA,OACD,CACD,kCAAmC,CACjC,QACA,OACA,OACA,OACA,OACA,OACA,OACA,OACD,CACD,4CAA6C,CAC3C,QACA,OACD,CACD,2BAA4B,CAC1B,QACA,OACA,OACA,OACA,OACD,CACD,6BAA8B,CAC5B,QACA,OACD,CACD,sBAAuB,CACrB,QACA,OACA,OACA,OACA,OACD,CACD,8BAA+B,CAC7B,QACA,OACD,CACD,iCAAkC,CAChC,QACA,OACA,OACA,OACA,OACA,OACA,OACD,CACD,iCAAkC,CAChC,QACA,OACA,OACA,OACA,OACA,OACA,OACD,CACD,4BAA6B,CAC3B,QACA,OACA,OACD,CACD,8BAA+B,CAC7B,QACA,OACA,OACD,CACD,yBAA0B,CACxB,QACA,OACA,OACA,OACD,CACD,mCAAoC,CAClC,QACA,OACA,MACA,OACA,OACA,MACA,OACA,OACA,MACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACD,CACD,2BAA4B,CAC1B,QACA,OACA,OACA,OACD,CACD,4CAA6C,CAC3C,QACA,OACA,OACD,CACD,8BAA+B,CAC7B,QACA,OACD,CACD,4BAA6B,CAC3B,QACA,OACD,CACD,4BAA6B,CAC3B,QACA,OACA,OACD,CACD,sBAAuB,CACrB,QACA,OACD,CACD,sCAAuC,CACrC,OACA,OACA,OACA,OACD,CACD,gCAAiC,CAC/B,QACA,OACD,CACD,sBAAuB,CACrB,QACA,OACA,OACD,CACD,+BAAgC,CAC9B,QACA,OACD,CACD,qBAAsB,CACpB,QACA,OACA,OACD,CACD,2BAA4B,CAC1B,QACA,OACA,MACD,CACD,iCAAkC,CAChC,MACA,OACD,CACD,gCAAiC,CAC/B,QACA,OACA,OACD,CACD,4BAA6B,CAC3B,QACA,OACD,CACD,sBAAuB,CACrB,QACA,OACA,OACD,CACD,uCAAwC,CACtC,OACA,OACA,OACD,CACD,+BAAgC,CAC9B,QACA,OACD,CACD,gCAAiC,CAC/B,OACA,OACA,OACA,OACA,OACA,OACA,OACD,CACD,6BAA8B,CAC5B,QACA,OACD,CACD,yBAA0B,CACxB,OACA,OACA,OACD,CACD,8BAA+B,CAC7B,QACA,OACD,CACD,iCAAkC,CAChC,QACA,OACA,MACA,MACD,CACD,2BAA4B,CAC1B,QACA,OACA,OACD,CACD,4BAA6B,CAC3B,QACA,OACD,CACD,+BAAgC,CAC9B,QACA,OACD,CACD,6BAA8B,CAC5B,OACA,OACA,OACA,OACA,OACA,OACA,OACD,CACD,gCAAiC,CAC/B,QACA,OACA,OACA,OACA,OACD,CACD,mCAAoC,CAClC,QACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACD,CACD,0BAA2B,CACzB,QACA,OACD,CACD,0CAA2C,CACzC,QACA,OACA,OACD,CACD,0BAA2B,CACzB,QACA,OACA,MACA,OACA,OACA,MACA,OACA,OACA,MACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,MACD,CACD,4BAA6B,CAC3B,QACA,OACD,CACD,2BAA4B,CAC1B,QACA,MACA,OACA,OACA,MACA,OACA,OACA,MACA,OACA,OACA,OACD,CACD,4BAA6B,CAC3B,QACA,OACD,CACD,kCAAmC,CACjC,QACA,OACA,OACD,CACD,4BAA6B,CAC3B,QACA,OACD,CACD,4BAA6B,CAC3B,QACA,OACA,MACD,CACD,4BAA6B,CAC3B,QACA,OACA,OACD,CACD,yCAA0C,CACxC,QACA,OACA,OACA,OACD,CACD,gCAAiC,CAC/B,QACA,OACA,OACD,CACD,+CAAgD,CAC9C,QACA,OACA,OACD,CACD,iCAAkC,CAChC,QACA,OACA,OACA,OACA,OACA,OACD,CACD,4BAA6B,CAC3B,QACD,CACD,6BAA8B,CAC5B,QACA,OACD,AACH,EACA,SAAS,EAAuB,CAAG,EACjC,GAAG,CAAC,EAAoB,CAAC,CAAC,EAAK,GAC7B,OAAOA,QAAQ,OAAO,GAAG,IAAI,CAAC,WAC5B,IAAI,EAAI,AAAIC,MAAM,uBAAyB,EAAM,IAEjD,OADA,EAAE,IAAI,CAAG,mBACH,CACR,GAGF,IAAI,EAAM,CAAG,CAAC,EAAI,CAAE,EAAK,CAAG,CAAC,EAAE,CAC/B,OAAOD,QAAQ,GAAG,CAAC,EAAI,KAAK,CAAC,GAAG,GAAG,CAAC,EAAoB,CAAC,GAAG,IAAI,CAAC,WAC/D,OAAO,EAAoB,EAC7B,EACF,CAEA,EAAuB,IAAI,CAAG,IAAOE,OAAO,IAAI,CAAC,GACjD,EAAuB,EAAE,CAAG,MAC5B,EAAO,OAAO,CAAG,eC9XjB,IAAI,EAAM,CACR,cAAe,CACb,MACD,CACD,WAAY,CACV,QACA,OACD,CACD,WAAY,CACV,QACA,OACD,CACD,cAAe,CACb,QACA,OACD,CACD,WAAY,CACV,QACA,OACD,CACD,cAAe,CACb,QACA,OACD,CACD,WAAY,CACV,QACA,OACD,CACD,WAAY,CACV,QACA,OACD,CACD,cAAe,CACb,QACA,OACD,CACD,WAAY,CACV,QACA,OACD,AACH,EACA,SAAS,EAAuB,CAAG,EACjC,GAAG,CAAC,EAAoB,CAAC,CAAC,EAAK,GAC7B,OAAOF,QAAQ,OAAO,GAAG,IAAI,CAAC,WAC5B,IAAI,EAAI,AAAIC,MAAM,uBAAyB,EAAM,IAEjD,OADA,EAAE,IAAI,CAAG,mBACH,CACR,GAGF,IAAI,EAAM,CAAG,CAAC,EAAI,CAAE,EAAK,CAAG,CAAC,EAAE,CAC/B,OAAOD,QAAQ,GAAG,CAAC,EAAI,KAAK,CAAC,GAAG,GAAG,CAAC,EAAoB,CAAC,GAAG,IAAI,CAAC,WAC/D,OAAO,EAAoB,EAC7B,EACF,CAEA,EAAuB,IAAI,CAAG,IAAOE,OAAO,IAAI,CAAC,GACjD,EAAuB,EAAE,CAAG,KAC5B,EAAO,OAAO,CAAG,qEC1DjB,GAAI,CACF,IAAM,EAAYC,SAAS,aAAa,CAAC,uBAWzC,SAAS,EAAU,CAAI,EACjB,EACFC,aAAa,OAAO,CAAC,qBAAsB,QAE3CA,aAAa,UAAU,CAAC,qBAE5B,CAhBI,aAAqBC,qBACvB,EAAU,gBAAgB,CAAC,SAAU,KACnC,EAAU,EAAU,IAAI,CAC1B,GACA,EAAU,EAAU,IAAI,EAa5B,CAAE,MAAOC,EAAO,CACdC,QAAQ,IAAI,CAAC,yCAA0CD,EACzD,mIClBO,IAAM,EAAmB,EAAE,CAErB,EAAc,EAAU,cAAe,ICO7C,SAAS,EAAU,CAAI,CAAE,CAAQ,CAAEE,CAAO,EAC/C,GAAI,CACF,MAAO,EACLC,KAAK,KAAK,CAAC,EAAO,EAAMD,IAAYC,KAAK,SAAS,CAAC,GAEvD,CAAE,KAAM,CACN,OAAO,CACT,CACF,CAOO,SAAS,EAAS,CAAI,CAAE,CAAQ,CAAED,CAAO,EAC9C,IAAM,EAAc,EAAO,EAAMA,GAC3BE,EAAc,EAAcC,OAAO,QAAQ,CAAC,EAAa,IAAM,EACrE,OAAOA,OAAO,KAAK,CAACD,GAAe,EAAWA,CAChD,CAgBA,SAAS,EAAO,CAAI,CAAE,EAAU,CAAC,CAAC,EAChC,GAAM,CAAE,SAAO,CAAE,CAAG,CAAE,QAAS,GAAO,GAAG,CAAO,AAAC,EAC3C,EAAW,CAAC,KAAK,EAAE,EAAK,CAAC,QAC/B,AAAI,GAAW,GACb,EAAiB,IAAI,CAAC,GAEfE,WAAW,OAAO,EAAE,GAAG,CAAC,EAAS,EAAI,EAAO,IAE9C,4EAAqB,CAAC,EAAS,AACxC,CCtDO,IAAM,EDqCJ,ECpCP,uBDmC0C,SClC1C,cAEW,EAAmB,EAAU,mBAAoB,GAAO,CACnE,QAAS,EACX,GACa,EAAO,EAAS,OAAQ,IAAM,CAAE,QAAS,EAAK,GACtB,EAAU,wBAAyB,GAAO,CAC7E,QAAS,EACX,GACO,IAAM,EAAkB,EAAS,kBAAmB,KAAM,CAC/D,QAAS,EACX,GAEa,EDsBJ,ECrBP,iBDoB0C,SCnB1C,iCAEW,EDkBJ,ECjBP,kBDgB0C,SCf1C,2BAIW,EAAgB,EAAU,gBAAiB,IAE3C,EDUJ,ECVgC,gBDSG,SCTc,MAC7C,EAAc,EAAU,cAAe,IAOjB,EAAU,sBAAuB,IAE7D,IAAM,EAAc,EAAU,cAAe,GAAO,CAAE,QAAS,EAAK,GAE9D,EDFJ,ECGP,eDJ0C,SCK1C,oCAGW,EDPJ,ECQP,sBDT0C,SCU1C,0CDTO,ECasC,sBDdH,iBEtC5C,IAAM,EAAST,SAAS,aAAa,CAAC,uCAChC,EAAaA,SAAS,aAAa,CAAC,cACtC,cAAkBU,aAAe,aAAsBA,aACzD,EAAO,gBAAgB,CAAC,QAAS,KAC/B,IAAML,EAAO,AAAG,CAA4B,SAA5B,EAAW,OAAO,CAAC,IAAI,AAAU,EAAI,QAAQ,EAC7D,GAAW,OAAO,CAAC,IAAI,CAAGA,EAC1B,EAAO,YAAY,CAAC,gBAAiBA,EACvC,oKCKK,IAAMM,eAAN,MAAMA,sBAAuB,QAAU,IAAU,EACtD,OAAO,IAAM,EAAM,AACnB,QAAO,OAAS,GAAM,AAAC,AAEvB,QAAO,WAAa,CAClB,OAAQ,CAAE,MAAO,EAAK,EACtB,OAAQ,CAAE,MAAO,EAAK,EACtB,UAAW,CAAE,MAAO,EAAK,EACzB,YAAa,CAAE,MAAO,EAAK,CAC7B,CAAE,AAEF,cAAc,CACZ,KAAK,GAEL,IAAI,CAAC,MAAM,CAAG,OACd,IAAI,CAAC,MAAM,CAAG,GACd,IAAI,CAAC,SAAS,CAAG,EACjB,IAAI,CAAC,WAAW,CAAG,GAEnB,IAAI,CAAC,WAAW,CAAG,EACrB,CAEA,MAAM,YAAa,CACb,IAAI,CAAC,MAAM,EAIf,KAAI,CAAC,MAAM,CAAG,IAAI,CAAC,WAAW,EAAC,CACjC,CAEA,MAAM,aAAc,CAClB,IAAM,EAAM,MAAMC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,EAErD,EAAQ,MAAM,EAAI,IAAI,GAQ5B,MAAO,CACL,KAPW,EAAM,GAAG,CAAC,CAAC,CAAE,OAAK,CAAE,KAAG,CAAE,CAAE,IAAW,EACjD,QACA,MAAO,EAAM,WAAW,GACxB,SAAU,EAAI,KAAK,CAAC,KAAK,GAAG,IAAI,eAAiB,EACnD,IAIE,OACF,CACF,CAEA,WAAY,CACV,IAAI,CAAC,UAAU,GACf,IAAI,CAAC,UAAU,EAAE,cAAc,WAAW,YAC1C,IAAI,CAAC,UAAU,EAAE,cAAc,UAAU,QAC3C,CAGA,OAAO,CAAE,WAAS,CAAEC,OAAAA,CAAM,CAAE,CAAE,CACxBA,aAAkBC,mBACpB,IAAI,CAAC,MAAM,CAAGD,EAAO,KAAK,CACtB,CAAC,IAAI,CAAC,WAAW,EAAI,EAAU,UAAU,CAAC,YAC5C,IAAI,CAAC,WAAW,CAAG,GACnB,QACE,CAAC,qBAAqB,EAAE,AAAc,oBAAd,EAAkC,QAAU,OAAO,CAAC,GAIpF,CAGA,SAASV,CAAK,CAAE,CACd,OAAQA,EAAM,GAAG,EACf,IAAK,UACHA,EAAM,cAAc,GACpB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAG,GAC9B,KAEF,KAAK,YACHA,EAAM,cAAc,GACpB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAG,GAC9B,KAEF,KAAK,QAAS,CACZ,GAAM,CAAE,SAAO,CAAE,UAAQ,CAAEY,OAAAA,CAAM,CAAE,SAAO,CAAE,CAAGZ,EACzC,EAAO,IAAI,CAAC,gBAAgB,GAC9B,aAAgBO,cAClBP,EAAM,cAAc,GACpB,EAAK,aAAa,CAChB,IAAIa,WAAW,QAAS,CACtB,QAAS,GACT,SAAU,GAGV,UACA,WACAD,OAAAA,EACA,SACF,KAGJ,KACF,CAEA,QACE,MACJ,CACF,CAGA,kBAAmB,CACjB,OAAO,IAAI,CAAC,UAAU,EAAE,cAAc,sBAAwB,IAChE,CAGA,QAAQ,CAAK,CAAE,CACb,IAAM,EAAU,AAAC,KAAI,CAAC,WAAW,CAAC,KAAK,EAAE,QAAU,GAAK,EAClD,EAAQ,EAAQ,CACtB,KAAI,CAAC,SAAS,CAAG,EAAQ,EAAI,EAAU,EAAQ,EAC/CE,WAAW,KACT,IAAM,EAAO,IAAI,CAAC,gBAAgB,EAC9B,cAAgBP,aAClB,EAAK,cAAc,CAAC,CAClB,SAAU,SACV,MAAO,SACT,EAEJ,EAAG,EACL,CAGA,QAAQP,CAAK,CAAE,CACbA,EAAM,cAAc,GACpB,IAAM,EAAO,IAAI,CAAC,gBAAgB,EAC9B,cAAgBO,aAClB,EAAK,KAAK,EAEd,CAGA,OAAO,CAAE,QAAM,CAAE,CAAE,CACjB,GAAI,aAAkBA,YAAa,CACjC,IAAM,EAAU,EAAO,OAAO,CAAC,iBAC/B,GAAI,aAAmBA,YAAa,CAClC,IAAM,EAAQF,OAAO,QAAQ,CAAC,EAAQ,OAAO,CAAC,MAAM,EAAI,MAAO,IAC1DA,OAAO,KAAK,CAAC,KAChB,IAAI,CAAC,SAAS,CAAG,EACjB,IAAI,CAAC,WAAW,CAAG,GAEvB,MACE,IAAI,CAAC,WAAW,CAAG,EAEvB,CACF,CAGA,eAAeL,CAAK,CAAE,CACpB,IAAMU,EAASV,EAAM,YAAY,IAAI,CAAC,EAAE,EAAIA,EAAM,MAAM,CAMxD,GAJEU,aAAkBH,aACjB,EAAC,WAAY,QAAQ,CAAC,QAAQ,CAACG,EAAO,OAAO,GAC5CA,EAAO,iBAAiB,AAAD,EAGzB,OAGF,IAAM,EAAYJ,WAAW,YAAY,IAAI,WACvC,EAAaN,EAAM,GAAG,CACtB,EAAoBA,EAAM,OAAO,EAAIA,EAAM,OAAO,CAClD,EAAU,AAAe,MAAf,GAAsB,CAAC,EACjCe,EAAU,AAAe,MAAf,GAAsB,GAAqB,CAACf,EAAM,QAAQ,CAEtE,IAAWe,CAAM,IACnBf,EAAM,cAAc,GACpB,QACE,CAAC,+BAA+B,EAAE,EAAU,QAAU,SAAS,CAAC,EAElE,IAAI,CAAC,SAAS,GACV,IACF,IAAI,CAAC,MAAM,CAAG,EACT,IAAI,CAAC,WAAW,GACnB,IAAI,CAAC,WAAW,CAAG,GACnB,QAAW,oCAInB,CAEA,YAAc,IAAI,IAAI,CAAC,IAAI,CAAE,CAC3B,KAAM,IAAM,CAAC,IAAI,CAAC,MAAM,CAAE,IAAI,CAAC,MAAM,CAAC,CACtC,KAAM,MAAO,CAAC,EAAO,EAAM,IACzB,GAAI,AAAC,GAAU,EAGf,KAiIe,EAAO,MACpB,EACA,EAnIF,OAiIe,EAjII,EAiIG,EAjII,MAAM,EAkI9B,EAAe,EAAM,WAAW,GAAG,IAAI,GACvC,EAAI,EAAW,GAWd,AAVc,EAAM,IAAI,CAC5B,MAAM,CAAC,CAAC,CAAE,OAAK,CAAE,GAAK,EAAE,KAAK,CAAC,AAAC,GAAM,EAAM,QAAQ,CAAC,KACpD,GAAG,CAAC,CAAC,CAAE,OAAK,CAAEU,MAAAA,CAAK,CAAE,UAAQ,CAAE,GAED,CADfL,OAAO,CAACK,EAAO,EAAS,CAAC,QAAQ,CAAC,IACX,EAAM,EAE5C,IAAI,CAAC,CAAC,CAAC,EAAO,CAAE,CAAC,EAAO,GAAK,EAAS,GACtC,GAAG,CAAC,CAAC,CAAC,EAAG,EAAE,GAAK,GAChB,KAAK,CAAC,EAAG,IAEQ,GAAG,CAAC,AAAC,GAAM,GAAK,AAAC,GAAM,KAAK,EAAI,EAAE,AAAD,CAAE,CAAC,EAAE,EAAE,MAAM,CAACM,QA9IzB,CACxC,CACF,EAAG,AAEH,SAAS,CACP,IAAI,CAAC,UAAU,EAAE,cAAc,WAAW,OAC5C,CAEA,mBAAoB,CAClB,KAAK,CAAC,oBACN,IAAI,CAAC,cAAc,CAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EACnDnB,SAAS,gBAAgB,CAAC,UAAW,IAAI,CAAC,cAAc,EACxD,IAAI,CAAC,UAAU,CAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAC3C,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,YAAa,IAAI,CAAC,UAAU,CAC/D,CAEA,sBAAuB,CACrB,KAAK,CAAC,uBACN,IAAI,CAAC,UAAU,CAAC,mBAAmB,CAAC,YAAa,IAAI,CAAC,UAAU,EAChEA,SAAS,mBAAmB,CAAC,UAAW,IAAI,CAAC,cAAc,CAC7D,CAEA,2BAA4B,CAC1B,MAAO,QAAI,CAAC;iBACC,EAAE,IAAI,CAAC,IAAI,CACpB,oCACD,CAAC,qBAAqB,CAAC,CAAC;gBACf,CAAC,AACf,CAEA,QAAS,CACP,IAAM,EAAkB,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,QAAU,EACpD,EAAY,IAAI,CAAC,MAAM,CACzB,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAIoB,gBAAgB,CAAE,EAAG,IAAI,CAAC,MAAM,AAAC,GAAG,CAAC,CACnE,KACJ,MAAO,QAAI,CAAC;uBACO,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC;;;iBAG9C,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;kBAC1B,EAAE,IAAI,CAAC,OAAO,CAAC;;;;;mBAKd,EAAE,IAAI,CAAC,MAAM,CAAC;;;mBAGd,EAAE,IAAI,CAAC,MAAM,CAAC;wBACT,EAAE,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC;uBAC5C,EAAE,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC;;;;;;;gBAOlD,EAAE,GAAQ,CAAC;iBACV,EAAE,IAAI,CAAC,MAAM,CAAC;WACpB,EAAE,IAAI,CAAC,IAAI,CAAC,2BAA2B,CAAC,WAAW,CAAC,CAAC;;QAExD,EAAE,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CACxB,QAAS,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,IAAI,EACjD,QAAS,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,IAAI,CACnD,GAAG;;UAED,EAAE,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CACxB,SAAU,AAAC,GACT,GAAS,IACP,CAAC,CAAE,OAAK,CAAE,KAAG,CAAE,CAAE,SA8FT,MAEhB,EAKA,QArG+B,QAAI,CAAC;qCACP,EAAE,IAAI,CAAC,SAAS,GAAK,EAAE,aAAa,EAAE,EAAE;;2BAElD,EAAE,EAAI;oCACG,EAAE,CAAC,sBAAsB,EAAE,EAAI,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,EAAI,CAAC,CAAC;;yBAE3E,EAAE,QAAkB,EAAK,IAAI,CAAC,MAAM,EAAE;;;yBAGtC,EAqFD,EArFkB,EA4FlC,EAAQ,AAHK,CAFb,EAAQ,EAvFiC,IAAI,CAAC,MAAM,GAyFjC,GAAG,CAAC,AAAC,GAC5B,EAAE,UAAU,CAAC,sBAAuBC,OAAO,GAAG,CAAC,GAAG,CAAC,GAE5B,GAAG,CAAC,AAAC,GAAS,CAAC,CAAC,EAAE,EAAK,CAAC,CAAC,EAAE,IAAI,CAAC,KAElD,AADO,EAAM,KAAK,CAAC,AAAIC,OAAO,EAAO,OAEzC,MAAM,CAACH,SACP,GAAG,CAAC,AAAC,GACJ,EAAM,QAAQ,CAAC,EAAK,WAAW,IAAM,QAAI,CAAC,MAAM,EAAE,EAAK,OAAO,CAAC,CAAG,GAjGV;;;;gBAI9C,CAAC,EAEP,GAAG;UACH,EAAE,EACE,QAAI,CAAC;+BACY,EAAE,IAAI,CAAC,SAAS,GAAK,EAAgB;4BACxC,EAAE,EAAgB;;;uBAGvB,EAAE,EAAU;gCACH,EAAE,CAAC,6BAA6B,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;;qBAE3D,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CACf,GAAI,2BACJ,KAAM,CACJ,MAAO,IAAI,CAAC,MAAM,AACpB,EACA,SAAU,CACR,MAAO,CAAE,IAAK,MAAO,CACvB,CACF,GAAG;;;mBAGJ,CAAC,CACNZ,EAAA,EAAO,CAAC;;;IAGlB,CAAC,AACH,CAEA,SAAU,CACR,GAAI,IAAI,CAAC,WAAW,CAAE,CACpB,IAAM,EAAW,IAAI,CAAC,gBAAgB,EAClC,cAAoBG,aACtB,EAAS,KAAK,EAElB,CACF,CACF,EA8BO,SAAS,EAAW,CAAI,EAE7B,MAAO,AADP,GAAO,EAAK,IAAI,GAAG,WAAW,EAAC,EACnB,UAAU,CAAC,MAAQ,EAAK,QAAQ,CAAC,KAEzC,EAAK,KAAK,CAAC,SAEX,EAAK,KAAK,CAAC,SACjB,CAnCAa,eAAe,MAAM,CAAC,mBAAoBZ,kCC5StC,kCAnBJ,IAAM,EAAc,CAAE,QAAS,gBAAiB,YAAa,IAAK,EAK5D,EAAe,CACnB,SAAU,KACV,gBAAiB,GACjB,UAAW,KACX,aAAc,GACd,iBAAkB,KAClB,MAAO,KACP,IAAK,EACL,SAAU,IACZ,EAWO,SAAS,WACd,AAAI,IAAW,CACN,IAAId,QAAQ,KAAO,IAExB,AAAC,GACH,GAAO,IAAgB,KAAK,CAAC,AAACM,IAC5BC,QAAQ,KAAK,CAACD,GACP,GACR,EAEI,EACT,CAMA,eAAe,IACb,IAAM,EAAW,MAAMS,MAAM,kBAC7B,GAAI,CAAC,EAAS,EAAE,CACd,MAAM,AAAId,MAAM,EAAS,UAAU,EAGrC,GAAI,CAIF,IAAM,EAAO,MAAM,EAAS,IAAI,GAC1B,EAAW,GAAM,SACnB,CACE,cACE,AAA0C,WAA1C,OAAO,EAAK,QAAQ,EAAE,gBAClB,EAAK,QAAQ,CAAC,eAAe,CAC7B,KACN,MAAO,EAAK,QAAQ,EAAE,QAAU,IAClC,EACA,EAAa,QAAQ,CAEzB,OADA,EAAS,KAAK,CAAG,GAAU,OAAS,GAC7B,CACL,SAAU,EAAK,QAAQ,EAAI,EAAa,QAAQ,CAChD,gBAAiB,EAAK,gBAAgB,EAAI,EAAa,eAAe,CACtE,UAAW,EAAK,UAAU,EAAI,EAAa,SAAS,CACpD,aAAc,EAAK,aAAa,EAAI,EAAa,YAAY,CAC7D,iBACE,AAA2B,SAA3B,EAAK,iBAAiB,CAClB,WACC,EAAK,iBAAiB,EAAI,EAAa,gBAAgB,CAC9D,MAAO,EAAK,KAAK,EAAI,EAAa,KAAK,CACvC,IAAK,CACH,QAAS,AAAC,GAAK,GAAG,EAAI,EAAK,GAAG,CAAC,OAAO,AAAD,GAAM,EAAY,OAAO,CAC9D,YACE,AAAC,GAAK,GAAG,EAAI,EAAK,GAAG,CAAC,WAAW,AAAD,GAAM,EAAY,WAAW,AACjE,EACA,UACF,CACF,CAAE,KAAM,CACN,MAAM,AAAIA,MAAM,EAAS,UAAU,CACrC,CACF,CAEO,IAAM,EAAW,CACtB,IAAI,MAAM0B,MAAO,CACXA,MACFf,WAAW,YAAY,CAAC,OAAO,CAAC,MAAO,OAEvCA,WAAW,YAAY,CAAC,UAAU,CAAC,MAEvC,EAEA,IAAI,OAAQ,CACV,OAAOA,WAAW,YAAY,EAAE,UAAU,SAAW,KACvD,CACF,+SCvGA,IAAK,IAAM,KAAOT,SAAS,gBAAgB,CACzC,qGACC,CACD,GAAM,CAAE,YAAU,CAAE,CAAG,MAAM,6GAC7B,EAAW,EACb,iCCqBI,AAAE,aAAcyB,kBAAkB,SAAS,EAC7CC,iBAAiB,QAAS,AAACvB,IACzB,IAAM,EAASA,EAAM,YAAY,EAAE,CAAC,EAAE,CACtC,GACE,aAAkBsB,mBAClB,AAAoC,QAApC,EAAO,YAAY,CAAC,YACpB,CACA,IAAM,EAAO,EAAO,qBAAqB,GACnC,CAAE,QAAS,CAAC,CAAE,QAAS,CAAC,CAAE,CAAGtB,CAI/B,AAFF,GAAK,GAAG,EAAI,GAAK,GAAK,EAAK,MAAM,EAAI,EAAK,IAAI,EAAI,GAAK,GAAK,EAAK,KAAK,EAE3D,EAAO,KAAK,EAC3B,CACF,sDC5BF,IAAM,EAAgB,CCJb,AAAWH,SAAS,MAAM,CAC9B,KAAK,CAAC,MACN,QAAQ,CAAC,oCDE6B,IAAa,AAEpD,KAAW,GACb,mBAAqB,CAAC,WACtB,eAAiB,CAAC,KAGpB,cAAgB,CATK,WASU,EAAe,CAC5C,yBAA0B,GAC1B,6BAA8B,GAC9B,QAAS,IAAa,AACxB,GAEAA,SAAS,gBAAgB,CAAC,QAAS,AAACG,IAClC,IAAM,EAAiBA,EAAM,YAAY,IAAI,CAAC,EAAE,CAChD,GAAI,IAAmBA,EAAM,MAAM,EAAI,aAA0BwB,QAAS,CAGxE,IAAM,EAAgB,EAAe,OAAO,CAAC,mBAC7C,GAAI,aAAyBjB,YAAa,CACxC,IAAM,EAAU,EAAc,OAAO,CAAC,OAAO,AACzC,IACF,QAAW,EAEf,CACF,CAEA,IAAM,EAAS,GAAkBP,EAAM,MAAM,CAC7C,GAAI,aAAkBwB,QAAS,CAE7B,IAAM,EAAS,EAAO,OAAO,CAAC,IAE5B,cAAkBC,mBAClB,EAAO,IAAI,EACX,EAAO,MAAM,EACb,EAAO,MAAM,GAAK5B,SAAS,QAAQ,CAAC,MAAM,EAE1C,QAAW,CAAC,eAAe,EAAE,EAAO,IAAI,CAAC,CAAC,CAE9C,CACF,+CEhDA,IAAK,IAAM,KAAUA,SAAS,gBAAgB,CAAC,wBAC7C,GAAI,aAAkB6B,kBAAmB,CACvC,GAAM,CAAE,QAAM,CAAE,UAAQ,CAAE,CAAG,EAAO,OAAO,CAC3C,GAAI,EAAQ,CAEV,IAAM,EAAiB,CAAC,EAElB,EAAe,EAAE,CAEjB,EAAY,EAAO,UAAU,CAAC,IAAKR,OAAO,GAAG,CAAC,EAAE,CAAC,EACvD,IAAK,IAAMlB,KAAWH,SAAS,gBAAgB,CAC7C,CAAC,eAAe,EAAE,EAAU,iBAAiB,EAAE,EAAU,CAAC,EACzD,CACD,GAAM,CAAE,gBAAc,CAAE,YAAU,CAAE,CAClC,MAAM,6GACF,EACJG,aAAmB,EAAiBA,EAAU,EAAWA,GAC3D,GAAI,EAAa,CACf,EAAa,IAAI,CAAC,GAClB,GAAM,CAAE,UAAQ,CAAE,MAAI,CAAE,CAAG,CACvB,EAAc,CAAC,EAAS,CAC1B,CAAc,CAAC,EAAS,EAAI,EAE5B,CAAc,CAAC,EAAS,CAAG,CAE/B,CACF,CAEA,MAAM,yHACN,IAAM,EAASH,SAAS,aAAa,CAAC,0BAStC,IAAK,IAAM,KARX,EAAO,MAAM,CAAG,EAChB,EAAO,IAAI,CAAG,EACd,EAAO,SAAS,CAAG,EACnB,EAAO,KAAK,CAAG,EAAO,KAAK,EAAI,OAC/B,EAAO,OAAO,CAAG,EAAO,OAAO,CAAC,QAAQ,GACxC,EAAO,MAAM,CAAG,EAAO,MAAM,CAC7B,EAAO,OAAO,CAAC,kBAAkB,YAAY,GAEnB,GACxB,EAAY,UAAU,GAAK,CAE/B,CACF,sCC9CF,IAAM,EAAS,IAAI8B,IACnB,IAAK,IAAM3B,KAAWH,SAAS,gBAAgB,CAAC,KAAM,CACpD,IAAMa,EAAMV,EAAQ,OAAO,CAAC,WAAW,GACvC,GAAIU,EAAI,UAAU,CAAC,SAAWA,AAAQ,wBAARA,EAA+B,CAC3D,IAAM,EAAYA,EAAI,OAAO,CAAC,OAAQ,IACjC,EAAO,GAAG,CAAC,KACd,EAAO,GAAG,CAAC,GAGX,SAAO,CAAC,EAAc,EAAE,EAAU,WAAW,CAAC,EAAE,KAAK,CAAC,AAAC,IACrDT,QAAQ,KAAK,CACX,CAAC,wBAAwB,EAAE,EAAU,uDAAuD,CAAC,CAC7F,EAEJ,GAEJ,CACF,WCjBA,IAAM,EAAUJ,SAAS,aAAa,CAAC,iBACjC,EAAU,GAAS,cAAc,wBACnC,IAAW,aAAmBU,aAChC,EAAQ,QAAQ,CAAC,CACf,IAAK,EAAQ,SAAS,CAAGqB,OAAO,WAAW,CAAG,CAChD,gCCHF,IAAM,EAAe/B,SAAS,aAAa,CAAC,gCAE5C,GAAI,aAAwB4B,kBAAmB,CAC7C,IAAM,EAAS5B,SAAS,aAAa,CAAC,UAElC,cAAkB,gBAAc,CAClC,EAAa,gBAAgB,CAAC,QAAS,AAAC,IACtC,GAAM,CAAE,QAAM,CAAE,CAAG,EAEf,aAAkBU,cACpB,EAAO,IAAI,GACX,EAAM,cAAc,IAGtB,EAAO,SAAS,EAClB,IAEAN,QAAQ,KAAK,CAAC,6BACd,EAAa,MAAM,CAAG,GAE1B,WCkEA,IAAK,IAAM,KAAOJ,SAAS,gBAAgB,CACzC,0DAEI,aAAeU,aACjB,AAxFJ,SAAsB,CAAG,EAEvB,IAAMG,EAAW,IAAI,EAAI,gBAAgB,CAAC,KAAK,CAIzC,EAAmB,IAAImB,IAC7B,IAAK,IAAM,KAAQnB,EAAS,OAAO,GAAI,CACrC,IAAMA,EAASb,SAAS,aAAa,CACnC,CAAC,KAAK,EAAEiC,mBAAmB,EAAK,IAAI,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,EAGpD,GAAI,CAACpB,EACH,SAIF,IAAI,EAAUA,EAAO,OAAO,CAAC,WAE7B,KACE,GACA,aAAmBH,aACnB,CAAC,EAAiB,GAAG,CAAC,IAEtB,EAAiB,GAAG,CAAC,EAAS,GAE9B,EADa,EAAQ,kBAAkB,AAG3C,CAGA,IAAM,EAAwB,IAAIwB,QAG5B,EAAsB,IAAIJ,IAiC1B,EAAU,CACd,UAAW,CACb,EACM,EAAS9B,SAAS,aAAa,CAAC,SAClC,cAAkBU,aACpB,GAAQ,UAAU,CAAG,CAAC,CAAC,EAAE,EAAO,YAAY,CAAC,cAAc,CAAC,AAAD,EAI7D,IAAM,EAAW,IAAIyB,qBAvCD,AAA4ChC,IAC9D,IAAK,GAAM,CAAEU,OAAAA,CAAM,CAAE,gBAAc,CAAE,GAAIV,EAAS,CAChD,GAAI,CAAEU,CAAAA,aAAkBH,WAAU,EAChC,SAGF,GAAI,CAAC,EAAoB,GAAG,CAACG,GAC3B,IAAI,EAGF,cAFA,EAAoB,GAAG,CAACA,GAM5B,IAAM,EAAO,EAAiB,GAAG,CAACA,GAElC,GAAI,CAAC,EACH,SAGF,IAAM,EACJ,AAAC,GAAsB,GAAG,CAAC,IAAS,GAAM,GAAiB,EAAI,EAAC,CAElE,GAAK,WAAW,CAAG,EAAe,EAAI,OAAS,KAC/C,EAAsB,GAAG,CAAC,EAAM,EAClC,CACF,EAauD,GAGvD,IAAK,IAAM,KAAW,EAAiB,IAAI,GACzC,EAAS,OAAO,CAAC,EAErB,EAMiB,8DC1FjB,GAAI,CACF,IAAM,EAAO,MAAM,UACb,EAAW,IAAIuB,KAAKnC,aAAa,OAAO,CAAC,cAAgB,GAC/D,GAAIoC,UAAU,UAAU,EAAI,EAAK,eAAe,EAAI,EAAW,IAAID,KAAQ,CACzE,IAAM,EAAS,IAAIhB,gBAEnBiB,UAAU,UAAU,CAAC,eAAgB,GAErC,IAAM,EAAc,IAAID,KACxB,EAAY,UAAU,CAAC,EAAY,UAAU,GAAK,GAClD,EAAY,WAAW,CAAC,GACxB,EAAY,aAAa,CAAC,GAC1B,EAAY,aAAa,CAAC,GAC1B,EAAY,kBAAkB,CAAC,GAC/BnC,aAAa,OAAO,CAAC,YAAa,EAAY,WAAW,GAC3D,CACF,CAAE,MAAOE,EAAO,CACdC,QAAQ,KAAK,CAAC,sBAAuBD,EACvC,+GCTA,IAAM,EAAS,CACb,QAAS,SAAQ,AACnB,EAEM,EAAe,CAAC,IAAK,SAAU,KAAM,KAAK,CAC1C,EAAqB,CAAC,QAAS,aAAa,CAE3C,IAAMmC,OAAN,MAAMA,OAKX,YAAY,EAAS,OAAO,CAAE,EAAY,EAAE,CAAE,CAC5C,IAAI,CAAC,MAAM,CAAG,EAEd,IAAI,CAAC,QAAQ,CAAGA,OAAO,eAAe,CACpC,IAAI,IAAY,CAAC,EAAQ,CAAE,aAAc,EAAM,GAC/C,CAAC,SAAQ,CAAC,EAGR,EAAU,MAAM,CAAG,GACrB,KAAI,CAAC,MAAM,CAAGA,OAAO,eAAe,CAClC,IAAI,IAAY,CAAC,EAAQ,CAAE,aAAc,EAAM,GAC/C,CAAC,SAAQ,IAAK,EAAU,CAC1B,CAEJ,CAMA,OAAO,gBAAgB,CAAM,CAAE,EAAY,EAAE,CAAE,CAC7C,IAAK,IAAM,KAAK,EAAW,CACzB,IAAM,EAAS,EAAO,WAAW,CAAC,IAAI,IAAc,CAAC,GAAI,CACvD,eAAgB,EAClB,EACI,GAAO,MAAM,CAAG,GAClBlC,QAAQ,KAAK,CAAC,EAElB,CACA,OAAO,CACT,CASA,IAAI,CAAE,CAAE,CAAI,CAAE,CAAI,CAAE,CAAQ,CAAE,CAC5B,IAAM,EAAU,IAAI,CAAC,UAAU,CAAC,EAAI,EAAM,GAC1C,GAAK,EAGL,OAAOkC,OAAO,QAAQ,CAAC,EAAS,EAClC,CAOA,OAAO,SAAS,CAAO,CAAE,EAAW,CAAC,CAAC,CAAE,CAEtC,IAAM,EAAoB,CAAC,EAC3B,IAAK,IAAM,KAAKvC,OAAO,MAAM,CAAC,GAC5B,CAAiB,CAAC,EAAE,GAAG,CAAC,CAAG,IACtBA,OAAO,IAAI,CAAC,GAAG,MAAM,CAAC,AAAC,GAAM,AAAM,QAAN,MAC7B,EACJ,CAGH,IAAMgB,EAAc,IACfhB,OAAO,MAAM,CAAC,GAAU,GAAG,CAAC,AAAC,GAAM,EAAE,GAAG,KACxC,EACJ,CAEGwC,EAAO,GACL,EAAY,EAChB,EACA,CACE,oBACA,YAA2CxB,EAC3C,eAAgB,CAAC,OAAQ,QAAS,SAAS,CAC3C,OAAO,CAAK,EAEV,IAAM,EAAO,EAAM,KAAK,CAAC,iBAAiB,CAC1C,GAAI,EACF,IAAK,GAAM,CAAC,EAAG,EAAE,GAAIhB,OAAO,OAAO,CAAC,CAAQ,CAAC,EAAK,EAAI,CAAC,GACrD,EAAM,KAAK,CAAC,EAAE,CAAG,QAGrB,EACE,GAAa,QAAQ,CAAC,EAAM,GAAG,GAC9B,GACCA,OAAO,IAAI,CAAC,GAAU,QAAQ,CAAC,IAC/B,CAAQ,CAAC,EAAK,EAAE,MAAQ,EAAM,GAAG,IAEnCwC,EAAO,GACA,GAGX,CACF,EACA,IAEF,OAAOA,EAAO,EAAY,QAAW,EACvC,CAUA,WAAW,CAAE,CAAE,CAAI,CAAE,EAAO,CAAC,CAAC,CAAE,EAAS,IAAI,CAAC,MAAM,CAAE,EAAK,EAAK,CAAE,CAChE,IACI,EADE,EAAgB,EAAS,EAAO,UAAU,CAAC,GAAM,OAGvD,GAAI,AAAgB,QAAhB,IAAI,CAAC,MAAM,CACb,MAAO,CAAC,CAAC,EAAE,EAAG,EAAE,EAAO,CAAC,CAAC,EAAE,EAAK,CAAC,CAAG,GAAG,CAAC,CAAC,CAG3C,GAAI,CAAC,EAAe,CAClB,GAAI,EAGF,OAEF,OAAO,IAAI,CAAC,UAAU,CAAC,EAAI,EAAM,EAAM,IAAI,CAAC,QAAQ,CAAE,GACxD,CAEA,GAAI,EAEF,IAAI,CADJ,GAAU,EAAc,UAAU,CAAC,EAAK,AAAD,EACzB,CACZ,GAAI,EAGF,OAEF,OAAO,IAAI,CAAC,UAAU,CAAC,EAAI,EAAM,EAAM,IAAI,CAAC,QAAQ,CAAE,GACxD,OACS,EAAc,KAAK,EAC5B,GAAU,EAAc,KAAK,AAAD,EAG9B,GAAI,CAAC,GAAW,CAAC,EACf,MAAO,GAIT,IAAM,EAAS,EAAE,CACX,EAAY,GAAQ,cAAc,EAAS,EAAM,GAIvD,OAHI,EAAO,MAAM,CAAG,GAClBnC,QAAQ,KAAK,CAAC,GAET,CACT,CACF,EAGA,IAAM,EAAS,IAAI4B,IAKnB,SAAS,EAAU,CAAM,EACvB,GAAK,GAGL,GAAI,CAAC,EAAO,GAAG,CAAC,GAAS,CACvB,IAAM,EAAM,CAAM,CAAC,EAAO,CAC1B,GAAI,CAAC,EACH,OAAO,IAAIM,OAAO,GAEpB,IAAM,EAAU,IAAIA,OAAO,EAAQ,CAAC,EAAI,EACxC,EAAO,GAAG,CAAC,EAAQ,EACrB,CACA,OAAO,EAAO,GAAG,CAAC,GACpB,CAKO,eAAe,EAAe,CAAM,EACzC,GAAI,AAAW,QAAX,GAAoB,CAAC,CAAM,CAAC,EAAO,CACrC,GAAI,CACF,GAAM,CAAE,QAAS,CAAa,CAAE,CAAG,MAAM,QACvC,CAAC,EAAU,EAAE,EAAO,IAAI,CAAC,CAE3B,EAAM,CAAC,EAAO,CAAG,CACnB,CAAE,MAAOnC,EAAO,CACdC,QAAQ,KAAK,CAACD,EAChB,CAEJ,CAKe,SAAS,EAAiB,CAAM,EAM7C,SAAS,EAAK,CAAE,CAAE,CAAQ,EAGxB,IAAM,EAAwB,EAAU,IAAS,IAAI,GAE/C,EACJ,AAAiC,UAAjC,OAAO,EACH,EACA,OACA,EAAiB,CAAC,CAAC,EAAE,EAAG,CAAC,CAAC,CAE1B,EAAM,AAAC,IAGX,IAAMU,EAAiB,CAAO,CAAC,EAAE,CACjC,OAAO,GAAmBA,GAAkB,CAC9C,EAMA,OALA,EAAI,QAAQ,CAAG,IAGN,GAAmB,EAErB,CACT,CAaA,OARA,EAAK,GAAG,CAAG,SAAU,CAAE,IAAE,CAAE,MAAI,CAAEE,KAAAA,CAAI,CAAE,UAAQ,CAAE,EAC/C,IAAM,EAAS,EAAU,UACzB,AAAI,EACK,EAAO,GAAG,CAAC,EAAI,EAAMA,EAAM,GAE7B,CAAC,CAAC,EAAE,EAAG,CAAC,CAAC,AAClB,EAEO,CACT,wEC9PA,IAAM,EAAS,UAAsB,MAAM,AACvC,IAAQ,MAAM,SAAe,mFCO1B,IAAM,EAAY,AAAC,GACxB,cAA+B,EAI7B,YAAY,GAAG,CAAI,CAAE,CACnB,KAAK,IAAI,GACT,IAAM,EAAU,SAChB,KAAI,CAAC,MAAM,CAAG,EAAQ,MAAM,CAC5B,IAAI,CAAC,IAAI,CAAG,SAAiB,IAAI,CAAC,MAAM,CAC1C,CACF,iCClBK,SAAS,IACd,IAAM,EAAcN,WAAW,kBAAkB,EAAE,WAC7C,EAAcA,WAAW,kBAAkB,CACjD,OAAO,GAAe,CACxB,WCJAA,WAAW,kBAAkB,CAAG,CAC9B,OAAQA,WAAW,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,EAAI,OACxD,gDCGO,SAAS,EAAW,CAAM,EAC/B,sBAA+B,CAAC,CAC9B,GAAI,EACJ,IAAKA,WAAW,QAAQ,CAAC,IAAI,CAC7B,SAAUT,SAAS,QAAQ,CAC3B,MAAOA,SAAS,KAAK,AACvB,EACF,iCCVO,SAAS,EAAkB,CAAG,CAAE,CAAM,EAC3C,IAAI,EAAU,EACX,UAAU,CAAC,IAAK,KAChB,KAAK,CAAC,KACN,MAAM,CAAC,AAAC,GAAM,CAAC,CAAC,GAAI,EAAQ,OAAO,CAAC,QAAQ,CAAC,IAehD,MAVI,AAFJ,GAAU,EAAQ,GAAG,CAAC,AAAC,GAAO,AAAM,QAAN,EAAc,WAAa,EAAE,EAE/C,MAAM,CAAG,GAAK,AAAkB,QAAlB,EAAQ,EAAE,CAAC,IAEnC,EAAQ,MAAM,CAAC,EAAG,GAGhB,EAAQ,MAAM,CAAG,GAEnB,EAAQ,MAAM,CAAC,GAAI,GAGd,EAAQ,IAAI,CAAC,MACtB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export const __rspack_esm_id="4016";export const __rspack_esm_ids=["4016"];export const __webpack_modules__={33196(){},41519(){},38637(){},12224(){},59768(){},63102(){},13777(){},49374(){},41056(){},65882(){},8842(){},71697(){},9500(){},55386(){},87493(){},64648(){},23653(){},88339(){},87017(){},35401(){},39689(){}};import{__webpack_require__ as s}from"./styles.5b02dc99a7ee272a.js";var o=function(o){return s(s.s=o)};import*as _ from"./styles-global.aad93fff9f2f386b.js";s.C(_),o(33196),o(41519),o(38637),o(12224),o(59768),o(13777),o(63102),o(49374),o(41056),o(65882),o(8842),o(71697),o(9500),o(55386),o(87493),o(64648),o(23653),o(88339),o(87017),o(35401),o(39689);
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
.badge.inline.optional,.badge.inline.readonly,.badge.inline.secure{border:1px solid var(--color-border-primary);border-radius:1em;color:var(--color-text-secondary);font-size:var(--font-size-small);padding:.25em .5em;vertical-align:text-top;white-space:nowrap}mdn-button{display:inline-flex;vertical-align:middle}mdn-code-example{display:block}html[data-theme=light]{--csstools-color-scheme--light:initial;color-scheme:light}html[data-theme=dark]{--csstools-color-scheme--light: ;color-scheme:dark}:root{--csstools-light-dark-toggle-baa18a82-0:var(--csstools-color-scheme--light) var(--color-gray-40);--color-border-primary:var(--csstools-light-dark-toggle-baa18a82-0,var(--color-gray-60));--csstools-light-dark-toggle-baa18a82-1:var(--csstools-color-scheme--light) var(--color-gray-60);--color-border-secondary:var(--csstools-light-dark-toggle-baa18a82-1,var(--color-gray-40));--csstools-light-dark-toggle-baa18a82-2:var(--csstools-color-scheme--light) var(--color-blue-80);--color-border-active:var(--csstools-light-dark-toggle-baa18a82-2,var(--color-blue-50))}@supports (color:light-dark(red,red)){:root{--color-border-primary:light-dark(var(--color-gray-60),var(--color-gray-40));--color-border-secondary:light-dark(var(--color-gray-40),var(--color-gray-60));--color-border-active:light-dark(var(--color-blue-50),var(--color-blue-80))}}@supports not (color:light-dark(tan,tan)){:root *{--csstools-light-dark-toggle-baa18a82-0:var(--csstools-color-scheme--light) var(--color-gray-40);--color-border-primary:var(--csstools-light-dark-toggle-baa18a82-0,var(--color-gray-60));--csstools-light-dark-toggle-baa18a82-1:var(--csstools-color-scheme--light) var(--color-gray-60);--color-border-secondary:var(--csstools-light-dark-toggle-baa18a82-1,var(--color-gray-40));--csstools-light-dark-toggle-baa18a82-2:var(--csstools-color-scheme--light) var(--color-blue-80);--color-border-active:var(--csstools-light-dark-toggle-baa18a82-2,var(--color-blue-50))}}:root{--csstools-light-dark-toggle-29c9dff5-0:var(--csstools-color-scheme--light) var(--color-gray-05);--color-background-page:var(--csstools-light-dark-toggle-29c9dff5-0,var(--color-white));--csstools-light-dark-toggle-29c9dff5-1:var(--csstools-color-scheme--light) var(--color-gray-10);--color-background-primary:var(--csstools-light-dark-toggle-29c9dff5-1,var(--color-gray-90));--csstools-light-dark-toggle-29c9dff5-2:var(--csstools-color-scheme--light) var(--color-gray-20);--color-background-secondary:var(--csstools-light-dark-toggle-29c9dff5-2,var(--color-gray-80))}@supports (color:light-dark(red,red)){:root{--color-background-page:light-dark(var(--color-white),var(--color-gray-05));--color-background-primary:light-dark(var(--color-gray-90),var(--color-gray-10));--color-background-secondary:light-dark(var(--color-gray-80),var(--color-gray-20))}}@supports not (color:light-dark(tan,tan)){:root *{--csstools-light-dark-toggle-29c9dff5-0:var(--csstools-color-scheme--light) var(--color-gray-05);--color-background-page:var(--csstools-light-dark-toggle-29c9dff5-0,var(--color-white));--csstools-light-dark-toggle-29c9dff5-1:var(--csstools-color-scheme--light) var(--color-gray-10);--color-background-primary:var(--csstools-light-dark-toggle-29c9dff5-1,var(--color-gray-90));--csstools-light-dark-toggle-29c9dff5-2:var(--csstools-color-scheme--light) var(--color-gray-20);--color-background-secondary:var(--csstools-light-dark-toggle-29c9dff5-2,var(--color-gray-80))}}:root{--csstools-light-dark-toggle-29c9dff5-3:var(--csstools-color-scheme--light) var(--color-red-10);--color-background-red:var(--csstools-light-dark-toggle-29c9dff5-3,var(--color-red-90));--csstools-light-dark-toggle-29c9dff5-4:var(--csstools-color-scheme--light) var(--color-orange-10);--color-background-orange:var(--csstools-light-dark-toggle-29c9dff5-4,var(--color-orange-90));--csstools-light-dark-toggle-29c9dff5-5:var(--csstools-color-scheme--light) var(--color-yellow-10);--color-background-yellow:var(--csstools-light-dark-toggle-29c9dff5-5,var(--color-yellow-90));--csstools-light-dark-toggle-29c9dff5-6:var(--csstools-color-scheme--light) var(--color-green-10);--color-background-green:var(--csstools-light-dark-toggle-29c9dff5-6,var(--color-green-90));--csstools-light-dark-toggle-29c9dff5-7:var(--csstools-color-scheme--light) var(--color-blue-10);--color-background-blue:var(--csstools-light-dark-toggle-29c9dff5-7,var(--color-blue-90));--csstools-light-dark-toggle-29c9dff5-8:var(--csstools-color-scheme--light) var(--color-purple-10);--color-background-purple:var(--csstools-light-dark-toggle-29c9dff5-8,var(--color-purple-90))}@supports (color:light-dark(red,red)){:root{--color-background-red:light-dark(var(--color-red-90),var(--color-red-10));--color-background-orange:light-dark(var(--color-orange-90),var(--color-orange-10));--color-background-yellow:light-dark(var(--color-yellow-90),var(--color-yellow-10));--color-background-green:light-dark(var(--color-green-90),var(--color-green-10));--color-background-blue:light-dark(var(--color-blue-90),var(--color-blue-10));--color-background-purple:light-dark(var(--color-purple-90),var(--color-purple-10))}}@supports not (color:light-dark(tan,tan)){:root *{--csstools-light-dark-toggle-29c9dff5-3:var(--csstools-color-scheme--light) var(--color-red-10);--color-background-red:var(--csstools-light-dark-toggle-29c9dff5-3,var(--color-red-90));--csstools-light-dark-toggle-29c9dff5-4:var(--csstools-color-scheme--light) var(--color-orange-10);--color-background-orange:var(--csstools-light-dark-toggle-29c9dff5-4,var(--color-orange-90));--csstools-light-dark-toggle-29c9dff5-5:var(--csstools-color-scheme--light) var(--color-yellow-10);--color-background-yellow:var(--csstools-light-dark-toggle-29c9dff5-5,var(--color-yellow-90));--csstools-light-dark-toggle-29c9dff5-6:var(--csstools-color-scheme--light) var(--color-green-10);--color-background-green:var(--csstools-light-dark-toggle-29c9dff5-6,var(--color-green-90));--csstools-light-dark-toggle-29c9dff5-7:var(--csstools-color-scheme--light) var(--color-blue-10);--color-background-blue:var(--csstools-light-dark-toggle-29c9dff5-7,var(--color-blue-90));--csstools-light-dark-toggle-29c9dff5-8:var(--csstools-color-scheme--light) var(--color-purple-10);--color-background-purple:var(--csstools-light-dark-toggle-29c9dff5-8,var(--color-purple-90))}}:root{--csstools-light-dark-toggle-e9dfdd1f-0:var(--csstools-color-scheme--light) var(--color-white);--color-text-primary:var(--csstools-light-dark-toggle-e9dfdd1f-0,var(--color-black));--csstools-light-dark-toggle-e9dfdd1f-1:var(--csstools-color-scheme--light) var(--color-gray-60);--color-text-secondary:var(--csstools-light-dark-toggle-e9dfdd1f-1,var(--color-gray-40))}@supports (color:light-dark(red,red)){:root{--color-text-primary:light-dark(var(--color-black),var(--color-white));--color-text-secondary:light-dark(var(--color-gray-40),var(--color-gray-60))}}@supports not (color:light-dark(tan,tan)){:root *{--csstools-light-dark-toggle-e9dfdd1f-0:var(--csstools-color-scheme--light) var(--color-white);--color-text-primary:var(--csstools-light-dark-toggle-e9dfdd1f-0,var(--color-black));--csstools-light-dark-toggle-e9dfdd1f-1:var(--csstools-color-scheme--light) var(--color-gray-60);--color-text-secondary:var(--csstools-light-dark-toggle-e9dfdd1f-1,var(--color-gray-40))}}:root{--csstools-light-dark-toggle-e9dfdd1f-2:var(--csstools-color-scheme--light) var(--color-red-80);--color-text-red:var(--csstools-light-dark-toggle-e9dfdd1f-2,var(--color-red-20));--csstools-light-dark-toggle-e9dfdd1f-3:var(--csstools-color-scheme--light) var(--color-orange-80);--color-text-orange:var(--csstools-light-dark-toggle-e9dfdd1f-3,var(--color-orange-20));--csstools-light-dark-toggle-e9dfdd1f-4:var(--csstools-color-scheme--light) var(--color-yellow-80);--color-text-yellow:var(--csstools-light-dark-toggle-e9dfdd1f-4,var(--color-yellow-20));--csstools-light-dark-toggle-e9dfdd1f-5:var(--csstools-color-scheme--light) var(--color-green-80);--color-text-green:var(--csstools-light-dark-toggle-e9dfdd1f-5,var(--color-green-20));--csstools-light-dark-toggle-e9dfdd1f-6:var(--csstools-color-scheme--light) var(--color-blue-80);--color-text-blue:var(--csstools-light-dark-toggle-e9dfdd1f-6,var(--color-blue-20));--csstools-light-dark-toggle-e9dfdd1f-7:var(--csstools-color-scheme--light) var(--color-purple-80);--color-text-purple:var(--csstools-light-dark-toggle-e9dfdd1f-7,var(--color-purple-20))}@supports (color:light-dark(red,red)){:root{--color-text-red:light-dark(var(--color-red-20),var(--color-red-80));--color-text-orange:light-dark(var(--color-orange-20),var(--color-orange-80));--color-text-yellow:light-dark(var(--color-yellow-20),var(--color-yellow-80));--color-text-green:light-dark(var(--color-green-20),var(--color-green-80));--color-text-blue:light-dark(var(--color-blue-20),var(--color-blue-80));--color-text-purple:light-dark(var(--color-purple-20),var(--color-purple-80))}}@supports not (color:light-dark(tan,tan)){:root *{--csstools-light-dark-toggle-e9dfdd1f-2:var(--csstools-color-scheme--light) var(--color-red-80);--color-text-red:var(--csstools-light-dark-toggle-e9dfdd1f-2,var(--color-red-20));--csstools-light-dark-toggle-e9dfdd1f-3:var(--csstools-color-scheme--light) var(--color-orange-80);--color-text-orange:var(--csstools-light-dark-toggle-e9dfdd1f-3,var(--color-orange-20));--csstools-light-dark-toggle-e9dfdd1f-4:var(--csstools-color-scheme--light) var(--color-yellow-80);--color-text-yellow:var(--csstools-light-dark-toggle-e9dfdd1f-4,var(--color-yellow-20));--csstools-light-dark-toggle-e9dfdd1f-5:var(--csstools-color-scheme--light) var(--color-green-80);--color-text-green:var(--csstools-light-dark-toggle-e9dfdd1f-5,var(--color-green-20));--csstools-light-dark-toggle-e9dfdd1f-6:var(--csstools-color-scheme--light) var(--color-blue-80);--color-text-blue:var(--csstools-light-dark-toggle-e9dfdd1f-6,var(--color-blue-20));--csstools-light-dark-toggle-e9dfdd1f-7:var(--csstools-color-scheme--light) var(--color-purple-80);--color-text-purple:var(--csstools-light-dark-toggle-e9dfdd1f-7,var(--color-purple-20))}}:root{--csstools-light-dark-toggle-e40c6b49-0:var(--csstools-color-scheme--light) var(--color-blue-80);--color-link-normal:var(--csstools-light-dark-toggle-e40c6b49-0,var(--color-blue-20));--csstools-light-dark-toggle-e40c6b49-1:var(--csstools-color-scheme--light) var(--color-purple-80);--color-link-visited:var(--csstools-light-dark-toggle-e40c6b49-1,var(--color-purple-20))}@supports (color:light-dark(red,red)){:root{--color-link-normal:light-dark(var(--color-blue-20),var(--color-blue-80));--color-link-visited:light-dark(var(--color-purple-20),var(--color-purple-80))}}@supports not (color:light-dark(tan,tan)){:root *{--csstools-light-dark-toggle-e40c6b49-0:var(--csstools-color-scheme--light) var(--color-blue-80);--color-link-normal:var(--csstools-light-dark-toggle-e40c6b49-0,var(--color-blue-20));--csstools-light-dark-toggle-e40c6b49-1:var(--csstools-color-scheme--light) var(--color-purple-80);--color-link-visited:var(--csstools-light-dark-toggle-e40c6b49-1,var(--color-purple-20))}}:root{--color-scrollbar-track:#0000;--csstools-light-dark-toggle-a81cd71e-0:var(--csstools-color-scheme--light) var(--color-white-alpha-25);--color-scrollbar-thumb:var(--csstools-light-dark-toggle-a81cd71e-0,var(--color-black-alpha-25))}@supports (color:light-dark(red,red)){:root{--color-scrollbar-thumb:light-dark(var(--color-black-alpha-25),var(--color-white-alpha-25))}}@supports not (color:light-dark(tan,tan)){:root *{--csstools-light-dark-toggle-a81cd71e-0:var(--csstools-color-scheme--light) var(--color-white-alpha-25);--color-scrollbar-thumb:var(--csstools-light-dark-toggle-a81cd71e-0,var(--color-black-alpha-25))}}:root{--color-area-background:var(--color-background-blue);--color-area-highlight-border:var(--color-blue-50);--color-area-link:var(--color-link-normal)}:root[data-current-area=learn]{--color-area-background:var(--color-background-orange);--color-area-highlight-border:var(--color-orange-50);--csstools-light-dark-toggle-9cb2d9c1-0:var(--csstools-color-scheme--light) var(--color-orange-80);--color-area-link:var(--csstools-light-dark-toggle-9cb2d9c1-0,var(--color-orange-20))}@supports (color:light-dark(red,red)){:root[data-current-area=learn]{--color-area-link:light-dark(var(--color-orange-20),var(--color-orange-80))}}@supports not (color:light-dark(tan,tan)){[data-current-area=learn]:root *{--csstools-light-dark-toggle-9cb2d9c1-0:var(--csstools-color-scheme--light) var(--color-orange-80);--color-area-link:var(--csstools-light-dark-toggle-9cb2d9c1-0,var(--color-orange-20))}}:root{--color-white:#fff;--color-white-alpha-25:#ffffff40;--color-white-alpha-75:#ffffffbf;--color-black:#000;--color-black-alpha-25:#00000040;--color-black-alpha-75:#000000bf;--color-gray-90:#f7f7f8;--color-gray-80:#edeef0;--color-gray-60:#c3c7cb;--color-gray-40:#51565d;--color-gray-20:#2d3034;--color-gray-10:#212426;--color-gray-05:#18191b;--color-red-90:#ffe6ea;--color-red-80:#fc7d92;--color-red-50:#d31232;--color-red-20:#b7102c;--color-red-10:#4b0b16;--color-orange-90:#fef3eb;--color-orange-80:#febe8f;--color-orange-50:#e2782c;--color-orange-20:#c2570a;--color-orange-10:#3f220d;--color-yellow-90:#fef0c3;--color-yellow-80:#fae49e;--color-yellow-50:#e6b30a;--color-yellow-20:#97770c;--color-yellow-10:#574405;--color-green-90:#eaf6ef;--color-green-80:#70eba3;--color-green-50:#089141;--color-green-20:#065b29;--color-green-10:#0c311c;--color-blue-90:#ecf4fe;--color-blue-80:#a4cefe;--color-blue-50:#0a5dbd;--color-blue-20:#044c9f;--color-blue-10:#072446;--color-purple-90:#f7f0ff;--color-purple-80:#d8b8ff;--color-purple-50:#863ae4;--color-purple-20:#5f1fad;--color-purple-10:#260e43}.external:after{background-color:currentcolor;content:"\200b" " (external)";content:"\200b"/" (external)";display:inline-block;height:1em;margin-left:.25em;-webkit-mask-image:url(/static/client/external-link.4f3a2dc8e402cae5.svg);mask-image:url(/static/client/external-link.4f3a2dc8e402cae5.svg);-webkit-mask-size:cover;mask-size:cover;vertical-align:text-top;width:1em}mdn-dropdown{display:contents}mdn-dropdown:not([loaded],:focus-within) [slot=dropdown]{display:none}@font-feature-values "Inter"{@styleset{disambiguation:2}}@font-face{font-display:swap;font-family:Inter;font-feature-settings:"calt" 0;font-style:normal;font-weight:100 900;src:url(/static/client/inter-latin.9a3b1bc220d426ef.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-display:swap;font-family:Inter;font-feature-settings:"calt" 0;font-style:italic;font-weight:100 900;src:url(/static/client/inter-italic-latin.fd2627ec16333c05.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-display:swap;font-family:Inter;font-feature-settings:"calt" 0;font-style:normal;font-weight:100 900;src:url(/static/client/inter-latin-extended.02dc98170ff37b88.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-display:swap;font-family:Inter;font-feature-settings:"calt" 0;font-style:italic;font-weight:100 900;src:url(/static/client/inter-italic-latin-extended.0a7409875db33654.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-display:swap;font-family:Inter;font-feature-settings:"calt" 0;font-style:normal;font-weight:100 900;src:url(/static/client/inter-cyrillic.eecfbd79d522303a.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-display:swap;font-family:Inter;font-feature-settings:"calt" 0;font-style:italic;font-weight:100 900;src:url(/static/client/inter-italic-cyrillic.d153dcd2916c4842.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:100 800;size-adjust:95%;src:url(/static/client/jetbrains-mono-latin.119994ed445212c7.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-display:swap;font-family:JetBrains Mono;font-style:italic;font-weight:100 800;size-adjust:95%;src:url(/static/client/jetbrains-mono-italic-latin.55b330522e5e3ed9.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:100 800;size-adjust:95%;src:url(/static/client/jetbrains-mono-latin-extended.01c891f9c832ce28.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-display:swap;font-family:JetBrains Mono;font-style:italic;font-weight:100 800;size-adjust:95%;src:url(/static/client/jetbrains-mono-italic-latin-extended.c25d5e1f309ed948.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:100 800;size-adjust:95%;src:url(/static/client/jetbrains-mono-cyrillic.577e793cdf179ae1.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-display:swap;font-family:JetBrains Mono;font-style:italic;font-weight:100 800;size-adjust:95%;src:url(/static/client/jetbrains-mono-italic-cyrillic.8d00711fdb1702e0.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}:root{--font-family-text:"Inter",sans-serif;--font-family-code:"JetBrains Mono",monospace;--font-line-content:1.75;--font-line-normal:1.5;--font-line-header:1.25;--font-line-ui:1;--font-size-largest:2.5rem;--font-size-larger:2rem;--font-size-large:1.5rem;--font-size-medium:1.25rem;--font-size-normal:1rem;--font-size-small:0.8rem;--font-weight-normal:400;--font-weight-bold:600}*,:after,:before{box-sizing:border-box}button,input,select,textarea{font:inherit}button{color:inherit;cursor:pointer}img{height:auto;max-width:100%}a{color:var(--color-link-normal)}[hidden]{display:none!important}html{color:var(--color-text-primary);font-family:var(--font-family-text);font-feature-settings:"calt" 0;font-size:var(--font-size-normal);font-variant-alternates:styleset(disambiguation);line-height:var(--font-line-normal);overflow-wrap:break-word;scroll-behavior:smooth;--csstools-color-scheme--light:initial;background-color:var(--color-background-page);color-scheme:light dark}@media (prefers-color-scheme:dark){html{--csstools-color-scheme--light: }}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}.icon.icon-deprecated,.icon.icon-experimental,.icon.icon-nonstandard{background-color:var(--color-text-secondary);display:inline-block;flex-shrink:0;height:1em;-webkit-mask-size:cover;mask-size:cover;vertical-align:middle;width:1em}.icon.icon-deprecated{-webkit-mask-image:url(/static/client/trash-2.73b28bc66fb8543c.svg);mask-image:url(/static/client/trash-2.73b28bc66fb8543c.svg)}.icon.icon-experimental{-webkit-mask-image:url(/static/client/flask-conical.c16b3d71f14f31d1.svg);mask-image:url(/static/client/flask-conical.c16b3d71f14f31d1.svg)}.icon.icon-nonstandard{-webkit-mask-image:url(/static/client/triangle-alert.cff4c57ccef57da3.svg);mask-image:url(/static/client/triangle-alert.cff4c57ccef57da3.svg)}:root{--layout-side-padding-min:1rem;--layout-side-padding:max(var(--layout-side-padding-min),calc(50vw - 720px + 1rem));--layout-full-width:calc(100vw - var(--layout-side-padding)*2);--layout-sidebar-min:15rem;--layout-sidebar-gap:2rem;--layout-sidebar-padding:1rem;--layout-content-min:31rem;--layout-content-max:48rem;--layout-2-sidebars:[full-start left-sidebar-start] minmax(var(--layout-sidebar-min),1fr) [left-sidebar-end] var(--layout-sidebar-gap) [content-start] minmax(0,var(--layout-content-max)) [content-end] var(--layout-sidebar-gap) [right-sidebar-start] minmax(var(--layout-sidebar-min),1fr) [full-end right-sidebar-end];--layout-1-sidebar-left:[full-start sidebar-start left-sidebar-start] minmax(var(--layout-sidebar-min),1fr) [sidebar-end left-sidebar-end] var(--layout-sidebar-gap) [content-start] minmax(0,var(--layout-content-max)) [full-end content-end] minmax(0,1fr);--layout-1-sidebar-right:minmax(0,1fr) [full-start content-start] minmax(0,var(--layout-content-max)) [content-end] var(--layout-sidebar-gap) [sidebar-start right-sidebar-start] minmax(var(--layout-sidebar-min),1fr) [full-end sidebar-end right-sidebar-end];--layout-no-sidebar:[full-start] 1fr [content-start] minmax(0,var(--layout-content-max)) [content-end] 1fr [full-end];--layout-no-sidebar-extended:[extended-full-start] var(--layout-side-padding) [full-start] 1fr [content-start] minmax(0,var(--layout-content-max)) [content-end] 1fr [full-end] var(--layout-side-padding) [extended-full-end]}mdn-live-sample-result{display:block}html a.only-in-en-us:after{content:"(en-US)";display:inline-block;font-size:.7rem;margin-left:.5ch;vertical-align:super}html[lang=de] a.only-in-en-us:after{content:"(engl.)"}html[lang=es] a.only-in-en-us:after{content:"(inglés)"}html[lang=fr] a.only-in-en-us:after{content:"(angl.)"}html[lang=ja] a.only-in-en-us:after{content:"(英語)"}html[lang=ko] a.only-in-en-us:after{content:"(영어)"}html[lang=ru] a.only-in-en-us:after{content:"(англ.)"}html[lang=pt-BR] a.only-in-en-us:after{content:"(inglês)"}html[lang=zh-CN] a.only-in-en-us:after{content:"(英语)";margin-left:unset;vertical-align:initial}html[lang=zh-TW] a.only-in-en-us:after{content:"(英語)";margin-left:unset;vertical-align:initial}.page-not-created{color:var(--color-text-red);text-decoration:underline!important;-webkit-text-decoration:underline wavy!important;text-decoration:underline wavy!important}@media print{*{-webkit-print-color-adjust:exact;print-color-adjust:exact}:root{--csstools-color-scheme--light:initial;color-scheme:light;--layout-2-sidebars:minmax(0,1fr)!important;--layout-1-sidebar-left:minmax(0,1fr)!important;--layout-no-sidebar:minmax(0,1fr)!important}body{font-size:9pt;line-height:1.5;margin:0;padding:0}.page-layout{display:block!important;grid-template-rows:none!important;height:auto!important;min-height:auto!important}.page-layout__header{position:static!important;top:auto!important;z-index:auto!important}:root{--sticky-header-height:0!important}.article-footer,.content-section.article-footer,.footer__links,.footer__mozilla,.footer__socials,.layout__left-sidebar,.layout__right-sidebar,.navigation__button,.navigation__menu,.page-layout__banner,mdn-collection-save-button,mdn-color-theme,mdn-placement-bottom,mdn-search-button,mdn-toggle-sidebar,mdn-user-menu{display:none!important}.reference-layout{grid-template-areas:"header" "body"!important;grid-template-columns:auto!important;grid-template-rows:auto!important}a{-webkit-text-decoration:none!important;text-decoration:none!important}details.baseline-indicator>:not(summary),details.baseline-indicator[open]>:not(summary){display:none!important}details.baseline-indicator>summary::marker{display:none!important}.code-example,.default-example,.example-container,.interactive,[class*=example]{break-inside:avoid!important;display:block!important;float:none!important;height:auto!important;margin-bottom:1rem!important;overflow:visible!important;page-break-inside:avoid!important;position:static!important;width:100%!important}.footer__mdn{row-gap:0!important}interactive-example,section{clear:both!important;display:block!important;position:static!important}interactive-example{break-inside:avoid!important;page-break-inside:avoid!important}[style*="position: absolute"],[style*="position: fixed"]{position:static!important}}:root{--radius-normal:0.25rem;--radius-full:9999px}@font-face{font-display:block;font-family:BarlowCondensed-SemiBold;font-weight:var(--font-weight-bold);src:local("BarlowCondensed-SemiBold"),url(/static/client/BarlowCondensed-SemiBold.199288b668a15dc1.woff2) format("woff2")}mdn-scrim-inline{aspect-ratio:1.5;display:block;margin:.5rem auto;max-width:36rem;width:100%}.table-container{margin:0;overflow-x:auto}:root{--top-banner-height:3.375rem;--sticky-header-height:calc(var(--navigation-height) + var(--breadcrumbs-bar-height));--z-index-sticky-header:100;--z-index-sidebar-mobile:90}.visually-hidden{border:0!important;clip-path:inset(50%)!important;height:1px!important;margin:-1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;white-space:nowrap!important;width:1px!important}
|
|
2
|
-
/*# sourceMappingURL=styles-global.d76107900f38bb57.css.map*/
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"styles-global.d76107900f38bb57.css","sources":["webpack://@mdn/fred/./components/badge/global.css","webpack://@mdn/fred/./components/button/global.css","webpack://@mdn/fred/./components/code-example/global.css","webpack://@mdn/fred/./components/color-theme/global.css","webpack://@mdn/fred/./components/color/border.css","webpack://@mdn/fred/./components/color/background.css","webpack://@mdn/fred/./components/color/text.css","webpack://@mdn/fred/./components/color/link.css","webpack://@mdn/fred/./components/color/scrollbar.css","webpack://@mdn/fred/./components/color/area.css","webpack://@mdn/fred/./components/color/global.css","webpack://@mdn/fred/./components/external-link/global.css","webpack://@mdn/fred/./components/dropdown/global.css","webpack://@mdn/fred/./components/font/inter.css","webpack://@mdn/fred/./components/font/jetbrains-mono.css","webpack://@mdn/fred/./components/font/global.css","webpack://@mdn/fred/./components/global/global.css","webpack://@mdn/fred/./components/html/global.css","webpack://@mdn/fred/./components/icon/global.css","webpack://@mdn/fred/./components/layout/global.css","webpack://@mdn/fred/./components/live-sample-result/global.css","webpack://@mdn/fred/./components/only-in-en-us/global.css","webpack://@mdn/fred/./components/page-not-created/global.css","webpack://@mdn/fred/./components/print/global.css","webpack://@mdn/fred/./components/radius/global.css","webpack://@mdn/fred/./components/scrim-inline/global.css","webpack://@mdn/fred/./components/table-container/global.css","webpack://@mdn/fred/./components/vars/global.css","webpack://@mdn/fred/./components/visually-hidden/global.css"],"sourcesContent":["/*\n Badge legacy.\n\n To be removed when rari no longer renders these.\n\n Note: The selectors are intentionally explicit to discourage use.\n*/\n/* See https://github.com/mdn/rari/blob/5a2ead64bb8d4f46f9c548b942072838fb686281/crates/rari-doc/src/templ/templs/inline_labels.rs#L16-L21 */\n.badge.inline.optional,.badge.inline.readonly,.badge.inline.secure {\n padding: 0.25em 0.5em;\n\n font-size: var(--font-size-small);\n\n vertical-align: text-top;\n\n color: var(--color-text-secondary);\n\n white-space: nowrap;\n\n border: 1px solid var(--color-border-primary);\n border-radius: 1em;\n }\n","mdn-button {\n display: inline-flex;\n vertical-align: middle;\n}\n","mdn-code-example {\n display: block;\n}\n","html[data-theme=\"light\"] {\n --csstools-color-scheme--light: initial;\n color-scheme: light;\n}\n\nhtml[data-theme=\"dark\"] {\n --csstools-color-scheme--light: ;\n color-scheme: dark;\n}\n","/* Border */\n\n:root {\n --csstools-light-dark-toggle-baa18a82-0: var(--csstools-color-scheme--light) var(--color-gray-40);\n --color-border-primary: var(--csstools-light-dark-toggle-baa18a82-0, var(--color-gray-60));\n --csstools-light-dark-toggle-baa18a82-1: var(--csstools-color-scheme--light) var(--color-gray-60);\n --color-border-secondary: var(--csstools-light-dark-toggle-baa18a82-1, var(--color-gray-40));\n --csstools-light-dark-toggle-baa18a82-2: var(--csstools-color-scheme--light) var(--color-blue-80);\n --color-border-active: var(--csstools-light-dark-toggle-baa18a82-2, var(--color-blue-50));\n}\n\n@supports (color: light-dark(red, red)) {\n:root {\n --color-border-primary: light-dark(\n var(--color-gray-60),\n var(--color-gray-40)\n );\n --color-border-secondary: light-dark(\n var(--color-gray-40),\n var(--color-gray-60)\n );\n --color-border-active: light-dark(var(--color-blue-50), var(--color-blue-80));\n}\n}\n\n@supports not (color: light-dark(tan, tan)) {\n\n:root * {\n --csstools-light-dark-toggle-baa18a82-0: var(--csstools-color-scheme--light) var(--color-gray-40);\n --color-border-primary: var(--csstools-light-dark-toggle-baa18a82-0, var(--color-gray-60));\n --csstools-light-dark-toggle-baa18a82-1: var(--csstools-color-scheme--light) var(--color-gray-60);\n --color-border-secondary: var(--csstools-light-dark-toggle-baa18a82-1, var(--color-gray-40));\n --csstools-light-dark-toggle-baa18a82-2: var(--csstools-color-scheme--light) var(--color-blue-80);\n --color-border-active: var(--csstools-light-dark-toggle-baa18a82-2, var(--color-blue-50));\n }\n}\n","/* Background */\n\n/* Basic */\n\n:root {\n --csstools-light-dark-toggle-29c9dff5-0: var(--csstools-color-scheme--light) var(--color-gray-05);\n --color-background-page: var(--csstools-light-dark-toggle-29c9dff5-0, var(--color-white));\n --csstools-light-dark-toggle-29c9dff5-1: var(--csstools-color-scheme--light) var(--color-gray-10);\n --color-background-primary: var(--csstools-light-dark-toggle-29c9dff5-1, var(--color-gray-90));\n --csstools-light-dark-toggle-29c9dff5-2: var(--csstools-color-scheme--light) var(--color-gray-20);\n --color-background-secondary: var(--csstools-light-dark-toggle-29c9dff5-2, var(--color-gray-80));\n}\n\n@supports (color: light-dark(red, red)) {\n:root {\n --color-background-page: light-dark(var(--color-white), var(--color-gray-05));\n --color-background-primary: light-dark(\n var(--color-gray-90),\n var(--color-gray-10)\n );\n --color-background-secondary: light-dark(\n var(--color-gray-80),\n var(--color-gray-20)\n );\n}\n}\n\n@supports not (color: light-dark(tan, tan)) {\n\n:root * {\n --csstools-light-dark-toggle-29c9dff5-0: var(--csstools-color-scheme--light) var(--color-gray-05);\n --color-background-page: var(--csstools-light-dark-toggle-29c9dff5-0, var(--color-white));\n --csstools-light-dark-toggle-29c9dff5-1: var(--csstools-color-scheme--light) var(--color-gray-10);\n --color-background-primary: var(--csstools-light-dark-toggle-29c9dff5-1, var(--color-gray-90));\n --csstools-light-dark-toggle-29c9dff5-2: var(--csstools-color-scheme--light) var(--color-gray-20);\n --color-background-secondary: var(--csstools-light-dark-toggle-29c9dff5-2, var(--color-gray-80));\n }\n}\n\n/* Tinted */\n\n:root {\n --csstools-light-dark-toggle-29c9dff5-3: var(--csstools-color-scheme--light) var(--color-red-10);\n --color-background-red: var(--csstools-light-dark-toggle-29c9dff5-3, var(--color-red-90));\n --csstools-light-dark-toggle-29c9dff5-4: var(--csstools-color-scheme--light) var(--color-orange-10);\n --color-background-orange: var(--csstools-light-dark-toggle-29c9dff5-4, var(--color-orange-90));\n --csstools-light-dark-toggle-29c9dff5-5: var(--csstools-color-scheme--light) var(--color-yellow-10);\n --color-background-yellow: var(--csstools-light-dark-toggle-29c9dff5-5, var(--color-yellow-90));\n --csstools-light-dark-toggle-29c9dff5-6: var(--csstools-color-scheme--light) var(--color-green-10);\n --color-background-green: var(--csstools-light-dark-toggle-29c9dff5-6, var(--color-green-90));\n --csstools-light-dark-toggle-29c9dff5-7: var(--csstools-color-scheme--light) var(--color-blue-10);\n --color-background-blue: var(--csstools-light-dark-toggle-29c9dff5-7, var(--color-blue-90));\n --csstools-light-dark-toggle-29c9dff5-8: var(--csstools-color-scheme--light) var(--color-purple-10);\n --color-background-purple: var(--csstools-light-dark-toggle-29c9dff5-8, var(--color-purple-90));\n}\n\n@supports (color: light-dark(red, red)) {\n:root {\n --color-background-red: light-dark(var(--color-red-90), var(--color-red-10));\n --color-background-orange: light-dark(\n var(--color-orange-90),\n var(--color-orange-10)\n );\n --color-background-yellow: light-dark(\n var(--color-yellow-90),\n var(--color-yellow-10)\n );\n --color-background-green: light-dark(\n var(--color-green-90),\n var(--color-green-10)\n );\n --color-background-blue: light-dark(\n var(--color-blue-90),\n var(--color-blue-10)\n );\n --color-background-purple: light-dark(\n var(--color-purple-90),\n var(--color-purple-10)\n );\n}\n}\n\n@supports not (color: light-dark(tan, tan)) {\n\n:root * {\n --csstools-light-dark-toggle-29c9dff5-3: var(--csstools-color-scheme--light) var(--color-red-10);\n --color-background-red: var(--csstools-light-dark-toggle-29c9dff5-3, var(--color-red-90));\n --csstools-light-dark-toggle-29c9dff5-4: var(--csstools-color-scheme--light) var(--color-orange-10);\n --color-background-orange: var(--csstools-light-dark-toggle-29c9dff5-4, var(--color-orange-90));\n --csstools-light-dark-toggle-29c9dff5-5: var(--csstools-color-scheme--light) var(--color-yellow-10);\n --color-background-yellow: var(--csstools-light-dark-toggle-29c9dff5-5, var(--color-yellow-90));\n --csstools-light-dark-toggle-29c9dff5-6: var(--csstools-color-scheme--light) var(--color-green-10);\n --color-background-green: var(--csstools-light-dark-toggle-29c9dff5-6, var(--color-green-90));\n --csstools-light-dark-toggle-29c9dff5-7: var(--csstools-color-scheme--light) var(--color-blue-10);\n --color-background-blue: var(--csstools-light-dark-toggle-29c9dff5-7, var(--color-blue-90));\n --csstools-light-dark-toggle-29c9dff5-8: var(--csstools-color-scheme--light) var(--color-purple-10);\n --color-background-purple: var(--csstools-light-dark-toggle-29c9dff5-8, var(--color-purple-90));\n }\n}\n","/* Text */\n\n/* Basic */\n\n:root {\n --csstools-light-dark-toggle-e9dfdd1f-0: var(--csstools-color-scheme--light) var(--color-white);\n --color-text-primary: var(--csstools-light-dark-toggle-e9dfdd1f-0, var(--color-black));\n --csstools-light-dark-toggle-e9dfdd1f-1: var(--csstools-color-scheme--light) var(--color-gray-60);\n --color-text-secondary: var(--csstools-light-dark-toggle-e9dfdd1f-1, var(--color-gray-40));\n}\n\n@supports (color: light-dark(red, red)) {\n:root {\n --color-text-primary: light-dark(var(--color-black), var(--color-white));\n --color-text-secondary: light-dark(\n var(--color-gray-40),\n var(--color-gray-60)\n );\n}\n}\n\n@supports not (color: light-dark(tan, tan)) {\n\n:root * {\n --csstools-light-dark-toggle-e9dfdd1f-0: var(--csstools-color-scheme--light) var(--color-white);\n --color-text-primary: var(--csstools-light-dark-toggle-e9dfdd1f-0, var(--color-black));\n --csstools-light-dark-toggle-e9dfdd1f-1: var(--csstools-color-scheme--light) var(--color-gray-60);\n --color-text-secondary: var(--csstools-light-dark-toggle-e9dfdd1f-1, var(--color-gray-40));\n }\n}\n\n/* Tinted */\n\n:root {\n --csstools-light-dark-toggle-e9dfdd1f-2: var(--csstools-color-scheme--light) var(--color-red-80);\n --color-text-red: var(--csstools-light-dark-toggle-e9dfdd1f-2, var(--color-red-20));\n --csstools-light-dark-toggle-e9dfdd1f-3: var(--csstools-color-scheme--light) var(--color-orange-80);\n --color-text-orange: var(--csstools-light-dark-toggle-e9dfdd1f-3, var(--color-orange-20));\n --csstools-light-dark-toggle-e9dfdd1f-4: var(--csstools-color-scheme--light) var(--color-yellow-80);\n --color-text-yellow: var(--csstools-light-dark-toggle-e9dfdd1f-4, var(--color-yellow-20));\n --csstools-light-dark-toggle-e9dfdd1f-5: var(--csstools-color-scheme--light) var(--color-green-80);\n --color-text-green: var(--csstools-light-dark-toggle-e9dfdd1f-5, var(--color-green-20));\n --csstools-light-dark-toggle-e9dfdd1f-6: var(--csstools-color-scheme--light) var(--color-blue-80);\n --color-text-blue: var(--csstools-light-dark-toggle-e9dfdd1f-6, var(--color-blue-20));\n --csstools-light-dark-toggle-e9dfdd1f-7: var(--csstools-color-scheme--light) var(--color-purple-80);\n --color-text-purple: var(--csstools-light-dark-toggle-e9dfdd1f-7, var(--color-purple-20));\n}\n\n@supports (color: light-dark(red, red)) {\n:root {\n --color-text-red: light-dark(var(--color-red-20), var(--color-red-80));\n --color-text-orange: light-dark(\n var(--color-orange-20),\n var(--color-orange-80)\n );\n --color-text-yellow: light-dark(\n var(--color-yellow-20),\n var(--color-yellow-80)\n );\n --color-text-green: light-dark(var(--color-green-20), var(--color-green-80));\n --color-text-blue: light-dark(var(--color-blue-20), var(--color-blue-80));\n --color-text-purple: light-dark(\n var(--color-purple-20),\n var(--color-purple-80)\n );\n}\n}\n\n@supports not (color: light-dark(tan, tan)) {\n\n:root * {\n --csstools-light-dark-toggle-e9dfdd1f-2: var(--csstools-color-scheme--light) var(--color-red-80);\n --color-text-red: var(--csstools-light-dark-toggle-e9dfdd1f-2, var(--color-red-20));\n --csstools-light-dark-toggle-e9dfdd1f-3: var(--csstools-color-scheme--light) var(--color-orange-80);\n --color-text-orange: var(--csstools-light-dark-toggle-e9dfdd1f-3, var(--color-orange-20));\n --csstools-light-dark-toggle-e9dfdd1f-4: var(--csstools-color-scheme--light) var(--color-yellow-80);\n --color-text-yellow: var(--csstools-light-dark-toggle-e9dfdd1f-4, var(--color-yellow-20));\n --csstools-light-dark-toggle-e9dfdd1f-5: var(--csstools-color-scheme--light) var(--color-green-80);\n --color-text-green: var(--csstools-light-dark-toggle-e9dfdd1f-5, var(--color-green-20));\n --csstools-light-dark-toggle-e9dfdd1f-6: var(--csstools-color-scheme--light) var(--color-blue-80);\n --color-text-blue: var(--csstools-light-dark-toggle-e9dfdd1f-6, var(--color-blue-20));\n --csstools-light-dark-toggle-e9dfdd1f-7: var(--csstools-color-scheme--light) var(--color-purple-80);\n --color-text-purple: var(--csstools-light-dark-toggle-e9dfdd1f-7, var(--color-purple-20));\n }\n}\n","/* Link */\n\n:root {\n --csstools-light-dark-toggle-e40c6b49-0: var(--csstools-color-scheme--light) var(--color-blue-80);\n --color-link-normal: var(--csstools-light-dark-toggle-e40c6b49-0, var(--color-blue-20));\n --csstools-light-dark-toggle-e40c6b49-1: var(--csstools-color-scheme--light) var(--color-purple-80);\n --color-link-visited: var(--csstools-light-dark-toggle-e40c6b49-1, var(--color-purple-20));\n}\n\n@supports (color: light-dark(red, red)) {\n:root {\n --color-link-normal: light-dark(var(--color-blue-20), var(--color-blue-80));\n --color-link-visited: light-dark(\n var(--color-purple-20),\n var(--color-purple-80)\n );\n}\n}\n\n@supports not (color: light-dark(tan, tan)) {\n\n:root * {\n --csstools-light-dark-toggle-e40c6b49-0: var(--csstools-color-scheme--light) var(--color-blue-80);\n --color-link-normal: var(--csstools-light-dark-toggle-e40c6b49-0, var(--color-blue-20));\n --csstools-light-dark-toggle-e40c6b49-1: var(--csstools-color-scheme--light) var(--color-purple-80);\n --color-link-visited: var(--csstools-light-dark-toggle-e40c6b49-1, var(--color-purple-20));\n }\n}\n","/* Scrollbar */\n\n:root {\n --color-scrollbar-track: transparent;\n --csstools-light-dark-toggle-a81cd71e-0: var(--csstools-color-scheme--light) var(--color-white-alpha-25);\n --color-scrollbar-thumb: var(--csstools-light-dark-toggle-a81cd71e-0, var(--color-black-alpha-25));\n}\n\n@supports (color: light-dark(red, red)) {\n:root {\n --color-scrollbar-thumb: light-dark(\n var(--color-black-alpha-25),\n var(--color-white-alpha-25)\n );\n}\n}\n\n@supports not (color: light-dark(tan, tan)) {\n\n:root * {\n --csstools-light-dark-toggle-a81cd71e-0: var(--csstools-color-scheme--light) var(--color-white-alpha-25);\n --color-scrollbar-thumb: var(--csstools-light-dark-toggle-a81cd71e-0, var(--color-black-alpha-25));\n }\n}\n",":root {\n --color-area-background: var(--color-background-blue);\n --color-area-highlight-border: var(--color-blue-50);\n --color-area-link: var(--color-link-normal);\n}\n\n:root[data-current-area=\"learn\"] {\n --color-area-background: var(--color-background-orange);\n --color-area-highlight-border: var(--color-orange-50);\n --csstools-light-dark-toggle-9cb2d9c1-0: var(--csstools-color-scheme--light) var(--color-orange-80);\n --color-area-link: var(--csstools-light-dark-toggle-9cb2d9c1-0, var(--color-orange-20));\n}\n\n@supports (color: light-dark(red, red)) {\n:root[data-current-area=\"learn\"] {\n --color-area-link: light-dark(var(--color-orange-20), var(--color-orange-80));\n}\n}\n\n@supports not (color: light-dark(tan, tan)) {\n\n[data-current-area=\"learn\"]:root * {\n --csstools-light-dark-toggle-9cb2d9c1-0: var(--csstools-color-scheme--light) var(--color-orange-80);\n --color-area-link: var(--csstools-light-dark-toggle-9cb2d9c1-0, var(--color-orange-20));\n }\n}\n","/* Color */\n\n@import url(\"border.css\");\n@import url(\"background.css\");\n@import url(\"text.css\");\n@import url(\"link.css\");\n@import url(\"scrollbar.css\");\n@import url(\"area.css\");\n\n/* Basic */\n\n:root {\n --color-white: hsl(0deg 0% 100%);\n --color-white-alpha-25: hsl(0deg 0% 100% / 25%);\n --color-white-alpha-75: hsl(0deg 0% 100% / 75%);\n\n --color-black: hsl(0deg 0% 0%);\n --color-black-alpha-25: hsl(0deg 0% 0% / 25%);\n --color-black-alpha-75: hsl(0deg 0% 0% / 75%);\n}\n\n/* Gray */\n\n:root {\n --color-gray-90: hsl(212deg 7% 97%);\n --color-gray-80: hsl(212deg 7% 93.5%);\n --color-gray-60: hsl(212deg 7% 78%);\n --color-gray-40: hsl(212deg 7% 34%);\n --color-gray-20: hsl(212deg 7% 19%);\n --color-gray-10: hsl(212deg 7% 14%);\n --color-gray-05: hsl(212deg 7% 10%);\n}\n\n/* Tinted */\n\n:root {\n --color-red-90: hsl(350deg 100% 95%);\n --color-red-80: hsl(350deg 96% 74%);\n --color-red-50: hsl(350deg 84% 45%);\n --color-red-20: hsl(350deg 84% 39%);\n --color-red-10: hsl(350deg 74% 17%);\n\n --color-orange-90: hsl(25deg 92% 96%);\n --color-orange-80: hsl(25deg 99% 78%);\n --color-orange-50: hsl(25deg 76% 53%);\n --color-orange-20: hsl(25deg 90% 40%);\n --color-orange-10: hsl(25deg 65% 15%);\n\n --color-yellow-90: hsl(46deg 97% 88%);\n --color-yellow-80: hsl(46deg 90% 80%);\n --color-yellow-50: hsl(46deg 92% 47%);\n --color-yellow-20: hsl(46deg 85% 32%);\n --color-yellow-10: hsl(46deg 90% 18%);\n\n --color-green-90: hsl(145deg 40% 94%);\n --color-green-80: hsl(145deg 75% 68%);\n --color-green-50: hsl(145deg 90% 30%);\n --color-green-20: hsl(145deg 88% 19%);\n --color-green-10: hsl(145deg 60% 12%);\n\n --color-blue-90: hsl(212deg 91% 96%);\n --color-blue-80: hsl(212deg 98% 82%);\n --color-blue-50: hsl(212deg 90% 39%);\n --color-blue-20: hsl(212deg 95% 32%);\n --color-blue-10: hsl(212deg 82% 15%);\n\n --color-purple-90: hsl(267deg 99% 97%);\n --color-purple-80: hsl(267deg 99% 86%);\n --color-purple-50: hsl(267deg 76% 56%);\n --color-purple-20: hsl(267deg 70% 40%);\n --color-purple-10: hsl(267deg 65% 16%);\n}\n",".external::after {\n display: inline-block;\n\n width: 1em;\n height: 1em;\n\n margin-left: 0.25em;\n\n vertical-align: text-top;\n\n /*\n Unicode zero width space as `<content replacement>` to expose the alt text in the a11y tree.\n See: https://bugzilla.mozilla.org/show_bug.cgi?id=1976574\n */\n content: \"\\200b\" \" (external)\";\n content: \"\\200b\" / \" (external)\";\n\n background-color: currentcolor;\n\n -webkit-mask-image: url(\"../icon/external-link.svg\");\n\n mask-image: url(\"../icon/external-link.svg\");\n -webkit-mask-size: cover;\n mask-size: cover;\n}\n","mdn-dropdown {\n display: contents;\n}mdn-dropdown:not([loaded],:focus-within) [slot=\"dropdown\"] {\n display: none;\n }\n","/* Inter */\n\n@font-feature-values \"Inter\" {\n @styleset {\n /* stylelint-disable-next-line at-rule-descriptor-no-unknown */\n disambiguation: 2;\n }\n}\n\n/* Latin */\n\n@font-face {\n font-family: \"Inter\";\n font-style: normal;\n font-weight: 100 900;\n font-feature-settings: \"calt\" 0;\n\n src: url(\"fonts/inter-latin.woff2\") format(\"woff2\");\n font-display: swap;\n unicode-range:\n U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC,\n U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212,\n U+2215, U+FEFF, U+FFFD;\n}\n\n@font-face {\n font-family: \"Inter\";\n font-style: italic;\n font-weight: 100 900;\n font-feature-settings: \"calt\" 0;\n\n src: url(\"fonts/inter-italic-latin.woff2\") format(\"woff2\");\n font-display: swap;\n unicode-range:\n U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC,\n U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212,\n U+2215, U+FEFF, U+FFFD;\n}\n\n/* Latin extended */\n\n@font-face {\n font-family: \"Inter\";\n font-style: normal;\n font-weight: 100 900;\n font-feature-settings: \"calt\" 0;\n\n src: url(\"fonts/inter-latin-extended.woff2\") format(\"woff2\");\n font-display: swap;\n unicode-range:\n U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304,\n U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB,\n U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n\n@font-face {\n font-family: \"Inter\";\n font-style: italic;\n font-weight: 100 900;\n font-feature-settings: \"calt\" 0;\n\n src: url(\"fonts/inter-italic-latin-extended.woff2\") format(\"woff2\");\n font-display: swap;\n unicode-range:\n U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304,\n U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB,\n U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n\n/* Cyrillic */\n\n@font-face {\n font-family: \"Inter\";\n font-style: normal;\n font-weight: 100 900;\n font-feature-settings: \"calt\" 0;\n\n src: url(\"fonts/inter-cyrillic.woff2\") format(\"woff2\");\n font-display: swap;\n unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;\n}\n\n@font-face {\n font-family: \"Inter\";\n font-style: italic;\n font-weight: 100 900;\n font-feature-settings: \"calt\" 0;\n\n src: url(\"fonts/inter-italic-cyrillic.woff2\") format(\"woff2\");\n font-display: swap;\n unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;\n}\n","/* JetBrain Mono */\n\n/* Latin */\n\n@font-face {\n font-family: \"JetBrains Mono\";\n font-style: normal;\n font-weight: 100 800;\n\n src: url(\"fonts/jetbrains-mono-latin.woff2\") format(\"woff2\");\n font-display: swap;\n unicode-range:\n U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC,\n U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212,\n U+2215, U+FEFF, U+FFFD;\n size-adjust: 95%;\n}\n\n@font-face {\n font-family: \"JetBrains Mono\";\n font-style: italic;\n font-weight: 100 800;\n\n src: url(\"fonts/jetbrains-mono-italic-latin.woff2\") format(\"woff2\");\n font-display: swap;\n unicode-range:\n U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC,\n U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212,\n U+2215, U+FEFF, U+FFFD;\n size-adjust: 95%;\n}\n\n/* Latin extended */\n\n@font-face {\n font-family: \"JetBrains Mono\";\n font-style: normal;\n font-weight: 100 800;\n\n src: url(\"fonts/jetbrains-mono-latin-extended.woff2\") format(\"woff2\");\n font-display: swap;\n unicode-range:\n U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304,\n U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB,\n U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;\n size-adjust: 95%;\n}\n\n@font-face {\n font-family: \"JetBrains Mono\";\n font-style: italic;\n font-weight: 100 800;\n\n src: url(\"fonts/jetbrains-mono-italic-latin-extended.woff2\") format(\"woff2\");\n font-display: swap;\n unicode-range:\n U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304,\n U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB,\n U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;\n size-adjust: 95%;\n}\n\n/* Cyrillic */\n\n@font-face {\n font-family: \"JetBrains Mono\";\n font-style: normal;\n font-weight: 100 800;\n\n src: url(\"fonts/jetbrains-mono-cyrillic.woff2\") format(\"woff2\");\n font-display: swap;\n unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;\n size-adjust: 95%;\n}\n\n@font-face {\n font-family: \"JetBrains Mono\";\n font-style: italic;\n font-weight: 100 800;\n\n src: url(\"fonts/jetbrains-mono-italic-cyrillic.woff2\") format(\"woff2\");\n font-display: swap;\n unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;\n size-adjust: 95%;\n}\n","@import url(\"inter.css\");\n@import url(\"jetbrains-mono.css\");\n\n/* Font size */\n\n:root {\n --font-family-text: \"Inter\", sans-serif;\n --font-family-code: \"JetBrains Mono\", monospace;\n\n --font-line-content: 1.75;\n --font-line-normal: 1.5;\n --font-line-header: 1.25;\n --font-line-ui: 1;\n\n --font-size-largest: 2.5rem;\n --font-size-larger: 2rem;\n --font-size-large: 1.5rem;\n --font-size-medium: 1.25rem;\n --font-size-normal: 1rem;\n --font-size-small: 0.8rem;\n\n --font-weight-normal: 400;\n --font-weight-bold: 600;\n}\n","/* Global */\n\n*,\n::before,\n::after {\n box-sizing: border-box;\n}\n\ninput,\nbutton,\ntextarea,\nselect {\n font: inherit;\n}\n\nbutton {\n color: inherit;\n cursor: pointer;\n}\n\nimg {\n max-width: 100%;\n height: auto;\n}\n\na {\n color: var(--color-link-normal);\n}\n\n[hidden] {\n display: none !important;\n}\n","/* HTML */\n\nhtml {\n scroll-behavior: smooth;\n\n font-family: var(--font-family-text);\n font-size: var(--font-size-normal);\n font-feature-settings: \"calt\" 0;\n font-variant-alternates: styleset(disambiguation);\n\n line-height: var(--font-line-normal);\n\n color: var(--color-text-primary);\n\n overflow-wrap: break-word;\n\n --csstools-color-scheme--light: initial;\n\n color-scheme: light dark;\n\n background-color: var(--color-background-page);\n}\n\n@media (prefers-color-scheme: dark) {\n\nhtml {\n\n --csstools-color-scheme--light: ;\n}\n}\n\n@media (prefers-reduced-motion: reduce) {\n\nhtml {\n scroll-behavior: auto;\n}\n }\n","/*\n Icon legacy.\n\n To be removed when rari no longer renders these.\n\n Note: The selectors are intentionally explicit to discourage use.\n*/\n.icon.icon-deprecated,.icon.icon-experimental,.icon.icon-nonstandard {\n display: inline-block;\n\n flex-shrink: 0;\n\n width: 1em;\n height: 1em;\n\n vertical-align: middle;\n\n background-color: var(--color-text-secondary);\n\n -webkit-mask-size: cover;\n\n mask-size: cover;\n }\n/* See https://github.com/mdn/rari/blob/927fac7cb89c7f7e49dd3ff265c3d74ad89d6490/crates/rari-doc/src/templ/templs/badges.rs#L43-L47 */\n.icon.icon-deprecated {\n -webkit-mask-image: url(\"../icon/trash-2.svg\");\n mask-image: url(\"../icon/trash-2.svg\");\n }\n/* See https://github.com/mdn/rari/blob/927fac7cb89c7f7e49dd3ff265c3d74ad89d6490/crates/rari-doc/src/templ/templs/badges.rs#L36-L41 */\n.icon.icon-experimental {\n -webkit-mask-image: url(\"../icon/flask-conical.svg\");\n mask-image: url(\"../icon/flask-conical.svg\");\n }\n/* See https://github.com/mdn/rari/blob/927fac7cb89c7f7e49dd3ff265c3d74ad89d6490/crates/rari-doc/src/templ/templs/badges.rs#L43-L47 */\n.icon.icon-nonstandard {\n -webkit-mask-image: url(\"../icon/triangle-alert.svg\");\n mask-image: url(\"../icon/triangle-alert.svg\");\n }\n","/* --layout-side-padding-min * 2 + (--layout-sidebar-min + --layout-sidebar-gap) * 2 + --layout-content-min */\n\n/* --layout-side-padding-min * 2 + --layout-sidebar-min + --layout-sidebar-gap + --layout-content-min */\n\n:root {\n --layout-side-padding-min: 1rem;\n --layout-side-padding: max(\n var(--layout-side-padding-min),\n calc((100vw - 1440px + (2rem)) / 2)\n );\n --layout-full-width: calc(100vw - 2 * var(--layout-side-padding));\n\n --layout-sidebar-min: 15rem;\n --layout-sidebar-gap: 2rem;\n --layout-sidebar-padding: 1rem;\n --layout-content-min: 31rem;\n --layout-content-max: 48rem;\n\n /* prettier-ignore */\n --layout-2-sidebars:\n [full-start left-sidebar-start]\n minmax(var(--layout-sidebar-min), 1fr)\n [left-sidebar-end]\n var(--layout-sidebar-gap)\n [content-start]\n minmax(0, var(--layout-content-max))\n [content-end]\n var(--layout-sidebar-gap)\n [right-sidebar-start]\n minmax(var(--layout-sidebar-min), 1fr)\n [full-end right-sidebar-end];\n\n /* prettier-ignore */\n --layout-1-sidebar-left:\n [full-start sidebar-start left-sidebar-start]\n minmax(var(--layout-sidebar-min), 1fr)\n [sidebar-end left-sidebar-end]\n var(--layout-sidebar-gap)\n [content-start]\n minmax(0, var(--layout-content-max))\n [full-end content-end]\n minmax(0, 1fr);\n\n /* prettier-ignore */\n --layout-1-sidebar-right:\n minmax(0, 1fr)\n [full-start content-start]\n minmax(0, var(--layout-content-max))\n [content-end]\n var(--layout-sidebar-gap)\n [sidebar-start right-sidebar-start]\n minmax(var(--layout-sidebar-min), 1fr)\n [full-end sidebar-end right-sidebar-end];\n\n /* prettier-ignore */\n --layout-no-sidebar:\n [full-start]\n 1fr\n [content-start]\n minmax(0, var(--layout-content-max))\n [content-end]\n 1fr\n [full-end];\n\n /* prettier-ignore */\n --layout-no-sidebar-extended:\n [extended-full-start]\n var(--layout-side-padding)\n [full-start]\n 1fr\n [content-start]\n minmax(0, var(--layout-content-max))\n [content-end]\n 1fr\n [full-end]\n var(--layout-side-padding)\n [extended-full-end];\n}\n","mdn-live-sample-result {\n display: block;\n}\n","html a.only-in-en-us::after {\n display: inline-block;\n\n margin-left: 0.5ch;\n\n font-size: 0.7rem;\n\n vertical-align: super;\n\n content: \"(en-US)\";\n}\n\nhtml[lang=\"de\"] a.only-in-en-us::after {\n content: \"(engl.)\";\n}\n\nhtml[lang=\"es\"] a.only-in-en-us::after {\n content: \"(inglés)\";\n}\n\nhtml[lang=\"fr\"] a.only-in-en-us::after {\n content: \"(angl.)\";\n}\n\nhtml[lang=\"ja\"] a.only-in-en-us::after {\n content: \"(英語)\";\n}\n\nhtml[lang=\"ko\"] a.only-in-en-us::after {\n content: \"(영어)\";\n}\n\nhtml[lang=\"ru\"] a.only-in-en-us::after {\n content: \"(англ.)\";\n}\n\nhtml[lang=\"pt-BR\"] a.only-in-en-us::after {\n content: \"(inglês)\";\n}\n\nhtml[lang=\"zh-CN\"] a.only-in-en-us::after {\n margin-left: unset;\n vertical-align: baseline;\n content: \"(英语)\";\n}\n\nhtml[lang=\"zh-TW\"] a.only-in-en-us::after {\n margin-left: unset;\n vertical-align: baseline;\n content: \"(英語)\";\n}\n",".page-not-created {\n color: var(--color-text-red);\n text-decoration: underline !important;\n -webkit-text-decoration: underline wavy !important;\n text-decoration: underline wavy !important;\n}\n","@media print {\n * {\n -webkit-print-color-adjust: exact;\n print-color-adjust: exact;\n }\n\n :root {\n --csstools-color-scheme--light: initial;\n color-scheme: light;\n\n /* Force desktop layout for print by overriding layout variables */\n --layout-2-sidebars: minmax(0, 1fr) !important;\n --layout-1-sidebar-left: minmax(0, 1fr) !important;\n --layout-no-sidebar: minmax(0, 1fr) !important;\n }\n\n body {\n padding: 0;\n margin: 0;\n\n font-size: 9pt;\n\n line-height: 1.5;\n }\n\n .page-layout {\n display: block !important;\n\n grid-template-rows: none !important;\n\n height: auto !important;\n min-height: auto !important;\n }\n\n .page-layout__header {\n position: static !important;\n top: auto !important;\n z-index: auto !important;\n }\n\n /* Reset sticky header height variable */\n :root {\n --sticky-header-height: 0 !important;\n }\n\n .page-layout__banner,\n .layout__left-sidebar,\n .layout__right-sidebar,\n .footer__socials,\n .footer__links,\n .footer__mozilla,\n .article-footer,\n .navigation__button,\n .navigation__menu,\n .content-section.article-footer,\n mdn-toggle-sidebar,\n mdn-collection-save-button,\n mdn-color-theme,\n mdn-search-button,\n mdn-user-menu,\n mdn-placement-bottom {\n display: none !important;\n }\n\n .reference-layout {\n grid-template-areas:\n \"header\"\n \"body\" !important;\n grid-template-rows: auto !important;\n grid-template-columns: auto !important;\n }\n\n a {\n -webkit-text-decoration: none !important;\n text-decoration: none !important;\n }\n\n details.baseline-indicator > *:not(summary) {\n display: none !important;\n }\n\n details.baseline-indicator[open] > *:not(summary) {\n display: none !important;\n }\n\n details.baseline-indicator > summary::marker {\n display: none !important;\n }\n\n .example-container,\n .default-example,\n [class*=\"example\"],\n .interactive,\n .code-example {\n position: static !important;\n float: none !important;\n\n display: block !important;\n\n width: 100% !important;\n height: auto !important;\n\n margin-bottom: 1rem !important;\n\n overflow: visible !important;\n\n page-break-inside: avoid !important;\n\n break-inside: avoid !important;\n }\n\n .footer__mdn {\n row-gap: 0 !important;\n }\n\n section,\n interactive-example {\n position: static !important;\n clear: both !important;\n display: block !important;\n }\n\n interactive-example {\n page-break-inside: avoid !important;\n break-inside: avoid !important;\n }\n\n [style*=\"position: absolute\"],\n [style*=\"position: fixed\"] {\n position: static !important;\n }\n}\n","/* Radius */\n\n:root {\n --radius-normal: 0.25rem;\n --radius-full: 9999px;\n}\n","@font-face {\n font-family: \"BarlowCondensed-SemiBold\";\n font-weight: var(--font-weight-bold);\n\n src:\n local(\"BarlowCondensed-SemiBold\"),\n url(\"./assets/BarlowCondensed-SemiBold.woff2\") format(\"woff2\");\n font-display: block;\n}\n\nmdn-scrim-inline {\n display: block;\n\n width: 100%;\n max-width: 36rem;\n aspect-ratio: 1.5;\n\n margin: 0.5rem auto;\n}\n",".table-container {\n margin: 0;\n overflow-x: auto;\n}\n",":root {\n --top-banner-height: 3.375rem;\n --sticky-header-height: calc(\n var(--navigation-height) + var(--breadcrumbs-bar-height)\n );\n\n --z-index-sticky-header: 100;\n --z-index-sidebar-mobile: 90;\n}\n",".visually-hidden {\n position: absolute !important;\n\n width: 1px !important;\n height: 1px !important;\n\n padding: 0 !important;\n margin: -1px !important;\n\n overflow: hidden !important;\n\n white-space: nowrap !important;\n\n border: 0 !important;\n\n clip-path: inset(50%) !important;\n}\n"],"names":[],"mappings":"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"}
|