@mdn/fred 2.3.0 → 2.4.0
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/.env-dist +0 -4
- package/CHANGELOG.md +40 -0
- package/components/article-footer/server.js +3 -1
- package/components/code-example/types.d.ts +1 -1
- package/components/env/index.js +0 -3
- package/components/issues-table/element.js +1 -1
- package/components/left-sidebar/server.css +14 -2
- package/components/live-sample-result/element.js +2 -0
- package/components/menu/tabs.json +4 -0
- package/components/outer-layout/server.js +8 -6
- package/components/placement/mixin.js +2 -2
- package/components/play-console/element.js +5 -1
- package/components/play-console/types.d.ts +1 -1
- package/components/record-visit/element.js +1 -1
- package/components/reference-layout/server.css +10 -0
- package/components/reference-layout/server.js +3 -1
- package/entry.client.js +0 -1
- package/hooks/live-samples.js +5 -3
- package/l10n/locales/de.ftl +288 -22
- package/l10n/locales/fr.ftl +256 -91
- package/l10n/parser/transform.js +0 -1
- package/l10n/template.ftl +5 -0
- package/legacy/index.tsx +2 -0
- package/out/service-worker.js +1 -1
- package/out/service-worker.js.map +1 -1
- package/out/static/client/1550.317cf910e7937050.js +321 -0
- package/out/static/client/1550.317cf910e7937050.js.map +1 -0
- package/out/static/client/{3094.58da3996c52b5264.js → 3094.ad202726cd671cc6.js} +2 -2
- package/out/static/client/3094.ad202726cd671cc6.js.map +1 -0
- package/out/static/client/{4204.c77e84ea2f8c359a.js → 4204.082860f577e883b1.js} +2 -2
- package/out/static/client/{4204.c77e84ea2f8c359a.js.map → 4204.082860f577e883b1.js.map} +1 -1
- package/out/static/client/{5330.8d5173f308b639bc.js → 5330.0fa70a944297da04.js} +7 -7
- package/out/static/client/{5330.8d5173f308b639bc.js.map → 5330.0fa70a944297da04.js.map} +1 -1
- package/out/static/client/5649.00f25ce181894101.js +2 -0
- package/out/static/client/5649.00f25ce181894101.js.map +1 -0
- package/out/static/client/6333.530138f4b30df5a7.js +317 -0
- package/out/static/client/6333.530138f4b30df5a7.js.map +1 -0
- package/out/static/client/6760.d97440f1ca6690c6.js.map +1 -1
- package/out/static/client/{8903.ce3ee42276c345b9.js → 8903.f870aafb338b203a.js} +2 -2
- package/out/static/client/{8903.ce3ee42276c345b9.js.map → 8903.f870aafb338b203a.js.map} +1 -1
- package/out/static/client/{index.880284fd3bb87ecf.js → index.3d355ddb095f80e1.js} +4 -4
- package/out/static/client/index.3d355ddb095f80e1.js.map +1 -0
- package/out/static/client/{runtime.9d7da16d8104c706.js → runtime.5998abbd768bf4b4.js} +2 -2
- package/out/static/client/{runtime.9d7da16d8104c706.js.map → runtime.5998abbd768bf4b4.js.map} +1 -1
- package/out/static/client/stats.json +284 -284
- package/out/static/client/styles-a11y-menu.e450c80bdecd73b0.js +1 -0
- package/out/static/client/styles-advertising.8680d559dfd1e6da.js +1 -0
- package/out/static/client/styles-article-footer.4c924cfce86cefb1.js +1 -0
- package/out/static/client/styles-banner.b2fd6f3f4890f119.js +1 -0
- package/out/static/client/styles-baseline-indicator.7bda150efbd00e44.js +1 -0
- package/out/static/client/styles-blog-index.ed9148eebbd54874.js +1 -0
- package/out/static/client/styles-blog-post.e23d949d4b39893e.js +1 -0
- package/out/static/client/styles-breadcrumbs-bar.e72110560a2a2d11.js +1 -0
- package/out/static/client/styles-breadcrumbs.3e8f4af57730f539.js +1 -0
- package/out/static/client/styles-button.4529576beae298ca.js +1 -0
- package/out/static/client/styles-content-section.6e6c01c92b1ef20d.js +1 -0
- package/out/static/client/styles-contributor-spotlight.b7bc7bc60baf8578.js +1 -0
- package/out/static/client/styles-curriculum-about.a146120bd6d81d2b.js +1 -0
- package/out/static/client/styles-curriculum-default.f9cffbec77bd6a2a.js +1 -0
- package/out/static/client/styles-curriculum-landing.64b11fc6617af9bf.js +1 -0
- package/out/static/client/styles-curriculum-module.a96942f28d9841bd.js +1 -0
- package/out/static/client/styles-curriculum-overview.62ec696fa6196a83.js +1 -0
- package/out/static/client/styles-featured-articles.aaed3d1876c9083b.js +1 -0
- package/out/static/client/styles-footer.c3e8b1950387a3f8.js +1 -0
- package/out/static/client/styles-generic-about.13ddd8305fa7ad8e.js +1 -0
- package/out/static/client/styles-generic-community.f60b231a4a172157.js +1 -0
- package/out/static/client/styles-generic-content.5124855e59a283a5.js +1 -0
- package/out/static/client/styles-generic-layout.813a99dd507e1bab.js +1 -0
- package/out/static/client/styles-generic-sidebar.1d92203f2d9da43d.js +1 -0
- package/out/static/client/styles-generic-toc.61b41b9e9f5f85d0.js +1 -0
- package/out/static/client/{styles-global.d51198f5229746cf.js → styles-global.aa9d5defd4680e6c.js} +1 -1
- package/out/static/client/styles-heading-anchor.df83d71ad077415d.js +1 -0
- package/out/static/client/styles-homepage-body.0df30491a320f9c7.js +1 -0
- package/out/static/client/styles-homepage-contributor-spotlight.b879a173e860f6a9.js +1 -0
- package/out/static/client/styles-homepage-footer.99f5e147d6f2b9ed.js +1 -0
- package/out/static/client/styles-homepage-header.43271f37ca9a57df.js +1 -0
- package/out/static/client/styles-homepage-hero.ae60620a6fed0008.js +1 -0
- package/out/static/client/styles-homepage.3dfe53192c32e305.js +1 -0
- package/out/static/client/styles-latest-news.8a03d3fba6e1cd47.js +1 -0
- package/out/static/client/{styles-left-sidebar.dc1db5a87a982579.css → styles-left-sidebar.6f954e8939555f77.css} +2 -2
- package/out/static/client/{styles-left-sidebar.dc1db5a87a982579.css.map → styles-left-sidebar.6f954e8939555f77.css.map} +1 -1
- package/out/static/client/styles-left-sidebar.c36264a47e1805b1.js +1 -0
- package/out/static/client/styles-logo.8f20fe059f2d43b6.js +1 -0
- package/out/static/client/styles-mandala.926fd25378dd7542.js +1 -0
- package/out/static/client/styles-menu.1d5ef33019535538.js +1 -0
- package/out/static/client/styles-navigation.5caf382b2b53c3c1.js +1 -0
- package/out/static/client/styles-not-found.7fa9aeb622dc059e.js +1 -0
- package/out/static/client/styles-observatory-landing.34dc1b73c5e94907.js +1 -0
- package/out/static/client/styles-observatory-results.74448918bd9b8126.js +1 -0
- package/out/static/client/styles-page-layout.fd2f866f258a840d.js +1 -0
- package/out/static/client/styles-pagination.6a917bf99443fbe0.js +1 -0
- package/out/static/client/styles-playground.f6d77d4376f8103b.js +1 -0
- package/out/static/client/styles-recent-contributions.05e0168e43678c69.js +1 -0
- package/out/static/client/styles-reference-layout.01f91b57466bc3d8.css +2 -0
- package/out/static/client/styles-reference-layout.01f91b57466bc3d8.css.map +1 -0
- package/out/static/client/styles-reference-layout.c225b05af4a496ec.js +1 -0
- package/out/static/client/styles-reference-toc.cefa20df1f0b9e55.js +1 -0
- package/out/static/client/styles-sandbox.39a70a5ffa12a531.js +1 -0
- package/out/static/client/styles-site-search.bb29f36fdd646b10.js +1 -0
- package/out/static/client/styles-social-image.29ca61210c11848e.js +1 -0
- package/out/static/client/styles-translation-banner.f7da234674dc43ff.js +1 -0
- package/out/static/client/styles-writer-toolbar.4743aa6e3fa72415.js +1 -0
- package/out/static/client/{styles.7ccaeb561f3fb889.js → styles.37aa6c605abf6990.js} +2 -2
- package/out/static/client/{styles.7ccaeb561f3fb889.js.map → styles.37aa6c605abf6990.js.map} +1 -1
- package/out/static/legacy/asset-manifest.json +5 -5
- package/out/static/legacy/{index.f31b95b1d9fb620a.js → index.3fd784dd246fb28b.js} +3 -3
- package/out/static/legacy/{index.f31b95b1d9fb620a.js.map → index.3fd784dd246fb28b.js.map} +1 -1
- package/out/static/legacy/{index.fb9f65c469ca30a7.html → index.b72bb30bdf1cb6b9.html} +1 -1
- package/out/static/legacy/stats.json +13 -13
- package/out/static/legacy/{yari.5a79950ba25352de.js → yari.4560ee30606e8a90.js} +3 -3
- package/out/static/legacy/{yari.5a79950ba25352de.js.map → yari.4560ee30606e8a90.js.map} +1 -1
- package/out/static/ssr/1550.js +256 -91
- package/out/static/ssr/1550.js.map +1 -1
- package/out/static/ssr/6333.js +288 -22
- package/out/static/ssr/6333.js.map +1 -1
- package/out/static/ssr/index.js +14 -12
- package/out/static/ssr/index.js.map +1 -1
- package/out/static/ssr/stats.json +4 -4
- package/package.json +16 -16
- package/server.js +5 -1
- package/test/unit/l10n/fixtures/simple-different.js +1 -1
- package/test/unit/l10n/fixtures/simple.js +1 -1
- package/test/unit/l10n/fixtures/tags-with-duplicates.js +1 -1
- package/test/unit/l10n/fixtures/tags-with-substitutions.js +1 -1
- package/test/unit/l10n/fixtures/tags.js +1 -1
- package/types/lit.ts +1 -1
- package/hooks/ga-init.d.ts +0 -5
- package/hooks/ga-init.js +0 -28
- package/out/static/client/1550.1bc9bf6c1f4edb2b.js +0 -156
- package/out/static/client/1550.1bc9bf6c1f4edb2b.js.map +0 -1
- package/out/static/client/3094.58da3996c52b5264.js.map +0 -1
- package/out/static/client/5649.0e40dc56a97136d2.js +0 -2
- package/out/static/client/5649.0e40dc56a97136d2.js.map +0 -1
- package/out/static/client/6333.4df091fca06fdbe0.js +0 -51
- package/out/static/client/6333.4df091fca06fdbe0.js.map +0 -1
- package/out/static/client/index.880284fd3bb87ecf.js.map +0 -1
- package/out/static/client/styles-a11y-menu.bf0e970df3199f5d.js +0 -1
- package/out/static/client/styles-advertising.d17c1cc85ea68d89.js +0 -1
- package/out/static/client/styles-article-footer.da648fa126c9ef35.js +0 -1
- package/out/static/client/styles-banner.3a9c208a543e4e08.js +0 -1
- package/out/static/client/styles-baseline-indicator.de2ebbf5d4d6d2c6.js +0 -1
- package/out/static/client/styles-blog-index.db438e20391403c5.js +0 -1
- package/out/static/client/styles-blog-post.4f8200c9e59f9064.js +0 -1
- package/out/static/client/styles-breadcrumbs-bar.56117b372f98e1bb.js +0 -1
- package/out/static/client/styles-breadcrumbs.31fef62b20adf891.js +0 -1
- package/out/static/client/styles-button.fd5bf1d0d6b9e233.js +0 -1
- package/out/static/client/styles-content-section.a196f33b9d9e316d.js +0 -1
- package/out/static/client/styles-contributor-spotlight.9e6a6225135a95e4.js +0 -1
- package/out/static/client/styles-curriculum-about.1596c8f7f696ec0b.js +0 -1
- package/out/static/client/styles-curriculum-default.6688b5588b7bb474.js +0 -1
- package/out/static/client/styles-curriculum-landing.978bdf31fe767e6b.js +0 -1
- package/out/static/client/styles-curriculum-module.22ad33bd781fedea.js +0 -1
- package/out/static/client/styles-curriculum-overview.73290072eaf98c47.js +0 -1
- package/out/static/client/styles-featured-articles.2426db4e569be912.js +0 -1
- package/out/static/client/styles-footer.9b7a6e88180fe92d.js +0 -1
- package/out/static/client/styles-generic-about.fbdd35941b30ecb4.js +0 -1
- package/out/static/client/styles-generic-community.0460f98e8202cbc3.js +0 -1
- package/out/static/client/styles-generic-content.d7ba09d8d6784d92.js +0 -1
- package/out/static/client/styles-generic-layout.4e8f7141d77a3d0a.js +0 -1
- package/out/static/client/styles-generic-sidebar.9a19341f843e26dc.js +0 -1
- package/out/static/client/styles-generic-toc.313908c6a50cd4f4.js +0 -1
- package/out/static/client/styles-heading-anchor.6f4f5ad03a7f9308.js +0 -1
- package/out/static/client/styles-homepage-body.0a3bdcbec90af911.js +0 -1
- package/out/static/client/styles-homepage-contributor-spotlight.d2b96c96fc38fcf8.js +0 -1
- package/out/static/client/styles-homepage-footer.f1c1120fd9eb434a.js +0 -1
- package/out/static/client/styles-homepage-header.cbe6e6608152438d.js +0 -1
- package/out/static/client/styles-homepage-hero.5b6ca92aaffb33ad.js +0 -1
- package/out/static/client/styles-homepage.3ed301c8c4ebaa04.js +0 -1
- package/out/static/client/styles-latest-news.9fcf156fdb6f0099.js +0 -1
- package/out/static/client/styles-left-sidebar.8afa4a0c07dc390a.js +0 -1
- package/out/static/client/styles-logo.4f1e847c0fafc690.js +0 -1
- package/out/static/client/styles-mandala.b5bc9b1e26685615.js +0 -1
- package/out/static/client/styles-menu.cdaed3d488edc7e5.js +0 -1
- package/out/static/client/styles-navigation.c30010b963de146d.js +0 -1
- package/out/static/client/styles-not-found.1931cd41c663a211.js +0 -1
- package/out/static/client/styles-observatory-landing.cfcf2761ceece549.js +0 -1
- package/out/static/client/styles-observatory-results.851694fe2b9402e8.js +0 -1
- package/out/static/client/styles-page-layout.242bde5d7a8b2118.js +0 -1
- package/out/static/client/styles-pagination.91d95daa63d13fc6.js +0 -1
- package/out/static/client/styles-playground.68430c102865ae2c.js +0 -1
- package/out/static/client/styles-recent-contributions.5d2b8bc44c3385b9.js +0 -1
- package/out/static/client/styles-reference-layout.f17861486ef2423f.css +0 -2
- package/out/static/client/styles-reference-layout.f17861486ef2423f.css.map +0 -1
- package/out/static/client/styles-reference-layout.fcb22f6809bd2f5b.js +0 -1
- package/out/static/client/styles-reference-toc.f1e6afe3660e67a1.js +0 -1
- package/out/static/client/styles-sandbox.939050c7574b6369.js +0 -1
- package/out/static/client/styles-site-search.712ba523882ce36e.js +0 -1
- package/out/static/client/styles-social-image.1f1abcf5b04e3219.js +0 -1
- package/out/static/client/styles-translation-banner.cae413f93f1335b6.js +0 -1
- package/out/static/client/styles-writer-toolbar.796f905329fa62ff.js +0 -1
- package/utils/dnt-helper.js +0 -59
- /package/out/static/client/{5330.8d5173f308b639bc.js.LICENSE.txt → 5330.0fa70a944297da04.js.LICENSE.txt} +0 -0
- /package/out/static/client/{index.880284fd3bb87ecf.js.LICENSE.txt → index.3d355ddb095f80e1.js.LICENSE.txt} +0 -0
- /package/out/static/legacy/{index.f31b95b1d9fb620a.js.LICENSE.txt → index.3fd784dd246fb28b.js.LICENSE.txt} +0 -0
- /package/out/static/legacy/{yari.5a79950ba25352de.js.LICENSE.txt → yari.4560ee30606e8a90.js.LICENSE.txt} +0 -0
package/out/static/ssr/index.js
CHANGED
|
@@ -649,7 +649,7 @@ writer-reload-polling = Polling every { $seconds }s
|
|
|
649
649
|
>`}};customElements.define("mdn-copy-button",MDNCopyButton)},52500(t,r,s){var a=s(86161),n=s(21854);let MDNCurriculumTabs=class MDNCurriculumTabs extends(0,n.J)(a.WF){static ssr=!1;static properties={selectedtab:{}};createRenderRoot(){return this}firstUpdated(){let t=this.querySelectorAll('input[type="radio"]'),r=globalThis.location.hash.replace(/^#/,"");for(let s of t){if(s.id===r){let t=s instanceof HTMLInputElement?s:void 0;if(!t)continue;t.checked=!0,this.selectedtab=t.dataset.index?Number(t.dataset.index):1}s.addEventListener("click",t=>{let r=s.id;r&&history.pushState(null,"",`#${r}`)})}}constructor(){super(),this.selectedtab=1}};customElements.define("mdn-curriculum-tabs",MDNCurriculumTabs)},58623(t,r,s){var a=s(86161),n=s(81519),o=s(16720);let MDNDropdown=class MDNDropdown extends a.WF{static styles=o.A;static properties={open:{type:Boolean},loaded:{type:Boolean,reflect:!0}};constructor(){super(),this.open=!1,this.loaded=!1}get _buttonSlotElements(){return this._slotElements("button")}get _dropdownSlotElements(){return this._slotElements("dropdown")}_slotElements(t){let r=this.shadowRoot?.querySelector(`slot[name="${t}"]`);return r instanceof HTMLSlotElement?r.assignedElements():[]}_globalClick(t){t.composedPath().includes(this)||(this.open=!1)}_globalKeyDown(t){this.open&&"Escape"===t.key&&this._toggleDropDown()}_toggleDropDown(){this.open=!this.open}_setAriaAttributes(){let t=this._dropdownSlotElements.find(t=>t.id)?.id;for(let r of(t||(t=(0,n.O)("uid_"),this._dropdownSlotElements[0]?.setAttribute("id",t)),this._buttonSlotElements))r.setAttribute("aria-expanded",this.open.toString()),t&&r.setAttribute("aria-controls",t)}connectedCallback(){super.connectedCallback(),this._globalClick=this._globalClick.bind(this),document.addEventListener("click",this._globalClick),this._globalKeyDown=this._globalKeyDown.bind(this),document.addEventListener("keydown",this._globalKeyDown)}render(){return(0,a.qy)`
|
|
650
650
|
<slot name="button" @click=${this._toggleDropDown}></slot>
|
|
651
651
|
<slot name="dropdown" ?hidden=${!this.open&&this.loaded}></slot>
|
|
652
|
-
`}updated(){this._setAriaAttributes()}firstUpdated(){this.loaded=!0}disconnectedCallback(){super.disconnectedCallback(),document.removeEventListener("click",this._globalClick),document.removeEventListener("keydown",this._globalKeyDown)}};customElements.define("mdn-dropdown",MDNDropdown)},41457(t,r,s){s.d(r,{I:()=>l,Q:()=>O,QD:()=>p,UN:()=>u,iW:()=>m,kv:()=>h,mR:()=>c,sR:()=>o,tf:()=>n,vQ:()=>d});var a=s(26972);let n=(0,a.$l)("PLAYGROUND_BASE_HOST","mdnplay.dev"),o=(0,a.q6)("PLAYGROUND_LOCAL",!1,{runtime:!0}),l=(0,a.H9)("PORT",3e3,{runtime:!0});(0,a.q6)("OPEN_BROWSER_ON_START",!1,{runtime:!0});let c=(0,a.H9)("PLAYGROUND_PORT",3001,{runtime:!0}),d=(0,a.$l)("FXA_SIGNIN_URL","/users/fxa/login/authenticate/"),h=(0,a.$l)("FXA_SIGNOUT_URL","/users/fxa/login/logout/");(0,a.q6)("
|
|
652
|
+
`}updated(){this._setAriaAttributes()}firstUpdated(){this.loaded=!0}disconnectedCallback(){super.disconnectedCallback(),document.removeEventListener("click",this._globalClick),document.removeEventListener("keydown",this._globalKeyDown)}};customElements.define("mdn-dropdown",MDNDropdown)},41457(t,r,s){s.d(r,{I:()=>l,Q:()=>O,QD:()=>p,UN:()=>u,iW:()=>m,kv:()=>h,mR:()=>c,sR:()=>o,tf:()=>n,vQ:()=>d});var a=s(26972);let n=(0,a.$l)("PLAYGROUND_BASE_HOST","mdnplay.dev"),o=(0,a.q6)("PLAYGROUND_LOCAL",!1,{runtime:!0}),l=(0,a.H9)("PORT",3e3,{runtime:!0});(0,a.q6)("OPEN_BROWSER_ON_START",!1,{runtime:!0});let c=(0,a.H9)("PLAYGROUND_PORT",3001,{runtime:!0}),d=(0,a.$l)("FXA_SIGNIN_URL","/users/fxa/login/authenticate/"),h=(0,a.$l)("FXA_SIGNOUT_URL","/users/fxa/login/logout/");(0,a.q6)("GLEAN_ENABLED",!1),(0,a.$l)("GLEAN_CHANNEL","dev"),(0,a.q6)("GLEAN_DEBUG",!1);let u=(0,a.q6)("ROBOTS_GLOBAL_ALLOW",!0),p=(0,a.q6)("WRITER_MODE",!1,{runtime:!0}),m=(0,a.$l)("BCD_BASE_URL","https://bcd.developer.mozilla.org"),O=(0,a.$l)("OBSERVATORY_API_URL","https://observatory-api.mdn.mozilla.net")},89693(t,r,s){s.d(r,{E:()=>n,J:()=>o});var a=s(26972);let n=[],o=(0,a.q6)("RUNTIME_ENV",!0)},26972(t,r,s){s.d(r,{$l:()=>l,H9:()=>o,q6:()=>n});var a=s(89693);function n(t,r,s){try{return!!JSON.parse(c(t,s)||JSON.stringify(r))}catch{return r}}function o(t,r,s){let a=c(t,s),n=a?Number.parseInt(a,10):r;return Number.isNaN(n)?r:n}function l(t,r,s){return c(t,s)||r}function c(t,r={}){let{runtime:s}={runtime:!1,...r},n=`FRED_${t}`;return s&&a.J?(a.E.push(n),globalThis.process?.env[n]||c(t)):({FRED_RUNTIME_ENV:"true",FRED_PLAYGROUND_LOCAL:"false",FRED_LEGACY:"true"})[n]}},60739(t,r,s){s.r(r),s.d(r,{ExternalLinkSandbox:()=>ExternalLinkSandbox});var a=s(86161),n=s(301);let ExternalLinkSandbox=class ExternalLinkSandbox extends n.d{render(){return(0,a.qy)`<a class="external" href="https://example.com"
|
|
653
653
|
>example link</a
|
|
654
654
|
>`}}},27373(t,r,s){var a=s(86161),n=s(21854),o=s(97154),l=s(91700);let MDNHomepageSearch=class MDNHomepageSearch extends(0,n.J)(a.WF){static styles=l.A;_showModal(){let t=document.querySelector("#search");t instanceof o.H?t.showModal():console.error("MDNSearchModal not found!")}render(){return(0,a.qy)`<button
|
|
655
655
|
class="mdn-homepage-search"
|
|
@@ -795,7 +795,7 @@ ${a}`:a}}return this._choices=[...this.closest("section")?.querySelectorAll(".co
|
|
|
795
795
|
<a href=${t.html_url} target="_blank" rel="noreferrer">
|
|
796
796
|
${t.title}
|
|
797
797
|
</a>
|
|
798
|
-
${t.labels.map(t=>{let r="object"==typeof t&&null!==t?t.name:t;this.LABELS.includes(r)
|
|
798
|
+
${t.labels.map(t=>{let r="object"==typeof t&&null!==t?t.name:t;return this.LABELS.includes(r)?(0,a.qy)`<span class="label">${r}</span>`:null})}
|
|
799
799
|
</div>
|
|
800
800
|
</td>
|
|
801
801
|
<td>
|
|
@@ -895,7 +895,7 @@ ${a}`:a}}return this._choices=[...this.closest("section")?.querySelectorAll(".co
|
|
|
895
895
|
@mdn-play-runner-src=${this._runnerSrcUpdated}
|
|
896
896
|
.code=${this.code}
|
|
897
897
|
.allow=${this.allow}
|
|
898
|
-
.sandbox=${[...new Set(["allow-modals","allow-downloads",...this.sandbox?.split(" ")||[]])].join(" ")}
|
|
898
|
+
.sandbox=${[...new Set(["allow-modals","allow-downloads","allow-fullscreen","allow-orientation-lock",...this.sandbox?.split(" ")||[]])].join(" ")}
|
|
899
899
|
.srcPrefix=${this.srcPrefix}
|
|
900
900
|
permalink
|
|
901
901
|
style=${(0,n.W)({height:this.height?`${this.height}${/[0-9]$/.test(this.height)?"px":""}`:void 0})}
|
|
@@ -1742,7 +1742,7 @@ ${a}`:a}}return this._choices=[...this.closest("section")?.querySelectorAll(".co
|
|
|
1742
1742
|
</div>
|
|
1743
1743
|
<mdn-placement-no></mdn-placement-no>
|
|
1744
1744
|
</section>
|
|
1745
|
-
</div>`}};customElements.define("mdn-placement-top",MDNPlacementTop)},20126(t,r,s){let a;s.d(r,{M:()=>c});var n=s(77278),o=s(45742);let l={side:{typ:"side",renderer:/Doc|BlogPost|CurriculumDefault|GenericDoc|SpaSearch|SpaNotFound|SpaPlay|SpaObservatoryAnalyze/gi,pattern:/^\/[^/]+\/(play|docs\/|blog\/|observatory\/?|curriculum\/[^$]|search$)/i},top:{typ:"top-banner",renderer:/^(?!Homepage$).+/gi,pattern:/^\/[^/]+\/(?!$|_homepage$).*/i},hpTop:{typ:"top-banner",renderer:/Homepage/gi,pattern:/^\/[^/]+\/($|_homepage$)/i},hpMain:{typ:"hp-main",renderer:/Homepage/gi,pattern:/^\/[^/]+\/($|_homepage$)/i},hpFooter:{typ:"hp-footer",renderer:/Homepage/gi,pattern:/^\/[^/]+\/($|_homepage$)/i},bottom:{typ:"bottom-banner",renderer:/^(?!Homepage$).+/gi,pattern:/^\/[^/]+\/docs\//i}};function c(){return a||(a=(0,o.L)().then(t=>t.settings?.noAds?Promise.resolve({status:"noads"}):d())),a}async function d(){var t;let r=await fetch("/pong/get",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({keywords:[],pongs:(t=globalThis.document.documentElement.dataset.renderer||"Unknown",Object.entries(l).map(([r,{renderer:s}])=>s.test(t)?r:null).filter(t=>null!==t)||[])})});if((0,n.w)(`pong: pong->fetched ${r.status}`),!r.ok)throw Error(r.statusText);try{let t=await r.json(),s=Object.entries(l).filter(([r])=>r in t).map(([,{typ:t}])=>t);return s.length>0&&(0,n.w)(`pong: pong->served ${s.join(",")}`),t}catch{throw Error(r.statusText)}}},30776(t,r,s){s.d(r,{N:()=>h});var a=s(31011),n=s(86161),o=s(52706),l=s(77278);let c={threshold:.5};let ViewedController=class ViewedController{#e;constructor(t,r,s,a=c){this.#e=t,this.#e.addController(this),this.target=r,this.callback=s,this.intersectionObserverOptions=a,this._visible=!globalThis.document?.hidden,this._timer=null,this._hasViewed=!1,this._onVisibilityChange=this.onVisibilityChange.bind(this)}hostConnected(){document.addEventListener("visibilitychange",this._onVisibilityChange)}hostDisconnected(){this.disconnectObserver(),document.removeEventListener("visibilitychange",this._onVisibilityChange)}hostUpdated(){let t=this.target.value;t&&(this._observer=new IntersectionObserver(t=>{for(let r of t)this._checkAndSetTimer(r.isIntersecting)},this.intersectionObserverOptions),this._observer.observe(t))}disconnectObserver(){this._observer&&this._observer.disconnect()}onVisibilityChange(){this._visible=!document.hidden,this._checkAndSetTimer()}_checkAndSetTimer(t=!1){!this._hasViewed&&this._visible&&t?null===this._timer&&(this._timer=globalThis.setTimeout(()=>{this._hasViewed=!0,this.callback()},1e3)):null!==this._timer&&(clearTimeout(this._timer),this._timer=null)}};var d=s(20126);s(13755);let h=t=>class extends t{static ssr=!1;_placementRef=(0,o._)();_dataTask=new a.YZ(this,{task:async()=>await (0,d.M)()});constructor(...t){super(...t),this._viewedUrl,this._version,this.viewed=new ViewedController(this,this._placementRef,()=>{if(this._viewedUrl){navigator.sendBeacon?.(this.viewedLink(this._viewedUrl,this._version));let t=this._placementRef.value?.dataset.type??"unknown";(0,l.w)(`pong: pong->viewed ${t}`)}})}connectedCallback(){super.connectedCallback(),this._dataTask.run()}renderComplete(t){throw Error("Must be implemented by subclass")}renderFallback(){return n.s6}renderInitial(){return n.s6}render(){return this._dataTask.render({initial:()=>this.renderInitial(),pending:()=>this.renderInitial(),error:()=>this.renderFallback(),complete:t=>this.renderComplete(t)})}clickLink(t,r){return`/pong/click?code=${encodeURIComponent(t)}&version=${r}`}imgLink(t){return`/pimg/${encodeURIComponent(t||"")}`}viewedLink(t,r){return`/pong/viewed?code=${encodeURIComponent(t)}${r?`&version=${r}`:""}`}}},71787(t,r,s){var a=s(86161),n=s(47105);function o(t){let r="";for(let s=0,a=t.length;s<a;s++){if("string"==typeof t[s])r+='"'+t[s]+'"';else if(Array.isArray(t[s]))r+="Array [",r+=o(t[s]),r+="]";else if(Object.prototype.hasOwnProperty.call(t,s))r+=l(t[s]);else{let n=1;for(;s+1<a&&!Object.prototype.hasOwnProperty.call(t,s+1);)n++,s++;r+=1===n?"<1 empty slot>":`<${n} empty slots>`}s<t.length-1&&(r+=", ")}return r}function l(t){if(null==t||"boolean"==typeof t)return String(t);if("number"==typeof t)return Object.is(t,-0)?"-0":String(t);if("bigint"==typeof t)return String(t)+"n";if("string"==typeof t)return t.includes('"')?"'"+t+"'":'"'+t+'"';if(Array.isArray(t))return"Array ["+o(t)+"]";else return function(t){let r=t.constructor?t.constructor.name:t;if("String"===r)return`String { "${t.valueOf()}" }`;if(t===JSON)return"JSON {}";if(r.match&&/^(ArrayBuffer|SharedArrayBuffer|DataView)$/.test(r))return r+" {}";if(r.match&&/^(Int8Array|Int16Array|Int32Array|Uint8Array|Uint16Array|Uint32Array|Uint8ClampedArray|Float32Array|Float64Array|BigInt64Array|BigUint64Array)$/.test(r))return t.length>0?r+" ["+o(t)+"]":r+" []";if("Symbol"===r&&void 0!==t)return t.toString();if("Object"===r){if(t?._MDNPlaySerializedObject)return t._MDNPlaySerializedObject;let s="",a=!0;for(let r in t)Object.prototype.hasOwnProperty.call(t,r)&&(a?a=!1:s+=", ",s=s+r+": "+l(t[r]));return r+" { "+s+" }"}if(!t.constructor&&!t.prototype){let r="",s=!0;for(let a in t)s?s=!1:r+=", ",r=r+a+": "+l(t[a]);return"Object { "+r+" }"}return t}(t)}let VirtualConsole=class VirtualConsole{#e;constructor(t){this.#e=t}clear(){this.#e._messages=[]}debug(...t){return this.log(...t)}error(...t){return this.log(...t)}info(...t){return this.log(...t)}log(...t){t.length>1&&"string"==typeof t[0]&&(t[0]=t[0].replaceAll(/%(?:\.([0-9]+))?(.)/g,(r,s,a)=>{switch(a){case"o":case"O":return l(t.splice(1,1)[0]);case"d":case"i":return Math.trunc(t.splice(1,1)[0]).toFixed(0).padStart(s,"0");case"s":return t.splice(1,1)[0].toString();case"f":{let r=t.splice(1,1)[0];return("number"==typeof r?r:Number.parseFloat(r)).toFixed(s??6)}case"c":return t.splice(1,1),"";case"%":return"%";default:return r}})),this.#e._messages=[...this.#e._messages,t.map(t=>l(t)).join(" ")]}warn(...t){return this.log(...t)}};let MDNPlayConsole=class MDNPlayConsole extends a.WF{static properties={_messages:{state:!0}};static styles=n.A;constructor(){super(),this.vconsole=new VirtualConsole(this),this._messages=[]}onConsole({detail:t}){if(t.prop in this.vconsole){let r=t.prop;t.args?this.vconsole[r](...t.args):this.vconsole[r]()}else this.vconsole.warn("[Playground] Unsupported console message (see browser console)")}render(){return(0,a.qy)`
|
|
1745
|
+
</div>`}};customElements.define("mdn-placement-top",MDNPlacementTop)},20126(t,r,s){let a;s.d(r,{M:()=>c});var n=s(77278),o=s(45742);let l={side:{typ:"side",renderer:/Doc|BlogPost|CurriculumDefault|GenericDoc|SpaSearch|SpaNotFound|SpaPlay|SpaObservatoryAnalyze/gi,pattern:/^\/[^/]+\/(play|docs\/|blog\/|observatory\/?|curriculum\/[^$]|search$)/i},top:{typ:"top-banner",renderer:/^(?!Homepage$).+/gi,pattern:/^\/[^/]+\/(?!$|_homepage$).*/i},hpTop:{typ:"top-banner",renderer:/Homepage/gi,pattern:/^\/[^/]+\/($|_homepage$)/i},hpMain:{typ:"hp-main",renderer:/Homepage/gi,pattern:/^\/[^/]+\/($|_homepage$)/i},hpFooter:{typ:"hp-footer",renderer:/Homepage/gi,pattern:/^\/[^/]+\/($|_homepage$)/i},bottom:{typ:"bottom-banner",renderer:/^(?!Homepage$).+/gi,pattern:/^\/[^/]+\/docs\//i}};function c(){return a||(a=(0,o.L)().then(t=>t.settings?.noAds?Promise.resolve({status:"noads"}):d())),a}async function d(){var t;let r=await fetch("/pong/get",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({keywords:[],pongs:(t=globalThis.document.documentElement.dataset.renderer||"Unknown",Object.entries(l).map(([r,{renderer:s}])=>s.test(t)?r:null).filter(t=>null!==t)||[])})});if((0,n.w)(`pong: pong->fetched ${r.status}`),!r.ok)throw Error(r.statusText);try{let t=await r.json(),s=Object.entries(l).filter(([r])=>r in t).map(([,{typ:t}])=>t);return s.length>0&&(0,n.w)(`pong: pong->served ${s.join(",")}`),t}catch{throw Error(r.statusText)}}},30776(t,r,s){s.d(r,{N:()=>h});var a=s(31011),n=s(86161),o=s(52706),l=s(77278);let c={threshold:.5};let ViewedController=class ViewedController{#e;constructor(t,r,s,a=c){this.#e=t,this.#e.addController(this),this.target=r,this.callback=s,this.intersectionObserverOptions=a,this._visible=!globalThis.document?.hidden,this._timer=null,this._hasViewed=!1,this._onVisibilityChange=this.onVisibilityChange.bind(this)}hostConnected(){document.addEventListener("visibilitychange",this._onVisibilityChange)}hostDisconnected(){this.disconnectObserver(),document.removeEventListener("visibilitychange",this._onVisibilityChange)}hostUpdated(){let t=this.target.value;t&&(this._observer=new IntersectionObserver(t=>{for(let r of t)this._checkAndSetTimer(r.isIntersecting)},this.intersectionObserverOptions),this._observer.observe(t))}disconnectObserver(){this._observer&&this._observer.disconnect()}onVisibilityChange(){this._visible=!document.hidden,this._checkAndSetTimer()}_checkAndSetTimer(t=!1){!this._hasViewed&&this._visible&&t?null===this._timer&&(this._timer=globalThis.setTimeout(()=>{this._hasViewed=!0,this.callback()},1e3)):null!==this._timer&&(clearTimeout(this._timer),this._timer=null)}};var d=s(20126);s(13755);let h=t=>class extends t{static ssr=!1;_placementRef=(0,o._)();_dataTask=new a.YZ(this,{task:async()=>await (0,d.M)()});constructor(...t){super(...t),this._viewedUrl=void 0,this._version=void 0,this.viewed=new ViewedController(this,this._placementRef,()=>{if(this._viewedUrl){navigator.sendBeacon?.(this.viewedLink(this._viewedUrl,this._version));let t=this._placementRef.value?.dataset.type??"unknown";(0,l.w)(`pong: pong->viewed ${t}`)}})}connectedCallback(){super.connectedCallback(),this._dataTask.run()}renderComplete(t){throw Error("Must be implemented by subclass")}renderFallback(){return n.s6}renderInitial(){return n.s6}render(){return this._dataTask.render({initial:()=>this.renderInitial(),pending:()=>this.renderInitial(),error:()=>this.renderFallback(),complete:t=>this.renderComplete(t)})}clickLink(t,r){return`/pong/click?code=${encodeURIComponent(t)}&version=${r}`}imgLink(t){return`/pimg/${encodeURIComponent(t||"")}`}viewedLink(t,r){return`/pong/viewed?code=${encodeURIComponent(t)}${r?`&version=${r}`:""}`}}},71787(t,r,s){var a=s(86161),n=s(47105);function o(t){let r="";for(let s=0,a=t.length;s<a;s++){if("string"==typeof t[s])r+='"'+t[s]+'"';else if(Array.isArray(t[s]))r+="Array [",r+=o(t[s]),r+="]";else if(Object.prototype.hasOwnProperty.call(t,s))r+=l(t[s]);else{let n=1;for(;s+1<a&&!Object.prototype.hasOwnProperty.call(t,s+1);)n++,s++;r+=1===n?"<1 empty slot>":`<${n} empty slots>`}s<t.length-1&&(r+=", ")}return r}function l(t){if(null==t||"boolean"==typeof t)return String(t);if("number"==typeof t)return Object.is(t,-0)?"-0":String(t);if("bigint"==typeof t)return String(t)+"n";if("string"==typeof t)return t.includes('"')?"'"+t+"'":'"'+t+'"';if(Array.isArray(t))return"Array ["+o(t)+"]";else return function(t){let r=t.constructor?t.constructor.name:t;if("String"===r)return`String { "${t.valueOf()}" }`;if(t===JSON)return"JSON {}";if(r.match&&/^(ArrayBuffer|SharedArrayBuffer|DataView)$/.test(r))return r+" {}";if(r.match&&/^(Int8Array|Int16Array|Int32Array|Uint8Array|Uint16Array|Uint32Array|Uint8ClampedArray|Float32Array|Float64Array|BigInt64Array|BigUint64Array)$/.test(r))return t.length>0?r+" ["+o(t)+"]":r+" []";if("Symbol"===r&&void 0!==t)return t.toString();if("Object"===r){if(t?._MDNPlaySerializedObject)return t._MDNPlaySerializedObject;let s="",a=!0;for(let r in t)Object.prototype.hasOwnProperty.call(t,r)&&(a?a=!1:s+=", ",s=s+r+": "+l(t[r]));return r+" { "+s+" }"}if(!t.constructor&&!t.prototype){let r="",s=!0;for(let a in t)s?s=!1:r+=", ",r=r+a+": "+l(t[a]);return"Object { "+r+" }"}return t}(t)}let VirtualConsole=class VirtualConsole{#e;constructor(t){this.#e=t}clear(){this.#e._messages=[]}debug(...t){return this.log(...t)}error(...t){return this.log(...t)}info(...t){return this.log(...t)}log(...t){t.length>1&&"string"==typeof t[0]&&(t[0]=t[0].replaceAll(/%(?:\.([0-9]+))?(.)/g,(r,s,a)=>{switch(a){case"o":case"O":return l(t.splice(1,1)[0]);case"d":case"i":return Math.trunc(t.splice(1,1)[0]).toFixed(0).padStart(s,"0");case"s":return t.splice(1,1)[0].toString();case"f":{let r=t.splice(1,1)[0];return("number"==typeof r?r:Number.parseFloat(r)).toFixed(s??6)}case"c":return t.splice(1,1),"";case"%":return"%";default:return r}})),this.#e._messages=[...this.#e._messages,t.map(t=>l(t)).join(" ")]}warn(...t){return this.log(...t)}};let MDNPlayConsole=class MDNPlayConsole extends a.WF{static properties={_messages:{state:!0}};static styles=n.A;constructor(){super(),this.vconsole=new VirtualConsole(this),this._messages=[]}onConsole({detail:t}){if(t.prop in this.vconsole){let r=t.prop;t.args?this.vconsole[r](...t.args):this.vconsole[r]()}else this.vconsole.warn("[Playground] Unsupported console message (see browser console)")}render(){return(0,a.qy)`
|
|
1746
1746
|
<ul aria-live="polite">
|
|
1747
1747
|
${this._messages.map(t=>(0,a.qy)`<li><code>${t}</code></li>`)}
|
|
1748
1748
|
</ul>
|
|
@@ -1913,7 +1913,7 @@ ${r}
|
|
|
1913
1913
|
</h2>
|
|
1914
1914
|
<ul>
|
|
1915
1915
|
${this._pages.map(({path:t,title:r})=>(0,a.qy)`<li><a href=${t}>${r}</a></li>`)}
|
|
1916
|
-
</ul>`}};customElements.define("mdn-recently-visited",MDNRecentlyVisited)},93649(t,r,s){s.d(r,{B:()=>RecentlyVisitedPages,E:()=>RecentlyVisitedPage});let RecentlyVisitedPages=class RecentlyVisitedPages{static #c="recently-visited";#d;constructor(){this.#d=this.#h()}#h(){let t=localStorage.getItem(RecentlyVisitedPages.#c);if(t){let r;try{if(r=JSON.parse(t),Array.isArray(r))return r.map(t=>new RecentlyVisitedPage(t))}catch{console.error(`Parsing ${RecentlyVisitedPages.#c} failed`)}}return[]}#u(){localStorage.setItem(RecentlyVisitedPages.#c,JSON.stringify(this.#d))}map(t){return this.#d.map(t)}add(t){this.#d=[...new Map([t,...this.#d].map(t=>[t.path,t])).values()].slice(0,10),this.#u()}};let RecentlyVisitedPage=class RecentlyVisitedPage{title="";path="";constructor(t){Object.assign(this,t)}}},55237(t,r,s){var a=s(86161),n=s(93649);let MDNRecordVisit=class MDNRecordVisit extends a.WF{static ssr=!1;static properties={pageTitle:{type:String,attribute:"page-title"}};constructor(){super(),this.pageTitle}connectedCallback(){super.connectedCallback(),this.pageTitle&&new n.B().add(new n.E({title:this.pageTitle,path:location.pathname}))}};customElements.define("mdn-record-visit",MDNRecordVisit)},301(t,r,s){s.d(r,{d:()=>SandboxComponent});let SandboxComponent=class SandboxComponent{static render(){return new this().render()}render(){throw Error("Must be implemented by subclass")}}},43602(t,r,s){var a=s(86161),n=s(95089),o=s(99121),l=s(21854);let c=(0,a.JW)`<svg xmlns="http://www.w3.org/2000/svg" fill="none" stroke="#000" viewBox="0 0 112 112"><circle cx="55.764" cy="55.764" r="41.823"/><path d="M69.011 57.428a2 2 0 0 0 0-3.328L50.903 42.027c-1.33-.886-3.11.067-3.11 1.664v24.145c0 1.598 1.78 2.55 3.11 1.664z"/></svg>`;var d=s(52055);let MDNScrimInline=class MDNScrimInline extends(0,l.J)(a.WF){static styles=d.A;static ssr=!1;static properties={url:{type:String},img:{type:String},scrimTitle:{type:String,attribute:"scrimtitle"},_fullscreen:{state:!0},_scrimLoaded:{state:!0}};constructor(){super(),this.url=void 0,this._fullUrl=void 0,this._scrimId=void 0,this.img=void 0,this._imgStyle={},this.scrimTitle=void 0,this._fullscreen=!1,this._scrimLoaded=!1}willUpdate(t){if(t.has("url"))if(this.url){let t=new URL(this.url);t.searchParams.set("via","mdn"),t.searchParams.set("embed",""),this._fullUrl=t.toString(),this._scrimId=t.pathname.slice(1)}else this._fullUrl=void 0,this._scrimId=void 0;t.has("img")&&(this._imgStyle=this.img?{"--scrim-img":`url(${this.img})`}:{})}render(){return this.url&&this._fullUrl?(0,a.qy)`
|
|
1916
|
+
</ul>`}};customElements.define("mdn-recently-visited",MDNRecentlyVisited)},93649(t,r,s){s.d(r,{B:()=>RecentlyVisitedPages,E:()=>RecentlyVisitedPage});let RecentlyVisitedPages=class RecentlyVisitedPages{static #c="recently-visited";#d;constructor(){this.#d=this.#h()}#h(){let t=localStorage.getItem(RecentlyVisitedPages.#c);if(t){let r;try{if(r=JSON.parse(t),Array.isArray(r))return r.map(t=>new RecentlyVisitedPage(t))}catch{console.error(`Parsing ${RecentlyVisitedPages.#c} failed`)}}return[]}#u(){localStorage.setItem(RecentlyVisitedPages.#c,JSON.stringify(this.#d))}map(t){return this.#d.map(t)}add(t){this.#d=[...new Map([t,...this.#d].map(t=>[t.path,t])).values()].slice(0,10),this.#u()}};let RecentlyVisitedPage=class RecentlyVisitedPage{title="";path="";constructor(t){Object.assign(this,t)}}},55237(t,r,s){var a=s(86161),n=s(93649);let MDNRecordVisit=class MDNRecordVisit extends a.WF{static ssr=!1;static properties={pageTitle:{type:String,attribute:"page-title"}};constructor(){super(),this.pageTitle=void 0}connectedCallback(){super.connectedCallback(),this.pageTitle&&new n.B().add(new n.E({title:this.pageTitle,path:location.pathname}))}};customElements.define("mdn-record-visit",MDNRecordVisit)},301(t,r,s){s.d(r,{d:()=>SandboxComponent});let SandboxComponent=class SandboxComponent{static render(){return new this().render()}render(){throw Error("Must be implemented by subclass")}}},43602(t,r,s){var a=s(86161),n=s(95089),o=s(99121),l=s(21854);let c=(0,a.JW)`<svg xmlns="http://www.w3.org/2000/svg" fill="none" stroke="#000" viewBox="0 0 112 112"><circle cx="55.764" cy="55.764" r="41.823"/><path d="M69.011 57.428a2 2 0 0 0 0-3.328L50.903 42.027c-1.33-.886-3.11.067-3.11 1.664v24.145c0 1.598 1.78 2.55 3.11 1.664z"/></svg>`;var d=s(52055);let MDNScrimInline=class MDNScrimInline extends(0,l.J)(a.WF){static styles=d.A;static ssr=!1;static properties={url:{type:String},img:{type:String},scrimTitle:{type:String,attribute:"scrimtitle"},_fullscreen:{state:!0},_scrimLoaded:{state:!0}};constructor(){super(),this.url=void 0,this._fullUrl=void 0,this._scrimId=void 0,this.img=void 0,this._imgStyle={},this.scrimTitle=void 0,this._fullscreen=!1,this._scrimLoaded=!1}willUpdate(t){if(t.has("url"))if(this.url){let t=new URL(this.url);t.searchParams.set("via","mdn"),t.searchParams.set("embed",""),this._fullUrl=t.toString(),this._scrimId=t.pathname.slice(1)}else this._fullUrl=void 0,this._scrimId=void 0;t.has("img")&&(this._imgStyle=this.img?{"--scrim-img":`url(${this.img})`}:{})}render(){return this.url&&this._fullUrl?(0,a.qy)`
|
|
1917
1917
|
<dialog @close=${this.#p} style=${(0,o.W)(this._imgStyle)}>
|
|
1918
1918
|
<div class="inner">
|
|
1919
1919
|
<div class="header">
|
|
@@ -2419,7 +2419,7 @@ ${r}
|
|
|
2419
2419
|
</p>
|
|
2420
2420
|
</div>
|
|
2421
2421
|
</footer>
|
|
2422
|
-
`}};var u=s(41457),p=s(69470),m=s(95089),O=JSON.parse('{"es":["Web/API/Web_Animations_API/Using_the_Web_Animations_API","Web/CSS/Guides","Web/CSS/Guides/Backgrounds_and_borders/Box-shadow_generator","Web/CSS/Guides/Colors/Applying_color","Web/CSS/Guides/Colors/Color_mixer","Web/CSS/Guides/Shapes/Shape_generator","Web/CSS/How_to/Layout_cookbook/Card","Web/CSS/How_to/Layout_cookbook/Center_an_element","Web/CSS/How_to/Layout_cookbook/Column_layouts","Web/CSS/Reference/At-rules","Web/CSS/Reference/Properties","Web/CSS/Reference/Selectors","Web/CSS/Reference/Values","Web/HTML/Guides","Web/HTML/Guides/Cheatsheet","Web/HTML/Guides/Date_and_time_formats","Web/JavaScript/Guide/Using_classes","Web/Privacy","Web/URI","Web/WebDriver"],"fr":[],"ja":[],"ko":["Learn_web_development/Core","Web/API/Web_Animations_API/Using_the_Web_Animations_API","Web/API/Web_Speech_API/Using_the_Web_Speech_API","Web/API/Web_Workers_API/Using_web_workers","Web/CSS/Guides","Web/CSS/Guides/Colors/Applying_color","Web/CSS/Guides/Colors/Color_mixer","Web/CSS/Guides/Shapes/Shape_generator","Web/CSS/How_to/Layout_cookbook","Web/CSS/How_to/Layout_cookbook/Card","Web/CSS/How_to/Layout_cookbook/Column_layouts","Web/CSS/Reference/At-rules","Web/CSS/Reference/Properties","Web/CSS/Reference/Selectors","Web/CSS/Reference/Values","Web/HTML/Guides","Web/HTML/Guides/Cheatsheet","Web/JavaScript/Guide/Using_classes","Web/WebDriver"],"pt-BR":["Learn_web_development/Core","Learn_web_development/Getting_started","Web/API/File_System_API","Web/API/HTML_DOM_API","Web/API/Web_Speech_API/Using_the_Web_Speech_API","Web/API/Web_Workers_API/Using_web_workers","Web/CSS/Guides","Web/CSS/Guides/Backgrounds_and_borders/Box-shadow_generator","Web/CSS/Guides/Colors/Color_mixer","Web/CSS/Guides/Shapes/Shape_generator","Web/CSS/How_to/Layout_cookbook/Card","Web/CSS/How_to/Layout_cookbook/Center_an_element","Web/CSS/How_to/Layout_cookbook/Column_layouts","Web/CSS/Reference/At-rules","Web/CSS/Reference/Properties","Web/CSS/Reference/Selectors","Web/CSS/Reference/Values","Web/HTML/Guides","Web/HTML/Guides/Cheatsheet","Web/HTML/Guides/Date_and_time_formats","Web/JavaScript/Guide/Using_classes","Web/Media","Web/Privacy","Web/URI","Web/WebDriver","Web/XML"],"ru":["Learn_web_development/Core","Web/API/HTML_DOM_API","Web/CSS/Guides","Web/CSS/Guides/Colors/Color_mixer","Web/CSS/Guides/Shapes/Shape_generator","Web/CSS/How_to/Layout_cookbook/Card","Web/CSS/How_to/Layout_cookbook/Center_an_element","Web/CSS/How_to/Layout_cookbook/Column_layouts","Web/CSS/Reference/At-rules","Web/CSS/Reference/Properties","Web/CSS/Reference/Selectors","Web/CSS/Reference/Values","Web/HTML/Guides","Web/HTML/Guides/Cheatsheet","Web/HTML/Guides/Date_and_time_formats","Web/JavaScript/Guide/Using_classes","Web/Media","Web/Privacy","Web/WebDriver"],"zh-CN":["Web/CSS/Reference/At-rules"],"zh-TW":["Learn_web_development/Core","Learn_web_development/Getting_started","Web/API/File_System_API","Web/API/HTML_DOM_API","Web/API/History_API/Working_with_the_History_API","Web/API/Push_API","Web/API/Service_Worker_API","Web/API/Web_Animations_API/Using_the_Web_Animations_API","Web/API/Web_Speech_API/Using_the_Web_Speech_API","Web/CSS/Guides","Web/CSS/Guides/Backgrounds_and_borders/Border-image_generator","Web/CSS/Guides/Backgrounds_and_borders/Border-radius_generator","Web/CSS/Guides/Backgrounds_and_borders/Box-shadow_generator","Web/CSS/Guides/Box_model/Introduction","Web/CSS/Guides/Colors/Applying_color","Web/CSS/Guides/Colors/Color_mixer","Web/CSS/Guides/Shapes/Shape_generator","Web/CSS/How_to/Layout_cookbook","Web/CSS/How_to/Layout_cookbook/Card","Web/CSS/How_to/Layout_cookbook/Center_an_element","Web/CSS/How_to/Layout_cookbook/Column_layouts","Web/CSS/Reference","Web/CSS/Reference/At-rules","Web/CSS/Reference/Properties","Web/CSS/Reference/Selectors","Web/HTML/Guides","Web/HTML/Guides/Cheatsheet","Web/HTML/Guides/Date_and_time_formats","Web/HTML/Guides/Responsive_images","Web/HTML/Reference/Elements","Web/HTML/Reference/Global_attributes","Web/JavaScript/Guide/Using_classes","Web/JavaScript/Guide/Working_with_objects","Web/JavaScript/Reference/Functions","Web/JavaScript/Reference/Statements","Web/Privacy","Web/URI","Web/WebDriver","Web/XML"]}');let b=Object.freeze(JSON.parse('[{"id":"html","buttonText":"HTML","panelTitle":{"slug":"Web/HTML","text":"HTML: Markup language"},"panelGroups":[{"title":"HTML reference","items":[{"slug":"Web/HTML/Reference/Elements","text":"Elements"},{"slug":"Web/HTML/Reference/Global_attributes","text":"Global attributes"},{"slug":"Web/HTML/Reference/Attributes","text":"Attributes"},{"slug":"Web/HTML/Reference","text":"See all…","label":"See all HTML references"}]},{"title":"HTML guides","items":[{"slug":"Web/HTML/Guides/Responsive_images","text":"Responsive images"},{"slug":"Web/HTML/Guides/Cheatsheet","text":"HTML cheatsheet"},{"slug":"Web/HTML/Guides/Date_and_time_formats","text":"Date & time formats"},{"slug":"Web/HTML/Guides","text":"See all…","label":"See all HTML guides"}]},{"title":"Markup languages","items":[{"slug":"Web/SVG","text":"SVG"},{"slug":"Web/MathML","text":"MathML"},{"slug":"Web/XML","text":"XML"}]}]},{"id":"css","buttonText":"CSS","panelTitle":{"slug":"Web/CSS","text":"CSS: Styling language"},"panelGroups":[{"title":"CSS reference","items":[{"slug":"Web/CSS/Reference/Properties","text":"Properties"},{"slug":"Web/CSS/Reference/Selectors","text":"Selectors"},{"slug":"Web/CSS/Reference/At-rules","text":"At-rules"},{"slug":"Web/CSS/Reference/Values","text":"Values"},{"slug":"Web/CSS/Reference","text":"See all…","label":"See all CSS references"}]},{"title":"CSS guides","items":[{"slug":"Web/CSS/Guides/Box_model/Introduction","text":"Box model"},{"slug":"Web/CSS/Guides/Animations/Using","text":"Animations"},{"slug":"Web/CSS/Guides/Flexible_box_layout/Basic_concepts","text":"Flexbox"},{"slug":"Web/CSS/Guides/Colors/Applying_color","text":"Colors"},{"slug":"Web/CSS/Guides","text":"See all…","label":"See all CSS guides"}]},{"title":"Layout cookbook","items":[{"slug":"Web/CSS/How_to/Layout_cookbook/Column_layouts","text":"Column layouts"},{"slug":"Web/CSS/How_to/Layout_cookbook/Center_an_element","text":"Centering an element"},{"slug":"Web/CSS/How_to/Layout_cookbook/Card","text":"Card component"},{"slug":"Web/CSS/How_to/Layout_cookbook","text":"See all…"}]}]},{"id":"javascript","buttonText":{"long":"JavaScript","short":"JS"},"panelTitle":{"slug":"Web/JavaScript","text":"JavaScript: Scripting language"},"panelGroups":[{"title":"JS reference","items":[{"slug":"Web/JavaScript/Reference/Global_Objects","text":"Standard built-in objects"},{"slug":"Web/JavaScript/Reference/Operators","text":"Expressions & operators"},{"slug":"Web/JavaScript/Reference/Statements","text":"Statements & declarations"},{"slug":"Web/JavaScript/Reference/Functions","text":"Functions"},{"slug":"Web/JavaScript/Reference","text":"See all…","label":"See all JavaScript references"}]},{"title":"JS guides","items":[{"slug":"Web/JavaScript/Guide/Control_flow_and_error_handling","text":"Control flow & error handing"},{"slug":"Web/JavaScript/Guide/Loops_and_iteration","text":"Loops and iteration"},{"slug":"Web/JavaScript/Guide/Working_with_objects","text":"Working with objects"},{"slug":"Web/JavaScript/Guide/Using_classes","text":"Using classes"},{"slug":"Web/JavaScript/Guide","text":"See all…","label":"See all JavaScript guides"}]}]},{"id":"webapis","buttonText":"Web APIs","panelTitle":{"slug":"Web/API","text":"Web APIs: Programming interfaces"},"panelGroups":[{"title":"Web API reference","items":[{"slug":"Web/API/File_System_API","text":"File system API"},{"slug":"Web/API/Fetch_API","text":"Fetch API"},{"slug":"Web/API/Geolocation_API","text":"Geolocation API"},{"slug":"Web/API/HTML_DOM_API","text":"HTML DOM API"},{"slug":"Web/API/Push_API","text":"Push API"},{"slug":"Web/API/Service_Worker_API","text":"Service worker API"},{"slug":"Web/API","text":"See all…","label":"See all Web API guides"}]},{"title":"Web API guides","items":[{"slug":"Web/API/Web_Animations_API/Using_the_Web_Animations_API","text":"Using the Web animation API"},{"slug":"Web/API/Fetch_API/Using_Fetch","text":"Using the Fetch API"},{"slug":"Web/API/History_API/Working_with_the_History_API","text":"Working with the History API"},{"slug":"Web/API/Web_Speech_API/Using_the_Web_Speech_API","text":"Using the Web speech API"},{"slug":"Web/API/Web_Workers_API/Using_web_workers","text":"Using web workers"}]}]},{"id":"all","buttonText":"All","panelTitle":{"slug":"Web","text":"All web technology"},"panelGroups":[{"title":"Technologies","items":[{"slug":"Web/Accessibility","text":"Accessibility"},{"slug":"Web/HTTP","text":"HTTP"},{"slug":"Web/URI","text":"URI"},{"slug":"Mozilla/Add-ons/WebExtensions","text":"Web extensions"},{"slug":"WebAssembly","text":"WebAssembly"},{"slug":"Web/WebDriver","text":"WebDriver"},{"slug":"Web","text":"See all…","label":"See all web technology references"}]},{"title":"Topics","items":[{"slug":"Web/Media","text":"Media"},{"slug":"Web/Performance","text":"Performance"},{"slug":"Web/Privacy","text":"Privacy"},{"slug":"Web/Security","text":"Security"},{"slug":"Web/Progressive_web_apps","text":"Progressive web apps"}]}]},{"id":"learn","buttonText":"Learn","panelTitle":{"slug":"Learn_web_development","text":"Learn web development"},"panelGroups":[{"title":"Frontend developer course","items":[{"slug":"Learn_web_development/Getting_started","text":"Getting started modules"},{"slug":"Learn_web_development/Core","text":"Core modules"},{"href":"/en-US/curriculum/","text":"MDN Curriculum"}]},{"title":"Learn HTML","items":[{"slug":"Learn_web_development/Core/Structuring_content","text":"Structuring content with HTML module"}]},{"title":"Learn CSS","items":[{"slug":"Learn_web_development/Core/Styling_basics","text":"CSS styling basics module"},{"slug":"Learn_web_development/Core/CSS_layout","text":"CSS layout module"}]},{"title":"Learn JavaScript","items":[{"slug":"Learn_web_development/Core/Scripting","text":"Dynamic scripting with JavaScript module"}]}]},{"id":"tools","buttonText":"Tools","panelTitle":{"text":"Discover our tools"},"panelGroups":[{"items":[{"href":"/en-US/play","text":"Playground","icon":"circle-play"},{"href":"/en-US/observatory","text":"HTTP Observatory","icon":"shield-check"}]},{"items":[{"slug":"Web/CSS/Guides/Backgrounds_and_borders/Border-image_generator","text":"Border-image generator"},{"slug":"Web/CSS/Guides/Backgrounds_and_borders/Border-radius_generator","text":"Border-radius generator"},{"slug":"Web/CSS/Guides/Backgrounds_and_borders/Box-shadow_generator","text":"Box-shadow generator"},{"slug":"Web/CSS/Guides/Colors/Color_format_converter","text":"Color format converter"},{"slug":"Web/CSS/Guides/Colors/Color_mixer","text":"Color mixer"},{"slug":"Web/CSS/Guides/Shapes/Shape_generator","text":"Shape generator"}]}]},{"id":"about","buttonText":"About","panelTitle":{"text":"Get to know MDN better"},"panelGroups":[{"items":[{"href":"/en-US/about","text":"About MDN","icon":"mdn-m"},{"href":"/en-US/advertising","text":"Advertise with us","icon":"chart-no-axes-combined"}]},{"items":[{"href":"/en-US/community","text":"Community","icon":"users"},{"href":"https://github.com/mdn","text":"MDN on GitHub","icon":"github"}]}]},{"id":"blog","buttonText":"Blog","href":"/en-US/blog/"}]')),v=Object.freeze(O);let Menu=class Menu extends l.H{render(t){let r=null,s=(t,{primary:s=!1}={})=>`${s?"menu_click_menu":"menu_click_submenu"}: ${r??"?"} -> ${t}`,n=(r,n,{label:o,primary:l=!1}={})=>{let c=t.locale in v&&v[t.locale]?.includes(r)?"en-US":t.locale,d=`/${c}/docs/${r}`;return(0,a.qy)`<a
|
|
2422
|
+
`}};var u=s(41457),p=s(69470),m=s(95089),O=JSON.parse('{"es":["Web/API/Web_Animations_API/Using_the_Web_Animations_API","Web/CSS/Guides","Web/CSS/Guides/Backgrounds_and_borders/Box-shadow_generator","Web/CSS/Guides/Colors/Applying_color","Web/CSS/Guides/Colors/Color_mixer","Web/CSS/Guides/Shapes/Shape_generator","Web/CSS/How_to/Layout_cookbook/Card","Web/CSS/How_to/Layout_cookbook/Center_an_element","Web/CSS/How_to/Layout_cookbook/Column_layouts","Web/CSS/Reference/At-rules","Web/CSS/Reference/Properties","Web/CSS/Reference/Selectors","Web/CSS/Reference/Values","Web/HTML/Guides","Web/HTML/Guides/Cheatsheet","Web/HTML/Guides/Date_and_time_formats","Web/JavaScript/Guide/Using_classes","Web/Privacy","Web/URI","Web/WebDriver"],"fr":[],"ja":[],"ko":["Learn_web_development/Core","Web/API/Web_Animations_API/Using_the_Web_Animations_API","Web/API/Web_Speech_API/Using_the_Web_Speech_API","Web/API/Web_Workers_API/Using_web_workers","Web/CSS/Guides","Web/CSS/Guides/Colors/Applying_color","Web/CSS/Guides/Colors/Color_mixer","Web/CSS/Guides/Shapes/Shape_generator","Web/CSS/How_to/Layout_cookbook","Web/CSS/How_to/Layout_cookbook/Card","Web/CSS/How_to/Layout_cookbook/Column_layouts","Web/CSS/Reference/At-rules","Web/CSS/Reference/Properties","Web/CSS/Reference/Selectors","Web/CSS/Reference/Values","Web/HTML/Guides","Web/HTML/Guides/Cheatsheet","Web/JavaScript/Guide/Using_classes","Web/WebDriver"],"pt-BR":["Learn_web_development/Core","Learn_web_development/Getting_started","Web/API/File_System_API","Web/API/HTML_DOM_API","Web/API/Web_Speech_API/Using_the_Web_Speech_API","Web/API/Web_Workers_API/Using_web_workers","Web/CSS/Guides","Web/CSS/Guides/Backgrounds_and_borders/Box-shadow_generator","Web/CSS/Guides/Colors/Color_mixer","Web/CSS/Guides/Shapes/Shape_generator","Web/CSS/How_to/Layout_cookbook/Card","Web/CSS/How_to/Layout_cookbook/Center_an_element","Web/CSS/How_to/Layout_cookbook/Column_layouts","Web/CSS/Reference/At-rules","Web/CSS/Reference/Properties","Web/CSS/Reference/Selectors","Web/CSS/Reference/Values","Web/HTML/Guides","Web/HTML/Guides/Cheatsheet","Web/HTML/Guides/Date_and_time_formats","Web/JavaScript/Guide/Using_classes","Web/Media","Web/Privacy","Web/URI","Web/WebDriver","Web/XML"],"ru":["Learn_web_development/Core","Web/API/HTML_DOM_API","Web/CSS/Guides","Web/CSS/Guides/Colors/Color_mixer","Web/CSS/Guides/Shapes/Shape_generator","Web/CSS/How_to/Layout_cookbook/Card","Web/CSS/How_to/Layout_cookbook/Center_an_element","Web/CSS/How_to/Layout_cookbook/Column_layouts","Web/CSS/Reference/At-rules","Web/CSS/Reference/Properties","Web/CSS/Reference/Selectors","Web/CSS/Reference/Values","Web/HTML/Guides","Web/HTML/Guides/Cheatsheet","Web/HTML/Guides/Date_and_time_formats","Web/JavaScript/Guide/Using_classes","Web/Media","Web/Privacy","Web/WebDriver"],"zh-CN":["Web/CSS/Reference/At-rules"],"zh-TW":["Learn_web_development/Core","Learn_web_development/Getting_started","Web/API/File_System_API","Web/API/HTML_DOM_API","Web/API/History_API/Working_with_the_History_API","Web/API/Push_API","Web/API/Service_Worker_API","Web/API/Web_Animations_API/Using_the_Web_Animations_API","Web/API/Web_Speech_API/Using_the_Web_Speech_API","Web/CSS/Guides","Web/CSS/Guides/Backgrounds_and_borders/Border-image_generator","Web/CSS/Guides/Backgrounds_and_borders/Border-radius_generator","Web/CSS/Guides/Backgrounds_and_borders/Box-shadow_generator","Web/CSS/Guides/Box_model/Introduction","Web/CSS/Guides/Colors/Applying_color","Web/CSS/Guides/Colors/Color_mixer","Web/CSS/Guides/Shapes/Shape_generator","Web/CSS/How_to/Layout_cookbook","Web/CSS/How_to/Layout_cookbook/Card","Web/CSS/How_to/Layout_cookbook/Center_an_element","Web/CSS/How_to/Layout_cookbook/Column_layouts","Web/CSS/Reference","Web/CSS/Reference/At-rules","Web/CSS/Reference/Properties","Web/CSS/Reference/Selectors","Web/HTML/Guides","Web/HTML/Guides/Cheatsheet","Web/HTML/Guides/Date_and_time_formats","Web/HTML/Guides/Responsive_images","Web/HTML/Reference/Elements","Web/HTML/Reference/Global_attributes","Web/JavaScript/Guide/Using_classes","Web/JavaScript/Guide/Working_with_objects","Web/JavaScript/Reference/Functions","Web/JavaScript/Reference/Statements","Web/Privacy","Web/URI","Web/WebDriver","Web/XML"]}');let b=Object.freeze(JSON.parse('[{"id":"html","buttonText":"HTML","panelTitle":{"slug":"Web/HTML","text":"HTML: Markup language"},"panelGroups":[{"title":"HTML reference","items":[{"slug":"Web/HTML/Reference/Elements","text":"Elements"},{"slug":"Web/HTML/Reference/Global_attributes","text":"Global attributes"},{"slug":"Web/HTML/Reference/Attributes","text":"Attributes"},{"slug":"Web/HTML/Reference","text":"See all…","label":"See all HTML references"}]},{"title":"HTML guides","items":[{"slug":"Web/HTML/Guides/Responsive_images","text":"Responsive images"},{"slug":"Web/HTML/Guides/Cheatsheet","text":"HTML cheatsheet"},{"slug":"Web/HTML/Guides/Date_and_time_formats","text":"Date & time formats"},{"slug":"Web/HTML/Guides","text":"See all…","label":"See all HTML guides"}]},{"title":"Markup languages","items":[{"slug":"Web/SVG","text":"SVG"},{"slug":"Web/MathML","text":"MathML"},{"slug":"Web/XML","text":"XML"}]}]},{"id":"css","buttonText":"CSS","panelTitle":{"slug":"Web/CSS","text":"CSS: Styling language"},"panelGroups":[{"title":"CSS reference","items":[{"slug":"Web/CSS/Reference/Properties","text":"Properties"},{"slug":"Web/CSS/Reference/Selectors","text":"Selectors"},{"slug":"Web/CSS/Reference/At-rules","text":"At-rules"},{"slug":"Web/CSS/Reference/Values","text":"Values"},{"slug":"Web/CSS/Reference","text":"See all…","label":"See all CSS references"}]},{"title":"CSS guides","items":[{"slug":"Web/CSS/Guides/Box_model/Introduction","text":"Box model"},{"slug":"Web/CSS/Guides/Animations/Using","text":"Animations"},{"slug":"Web/CSS/Guides/Flexible_box_layout/Basic_concepts","text":"Flexbox"},{"slug":"Web/CSS/Guides/Colors/Applying_color","text":"Colors"},{"slug":"Web/CSS/Guides","text":"See all…","label":"See all CSS guides"}]},{"title":"Layout cookbook","items":[{"slug":"Web/CSS/How_to/Layout_cookbook/Column_layouts","text":"Column layouts"},{"slug":"Web/CSS/How_to/Layout_cookbook/Center_an_element","text":"Centering an element"},{"slug":"Web/CSS/How_to/Layout_cookbook/Card","text":"Card component"},{"slug":"Web/CSS/How_to/Layout_cookbook","text":"See all…"}]}]},{"id":"javascript","buttonText":{"long":"JavaScript","short":"JS"},"panelTitle":{"slug":"Web/JavaScript","text":"JavaScript: Scripting language"},"panelGroups":[{"title":"JS reference","items":[{"slug":"Web/JavaScript/Reference/Global_Objects","text":"Standard built-in objects"},{"slug":"Web/JavaScript/Reference/Operators","text":"Expressions & operators"},{"slug":"Web/JavaScript/Reference/Statements","text":"Statements & declarations"},{"slug":"Web/JavaScript/Reference/Functions","text":"Functions"},{"slug":"Web/JavaScript/Reference","text":"See all…","label":"See all JavaScript references"}]},{"title":"JS guides","items":[{"slug":"Web/JavaScript/Guide/Control_flow_and_error_handling","text":"Control flow & error handing"},{"slug":"Web/JavaScript/Guide/Loops_and_iteration","text":"Loops and iteration"},{"slug":"Web/JavaScript/Guide/Working_with_objects","text":"Working with objects"},{"slug":"Web/JavaScript/Guide/Using_classes","text":"Using classes"},{"slug":"Web/JavaScript/Guide","text":"See all…","label":"See all JavaScript guides"}]}]},{"id":"webapis","buttonText":"Web APIs","panelTitle":{"slug":"Web/API","text":"Web APIs: Programming interfaces"},"panelGroups":[{"title":"Web API reference","items":[{"slug":"Web/API/File_System_API","text":"File system API"},{"slug":"Web/API/Fetch_API","text":"Fetch API"},{"slug":"Web/API/Geolocation_API","text":"Geolocation API"},{"slug":"Web/API/HTML_DOM_API","text":"HTML DOM API"},{"slug":"Web/API/Push_API","text":"Push API"},{"slug":"Web/API/Service_Worker_API","text":"Service worker API"},{"slug":"Web/API","text":"See all…","label":"See all Web API guides"}]},{"title":"Web API guides","items":[{"slug":"Web/API/Web_Animations_API/Using_the_Web_Animations_API","text":"Using the Web animation API"},{"slug":"Web/API/Fetch_API/Using_Fetch","text":"Using the Fetch API"},{"slug":"Web/API/History_API/Working_with_the_History_API","text":"Working with the History API"},{"slug":"Web/API/Web_Speech_API/Using_the_Web_Speech_API","text":"Using the Web speech API"},{"slug":"Web/API/Web_Workers_API/Using_web_workers","text":"Using web workers"}]}]},{"id":"all","buttonText":"All","panelTitle":{"slug":"Web","text":"All web technology"},"panelGroups":[{"title":"Technologies","items":[{"slug":"Web/Accessibility","text":"Accessibility"},{"slug":"Web/HTTP","text":"HTTP"},{"slug":"Web/URI","text":"URI"},{"slug":"Mozilla/Add-ons/WebExtensions","text":"Web extensions"},{"slug":"WebAssembly","text":"WebAssembly"},{"slug":"Web/WebDriver","text":"WebDriver"},{"slug":"Web","text":"See all…","label":"See all web technology references"}]},{"title":"Topics","items":[{"slug":"Web/Media","text":"Media"},{"slug":"Web/Performance","text":"Performance"},{"slug":"Web/Privacy","text":"Privacy"},{"slug":"Web/Security","text":"Security"},{"slug":"Web/Progressive_web_apps","text":"Progressive web apps"}]}]},{"id":"learn","buttonText":"Learn","panelTitle":{"slug":"Learn_web_development","text":"Learn web development"},"panelGroups":[{"title":"Frontend developer course","items":[{"slug":"Learn_web_development/Getting_started","text":"Getting started modules"},{"slug":"Learn_web_development/Core","text":"Core modules"},{"href":"/en-US/curriculum/","text":"MDN Curriculum"},{"href":"https://scrimba.com/frontend-path-c0j?via=mdn-learn-navbar","text":"Check out the video course from Scrimba, our partner"}]},{"title":"Learn HTML","items":[{"slug":"Learn_web_development/Core/Structuring_content","text":"Structuring content with HTML module"}]},{"title":"Learn CSS","items":[{"slug":"Learn_web_development/Core/Styling_basics","text":"CSS styling basics module"},{"slug":"Learn_web_development/Core/CSS_layout","text":"CSS layout module"}]},{"title":"Learn JavaScript","items":[{"slug":"Learn_web_development/Core/Scripting","text":"Dynamic scripting with JavaScript module"}]}]},{"id":"tools","buttonText":"Tools","panelTitle":{"text":"Discover our tools"},"panelGroups":[{"items":[{"href":"/en-US/play","text":"Playground","icon":"circle-play"},{"href":"/en-US/observatory","text":"HTTP Observatory","icon":"shield-check"}]},{"items":[{"slug":"Web/CSS/Guides/Backgrounds_and_borders/Border-image_generator","text":"Border-image generator"},{"slug":"Web/CSS/Guides/Backgrounds_and_borders/Border-radius_generator","text":"Border-radius generator"},{"slug":"Web/CSS/Guides/Backgrounds_and_borders/Box-shadow_generator","text":"Box-shadow generator"},{"slug":"Web/CSS/Guides/Colors/Color_format_converter","text":"Color format converter"},{"slug":"Web/CSS/Guides/Colors/Color_mixer","text":"Color mixer"},{"slug":"Web/CSS/Guides/Shapes/Shape_generator","text":"Shape generator"}]}]},{"id":"about","buttonText":"About","panelTitle":{"text":"Get to know MDN better"},"panelGroups":[{"items":[{"href":"/en-US/about","text":"About MDN","icon":"mdn-m"},{"href":"/en-US/advertising","text":"Advertise with us","icon":"chart-no-axes-combined"}]},{"items":[{"href":"/en-US/community","text":"Community","icon":"users"},{"href":"https://github.com/mdn","text":"MDN on GitHub","icon":"github"}]}]},{"id":"blog","buttonText":"Blog","href":"/en-US/blog/"}]')),v=Object.freeze(O);let Menu=class Menu extends l.H{render(t){let r=null,s=(t,{primary:s=!1}={})=>`${s?"menu_click_menu":"menu_click_submenu"}: ${r??"?"} -> ${t}`,n=(r,n,{label:o,primary:l=!1}={})=>{let c=t.locale in v&&v[t.locale]?.includes(r)?"en-US":t.locale,d=`/${c}/docs/${r}`;return(0,a.qy)`<a
|
|
2423
2423
|
class=${(0,m.J)(c===t.locale?void 0:"only-in-en-us")}
|
|
2424
2424
|
href=${d}
|
|
2425
2425
|
aria-label=${(0,m.J)(o)}
|
|
@@ -3247,7 +3247,9 @@ ${r}
|
|
|
3247
3247
|
>
|
|
3248
3248
|
<div class="article-footer__inner">
|
|
3249
3249
|
<div class="article-footer__svg-container">${ed}</div>
|
|
3250
|
-
<h2 id="feedback">
|
|
3250
|
+
<h2 id="feedback">
|
|
3251
|
+
${t.l10n("article-footer-title")`Help improve MDN`}
|
|
3252
|
+
</h2>
|
|
3251
3253
|
<mdn-content-feedback locale=${t.locale}></mdn-content-feedback>
|
|
3252
3254
|
${s=t,(0,a.qy)`<a
|
|
3253
3255
|
class="article-footer__contribute"
|
|
@@ -3433,7 +3435,7 @@ ${r}
|
|
|
3433
3435
|
${u.QD?WriterToolbar.render(t):o.s6}
|
|
3434
3436
|
${TranslationBanner.render(t)}
|
|
3435
3437
|
<mdn-survey></mdn-survey>
|
|
3436
|
-
<h1>${r.
|
|
3438
|
+
<h1>${(0,E._)(r.titleHTML)}</h1>
|
|
3437
3439
|
${BaselineIndicator.render(t)} ${s}
|
|
3438
3440
|
</div>
|
|
3439
3441
|
<aside class="layout__right-sidebar reference-layout__toc">
|
|
@@ -4130,18 +4132,18 @@ try {
|
|
|
4130
4132
|
rel="search"
|
|
4131
4133
|
type="application/opensearchdescription+xml"
|
|
4132
4134
|
href="/opensearch.xml"
|
|
4133
|
-
title
|
|
4135
|
+
title=${t.l10n("brand-web-docs")`MDN Web Docs`}
|
|
4134
4136
|
/>
|
|
4135
4137
|
<link
|
|
4136
4138
|
rel="alternate"
|
|
4137
4139
|
type="application/rss+xml"
|
|
4138
|
-
title
|
|
4140
|
+
title=${t.l10n("blog-rss-title")`MDN Blog RSS Feed`}
|
|
4139
4141
|
href="https://developer.mozilla.org/en-US/blog/rss.xml"
|
|
4140
4142
|
/>
|
|
4141
4143
|
</head>
|
|
4142
4144
|
${r}
|
|
4143
4145
|
</html>
|
|
4144
|
-
`}_renderMeta(t){let r="doc"in t?t.doc.noIndexing:"noIndexing"in t&&t.noIndexing,s="onlyFollow"in t&&t.onlyFollow,n=!u.UN||r?"noindex, nofollow":s?"noindex, follow":"",l=("doc"in t?t.doc.pageTitle:t.pageTitle)||"MDN Web Docs
|
|
4146
|
+
`}_renderMeta(t){let r="doc"in t?t.doc.noIndexing:"noIndexing"in t&&t.noIndexing,s="onlyFollow"in t&&t.onlyFollow,n=!u.UN||r?"noindex, nofollow":s?"noindex, follow":"",l=("doc"in t?t.doc.pageTitle:t.pageTitle)||t.l10n("brand-web-docs")`MDN Web Docs`,c=("pageDescription"in t?t.pageDescription:"doc"in t&&"summary"in t.doc?t.doc.summary:"")||t.l10n("meta-description")`The MDN Web Docs site provides information about Open Web technologies including HTML, CSS, and APIs for both Web sites and progressive web apps.`;return Object.entries({robots:n,description:c,"og:url":`https://developer.mozilla.org${t.url}`,"og:title":l,"og:locale":t.locale.replace("-","_"),"og:description":c,"og:image":"https://developer.mozilla.org/mdn-social-image.46ac2375.png","og:image:type":"image/png","og:image:height":"1024","og:image:width":"1024","og:image:alt":t.l10n("logo-alt")`The MDN logo`,"og:site_name":t.l10n("brand-web-docs")`MDN Web Docs`,"twitter:card":"summary","twitter:creator":"MozDevNet"}).map(([t,r])=>r?(0,a.qy)`<meta name=${t} content=${r} />`:o.s6)}};let Playground=class Playground extends l.H{render(t){return PageLayout.render(t,(0,a.qy)`
|
|
4145
4147
|
<main id="content" class="playground">
|
|
4146
4148
|
<mdn-playground></mdn-playground>
|
|
4147
4149
|
<div class="sidebar">
|
|
@@ -4188,5 +4190,5 @@ And the inner template was:
|
|
|
4188
4190
|
https://lit.dev/docs/templates/expressions/#invalid-locations for more information about invalid expression
|
|
4189
4191
|
locations.
|
|
4190
4192
|
`)}(n,t)}),o})(t,r)),s&&n.push("\x3c!--/lit-part--\x3e");else{if(s&&n.push("\x3c!--lit-part--\x3e"),null==t||t===J.s6||t===J.c0);else if(!(0,G.sO)(t)&&rc(t))for(let a of t)n.push(()=>rf(a,r,s));else n.push(j("string"==typeof t?t:String(t)));s&&n.push("\x3c!--/lit-part--\x3e")}return n}function rO(t){return(0,G.ps)(t)?t._$litType$.h.join("${...}"):t.strings.join("${...}")}let{attributeToProperty:rb,changedProperties:rv}=ee;J.WF.prototype.createRenderRoot=function(){return this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions)};let LitElementRenderer=class LitElementRenderer extends ElementRenderer{static matchesClass(t){return t._$litElement$}constructor(t){super(t),this.element=new(customElements.get(this.tagName));let r=this.element.__internals;if(r)for(let[t,s]of Object.entries(et.wZ)){let a=r[t];a&&!this.element.hasAttribute(s)&&(this.element.setAttribute(s,a),this.element.setAttribute(`${et._P}${s}`,a))}}get shadowRootOptions(){return this.element.constructor.shadowRootOptions??super.shadowRootOptions}connectedCallback(){if(globalThis.litSsrCallConnectedCallback){this.element.enableUpdating=function(){};try{this.element.connectedCallback()}catch(r){let t=this.element.constructor.name;throw console.warn(`Calling ${t}.connectedCallback() resulted in a thrown error. Consider removing \`litSsrCallConnectedCallback\` to prevent calling connectedCallback or add isServer checks to your code to prevent calling browser API during SSR.`),r}}let t=rv(this.element);this.element?.willUpdate(t),J.mN.prototype.update.call(this.element,t)}attributeChangedCallback(t,r,s){rb(this.element,t,s)}renderShadow(t){let r=[],s=this.element.constructor.elementStyles;if(void 0!==s&&s.length>0){for(let t of(r.push("<style>"),s))r.push(t.cssText);r.push("</style>")}return r.push(()=>rf(this.element.render(),t)),r}renderLight(t){let r=this.element?.renderLight();return r?[()=>rf(r,t)]:[""]}};function ry(t,r){var s,a;let n;return new RenderResultIterator((s=t,a={elementRenderers:[LitElementRenderer],customElementInstanceStack:[],customElementHostStack:[],eventTargetStack:[],slotStack:[],deferHydration:!1,...a=r},n=!0,(0,G.qb)(s)&&(n=t6(s)),rf(s,a,n)))}let RenderResultIterator=class RenderResultIterator{constructor(t){this._waiting=!1,this._iterators=[t[Symbol.iterator]()]}next(){if(this._waiting)throw Error("Cannot call next() while waiting for a Promise to resolve");for(;;){let t=this._iterators.at(-1);if(void 0===t)return{done:!0,value:void 0};let r=t.next();if(r.done){this._iterators.pop();continue}let s=r.value;if("string"==typeof s)return r;for(;"function"==typeof s;)s=s();if(void 0!==s){if("string"==typeof s)return{done:!1,value:s};if(Array.isArray(s)){this._iterators.push(s[Symbol.iterator]());continue}return this._waiting=!0,{done:!1,value:s.then(t=>(this._waiting=!1,"string"==typeof t)?t:(this._iterators.push(t[Symbol.iterator]()),this))}}}}[Symbol.iterator](){return this}}},47543(t,r,s){s.d(r,{Ec:()=>x,AH:()=>d,mN:()=>g});var a=s(84645);let n=globalThis,o=n.ShadowRoot&&(void 0===n.ShadyCSS||n.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,l=Symbol(),c=new WeakMap;let css_tag_n=class css_tag_n{constructor(t,r,s){if(this._$cssResult$=!0,s!==l)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=t,this.t=r}get styleSheet(){let t=this.o,r=this.t;if(o&&void 0===t){let s=void 0!==r&&1===r.length;s&&(t=c.get(r)),void 0===t&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),s&&c.set(r,t))}return t}toString(){return this.cssText}};let d=(t,...r)=>new css_tag_n(1===t.length?t[0]:r.reduce((r,s,a)=>r+(t=>{if(!0===t._$cssResult$)return t.cssText;if("number"==typeof t)return t;throw Error("Value passed to 'css' function must be a 'css' function result: "+t+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(s)+t[a+1],t[0]),t,l),h=o||void 0===n.CSSStyleSheet?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let r,s="";for(let r of t.cssRules)s+=r.cssText;return new css_tag_n("string"==typeof(r=s)?r:r+"",void 0,l)})(t):t,{is:u,defineProperty:p,getOwnPropertyDescriptor:m,getOwnPropertyNames:O,getOwnPropertySymbols:b,getPrototypeOf:v}=Object,y=globalThis;y.customElements??=a.nq;let _=y.trustedTypes,w=_?_.emptyScript:"",T=y.reactiveElementPolyfillSupport,E={toAttribute(t,r){switch(r){case Boolean:t=t?w:null;break;case Object:case Array:t=null==t?t:JSON.stringify(t)}return t},fromAttribute(t,r){let s=t;switch(r){case Boolean:s=null!==t;break;case Number:s=null===t?null:Number(t);break;case Object:case Array:try{s=JSON.parse(t)}catch(t){s=null}}return s}},x=(t,r)=>!u(t,r),A={attribute:!0,type:String,converter:E,reflect:!1,useDefault:!1,hasChanged:x};Symbol.metadata??=Symbol("metadata"),y.litPropertyMetadata??=new WeakMap;let g=class g extends(globalThis.HTMLElement??a.wt){static addInitializer(t){this._$Ei(),(this.l??=[]).push(t)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(t,r=A){if(r.state&&(r.attribute=!1),this._$Ei(),this.prototype.hasOwnProperty(t)&&((r=Object.create(r)).wrapped=!0),this.elementProperties.set(t,r),!r.noAccessor){let s=Symbol(),a=this.getPropertyDescriptor(t,s,r);void 0!==a&&p(this.prototype,t,a)}}static getPropertyDescriptor(t,r,s){let{get:a,set:n}=m(this.prototype,t)??{get(){return this[r]},set(t){this[r]=t}};return{get:a,set(r){let o=a?.call(this);n?.call(this,r),this.requestUpdate(t,o,s)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)??A}static _$Ei(){if(this.hasOwnProperty("elementProperties"))return;let t=v(this);t.finalize(),void 0!==t.l&&(this.l=[...t.l]),this.elementProperties=new Map(t.elementProperties)}static finalize(){if(this.hasOwnProperty("finalized"))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty("properties")){let t=this.properties;for(let r of[...O(t),...b(t)])this.createProperty(r,t[r])}let t=this[Symbol.metadata];if(null!==t){let r=litPropertyMetadata.get(t);if(void 0!==r)for(let[t,s]of r)this.elementProperties.set(t,s)}for(let[t,r]of(this._$Eh=new Map,this.elementProperties)){let s=this._$Eu(t,r);void 0!==s&&this._$Eh.set(s,t)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(t){let r=[];if(Array.isArray(t))for(let s of new Set(t.flat(1/0).reverse()))r.unshift(h(s));else void 0!==t&&r.push(h(t));return r}static _$Eu(t,r){let s=r.attribute;return!1===s?void 0:"string"==typeof s?s:"string"==typeof t?t.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise(t=>this.enableUpdating=t),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach(t=>t(this))}addController(t){(this._$EO??=new Set).add(t),void 0!==this.renderRoot&&this.isConnected&&t.hostConnected?.()}removeController(t){this._$EO?.delete(t)}_$E_(){let t=new Map;for(let r of this.constructor.elementProperties.keys())this.hasOwnProperty(r)&&(t.set(r,this[r]),delete this[r]);t.size>0&&(this._$Ep=t)}createRenderRoot(){let t=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return((t,r)=>{if(o)t.adoptedStyleSheets=r.map(t=>t instanceof CSSStyleSheet?t:t.styleSheet);else for(let s of r){let r=document.createElement("style"),a=n.litNonce;void 0!==a&&r.setAttribute("nonce",a),r.textContent=s.cssText,t.appendChild(r)}})(t,this.constructor.elementStyles),t}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach(t=>t.hostConnected?.())}enableUpdating(t){}disconnectedCallback(){this._$EO?.forEach(t=>t.hostDisconnected?.())}attributeChangedCallback(t,r,s){this._$AK(t,s)}_$ET(t,r){let s=this.constructor.elementProperties.get(t),a=this.constructor._$Eu(t,s);if(void 0!==a&&!0===s.reflect){let n=(void 0!==s.converter?.toAttribute?s.converter:E).toAttribute(r,s.type);this._$Em=t,null==n?this.removeAttribute(a):this.setAttribute(a,n),this._$Em=null}}_$AK(t,r){let s=this.constructor,a=s._$Eh.get(t);if(void 0!==a&&this._$Em!==a){let t=s.getPropertyOptions(a),n="function"==typeof t.converter?{fromAttribute:t.converter}:void 0!==t.converter?.fromAttribute?t.converter:E;this._$Em=a,this[a]=n.fromAttribute(r,t.type)??this._$Ej?.get(a)??null,this._$Em=null}}requestUpdate(t,r,s){if(void 0!==t){let a=this.constructor,n=this[t];if(!(((s??=a.getPropertyOptions(t)).hasChanged??x)(n,r)||s.useDefault&&s.reflect&&n===this._$Ej?.get(t)&&!this.hasAttribute(a._$Eu(t,s))))return;this.C(t,r,s)}!1===this.isUpdatePending&&(this._$ES=this._$EP())}C(t,r,{useDefault:s,reflect:a,wrapped:n},o){s&&!(this._$Ej??=new Map).has(t)&&(this._$Ej.set(t,o??r??this[t]),!0!==n||void 0!==o)||(this._$AL.has(t)||(this.hasUpdated||s||(r=void 0),this._$AL.set(t,r)),!0===a&&this._$Em!==t&&(this._$Eq??=new Set).add(t))}async _$EP(){this.isUpdatePending=!0;try{await this._$ES}catch(t){Promise.reject(t)}let t=this.scheduleUpdate();return null!=t&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(let[t,r]of this._$Ep)this[t]=r;this._$Ep=void 0}let t=this.constructor.elementProperties;if(t.size>0)for(let[r,s]of t){let{wrapped:t}=s,a=this[r];!0!==t||this._$AL.has(r)||void 0===a||this.C(r,void 0,s,a)}}let t=!1,r=this._$AL;try{(t=this.shouldUpdate(r))?(this.willUpdate(r),this._$EO?.forEach(t=>t.hostUpdate?.()),this.update(r)):this._$EM()}catch(r){throw t=!1,this._$EM(),r}t&&this._$AE(r)}willUpdate(t){}_$AE(t){this._$EO?.forEach(t=>t.hostUpdated?.()),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$EM(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(t){return!0}update(t){this._$Eq&&=this._$Eq.forEach(t=>this._$ET(t,this[t])),this._$EM()}updated(t){}firstUpdated(t){}};g.elementStyles=[],g.shadowRootOptions={mode:"open"},g.elementProperties=new Map,g.finalized=new Map,T?.({ReactiveElement:g}),(y.reactiveElementVersions??=[]).push("2.1.0")},31011(t,r,s){s.d(r,{YZ:()=>task_h});var a=s(47543);let n=Symbol();let task_h=class task_h{get taskComplete(){return this.t||(1===this.i?this.t=new Promise((t,r)=>{this.o=t,this.h=r}):3===this.i?this.t=Promise.reject(this.l):this.t=Promise.resolve(this.u)),this.t}constructor(t,r,s){this.p=0,this.i=0,(this._=t).addController(this);let a="object"==typeof r?r:{task:r,args:s};this.v=a.task,this.j=a.args,this.m=a.argsEqual??o,this.k=a.onComplete,this.A=a.onError,this.autoRun=a.autoRun??!0,"initialValue"in a&&(this.u=a.initialValue,this.i=2,this.O=this.T?.())}hostUpdate(){!0===this.autoRun&&this.S()}hostUpdated(){"afterUpdate"===this.autoRun&&this.S()}T(){if(void 0===this.j)return;let t=this.j();if(!Array.isArray(t))throw Error("The args function must return an array");return t}async S(){let t=this.T(),r=this.O;this.O=t,t===r||void 0===t||void 0!==r&&this.m(r,t)||await this.run(t)}async run(t){let r,s;t??=this.T(),this.O=t,1===this.i?this.q?.abort():(this.t=void 0,this.o=void 0,this.h=void 0),this.i=1,"afterUpdate"===this.autoRun?queueMicrotask(()=>this._.requestUpdate()):this._.requestUpdate();let a=++this.p;this.q=new AbortController;let o=!1;try{r=await this.v(t,{signal:this.q.signal})}catch(t){o=!0,s=t}if(this.p===a){if(r===n)this.i=0;else{if(!1===o){try{this.k?.(r)}catch{}this.i=2,this.o?.(r)}else{try{this.A?.(s)}catch{}this.i=3,this.h?.(s)}this.u=r,this.l=s}this._.requestUpdate()}}abort(t){1===this.i&&this.q?.abort(t)}get value(){return this.u}get error(){return this.l}get status(){return this.i}render(t){switch(this.i){case 0:return t.initial?.();case 1:return t.pending?.();case 2:return t.complete?.(this.value);case 3:return t.error?.(this.error);default:throw Error("Unexpected status: "+this.i)}}};let o=(t,r)=>t===r||t.length===r.length&&t.every((t,s)=>!(0,a.Ec)(t,r[s]))},65228(t,r,s){s.d(r,{AH:()=>a.AH,JW:()=>n.JW,WF:()=>i,Zm:()=>c,c0:()=>n.c0,mN:()=>a.mN,qy:()=>n.qy,s6:()=>n.s6});var a=s(47543),n=s(40173);let o=globalThis;let i=class i extends a.mN{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){let t=super.createRenderRoot();return this.renderOptions.renderBefore??=t.firstChild,t}update(t){let r=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=(0,n.XX)(r,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return n.c0}};i._$litElement$=!0,i.finalized=!0,o.litElementHydrateSupport?.({LitElement:i});let l=o.litElementPolyfillSupport;l?.({LitElement:i});let c={_$AK:(t,r,s)=>{t._$AK(r,s)},_$AL:t=>t._$AL};(o.litElementVersions??=[]).push("4.2.0")},91223(t,r,s){s.d(r,{Qk:()=>o,Rt:()=>h,mY:()=>p,ps:()=>c,qb:()=>l,sB:()=>d,sO:()=>n});let{I:a}=s(40173).ge,n=t=>null===t||"object"!=typeof t&&"function"!=typeof t,o={HTML:1,SVG:2,MATHML:3},l=(t,r)=>void 0===r?void 0!==t?._$litType$:t?._$litType$===r,c=t=>null!=t?._$litType$?.h,d=t=>t?._$litDirective$,h=t=>void 0===t.strings,u={},p=(t,r=u)=>t._$AH=r},26071(t,r,s){s.d(r,{OA:()=>a,WL:()=>i,u$:()=>n});let a={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},n=t=>(...r)=>({_$litDirective$:t,values:r});let i=class i{constructor(t){}get _$AU(){return this._$AM._$AU}_$AT(t,r,s){this._$Ct=t,this._$AM=r,this._$Ci=s}_$AS(t,r){return this.update(t,r)}update(t,r){return this.render(...r)}}},16809(t,r,s){s.d(r,{f:()=>a});function*a(t,r){let s="function"==typeof r;if(void 0!==t){let a=-1;for(let n of t)a>-1&&(yield s?r(a):r),a++,yield n}}},40173(t,r,s){s.d(r,{JW:()=>D,XX:()=>X,c0:()=>M,ej:()=>N,ge:()=>G,qy:()=>P,s6:()=>Q});let a=globalThis,n=t=>t,o=a.trustedTypes,l=o?o.createPolicy("lit-html",{createHTML:t=>t}):void 0,c="$lit$",d=`lit$${Math.random().toFixed(9).slice(2)}$`,h="?"+d,u=`<${h}>`,p=void 0===a.document?{createTreeWalker:()=>({})}:document,m=()=>p.createComment(""),O=t=>null===t||"object"!=typeof t&&"function"!=typeof t,b=Array.isArray,v=t=>b(t)||"function"==typeof t?.[Symbol.iterator],y="[ \n\f\r]",_=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,w=/-->/g,T=/>/g,E=RegExp(`>|${y}(?:([^\\s"'>=/]+)(${y}*=${y}*(?:[^
|
|
4191
|
-
\f\r"'\`<>=]|("|')|))|$)`,"g"),x=/'/g,A=/"/g,C=/^(?:script|style|textarea|title)$/i,$=t=>(r,...s)=>({_$litType$:t,strings:r,values:s}),P=$(1),D=$(2),N=$(3),M=Symbol.for("lit-noChange"),Q=Symbol.for("lit-nothing"),q=new WeakMap,B=p.createTreeWalker(p,129);function U(t,r){if(!b(t)||!t.hasOwnProperty("raw"))throw Error("invalid template strings array");return void 0!==l?l.createHTML(r):r}let F=(t,r)=>{let s=t.length-1,a=[],n,o=2===r?"<svg>":3===r?"<math>":"",l=_;for(let r=0;r<s;r++){let s=t[r],h,p,m=-1,O=0;for(;O<s.length&&(l.lastIndex=O,null!==(p=l.exec(s)));)O=l.lastIndex,l===_?"!--"===p[1]?l=w:void 0!==p[1]?l=T:void 0!==p[2]?(C.test(p[2])&&(n=RegExp("</"+p[2],"g")),l=E):void 0!==p[3]&&(l=E):l===E?">"===p[0]?(l=n??_,m=-1):void 0===p[1]?m=-2:(m=l.lastIndex-p[2].length,h=p[1],l=void 0===p[3]?E:'"'===p[3]?A:x):l===A||l===x?l=E:l===w||l===T?l=_:(l=E,n=void 0);let b=l===E&&t[r+1].startsWith("/>")?" ":"";o+=l===_?s+u:m>=0?(a.push(h),s.slice(0,m)+c+s.slice(m)+d+b):s+d+(-2===m?r:b)}return[U(t,o+(t[s]||"<?>")+(2===r?"</svg>":3===r?"</math>":"")),a]};let S=class S{constructor({strings:t,_$litType$:r},s){let a;this.parts=[];let n=0,l=0,u=t.length-1,p=this.parts,[O,b]=F(t,r);if(this.el=S.createElement(O,s),B.currentNode=this.el.content,2===r||3===r){let t=this.el.content.firstChild;t.replaceWith(...t.childNodes)}for(;null!==(a=B.nextNode())&&p.length<u;){if(1===a.nodeType){if(a.hasAttributes())for(let t of a.getAttributeNames())if(t.endsWith(c)){let r=b[l++],s=a.getAttribute(t).split(d),o=/([.?@])?(.*)/.exec(r);p.push({type:1,index:n,name:o[2],strings:s,ctor:"."===o[1]?I:"?"===o[1]?L:"@"===o[1]?z:H}),a.removeAttribute(t)}else t.startsWith(d)&&(p.push({type:6,index:n}),a.removeAttribute(t));if(C.test(a.tagName)){let t=a.textContent.split(d),r=t.length-1;if(r>0){a.textContent=o?o.emptyScript:"";for(let s=0;s<r;s++)a.append(t[s],m()),B.nextNode(),p.push({type:2,index:++n});a.append(t[r],m())}}}else if(8===a.nodeType)if(a.data===h)p.push({type:2,index:n});else{let t=-1;for(;-1!==(t=a.data.indexOf(d,t+1));)p.push({type:7,index:n}),t+=d.length-1}n++}}static createElement(t,r){let s=p.createElement("template");return s.innerHTML=t,s}};function V(t,r,s=t,a){if(r===M)return r;let n=void 0!==a?s._$Co?.[a]:s._$Cl,o=O(r)?void 0:r._$litDirective$;return n?.constructor!==o&&(n?._$AO?.(!1),void 0===o?n=void 0:(n=new o(t))._$AT(t,s,a),void 0!==a?(s._$Co??=[])[a]=n:s._$Cl=n),void 0!==n&&(r=V(t,n._$AS(t,r.values),n,a)),r}let k=class k{constructor(t,r){this._$AV=[],this._$AN=void 0,this._$AD=t,this._$AM=r}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(t){let{el:{content:r},parts:s}=this._$AD,a=(t?.creationScope??p).importNode(r,!0);B.currentNode=a;let n=B.nextNode(),o=0,l=0,c=s[0];for(;void 0!==c;){if(o===c.index){let r;2===c.type?r=new R(n,n.nextSibling,this,t):1===c.type?r=new c.ctor(n,c.name,c.strings,this,t):6===c.type&&(r=new W(n,this,t)),this._$AV.push(r),c=s[++l]}o!==c?.index&&(n=B.nextNode(),o++)}return B.currentNode=p,a}p(t){let r=0;for(let s of this._$AV)void 0!==s&&(void 0!==s.strings?(s._$AI(t,s,r),r+=s.strings.length-2):s._$AI(t[r])),r++}};let R=class R{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(t,r,s,a){this.type=2,this._$AH=Q,this._$AN=void 0,this._$AA=t,this._$AB=r,this._$AM=s,this.options=a,this._$Cv=a?.isConnected??!0}get parentNode(){let t=this._$AA.parentNode,r=this._$AM;return void 0!==r&&11===t?.nodeType&&(t=r.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,r=this){O(t=V(this,t,r))?t===Q||null==t||""===t?(this._$AH!==Q&&this._$AR(),this._$AH=Q):t!==this._$AH&&t!==M&&this._(t):void 0!==t._$litType$?this.$(t):void 0!==t.nodeType?this.T(t):v(t)?this.k(t):this._(t)}O(t){return this._$AA.parentNode.insertBefore(t,this._$AB)}T(t){this._$AH!==t&&(this._$AR(),this._$AH=this.O(t))}_(t){this._$AH!==Q&&O(this._$AH)?this._$AA.nextSibling.data=t:this.T(p.createTextNode(t)),this._$AH=t}$(t){let{values:r,_$litType$:s}=t,a="number"==typeof s?this._$AC(t):(void 0===s.el&&(s.el=S.createElement(U(s.h,s.h[0]),this.options)),s);if(this._$AH?._$AD===a)this._$AH.p(r);else{let t=new k(a,this),s=t.u(this.options);t.p(r),this.T(s),this._$AH=t}}_$AC(t){let r=q.get(t.strings);return void 0===r&&q.set(t.strings,r=new S(t)),r}k(t){b(this._$AH)||(this._$AH=[],this._$AR());let r=this._$AH,s,a=0;for(let n of t)a===r.length?r.push(s=new R(this.O(m()),this.O(m()),this,this.options)):s=r[a],s._$AI(n),a++;a<r.length&&(this._$AR(s&&s._$AB.nextSibling,a),r.length=a)}_$AR(t=this._$AA.nextSibling,r){for(this._$AP?.(!1,!0,r);t!==this._$AB;){let r=n(t).nextSibling;n(t).remove(),t=r}}setConnected(t){void 0===this._$AM&&(this._$Cv=t,this._$AP?.(t))}};let H=class H{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(t,r,s,a,n){this.type=1,this._$AH=Q,this._$AN=void 0,this.element=t,this.name=r,this._$AM=a,this.options=n,s.length>2||""!==s[0]||""!==s[1]?(this._$AH=Array(s.length-1).fill(new String),this.strings=s):this._$AH=Q}_$AI(t,r=this,s,a){let n=this.strings,o=!1;if(void 0===n)(o=!O(t=V(this,t,r,0))||t!==this._$AH&&t!==M)&&(this._$AH=t);else{let a,l,c=t;for(t=n[0],a=0;a<n.length-1;a++)(l=V(this,c[s+a],r,a))===M&&(l=this._$AH[a]),o||=!O(l)||l!==this._$AH[a],l===Q?t=Q:t!==Q&&(t+=(l??"")+n[a+1]),this._$AH[a]=l}o&&!a&&this.j(t)}j(t){t===Q?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,t??"")}};let I=class I extends H{constructor(){super(...arguments),this.type=3}j(t){this.element[this.name]=t===Q?void 0:t}};let L=class L extends H{constructor(){super(...arguments),this.type=4}j(t){this.element.toggleAttribute(this.name,!!t&&t!==Q)}};let z=class z extends H{constructor(t,r,s,a,n){super(t,r,s,a,n),this.type=5}_$AI(t,r=this){if((t=V(this,t,r,0)??Q)===M)return;let s=this._$AH,a=t===Q&&s!==Q||t.capture!==s.capture||t.once!==s.once||t.passive!==s.passive,n=t!==Q&&(s===Q||a);a&&this.element.removeEventListener(this.name,this,s),n&&this.element.addEventListener(this.name,this,t),this._$AH=t}handleEvent(t){"function"==typeof this._$AH?this._$AH.call(this.options?.host??this.element,t):this._$AH.handleEvent(t)}};let W=class W{constructor(t,r,s){this.element=t,this.type=6,this._$AN=void 0,this._$AM=r,this.options=s}get _$AU(){return this._$AM._$AU}_$AI(t){V(this,t)}};let G={M:c,P:d,A:h,C:1,L:F,R:k,D:v,V:V,I:R,H,N:L,U:z,B:I,F:W},Z=a.litHtmlPolyfillSupport;Z?.(S,R),(a.litHtmlVersions??=[]).push("3.3.2");let X=(t,r,s)=>{let a=s?.renderBefore??r,n=a._$litPart$;if(void 0===n){let t=s?.renderBefore??null;a._$litPart$=n=new R(r.insertBefore(m(),t),t,void 0,s??{})}return n._$AI(t),n}},95089(t,r,s){s.d(r,{J:()=>n});var a=s(40173);let n=t=>t??a.s6},52706(t,r,s){s.d(r,{K:()=>b,_:()=>m});var a=s(40173),n=s(91223),o=s(26071);let l=(t,r)=>{let s=t._$AN;if(void 0===s)return!1;for(let t of s)t._$AO?.(r,!1),l(t,r);return!0},c=t=>{let r,s;do{if(void 0===(r=t._$AM))break;(s=r._$AN).delete(t),t=r}while(0===s?.size)},d=t=>{for(let r;r=t._$AM;t=r){let s=r._$AN;if(void 0===s)r._$AN=s=new Set;else if(s.has(t))break;s.add(t),p(r)}};function h(t){void 0!==this._$AN?(c(this),this._$AM=t,d(this)):this._$AM=t}function u(t,r=!1,s=0){let a=this._$AH,n=this._$AN;if(void 0!==n&&0!==n.size)if(r)if(Array.isArray(a))for(let t=s;t<a.length;t++)l(a[t],!1),c(a[t]);else null!=a&&(l(a,!1),c(a));else l(this,t)}let p=t=>{t.type==o.OA.CHILD&&(t._$AP??=u,t._$AQ??=h)};let f=class f extends o.WL{constructor(){super(...arguments),this._$AN=void 0}_$AT(t,r,s){super._$AT(t,r,s),d(this),this.isConnected=t._$AU}_$AO(t,r=!0){t!==this.isConnected&&(this.isConnected=t,t?this.reconnected?.():this.disconnected?.()),r&&(l(this,t),c(this))}setValue(t){if((0,n.Rt)(this._$Ct))this._$Ct._$AI(t,this);else{let r=[...this._$Ct._$AH];r[this._$Ci]=t,this._$Ct._$AI(r,this,0)}}disconnected(){}reconnected(){}};let m=()=>new ref_h;let ref_h=class ref_h{};let O=new WeakMap,b=(0,o.u$)(class extends f{render(t){return a.s6}update(t,[r]){let s=r!==this.G;return s&&void 0!==this.G&&this.rt(void 0),(s||this.lt!==this.ct)&&(this.G=r,this.ht=t.options?.host,this.rt(this.ct=t.element)),a.s6}rt(t){if(this.isConnected||(t=void 0),"function"==typeof this.G){let r=this.ht??globalThis,s=O.get(r);void 0===s&&(s=new WeakMap,O.set(r,s)),void 0!==s.get(this.G)&&this.G.call(this.ht,void 0),s.set(this.G,t),void 0!==t&&this.G.call(this.ht,t)}else this.G.value=t}get lt(){return"function"==typeof this.G?O.get(this.ht??globalThis)?.get(this.G):this.G?.value}disconnected(){this.lt===this.ct&&this.rt(void 0)}reconnected(){this.rt(this.ct)}})},99121(t,r,s){s.d(r,{W:()=>c});var a=s(40173),n=s(26071);let o="important",l=" !"+o,c=(0,n.u$)(class extends n.WL{constructor(t){if(super(t),t.type!==n.OA.ATTRIBUTE||"style"!==t.name||t.strings?.length>2)throw Error("The `styleMap` directive must be used in the `style` attribute and must be the only part in the attribute.")}render(t){return Object.keys(t).reduce((r,s)=>{let a=t[s];return null==a?r:r+`${s=s.includes("-")?s:s.replace(/(?:^(webkit|moz|ms|o)|)(?=[A-Z])/g,"-$&").toLowerCase()}:${a};`},"")}update(t,[r]){let{style:s}=t.element;if(void 0===this.ft)return this.ft=new Set(Object.keys(r)),this.render(r);for(let t of this.ft)null==r[t]&&(this.ft.delete(t),t.includes("-")?s.removeProperty(t):s[t]=null);for(let t in r){let a=r[t];if(null!=a){this.ft.add(t);let r="string"==typeof a&&a.endsWith(l);t.includes("-")||r?s.setProperty(t,r?a.slice(0,-11):a,r?o:""):s[t]=a}}return a.c0}})},13260(t,r,s){s.d(r,{_:()=>o});var a=s(40173),n=s(26071);let e=class e extends n.WL{constructor(t){if(super(t),this.it=a.s6,t.type!==n.OA.CHILD)throw Error(this.constructor.directiveName+"() can only be used in child bindings")}render(t){if(t===a.s6||null==t)return this._t=void 0,this.it=t;if(t===a.c0)return t;if("string"!=typeof t)throw Error(this.constructor.directiveName+"() called with a non-string value");if(t===this.it)return this._t;this.it=t;let r=[t];return r.raw=r,this._t={_$litType$:this.constructor.resultType,strings:r,values:[]}}};e.directiveName="unsafeHTML",e.resultType=1;let o=(0,n.u$)(e)},86161(t,r,s){s.d(r,{AH:()=>a.AH,JW:()=>a.JW,WF:()=>a.WF,c0:()=>a.c0,mN:()=>a.mN,qy:()=>a.qy,s6:()=>a.s6}),s(47543),s(40173);var a=s(65228)},77278(t,s,a){function n(t,r,s=u.Debug){let a=`(Glean.${t})`;Array.isArray(r)?console[s](a,...r):console[s](a,r)}a.d(s,{w:()=>ee}),(h=u||(u={})).Debug="debug",h.Info="info",h.Warn="warn",h.Error="error",h.Trace="trace";let o="core.Context";let context_Context=class context_Context{constructor(){this.initialized=!1,this.testing=!1,this.supportedMetrics={},this.startTime=new Date}static get instance(){return context_Context._instance||(context_Context._instance=new context_Context),context_Context._instance}static testUninitialize(){context_Context._instance=void 0}static get uploadEnabled(){return void 0===context_Context.instance.uploadEnabled&&n(o,["Attempted to access Context.uploadEnabled before it was set. This may cause unexpected behaviour."],u.Trace),context_Context.instance.uploadEnabled}static set uploadEnabled(t){context_Context.instance.uploadEnabled=t}static get metricsDatabase(){return void 0===context_Context.instance.metricsDatabase&&n(o,["Attempted to access Context.metricsDatabase before it was set. This may cause unexpected behaviour."],u.Trace),context_Context.instance.metricsDatabase}static set metricsDatabase(t){context_Context.instance.metricsDatabase=t}static get eventsDatabase(){return void 0===context_Context.instance.eventsDatabase&&n(o,["Attempted to access Context.eventsDatabase before it was set. This may cause unexpected behaviour."],u.Trace),context_Context.instance.eventsDatabase}static set eventsDatabase(t){context_Context.instance.eventsDatabase=t}static get pingsDatabase(){return void 0===context_Context.instance.pingsDatabase&&n(o,["Attempted to access Context.pingsDatabase before it was set. This may cause unexpected behaviour."],u.Trace),context_Context.instance.pingsDatabase}static set pingsDatabase(t){context_Context.instance.pingsDatabase=t}static get errorManager(){return void 0===context_Context.instance.errorManager&&n(o,["Attempted to access Context.errorManager before it was set. This may cause unexpected behaviour."],u.Trace),context_Context.instance.errorManager}static set errorManager(t){context_Context.instance.errorManager=t}static get applicationId(){return void 0===context_Context.instance.applicationId&&n(o,["Attempted to access Context.applicationId before it was set. This may cause unexpected behaviour."],u.Trace),context_Context.instance.applicationId}static set applicationId(t){context_Context.instance.applicationId=t}static get initialized(){return context_Context.instance.initialized}static set initialized(t){context_Context.instance.initialized=t}static get config(){return void 0===context_Context.instance.config&&n(o,["Attempted to access Context.config before it was set. This may cause unexpected behaviour."],u.Trace),context_Context.instance.config}static set config(t){context_Context.instance.config=t}static get startTime(){return context_Context.instance.startTime}static get testing(){return context_Context.instance.testing}static set testing(t){context_Context.instance.testing=t}static get corePings(){return context_Context.instance.corePings}static set corePings(t){context_Context.instance.corePings=t}static get coreMetrics(){return context_Context.instance.coreMetrics}static set coreMetrics(t){context_Context.instance.coreMetrics=t}static set platform(t){context_Context.instance.platform=t}static get platform(){return void 0===context_Context.instance.platform&&n(o,["Attempted to access Context.platform before it was set. This may cause unexpected behaviour."],u.Trace),context_Context.instance.platform}static isPlatformSet(){return!!context_Context.instance.platform}static getSupportedMetric(t){return context_Context.instance.supportedMetrics[t]}static addSupportedMetric(t,r){t in context_Context.instance.supportedMetrics||(context_Context.instance.supportedMetrics[t]=r)}};let l=r("crypto");var c,d,h,u,p,m,O,b,v,y=a.n(l);let _={randomUUID:y().randomUUID},w=new Uint8Array(256),T=w.length,E=[];for(let t=0;t<256;++t)E.push((t+256).toString(16).slice(1));let x=function(t,r,s){if(_.randomUUID&&!r&&!t)return _.randomUUID();let a=(t=t||{}).random||(t.rng||function(){return T>w.length-16&&(y().randomFillSync(w),T=0),w.slice(T,T+=16)})();if(a[6]=15&a[6]|64,a[8]=63&a[8]|128,r){s=s||0;for(let t=0;t<16;++t)r[s+t]=a[t];return r}return function(t,r=0){return E[t[r+0]]+E[t[r+1]]+E[t[r+2]]+E[t[r+3]]+"-"+E[t[r+4]]+E[t[r+5]]+"-"+E[t[r+6]]+E[t[r+7]]+"-"+E[t[r+8]]+E[t[r+9]]+"-"+E[t[r+10]]+E[t[r+11]]+E[t[r+12]]+E[t[r+13]]+E[t[r+14]]+E[t[r+15]]}(a)};(c=p||(p={})).InvalidValue="invalid_value",c.InvalidLabel="invalid_label",c.InvalidState="invalid_state",c.InvalidOverflow="invalid_overflow",c.InvalidType="invalid_type",(d=m||(m={}))[d.Success=0]="Success",d[d.Error=1]="Error";let metric_MetricValidationError=class metric_MetricValidationError extends Error{constructor(t,r=p.InvalidType){super(t),this.type=r,this.name="MetricValidationError"}recordError(t){context_Context.errorManager.record(t,this.type,this.message)}};let Metric=class Metric{constructor(t){this.inner=this.validateOrThrow(t)}get(){return this.inner}set(t){this.inner=t}validateOrThrow(t){let r=this.validate(t);if(r.type===m.Error)throw new metric_MetricValidationError(r.errorMessage,r.errorType);return t}};function A(t){return"object"==typeof t&&null!==t&&t.constructor===Object}function C(t){return"string"==typeof t}function $(t){return"number"==typeof t&&!isNaN(t)}function P(){return"u">typeof crypto?x():"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(t){let r=16*Math.random()|0;return("x"==t?r:3&r|8).toString(16)})}function D(){return Math.round("u"<typeof performance?Date.now():performance.now())}function N(t,r="core.utils"){return!!context_Context.testing||(n(r,[`Attempted to access test only method \`${t||"unknown"}\`,`,"but Glean is not in testing mode. Ignoring. Make sure to put Glean in testing mode","before accessing such methods, by calling `testResetGlean`."],u.Error),!1)}let M=/^[a-z_][a-z0-9_-]{0,29}(\.[a-z_][a-z0-9_-]{0,29})*$/;let MetricType=class MetricType{constructor(t,r,s){s&&context_Context.addSupportedMetric(t,s),this.type=t,this.name=r.name,this.category=r.category,this.sendInPings=r.sendInPings,this.lifetime=r.lifetime,this.disabled=r.disabled,this.dynamicLabel=r.dynamicLabel}baseIdentifier(){return this.category.length>0?`${this.category}.${this.name}`:this.name}identifier(){let t=this.baseIdentifier();return void 0!==this.dynamicLabel?function(t){var r,s,a;if(void 0===t.dynamicLabel)throw Error("This point should never be reached.");let n=(r=t.baseIdentifier(),s=t.dynamicLabel,`${r}/${s}`);for(let r of t.sendInPings)if(context_Context.metricsDatabase.hasMetric(t.lifetime,r,t.type,n))return n;let o=0;for(let r of t.sendInPings)o+=context_Context.metricsDatabase.countByBaseIdentifier(t.lifetime,r,t.type,t.baseIdentifier());let l=!1;return o>=16?l=!0:t.dynamicLabel.length>61?(l=!0,context_Context.errorManager.record(t,p.InvalidLabel,`Label length ${t.dynamicLabel.length} exceeds maximum of 61.`)):M.test(t.dynamicLabel)||(l=!0,context_Context.errorManager.record(t,p.InvalidLabel,`Label must be snake_case, got '${t.dynamicLabel}'.`)),l?(a=t.baseIdentifier(),`${a}/__other__`):n}(this):t}shouldRecord(t){return t&&!this.disabled}testGetNumRecordedErrors(t,r=this.sendInPings[0]){return N("testGetNumRecordedErrors")?context_Context.errorManager.testGetNumRecordedErrors(this,t,r):0}};function Q(t){return C(t)?{type:m.Success}:{type:m.Error,errorMessage:`Expected string value, got ${JSON.stringify(t)}`}}var q=function(t,r,s,a,n){if("m"===a)throw TypeError("Private method is not writable");if("a"===a&&!n)throw TypeError("Private accessor was defined without a setter");if("function"==typeof r?t!==r||!n:!r.has(t))throw TypeError("Cannot write private member to an object whose class did not declare it");return"a"===a?n.call(t,s):n?n.value=s:r.set(t,s),s},B=function(t,r,s,a){if("a"===s&&!a)throw TypeError("Private accessor was defined without a getter");if("function"==typeof r?t!==r||!a:!r.has(t))throw TypeError("Cannot read private member from an object whose class did not declare it");return"m"===s?a:"a"===s?a.call(t):a?a.value:r.get(t)};let U=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;let UUIDMetric=class UUIDMetric extends Metric{constructor(t){super(t)}validate(t){let r=Q(t);return r.type===m.Error?r:U.test(t)?{type:m.Success}:{type:m.Error,errorMessage:`"${t}" is not a valid UUID`,errorType:p.InvalidValue}}payload(){return this.inner}};let InternalUUIDMetricType=class InternalUUIDMetricType extends MetricType{constructor(t){super("uuid",t,UUIDMetric)}set(t){let r;if(this.shouldRecord(context_Context.uploadEnabled)){t||(t=P());try{r=new UUIDMetric(t),context_Context.metricsDatabase.record(this,r)}catch(t){t instanceof metric_MetricValidationError&&t.recordError(this)}}}generateAndSet(){if(!this.shouldRecord(context_Context.uploadEnabled))return;let t=P();return this.set(t),t}testGetValue(t=this.sendInPings[0]){if(N("testGetValue","core.metrics.UUIDMetricType"))return context_Context.metricsDatabase.getMetric(t,this)}};let F=class{constructor(t){O.set(this,void 0),q(this,O,new InternalUUIDMetricType(t),"f")}set(t){B(this,O,"f").set(t)}generateAndSet(){return B(this,O,"f").generateAndSet()}testGetValue(t=B(this,O,"f").sendInPings[0]){return B(this,O,"f").testGetValue(t)}testGetNumRecordedErrors(t,r=B(this,O,"f").sendInPings[0]){return B(this,O,"f").testGetNumRecordedErrors(t,r)}};O=new WeakMap;let V=["#glean_execution_counter","#glean_reference_time"];let RecordedEvent=class RecordedEvent extends Metric{constructor(t){super(t)}static withTransformedExtras(t,r){let s=r(t.extra||{});return{category:t.category,name:t.name,timestamp:t.timestamp,extra:s&&Object.keys(s).length>0?s:void 0}}addExtra(t,r){this.inner.extra||(this.inner.extra={}),this.inner.extra[t]=r}withoutReservedExtras(){return RecordedEvent.withTransformedExtras(this.get(),t=>Object.keys(t).filter(t=>!V.includes(t)).reduce((r,s)=>(r[s]=t[s],r),{}))}validate(t){var r;if(!A(t))return{type:m.Error,errorMessage:`Expected Glean event object, got ${typeof t}`};let s="category"in t&&C(t.category),a="name"in t&&C(t.name);if(!s||!a)return{type:m.Error,errorMessage:`Unexpected value for "category" or "name" in event object: ${JSON.stringify(t)}`};if(!("timestamp"in t&&$(r=t.timestamp)&&Number.isInteger(r)&&t.timestamp>=0))return{type:m.Error,errorMessage:`Event timestamp must be a positive integer, got ${JSON.stringify(t)}`};if(t.extra){if(!A(t.extra))return{type:m.Error,errorMessage:`Expected Glean extras object, got ${typeof t}`};for(let[r,s]of Object.entries(t.extra)){let t=Q(r);if(t.type===m.Error)return t;if(!C(s)&&!$(s)&&"boolean"!=typeof s)return{type:m.Error,errorMessage:`Unexpected value for extra key ${r}: ${JSON.stringify(s)}`}}}return{type:m.Success}}payload(){return RecordedEvent.withTransformedExtras(this.withoutReservedExtras(),t=>Object.keys(t).reduce((r,s)=>(r[s]=t[s].toString(),r),{}))}};var G=function(t,r,s,a,n){if("m"===a)throw TypeError("Private method is not writable");if("a"===a&&!n)throw TypeError("Private accessor was defined without a setter");if("function"==typeof r?t!==r||!n:!r.has(t))throw TypeError("Cannot write private member to an object whose class did not declare it");return"a"===a?n.call(t,s):n?n.value=s:r.set(t,s),s},Z=function(t,r,s,a){if("a"===s&&!a)throw TypeError("Private accessor was defined without a getter");if("function"==typeof r?t!==r||!a:!r.has(t))throw TypeError("Cannot read private member from an object whose class did not declare it");return"m"===s?a:"a"===s?a.call(t):a?a.value:r.get(t)};let InternalEventMetricType=class InternalEventMetricType extends MetricType{constructor(t,r){super("event",t),this.allowedExtraKeys=r}record(t,r=D()){if(!this.shouldRecord(context_Context.uploadEnabled))return;let s=Date.now();try{let a=new RecordedEvent({category:this.category,name:this.name,timestamp:r,extra:t}),n={};if(t&&this.allowedExtraKeys)for(let[r,s]of Object.entries(t))if(this.allowedExtraKeys.includes(r))C(s)?n[r]=function(t,r){if(!C(r))throw new metric_MetricValidationError(`Expected string, got ${JSON.stringify(r)}`);let s=new TextEncoder,a=new TextDecoder("utf-8"),n=s.encode(r).slice(0,500),o=a.decode(n);return o!==r&&context_Context.errorManager.record(t,p.InvalidOverflow,`Value length ${new Blob([r]).size} exceeds maximum of ${r.length} bytes.`),o}(this,s):n[r]=s;else{context_Context.errorManager.record(this,p.InvalidValue,`Invalid key index: ${r}`);continue}n.glean_timestamp=s.toString(),a.set({...a.get(),extra:n}),context_Context.eventsDatabase.record(this,a)}catch(t){t instanceof metric_MetricValidationError&&t.recordError(this)}}testGetValue(t=this.sendInPings[0]){if(N("testGetValue","core.metrics.EventMetricType")){let r=context_Context.eventsDatabase.getEvents(t,this);return r&&r.forEach(t=>{t.extra&&(delete t.extra.glean_timestamp,0==Object.keys(t.extra).length&&(t.extra=void 0))}),r}}};let EventMetricType=class EventMetricType{constructor(t,r){b.set(this,void 0),G(this,b,new InternalEventMetricType(t,r),"f")}record(t){Z(this,b,"f").record(t)}testGetValue(t=Z(this,b,"f").sendInPings[0]){return Z(this,b,"f").testGetValue(t)}testGetNumRecordedErrors(t,r=Z(this,b,"f").sendInPings[0]){return Z(this,b,"f").testGetNumRecordedErrors(t,r)}};b=new WeakMap;let X="core.glean_metrics";var j=v||(v={});let Y={pageLoad:new EventMetricType({category:"glean",name:"page_load",sendInPings:["events"],lifetime:"ping",disabled:!1},["url","referrer","title"]),elementClick:new EventMetricType({category:"glean",name:"element_click",sendInPings:["events"],lifetime:"ping",disabled:!1},["id","type","label","url","referrer","title"]),pageId:new F({category:"glean",name:"page_id",sendInPings:["events"],lifetime:"application",disabled:!1})};function J(t){context_Context.initialized?Y.elementClick.record(t):n(X,"Attempted to record element click event before Glean was initialized. This is a no-op.",u.Warn)}j.pageLoad=function(t){var r,s,a;context_Context.initialized?(Y.pageId.generateAndSet(),Y.pageLoad.record({url:null!=(r=null==t?void 0:t.url)?r:"u">typeof window?window.location.href:"URL_NOT_PROVIDED_OR_AVAILABLE",referrer:null!=(s=null==t?void 0:t.referrer)?s:"u">typeof document?document.referrer:"REFERRER_NOT_PROVIDED_OR_AVAILABLE",title:null!=(a=null==t?void 0:t.title)?a:"u">typeof document?document.title:"TITLE_NOT_PROVIDED_OR_AVAILABLE"})):n(X,"Attempted to record a page load event before Glean was initialized. This is a no-op.",u.Warn)},j.handleClickEvent=function(t){let r,s=t.target.closest("[data-glean-id], [data-glean-type], [data-glean-label]");s&&J({...(r=s.dataset).gleanId&&{id:r.gleanId},...r.gleanType&&{type:r.gleanType},...r.gleanLabel&&{label:r.gleanLabel},url:"u">typeof window?window.location.href:"URL_NOT_PROVIDED_OR_AVAILABLE",referrer:"u">typeof document?document.referrer:"REFERRER_NOT_PROVIDED_OR_AVAILABLE",title:"u">typeof document?document.title:"TITLE_NOT_PROVIDED_OR_AVAILABLE"})},j.recordElementClick=J;let K=v;function ee(t){K.recordElementClick({id:t,url:globalThis.location.href,referrer:document.referrer,title:document.title})}},14632(t,r,s){s.d(r,{o:()=>a});function a(t,r){let s=t.replaceAll("_"," ").split("/").filter(t=>!["",r,"docs"].includes(t));return(s=s.map(t=>"API"===t?"Web APIs":t)).length>1&&"Web"===s.at(0)&&s.splice(0,1),s.length>1&&s.splice(-1,1),s.join(" / ")}}},c={};function d(t){var r=c[t];if(void 0!==r)return r.exports;var s=c[t]={id:t,loaded:!1,exports:{}};return l[t].call(s.exports,s,s.exports,d),s.loaded=!0,s.exports}d.m=l,d.n=t=>{var r=t&&t.__esModule?()=>t.default:()=>t;return d.d(r,{a:r}),r},a=Object.getPrototypeOf?t=>Object.getPrototypeOf(t):t=>t.__proto__,d.t=function(t,r){if(1&r&&(t=this(t)),8&r||"object"==typeof t&&t&&(4&r&&t.__esModule||16&r&&"function"==typeof t.then))return t;var n=Object.create(null);d.r(n);var o={};s=s||[null,a({}),a([]),a(a)];for(var l=2&r&&t;("object"==typeof l||"function"==typeof l)&&!~s.indexOf(l);l=a(l))Object.getOwnPropertyNames(l).forEach(r=>{o[r]=()=>t[r]});return o.default=()=>t,d.d(n,o),n},d.d=(t,r)=>{for(var s in r)d.o(r,s)&&!d.o(t,s)&&Object.defineProperty(t,s,{enumerable:!0,get:r[s]})},d.f={},d.e=t=>Promise.all(Object.keys(d.f).reduce((r,s)=>(d.f[s](t,r),r),[])),d.k=t=>""+t+".css",d.u=t=>""+(({1023:"prism-sas-js",105:"prism-kotlin-js",1052:"prism-web-idl-js",1074:"prism-cooklang-js",1148:"prism-stylus-js",1163:"prism-julia-js",1198:"prism-uri-js",1209:"prism-llvm-js",1211:"prism-lilypond-js",1230:"prism-verilog-js",1234:"prism-io-js",1243:"prism-idris-js",1353:"prism-rip-js",1379:"prism-linker-script-js",1384:"prism-ada-js",1436:"prism-openqasm-js",1488:"prism-clojure-js",1594:"prism-clike-js",1614:"prism-basic-js",1656:"prism-git-js",167:"prism-bqn-js",17:"prism-brainfuck-js",1729:"prism-wgsl-js",1742:"prism-j-js",1754:"prism-avisynth-js",181:"prism-monkey-js",1855:"prism-hpkp-js",1888:"prism-purebasic-js",1897:"prism-javastacktrace-js",1917:"prism-solidity-js",1957:"prism-actionscript-js",1971:"prism-coq-js",2006:"prism-oz-js",2046:"prism-gherkin-js",2256:"prism-rescript-js",2317:"prism-antlr4-js",2326:"prism-javadoc-js",2328:"prism-batch-js",2381:"prism-cue-js",2396:"prism-turtle-js",2422:"prism-bnf-js",2439:"prism-naniscript-js",2443:"prism-javascript-js",2500:"prism-chaiscript-js",2538:"prism-jsonp-js",2548:"prism-rest-js",2555:"prism-nsis-js",2578:"prism-smarty-js",2647:"prism-arturo-js",2649:"prism-nasm-js",2727:"prism-splunk-spl-js",276:"prism-iecst-js",2770:"prism-zig-js",2812:"prism-solution-file-js",2890:"prism-csp-js",2964:"prism-uorazor-js",2966:"prism-r-js",2988:"prism-wren-js",3026:"prism-wiki-js",3076:"prism-wolfram-js",3100:"prism-nim-js",3141:"prism-ichigojam-js",3150:"prism-apacheconf-js",3157:"prism-css-extras-js",3172:"prism-cil-js",3201:"prism-jq-js",3298:"prism-ftl-js",3310:"prism-lisp-js",3323:"prism-dns-zone-file-js",3396:"prism-excel-formula-js",3503:"prism-abnf-js",3522:"prism-hoon-js",3535:"prism-awk-js",3543:"prism-t4-cs-js",357:"prism-less-js",3621:"prism-applescript-js",3634:"prism-lua-js",367:"prism-yaml-js",3695:"prism-django-js",3725:"prism-al-js",3733:"prism-regex-js",3755:"prism-bsl-js",3798:"prism-renpy-js",3805:"prism-shell-session-js",3855:"prism-gradle-js",3857:"prism-vbnet-js",3864:"prism-phpdoc-js",391:"prism-protobuf-js",3997:"prism-dot-js",4008:"prism-kumir-js",4054:"prism-pascal-js",4068:"prism-asm6502-js",418:"prism-systemd-js",4203:"prism-diff-js",4213:"prism-warpscript-js",4227:"prism-scheme-js",4270:"prism-docker-js",4275:"prism-cpp-js",4334:"prism-bbj-js",4338:"prism-dhall-js",4342:"prism-ini-js",4431:"prism-rego-js",4448:"prism-smali-js",4461:"prism-bicep-js",4468:"prism-ejs-js",4479:"prism-hlsl-js",4492:"prism-bash-js",450:"prism-haxe-js",4522:"prism-plant-uml-js",453:"prism-apex-js",4531:"prism-svelte",4550:"prism-flow-js",4555:"prism-agda-js",463:"prism-js-extras-js",4637:"prism-icon-js",4667:"prism-textile-js",4670:"prism-inform7-js",4704:"prism-ignore-js",4750:"prism-markup-js",4813:"prism-nand2tetris-hdl-js",4832:"prism-racket-js",4854:"prism-pcaxis-js",4896:"prism-haml-js",4911:"prism-bro-js",4922:"prism-v-js",4975:"prism-icu-message-format-js",5087:"prism-core-js",5091:"prism-velocity-js",5128:"prism-pug-js",5166:"prism-markup-templating-js",5169:"prism-cobol-js",5173:"prism-typoscript-js",52:"prism-vim-js",5249:"prism-parigp-js",5414:"prism-lolcode-js",5503:"prism-squirrel-js",5538:"prism-asmatmel-js",5547:"prism-dax-js",5549:"prism-hcl-js",5582:"prism-n4js-js",56:"prism-arduino-js",5607:"prism-rust-js",5616:"prism-json-js",5637:"prism-psl-js",5747:"prism-stata-js",5781:"prism-twig-js",5826:"prism-objectivec-js",585:"prism-tremor-js",5899:"prism-cypher-js",5901:"prism-css-js",606:"prism-dataweave-js",6069:"prism-cmake-js",6071:"prism-maxscript-js",6141:"prism-gettext-js",6187:"prism-brightscript-js",6206:"prism-qml-js",6241:"prism-tcl-js",6253:"prism-bison-js",6267:"prism-parser-js",6273:"prism-mizar-js",6290:"prism-robotframework-js",6363:"prism-visual-basic-js",6368:"prism-ocaml-js",638:"prism-php-extras-js",6444:"prism-groovy-js",6459:"prism-powerquery-js",6476:"prism-puppet-js",6502:"prism-stan-js",6517:"prism-apl-js",6588:"prism-php-js",6616:"prism-roboconf-js",6673:"prism-purescript-js",6677:"prism-livescript-js",6680:"prism-go-js",6712:"prism-autoit-js",6724:"prism-cfscript-js",6730:"prism-crystal-js",6732:"prism-csv-js",6745:"prism-gedcom-js",677:"prism-powershell-js",681:"prism-qore-js",6833:"prism-bbcode-js",6862:"prism-sqf-js",6870:"prism-cilkc-js",6880:"prism-peoplecode-js",6890:"prism-xml-doc-js",6912:"prism-moonscript-js",6918:"prism-http-js",6930:"prism-mongodb-js",6936:"prism-eiffel-js",6962:"prism-makefile-js",701:"prism-mermaid-js",7026:"prism-odin-js",7043:"prism-json5-js",7059:"prism-csharp-js",7086:"prism-cilkcpp-js",710:"prism-metafont-js",7151:"prism-go-module-js",7190:"prism-nevod-js",7212:"prism-nginx-js",7245:"prism-jolie-js",7250:"prism-latte-js",7257:"prism-markdown-js",7270:"prism-tt2-js",7292:"prism-sql-js",7294:"prism-xquery-js",738:"prism-glsl-js",7407:"prism-magma-js",7408:"prism-sml-js",751:"prism-coffeescript-js",7517:"prism-supercollider-js",753:"prism-jsdoc-js",7557:"prism-perl-js",7645:"prism-birb-js",7714:"prism-hsts-js",7723:"prism-smalltalk-js",7790:"prism-firestore-security-rules-js",7851:"prism-elixir-js",7877:"prism-swift-js",7903:"prism-asciidoc-js",7907:"prism-typescript-js",7988:"prism-python-js",7993:"prism-properties-js",8013:"prism-nix-js",8036:"prism-keepalived-js",8037:"prism-dart-js",805:"prism-qsharp-js",8062:"prism-n1ql-js",8078:"prism-liquid-js",8094:"prism-handlebars-js",810:"prism-scss-js",8101:"prism-keyman-js",8137:"prism-q-js",8139:"prism-soy-js",8168:"prism-vhdl-js",8171:"prism-ebnf-js",8187:"prism-erlang-js",8204:"prism-kusto-js",8254:"prism-wasm-js",8262:"prism-gdscript-js",8311:"prism-javadoclike-js",8336:"prism-d-js",8338:"prism-mel-js",8390:"prism-java-js",8392:"prism-latex-js",84:"prism-sass-js",8411:"prism-etlua-js",8452:"prism-gml-js",8456:"prism-elm-js",8468:"prism-haskell-js",8474:"prism-reason-js",8510:"prism-ruby-js",8526:"prism-fortran-js",8544:"prism-abap-js",8549:"prism-js-templates-js",8584:"prism-xojo-js",8588:"prism-avro-idl-js",86:"prism-t4-templating-js",8615:"prism-processing-js",8677:"prism-tsx-js",8763:"prism-aspnet-js",883:"prism-promql-js",8848:"prism-pure-js",8865:"prism-mata-js",8867:"prism-c-js",8889:"prism-erb-js",8965:"prism-gn-js",8997:"prism-t4-vb-js",9021:"prism-sparql-js",9063:"prism-arff-js",9122:"prism-aql-js",9172:"prism-jsstacktrace-js",918:"prism-neon-js",9205:"prism-autohotkey-js",9273:"prism-yang-js",928:"prism-plsql-js",9319:"prism-factor-js",9326:"prism-scala-js",9328:"prism-fsharp-js",9381:"prism-false-js",9468:"prism-gap-js",9543:"prism-opencl-js",9559:"prism-jsx-js",9570:"prism-log-js",9625:"prism-matlab-js",9686:"prism-toml-js",9692:"prism-concurnas-js",9723:"prism-graphql-js",9763:"prism-pascaligo-js",9787:"prism-prolog-js",98:"prism-unrealscript-js",9864:"prism-gcode-js",9908:"prism-vala-js",991:"prism-cshtml-js",9911:"prism-editorconfig-js",9939:"prism-tap-js",9949:"prism-armasm-js",9967:"prism-xeora-js",9985:"prism-jexl-js"})[t]||t)+".js",d.o=(t,r)=>Object.prototype.hasOwnProperty.call(t,r),d.r=t=>{"u">typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},d.nmd=t=>(t.paths=[],t.children||(t.children=[]),t),d.p="/static/ssr/",d.U=function(t){var r=new URL(t,"x:/"),s={};for(var a in r)s[a]=r[a];for(var a in s.href=t,s.pathname=t.replace(/[?#].*/,""),s.origin=s.protocol="",s.toString=s.toJSON=()=>t,s)Object.defineProperty(this,a,{enumerable:!0,configurable:!0,value:s[a]})},d.U.prototype=URL.prototype,n={8410:0},o=t=>{var r,s,a=t.__rspack_esm_ids,o=t.__webpack_modules__,l=t.__rspack_esm_runtime,c=0;for(r in o)d.o(o,r)&&(d.m[r]=o[r]);for(l&&l(d);c<a.length;c++)s=a[c],d.o(n,s)&&n[s]&&n[s][0](),n[a[c]]=0},d.f.j=function(t,r){var s=d.o(n,t)?n[t]:void 0;if(0!==s)if(s)r.push(s[1]);else{var a=import("./"+d.u(t)).then(o,r=>{throw 0!==n[t]&&(n[t]=void 0),r}),a=Promise.race([a,new Promise(r=>{s=n[t]=[r]})]);r.push(s[1]=a)}},d(612),d(54842),d(24838),d(84352),d(1355),d(55269),d(96678),d(72301),d(28631),d(23082),d(38262),d(52500),d(58623),d(27373),d(47706),d(81505),d(37511),d(18977),d(89854),d(49979),d(77108),d(64786),d(47849),d(70242),d(14903),d(2622),d(17547),d(50117),d(1879),d(37077),d(14416),d(56538),d(13430),d(7895),d(13755),d(44394),d(47764),d(57468),d(9951),d(71787),d(23731),d(51836),d(14006),d(14652),d(20141),d(95821),d(55237),d(43602),d(23745),d(97154),d(83703),d(62512),d(41798),d(70134),d(27486),d(48125),d(76706),d(51310),d(14925);var h=d(9849),u=h.X,p=h.n;export{u as render,p as renderSimplified};
|
|
4193
|
+
\f\r"'\`<>=]|("|')|))|$)`,"g"),x=/'/g,A=/"/g,C=/^(?:script|style|textarea|title)$/i,$=t=>(r,...s)=>({_$litType$:t,strings:r,values:s}),P=$(1),D=$(2),N=$(3),M=Symbol.for("lit-noChange"),Q=Symbol.for("lit-nothing"),q=new WeakMap,B=p.createTreeWalker(p,129);function U(t,r){if(!b(t)||!t.hasOwnProperty("raw"))throw Error("invalid template strings array");return void 0!==l?l.createHTML(r):r}let F=(t,r)=>{let s=t.length-1,a=[],n,o=2===r?"<svg>":3===r?"<math>":"",l=_;for(let r=0;r<s;r++){let s=t[r],h,p,m=-1,O=0;for(;O<s.length&&(l.lastIndex=O,null!==(p=l.exec(s)));)O=l.lastIndex,l===_?"!--"===p[1]?l=w:void 0!==p[1]?l=T:void 0!==p[2]?(C.test(p[2])&&(n=RegExp("</"+p[2],"g")),l=E):void 0!==p[3]&&(l=E):l===E?">"===p[0]?(l=n??_,m=-1):void 0===p[1]?m=-2:(m=l.lastIndex-p[2].length,h=p[1],l=void 0===p[3]?E:'"'===p[3]?A:x):l===A||l===x?l=E:l===w||l===T?l=_:(l=E,n=void 0);let b=l===E&&t[r+1].startsWith("/>")?" ":"";o+=l===_?s+u:m>=0?(a.push(h),s.slice(0,m)+c+s.slice(m)+d+b):s+d+(-2===m?r:b)}return[U(t,o+(t[s]||"<?>")+(2===r?"</svg>":3===r?"</math>":"")),a]};let S=class S{constructor({strings:t,_$litType$:r},s){let a;this.parts=[];let n=0,l=0,u=t.length-1,p=this.parts,[O,b]=F(t,r);if(this.el=S.createElement(O,s),B.currentNode=this.el.content,2===r||3===r){let t=this.el.content.firstChild;t.replaceWith(...t.childNodes)}for(;null!==(a=B.nextNode())&&p.length<u;){if(1===a.nodeType){if(a.hasAttributes())for(let t of a.getAttributeNames())if(t.endsWith(c)){let r=b[l++],s=a.getAttribute(t).split(d),o=/([.?@])?(.*)/.exec(r);p.push({type:1,index:n,name:o[2],strings:s,ctor:"."===o[1]?I:"?"===o[1]?L:"@"===o[1]?z:H}),a.removeAttribute(t)}else t.startsWith(d)&&(p.push({type:6,index:n}),a.removeAttribute(t));if(C.test(a.tagName)){let t=a.textContent.split(d),r=t.length-1;if(r>0){a.textContent=o?o.emptyScript:"";for(let s=0;s<r;s++)a.append(t[s],m()),B.nextNode(),p.push({type:2,index:++n});a.append(t[r],m())}}}else if(8===a.nodeType)if(a.data===h)p.push({type:2,index:n});else{let t=-1;for(;-1!==(t=a.data.indexOf(d,t+1));)p.push({type:7,index:n}),t+=d.length-1}n++}}static createElement(t,r){let s=p.createElement("template");return s.innerHTML=t,s}};function V(t,r,s=t,a){if(r===M)return r;let n=void 0!==a?s._$Co?.[a]:s._$Cl,o=O(r)?void 0:r._$litDirective$;return n?.constructor!==o&&(n?._$AO?.(!1),void 0===o?n=void 0:(n=new o(t))._$AT(t,s,a),void 0!==a?(s._$Co??=[])[a]=n:s._$Cl=n),void 0!==n&&(r=V(t,n._$AS(t,r.values),n,a)),r}let k=class k{constructor(t,r){this._$AV=[],this._$AN=void 0,this._$AD=t,this._$AM=r}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(t){let{el:{content:r},parts:s}=this._$AD,a=(t?.creationScope??p).importNode(r,!0);B.currentNode=a;let n=B.nextNode(),o=0,l=0,c=s[0];for(;void 0!==c;){if(o===c.index){let r;2===c.type?r=new R(n,n.nextSibling,this,t):1===c.type?r=new c.ctor(n,c.name,c.strings,this,t):6===c.type&&(r=new W(n,this,t)),this._$AV.push(r),c=s[++l]}o!==c?.index&&(n=B.nextNode(),o++)}return B.currentNode=p,a}p(t){let r=0;for(let s of this._$AV)void 0!==s&&(void 0!==s.strings?(s._$AI(t,s,r),r+=s.strings.length-2):s._$AI(t[r])),r++}};let R=class R{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(t,r,s,a){this.type=2,this._$AH=Q,this._$AN=void 0,this._$AA=t,this._$AB=r,this._$AM=s,this.options=a,this._$Cv=a?.isConnected??!0}get parentNode(){let t=this._$AA.parentNode,r=this._$AM;return void 0!==r&&11===t?.nodeType&&(t=r.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,r=this){O(t=V(this,t,r))?t===Q||null==t||""===t?(this._$AH!==Q&&this._$AR(),this._$AH=Q):t!==this._$AH&&t!==M&&this._(t):void 0!==t._$litType$?this.$(t):void 0!==t.nodeType?this.T(t):v(t)?this.k(t):this._(t)}O(t){return this._$AA.parentNode.insertBefore(t,this._$AB)}T(t){this._$AH!==t&&(this._$AR(),this._$AH=this.O(t))}_(t){this._$AH!==Q&&O(this._$AH)?this._$AA.nextSibling.data=t:this.T(p.createTextNode(t)),this._$AH=t}$(t){let{values:r,_$litType$:s}=t,a="number"==typeof s?this._$AC(t):(void 0===s.el&&(s.el=S.createElement(U(s.h,s.h[0]),this.options)),s);if(this._$AH?._$AD===a)this._$AH.p(r);else{let t=new k(a,this),s=t.u(this.options);t.p(r),this.T(s),this._$AH=t}}_$AC(t){let r=q.get(t.strings);return void 0===r&&q.set(t.strings,r=new S(t)),r}k(t){b(this._$AH)||(this._$AH=[],this._$AR());let r=this._$AH,s,a=0;for(let n of t)a===r.length?r.push(s=new R(this.O(m()),this.O(m()),this,this.options)):s=r[a],s._$AI(n),a++;a<r.length&&(this._$AR(s&&s._$AB.nextSibling,a),r.length=a)}_$AR(t=this._$AA.nextSibling,r){for(this._$AP?.(!1,!0,r);t!==this._$AB;){let r=n(t).nextSibling;n(t).remove(),t=r}}setConnected(t){void 0===this._$AM&&(this._$Cv=t,this._$AP?.(t))}};let H=class H{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(t,r,s,a,n){this.type=1,this._$AH=Q,this._$AN=void 0,this.element=t,this.name=r,this._$AM=a,this.options=n,s.length>2||""!==s[0]||""!==s[1]?(this._$AH=Array(s.length-1).fill(new String),this.strings=s):this._$AH=Q}_$AI(t,r=this,s,a){let n=this.strings,o=!1;if(void 0===n)(o=!O(t=V(this,t,r,0))||t!==this._$AH&&t!==M)&&(this._$AH=t);else{let a,l,c=t;for(t=n[0],a=0;a<n.length-1;a++)(l=V(this,c[s+a],r,a))===M&&(l=this._$AH[a]),o||=!O(l)||l!==this._$AH[a],l===Q?t=Q:t!==Q&&(t+=(l??"")+n[a+1]),this._$AH[a]=l}o&&!a&&this.j(t)}j(t){t===Q?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,t??"")}};let I=class I extends H{constructor(){super(...arguments),this.type=3}j(t){this.element[this.name]=t===Q?void 0:t}};let L=class L extends H{constructor(){super(...arguments),this.type=4}j(t){this.element.toggleAttribute(this.name,!!t&&t!==Q)}};let z=class z extends H{constructor(t,r,s,a,n){super(t,r,s,a,n),this.type=5}_$AI(t,r=this){if((t=V(this,t,r,0)??Q)===M)return;let s=this._$AH,a=t===Q&&s!==Q||t.capture!==s.capture||t.once!==s.once||t.passive!==s.passive,n=t!==Q&&(s===Q||a);a&&this.element.removeEventListener(this.name,this,s),n&&this.element.addEventListener(this.name,this,t),this._$AH=t}handleEvent(t){"function"==typeof this._$AH?this._$AH.call(this.options?.host??this.element,t):this._$AH.handleEvent(t)}};let W=class W{constructor(t,r,s){this.element=t,this.type=6,this._$AN=void 0,this._$AM=r,this.options=s}get _$AU(){return this._$AM._$AU}_$AI(t){V(this,t)}};let G={M:c,P:d,A:h,C:1,L:F,R:k,D:v,V:V,I:R,H,N:L,U:z,B:I,F:W},Z=a.litHtmlPolyfillSupport;Z?.(S,R),(a.litHtmlVersions??=[]).push("3.3.2");let X=(t,r,s)=>{let a=s?.renderBefore??r,n=a._$litPart$;if(void 0===n){let t=s?.renderBefore??null;a._$litPart$=n=new R(r.insertBefore(m(),t),t,void 0,s??{})}return n._$AI(t),n}},95089(t,r,s){s.d(r,{J:()=>n});var a=s(40173);let n=t=>t??a.s6},52706(t,r,s){s.d(r,{K:()=>b,_:()=>m});var a=s(40173),n=s(91223),o=s(26071);let l=(t,r)=>{let s=t._$AN;if(void 0===s)return!1;for(let t of s)t._$AO?.(r,!1),l(t,r);return!0},c=t=>{let r,s;do{if(void 0===(r=t._$AM))break;(s=r._$AN).delete(t),t=r}while(0===s?.size)},d=t=>{for(let r;r=t._$AM;t=r){let s=r._$AN;if(void 0===s)r._$AN=s=new Set;else if(s.has(t))break;s.add(t),p(r)}};function h(t){void 0!==this._$AN?(c(this),this._$AM=t,d(this)):this._$AM=t}function u(t,r=!1,s=0){let a=this._$AH,n=this._$AN;if(void 0!==n&&0!==n.size)if(r)if(Array.isArray(a))for(let t=s;t<a.length;t++)l(a[t],!1),c(a[t]);else null!=a&&(l(a,!1),c(a));else l(this,t)}let p=t=>{t.type==o.OA.CHILD&&(t._$AP??=u,t._$AQ??=h)};let f=class f extends o.WL{constructor(){super(...arguments),this._$AN=void 0}_$AT(t,r,s){super._$AT(t,r,s),d(this),this.isConnected=t._$AU}_$AO(t,r=!0){t!==this.isConnected&&(this.isConnected=t,t?this.reconnected?.():this.disconnected?.()),r&&(l(this,t),c(this))}setValue(t){if((0,n.Rt)(this._$Ct))this._$Ct._$AI(t,this);else{let r=[...this._$Ct._$AH];r[this._$Ci]=t,this._$Ct._$AI(r,this,0)}}disconnected(){}reconnected(){}};let m=()=>new ref_h;let ref_h=class ref_h{};let O=new WeakMap,b=(0,o.u$)(class extends f{render(t){return a.s6}update(t,[r]){let s=r!==this.G;return s&&void 0!==this.G&&this.rt(void 0),(s||this.lt!==this.ct)&&(this.G=r,this.ht=t.options?.host,this.rt(this.ct=t.element)),a.s6}rt(t){if(this.isConnected||(t=void 0),"function"==typeof this.G){let r=this.ht??globalThis,s=O.get(r);void 0===s&&(s=new WeakMap,O.set(r,s)),void 0!==s.get(this.G)&&this.G.call(this.ht,void 0),s.set(this.G,t),void 0!==t&&this.G.call(this.ht,t)}else this.G.value=t}get lt(){return"function"==typeof this.G?O.get(this.ht??globalThis)?.get(this.G):this.G?.value}disconnected(){this.lt===this.ct&&this.rt(void 0)}reconnected(){this.rt(this.ct)}})},99121(t,r,s){s.d(r,{W:()=>c});var a=s(40173),n=s(26071);let o="important",l=" !"+o,c=(0,n.u$)(class extends n.WL{constructor(t){if(super(t),t.type!==n.OA.ATTRIBUTE||"style"!==t.name||t.strings?.length>2)throw Error("The `styleMap` directive must be used in the `style` attribute and must be the only part in the attribute.")}render(t){return Object.keys(t).reduce((r,s)=>{let a=t[s];return null==a?r:r+`${s=s.includes("-")?s:s.replace(/(?:^(webkit|moz|ms|o)|)(?=[A-Z])/g,"-$&").toLowerCase()}:${a};`},"")}update(t,[r]){let{style:s}=t.element;if(void 0===this.ft)return this.ft=new Set(Object.keys(r)),this.render(r);for(let t of this.ft)null==r[t]&&(this.ft.delete(t),t.includes("-")?s.removeProperty(t):s[t]=null);for(let t in r){let a=r[t];if(null!=a){this.ft.add(t);let r="string"==typeof a&&a.endsWith(l);t.includes("-")||r?s.setProperty(t,r?a.slice(0,-11):a,r?o:""):s[t]=a}}return a.c0}})},13260(t,r,s){s.d(r,{_:()=>o});var a=s(40173),n=s(26071);let e=class e extends n.WL{constructor(t){if(super(t),this.it=a.s6,t.type!==n.OA.CHILD)throw Error(this.constructor.directiveName+"() can only be used in child bindings")}render(t){if(t===a.s6||null==t)return this._t=void 0,this.it=t;if(t===a.c0)return t;if("string"!=typeof t)throw Error(this.constructor.directiveName+"() called with a non-string value");if(t===this.it)return this._t;this.it=t;let r=[t];return r.raw=r,this._t={_$litType$:this.constructor.resultType,strings:r,values:[]}}};e.directiveName="unsafeHTML",e.resultType=1;let o=(0,n.u$)(e)},86161(t,r,s){s.d(r,{AH:()=>a.AH,JW:()=>a.JW,WF:()=>a.WF,c0:()=>a.c0,mN:()=>a.mN,qy:()=>a.qy,s6:()=>a.s6}),s(47543),s(40173);var a=s(65228)},77278(t,s,a){function n(t,r,s=u.Debug){let a=`(Glean.${t})`;Array.isArray(r)?console[s](a,...r):console[s](a,r)}a.d(s,{w:()=>ee}),(h=u||(u={})).Debug="debug",h.Info="info",h.Warn="warn",h.Error="error",h.Trace="trace";let o="core.Context";let context_Context=class context_Context{constructor(){this.initialized=!1,this.testing=!1,this.supportedMetrics={},this.startTime=new Date}static get instance(){return context_Context._instance||(context_Context._instance=new context_Context),context_Context._instance}static testUninitialize(){context_Context._instance=void 0}static get uploadEnabled(){return void 0===context_Context.instance.uploadEnabled&&n(o,["Attempted to access Context.uploadEnabled before it was set. This may cause unexpected behaviour."],u.Trace),context_Context.instance.uploadEnabled}static set uploadEnabled(t){context_Context.instance.uploadEnabled=t}static get metricsDatabase(){return void 0===context_Context.instance.metricsDatabase&&n(o,["Attempted to access Context.metricsDatabase before it was set. This may cause unexpected behaviour."],u.Trace),context_Context.instance.metricsDatabase}static set metricsDatabase(t){context_Context.instance.metricsDatabase=t}static get eventsDatabase(){return void 0===context_Context.instance.eventsDatabase&&n(o,["Attempted to access Context.eventsDatabase before it was set. This may cause unexpected behaviour."],u.Trace),context_Context.instance.eventsDatabase}static set eventsDatabase(t){context_Context.instance.eventsDatabase=t}static get pingsDatabase(){return void 0===context_Context.instance.pingsDatabase&&n(o,["Attempted to access Context.pingsDatabase before it was set. This may cause unexpected behaviour."],u.Trace),context_Context.instance.pingsDatabase}static set pingsDatabase(t){context_Context.instance.pingsDatabase=t}static get errorManager(){return void 0===context_Context.instance.errorManager&&n(o,["Attempted to access Context.errorManager before it was set. This may cause unexpected behaviour."],u.Trace),context_Context.instance.errorManager}static set errorManager(t){context_Context.instance.errorManager=t}static get applicationId(){return void 0===context_Context.instance.applicationId&&n(o,["Attempted to access Context.applicationId before it was set. This may cause unexpected behaviour."],u.Trace),context_Context.instance.applicationId}static set applicationId(t){context_Context.instance.applicationId=t}static get initialized(){return context_Context.instance.initialized}static set initialized(t){context_Context.instance.initialized=t}static get config(){return void 0===context_Context.instance.config&&n(o,["Attempted to access Context.config before it was set. This may cause unexpected behaviour."],u.Trace),context_Context.instance.config}static set config(t){context_Context.instance.config=t}static get startTime(){return context_Context.instance.startTime}static get testing(){return context_Context.instance.testing}static set testing(t){context_Context.instance.testing=t}static get corePings(){return context_Context.instance.corePings}static set corePings(t){context_Context.instance.corePings=t}static get coreMetrics(){return context_Context.instance.coreMetrics}static set coreMetrics(t){context_Context.instance.coreMetrics=t}static set platform(t){context_Context.instance.platform=t}static get platform(){return void 0===context_Context.instance.platform&&n(o,["Attempted to access Context.platform before it was set. This may cause unexpected behaviour."],u.Trace),context_Context.instance.platform}static isPlatformSet(){return!!context_Context.instance.platform}static getSupportedMetric(t){return context_Context.instance.supportedMetrics[t]}static addSupportedMetric(t,r){t in context_Context.instance.supportedMetrics||(context_Context.instance.supportedMetrics[t]=r)}};let l=r("crypto");var c,d,h,u,p,m,O,b,v,y=a.n(l);let _={randomUUID:y().randomUUID},w=new Uint8Array(256),T=w.length,E=[];for(let t=0;t<256;++t)E.push((t+256).toString(16).slice(1));let x=function(t,r,s){if(_.randomUUID&&!r&&!t)return _.randomUUID();let a=(t=t||{}).random||(t.rng||function(){return T>w.length-16&&(y().randomFillSync(w),T=0),w.slice(T,T+=16)})();if(a[6]=15&a[6]|64,a[8]=63&a[8]|128,r){s=s||0;for(let t=0;t<16;++t)r[s+t]=a[t];return r}return function(t,r=0){return E[t[r+0]]+E[t[r+1]]+E[t[r+2]]+E[t[r+3]]+"-"+E[t[r+4]]+E[t[r+5]]+"-"+E[t[r+6]]+E[t[r+7]]+"-"+E[t[r+8]]+E[t[r+9]]+"-"+E[t[r+10]]+E[t[r+11]]+E[t[r+12]]+E[t[r+13]]+E[t[r+14]]+E[t[r+15]]}(a)};(c=p||(p={})).InvalidValue="invalid_value",c.InvalidLabel="invalid_label",c.InvalidState="invalid_state",c.InvalidOverflow="invalid_overflow",c.InvalidType="invalid_type",(d=m||(m={}))[d.Success=0]="Success",d[d.Error=1]="Error";let metric_MetricValidationError=class metric_MetricValidationError extends Error{constructor(t,r=p.InvalidType){super(t),this.type=r,this.name="MetricValidationError"}recordError(t){context_Context.errorManager.record(t,this.type,this.message)}};let Metric=class Metric{constructor(t){this.inner=this.validateOrThrow(t)}get(){return this.inner}set(t){this.inner=t}validateOrThrow(t){let r=this.validate(t);if(r.type===m.Error)throw new metric_MetricValidationError(r.errorMessage,r.errorType);return t}};function A(t){return"object"==typeof t&&null!==t&&t.constructor===Object}function C(t){return"string"==typeof t}function $(t){return"number"==typeof t&&!isNaN(t)}function P(){return"u">typeof crypto?x():"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(t){let r=16*Math.random()|0;return("x"==t?r:3&r|8).toString(16)})}function D(){return Math.round("u"<typeof performance?Date.now():performance.now())}function N(t,r="core.utils"){return!!context_Context.testing||(n(r,[`Attempted to access test only method \`${t||"unknown"}\`,`,"but Glean is not in testing mode. Ignoring. Make sure to put Glean in testing mode","before accessing such methods, by calling `testResetGlean`."],u.Error),!1)}let M=/^[a-z_][a-z0-9_-]{0,29}(\.[a-z_][a-z0-9_-]{0,29})*$/;let MetricType=class MetricType{constructor(t,r,s){s&&context_Context.addSupportedMetric(t,s),this.type=t,this.name=r.name,this.category=r.category,this.sendInPings=r.sendInPings,this.lifetime=r.lifetime,this.disabled=r.disabled,this.dynamicLabel=r.dynamicLabel}baseIdentifier(){return this.category.length>0?`${this.category}.${this.name}`:this.name}identifier(){let t=this.baseIdentifier();return void 0!==this.dynamicLabel?function(t){var r,s,a;if(void 0===t.dynamicLabel)throw Error("This point should never be reached.");let n=(r=t.baseIdentifier(),s=t.dynamicLabel,`${r}/${s}`);for(let r of t.sendInPings)if(context_Context.metricsDatabase.hasMetric(t.lifetime,r,t.type,n))return n;let o=0;for(let r of t.sendInPings)o+=context_Context.metricsDatabase.countByBaseIdentifier(t.lifetime,r,t.type,t.baseIdentifier());let l=!1;return o>=16?l=!0:t.dynamicLabel.length>61?(l=!0,context_Context.errorManager.record(t,p.InvalidLabel,`Label length ${t.dynamicLabel.length} exceeds maximum of 61.`)):M.test(t.dynamicLabel)||(l=!0,context_Context.errorManager.record(t,p.InvalidLabel,`Label must be snake_case, got '${t.dynamicLabel}'.`)),l?(a=t.baseIdentifier(),`${a}/__other__`):n}(this):t}shouldRecord(t){return t&&!this.disabled}testGetNumRecordedErrors(t,r=this.sendInPings[0]){return N("testGetNumRecordedErrors")?context_Context.errorManager.testGetNumRecordedErrors(this,t,r):0}};function Q(t){return C(t)?{type:m.Success}:{type:m.Error,errorMessage:`Expected string value, got ${JSON.stringify(t)}`}}var q=function(t,r,s,a,n){if("m"===a)throw TypeError("Private method is not writable");if("a"===a&&!n)throw TypeError("Private accessor was defined without a setter");if("function"==typeof r?t!==r||!n:!r.has(t))throw TypeError("Cannot write private member to an object whose class did not declare it");return"a"===a?n.call(t,s):n?n.value=s:r.set(t,s),s},B=function(t,r,s,a){if("a"===s&&!a)throw TypeError("Private accessor was defined without a getter");if("function"==typeof r?t!==r||!a:!r.has(t))throw TypeError("Cannot read private member from an object whose class did not declare it");return"m"===s?a:"a"===s?a.call(t):a?a.value:r.get(t)};let U=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;let UUIDMetric=class UUIDMetric extends Metric{constructor(t){super(t)}validate(t){let r=Q(t);return r.type===m.Error?r:U.test(t)?{type:m.Success}:{type:m.Error,errorMessage:`"${t}" is not a valid UUID`,errorType:p.InvalidValue}}payload(){return this.inner}};let InternalUUIDMetricType=class InternalUUIDMetricType extends MetricType{constructor(t){super("uuid",t,UUIDMetric)}set(t){let r;if(this.shouldRecord(context_Context.uploadEnabled)){t||(t=P());try{r=new UUIDMetric(t),context_Context.metricsDatabase.record(this,r)}catch(t){t instanceof metric_MetricValidationError&&t.recordError(this)}}}generateAndSet(){if(!this.shouldRecord(context_Context.uploadEnabled))return;let t=P();return this.set(t),t}testGetValue(t=this.sendInPings[0]){if(N("testGetValue","core.metrics.UUIDMetricType"))return context_Context.metricsDatabase.getMetric(t,this)}};let F=class{constructor(t){O.set(this,void 0),q(this,O,new InternalUUIDMetricType(t),"f")}set(t){B(this,O,"f").set(t)}generateAndSet(){return B(this,O,"f").generateAndSet()}testGetValue(t=B(this,O,"f").sendInPings[0]){return B(this,O,"f").testGetValue(t)}testGetNumRecordedErrors(t,r=B(this,O,"f").sendInPings[0]){return B(this,O,"f").testGetNumRecordedErrors(t,r)}};O=new WeakMap;let V=["#glean_execution_counter","#glean_reference_time"];let RecordedEvent=class RecordedEvent extends Metric{constructor(t){super(t)}static withTransformedExtras(t,r){let s=r(t.extra||{});return{category:t.category,name:t.name,timestamp:t.timestamp,extra:s&&Object.keys(s).length>0?s:void 0}}addExtra(t,r){this.inner.extra||(this.inner.extra={}),this.inner.extra[t]=r}withoutReservedExtras(){return RecordedEvent.withTransformedExtras(this.get(),t=>Object.keys(t).filter(t=>!V.includes(t)).reduce((r,s)=>(r[s]=t[s],r),{}))}validate(t){var r;if(!A(t))return{type:m.Error,errorMessage:`Expected Glean event object, got ${typeof t}`};let s="category"in t&&C(t.category),a="name"in t&&C(t.name);if(!s||!a)return{type:m.Error,errorMessage:`Unexpected value for "category" or "name" in event object: ${JSON.stringify(t)}`};if(!("timestamp"in t&&$(r=t.timestamp)&&Number.isInteger(r)&&t.timestamp>=0))return{type:m.Error,errorMessage:`Event timestamp must be a positive integer, got ${JSON.stringify(t)}`};if(t.extra){if(!A(t.extra))return{type:m.Error,errorMessage:`Expected Glean extras object, got ${typeof t}`};for(let[r,s]of Object.entries(t.extra)){let t=Q(r);if(t.type===m.Error)return t;if(!C(s)&&!$(s)&&"boolean"!=typeof s)return{type:m.Error,errorMessage:`Unexpected value for extra key ${r}: ${JSON.stringify(s)}`}}}return{type:m.Success}}payload(){return RecordedEvent.withTransformedExtras(this.withoutReservedExtras(),t=>Object.keys(t).reduce((r,s)=>(r[s]=t[s].toString(),r),{}))}};var G=function(t,r,s,a,n){if("m"===a)throw TypeError("Private method is not writable");if("a"===a&&!n)throw TypeError("Private accessor was defined without a setter");if("function"==typeof r?t!==r||!n:!r.has(t))throw TypeError("Cannot write private member to an object whose class did not declare it");return"a"===a?n.call(t,s):n?n.value=s:r.set(t,s),s},Z=function(t,r,s,a){if("a"===s&&!a)throw TypeError("Private accessor was defined without a getter");if("function"==typeof r?t!==r||!a:!r.has(t))throw TypeError("Cannot read private member from an object whose class did not declare it");return"m"===s?a:"a"===s?a.call(t):a?a.value:r.get(t)};let InternalEventMetricType=class InternalEventMetricType extends MetricType{constructor(t,r){super("event",t),this.allowedExtraKeys=r}record(t,r=D()){if(!this.shouldRecord(context_Context.uploadEnabled))return;let s=Date.now();try{let a=new RecordedEvent({category:this.category,name:this.name,timestamp:r,extra:t}),n={};if(t&&this.allowedExtraKeys)for(let[r,s]of Object.entries(t))if(this.allowedExtraKeys.includes(r))C(s)?n[r]=function(t,r){if(!C(r))throw new metric_MetricValidationError(`Expected string, got ${JSON.stringify(r)}`);let s=new TextEncoder,a=new TextDecoder("utf-8"),n=s.encode(r).slice(0,500),o=a.decode(n);return o!==r&&context_Context.errorManager.record(t,p.InvalidOverflow,`Value length ${new Blob([r]).size} exceeds maximum of ${r.length} bytes.`),o}(this,s):n[r]=s;else{context_Context.errorManager.record(this,p.InvalidValue,`Invalid key index: ${r}`);continue}n.glean_timestamp=s.toString(),a.set({...a.get(),extra:n}),context_Context.eventsDatabase.record(this,a)}catch(t){t instanceof metric_MetricValidationError&&t.recordError(this)}}testGetValue(t=this.sendInPings[0]){if(N("testGetValue","core.metrics.EventMetricType")){let r=context_Context.eventsDatabase.getEvents(t,this);return r&&r.forEach(t=>{t.extra&&(delete t.extra.glean_timestamp,0==Object.keys(t.extra).length&&(t.extra=void 0))}),r}}};let EventMetricType=class EventMetricType{constructor(t,r){b.set(this,void 0),G(this,b,new InternalEventMetricType(t,r),"f")}record(t){Z(this,b,"f").record(t)}testGetValue(t=Z(this,b,"f").sendInPings[0]){return Z(this,b,"f").testGetValue(t)}testGetNumRecordedErrors(t,r=Z(this,b,"f").sendInPings[0]){return Z(this,b,"f").testGetNumRecordedErrors(t,r)}};b=new WeakMap;let X="core.glean_metrics";var j=v||(v={});let Y={pageLoad:new EventMetricType({category:"glean",name:"page_load",sendInPings:["events"],lifetime:"ping",disabled:!1},["url","referrer","title"]),elementClick:new EventMetricType({category:"glean",name:"element_click",sendInPings:["events"],lifetime:"ping",disabled:!1},["id","type","label","url","referrer","title"]),pageId:new F({category:"glean",name:"page_id",sendInPings:["events"],lifetime:"application",disabled:!1})};function J(t){context_Context.initialized?Y.elementClick.record(t):n(X,"Attempted to record element click event before Glean was initialized. This is a no-op.",u.Warn)}j.pageLoad=function(t){var r,s,a;context_Context.initialized?(Y.pageId.generateAndSet(),Y.pageLoad.record({url:null!=(r=null==t?void 0:t.url)?r:"u">typeof window?window.location.href:"URL_NOT_PROVIDED_OR_AVAILABLE",referrer:null!=(s=null==t?void 0:t.referrer)?s:"u">typeof document?document.referrer:"REFERRER_NOT_PROVIDED_OR_AVAILABLE",title:null!=(a=null==t?void 0:t.title)?a:"u">typeof document?document.title:"TITLE_NOT_PROVIDED_OR_AVAILABLE"})):n(X,"Attempted to record a page load event before Glean was initialized. This is a no-op.",u.Warn)},j.handleClickEvent=function(t){let r,s=t.target.closest("[data-glean-id], [data-glean-type], [data-glean-label]");s&&J({...(r=s.dataset).gleanId&&{id:r.gleanId},...r.gleanType&&{type:r.gleanType},...r.gleanLabel&&{label:r.gleanLabel},url:"u">typeof window?window.location.href:"URL_NOT_PROVIDED_OR_AVAILABLE",referrer:"u">typeof document?document.referrer:"REFERRER_NOT_PROVIDED_OR_AVAILABLE",title:"u">typeof document?document.title:"TITLE_NOT_PROVIDED_OR_AVAILABLE"})},j.recordElementClick=J;let K=v;function ee(t){K.recordElementClick({id:t,url:globalThis.location.href,referrer:document.referrer,title:document.title})}},14632(t,r,s){s.d(r,{o:()=>a});function a(t,r){let s=t.replaceAll("_"," ").split("/").filter(t=>!["",r,"docs"].includes(t));return(s=s.map(t=>"API"===t?"Web APIs":t)).length>1&&"Web"===s.at(0)&&s.splice(0,1),s.length>1&&s.splice(-1,1),s.join(" / ")}}},c={};function d(t){var r=c[t];if(void 0!==r)return r.exports;var s=c[t]={id:t,loaded:!1,exports:{}};return l[t].call(s.exports,s,s.exports,d),s.loaded=!0,s.exports}d.m=l,d.n=t=>{var r=t&&t.__esModule?()=>t.default:()=>t;return d.d(r,{a:r}),r},a=Object.getPrototypeOf?t=>Object.getPrototypeOf(t):t=>t.__proto__,d.t=function(t,r){if(1&r&&(t=this(t)),8&r||"object"==typeof t&&t&&(4&r&&t.__esModule||16&r&&"function"==typeof t.then))return t;var n=Object.create(null);d.r(n);var o={};s=s||[null,a({}),a([]),a(a)];for(var l=2&r&&t;("object"==typeof l||"function"==typeof l)&&!~s.indexOf(l);l=a(l))Object.getOwnPropertyNames(l).forEach(r=>{o[r]=()=>t[r]});return o.default=()=>t,d.d(n,o),n},d.d=(t,r)=>{for(var s in r)d.o(r,s)&&!d.o(t,s)&&Object.defineProperty(t,s,{enumerable:!0,get:r[s]})},d.f={},d.e=t=>Promise.all(Object.keys(d.f).reduce((r,s)=>(d.f[s](t,r),r),[])),d.k=t=>""+t+".css",d.u=t=>""+(({1023:"prism-sas-js",105:"prism-kotlin-js",1052:"prism-web-idl-js",1074:"prism-cooklang-js",1148:"prism-stylus-js",1163:"prism-julia-js",1198:"prism-uri-js",1209:"prism-llvm-js",1211:"prism-lilypond-js",1230:"prism-verilog-js",1234:"prism-io-js",1243:"prism-idris-js",1353:"prism-rip-js",1379:"prism-linker-script-js",1384:"prism-ada-js",1436:"prism-openqasm-js",1488:"prism-clojure-js",1594:"prism-clike-js",1614:"prism-basic-js",1656:"prism-git-js",167:"prism-bqn-js",17:"prism-brainfuck-js",1729:"prism-wgsl-js",1742:"prism-j-js",1754:"prism-avisynth-js",181:"prism-monkey-js",1855:"prism-hpkp-js",1888:"prism-purebasic-js",1897:"prism-javastacktrace-js",1917:"prism-solidity-js",1957:"prism-actionscript-js",1971:"prism-coq-js",2006:"prism-oz-js",2046:"prism-gherkin-js",2256:"prism-rescript-js",2317:"prism-antlr4-js",2326:"prism-javadoc-js",2328:"prism-batch-js",2381:"prism-cue-js",2396:"prism-turtle-js",2422:"prism-bnf-js",2439:"prism-naniscript-js",2443:"prism-javascript-js",2500:"prism-chaiscript-js",2538:"prism-jsonp-js",2548:"prism-rest-js",2555:"prism-nsis-js",2578:"prism-smarty-js",2647:"prism-arturo-js",2649:"prism-nasm-js",2727:"prism-splunk-spl-js",276:"prism-iecst-js",2770:"prism-zig-js",2812:"prism-solution-file-js",2890:"prism-csp-js",2964:"prism-uorazor-js",2966:"prism-r-js",2988:"prism-wren-js",3026:"prism-wiki-js",3076:"prism-wolfram-js",3100:"prism-nim-js",3141:"prism-ichigojam-js",3150:"prism-apacheconf-js",3157:"prism-css-extras-js",3172:"prism-cil-js",3201:"prism-jq-js",3298:"prism-ftl-js",3310:"prism-lisp-js",3323:"prism-dns-zone-file-js",3396:"prism-excel-formula-js",3503:"prism-abnf-js",3522:"prism-hoon-js",3535:"prism-awk-js",3543:"prism-t4-cs-js",357:"prism-less-js",3621:"prism-applescript-js",3634:"prism-lua-js",367:"prism-yaml-js",3695:"prism-django-js",3725:"prism-al-js",3733:"prism-regex-js",3755:"prism-bsl-js",3798:"prism-renpy-js",3805:"prism-shell-session-js",3855:"prism-gradle-js",3857:"prism-vbnet-js",3864:"prism-phpdoc-js",391:"prism-protobuf-js",3997:"prism-dot-js",4008:"prism-kumir-js",4054:"prism-pascal-js",4068:"prism-asm6502-js",418:"prism-systemd-js",4203:"prism-diff-js",4213:"prism-warpscript-js",4227:"prism-scheme-js",4270:"prism-docker-js",4275:"prism-cpp-js",4334:"prism-bbj-js",4338:"prism-dhall-js",4342:"prism-ini-js",4431:"prism-rego-js",4448:"prism-smali-js",4461:"prism-bicep-js",4468:"prism-ejs-js",4479:"prism-hlsl-js",4492:"prism-bash-js",450:"prism-haxe-js",4522:"prism-plant-uml-js",453:"prism-apex-js",4531:"prism-svelte",4550:"prism-flow-js",4555:"prism-agda-js",463:"prism-js-extras-js",4637:"prism-icon-js",4667:"prism-textile-js",4670:"prism-inform7-js",4704:"prism-ignore-js",4750:"prism-markup-js",4813:"prism-nand2tetris-hdl-js",4832:"prism-racket-js",4854:"prism-pcaxis-js",4896:"prism-haml-js",4911:"prism-bro-js",4922:"prism-v-js",4975:"prism-icu-message-format-js",5087:"prism-core-js",5091:"prism-velocity-js",5128:"prism-pug-js",5166:"prism-markup-templating-js",5169:"prism-cobol-js",5173:"prism-typoscript-js",52:"prism-vim-js",5249:"prism-parigp-js",5414:"prism-lolcode-js",5503:"prism-squirrel-js",5538:"prism-asmatmel-js",5547:"prism-dax-js",5549:"prism-hcl-js",5582:"prism-n4js-js",56:"prism-arduino-js",5607:"prism-rust-js",5616:"prism-json-js",5637:"prism-psl-js",5747:"prism-stata-js",5781:"prism-twig-js",5826:"prism-objectivec-js",585:"prism-tremor-js",5899:"prism-cypher-js",5901:"prism-css-js",606:"prism-dataweave-js",6069:"prism-cmake-js",6071:"prism-maxscript-js",6141:"prism-gettext-js",6187:"prism-brightscript-js",6206:"prism-qml-js",6241:"prism-tcl-js",6253:"prism-bison-js",6267:"prism-parser-js",6273:"prism-mizar-js",6290:"prism-robotframework-js",6363:"prism-visual-basic-js",6368:"prism-ocaml-js",638:"prism-php-extras-js",6444:"prism-groovy-js",6459:"prism-powerquery-js",6476:"prism-puppet-js",6502:"prism-stan-js",6517:"prism-apl-js",6588:"prism-php-js",6616:"prism-roboconf-js",6673:"prism-purescript-js",6677:"prism-livescript-js",6680:"prism-go-js",6712:"prism-autoit-js",6724:"prism-cfscript-js",6730:"prism-crystal-js",6732:"prism-csv-js",6745:"prism-gedcom-js",677:"prism-powershell-js",681:"prism-qore-js",6833:"prism-bbcode-js",6862:"prism-sqf-js",6870:"prism-cilkc-js",6880:"prism-peoplecode-js",6890:"prism-xml-doc-js",6912:"prism-moonscript-js",6918:"prism-http-js",6930:"prism-mongodb-js",6936:"prism-eiffel-js",6962:"prism-makefile-js",701:"prism-mermaid-js",7026:"prism-odin-js",7043:"prism-json5-js",7059:"prism-csharp-js",7086:"prism-cilkcpp-js",710:"prism-metafont-js",7151:"prism-go-module-js",7190:"prism-nevod-js",7212:"prism-nginx-js",7245:"prism-jolie-js",7250:"prism-latte-js",7257:"prism-markdown-js",7270:"prism-tt2-js",7292:"prism-sql-js",7294:"prism-xquery-js",738:"prism-glsl-js",7407:"prism-magma-js",7408:"prism-sml-js",751:"prism-coffeescript-js",7517:"prism-supercollider-js",753:"prism-jsdoc-js",7557:"prism-perl-js",7645:"prism-birb-js",7714:"prism-hsts-js",7723:"prism-smalltalk-js",7790:"prism-firestore-security-rules-js",7851:"prism-elixir-js",7877:"prism-swift-js",7903:"prism-asciidoc-js",7907:"prism-typescript-js",7988:"prism-python-js",7993:"prism-properties-js",8013:"prism-nix-js",8036:"prism-keepalived-js",8037:"prism-dart-js",805:"prism-qsharp-js",8062:"prism-n1ql-js",8078:"prism-liquid-js",8094:"prism-handlebars-js",810:"prism-scss-js",8101:"prism-keyman-js",8137:"prism-q-js",8139:"prism-soy-js",8168:"prism-vhdl-js",8171:"prism-ebnf-js",8187:"prism-erlang-js",8204:"prism-kusto-js",8254:"prism-wasm-js",8262:"prism-gdscript-js",8311:"prism-javadoclike-js",8336:"prism-d-js",8338:"prism-mel-js",8390:"prism-java-js",8392:"prism-latex-js",84:"prism-sass-js",8411:"prism-etlua-js",8452:"prism-gml-js",8456:"prism-elm-js",8468:"prism-haskell-js",8474:"prism-reason-js",8510:"prism-ruby-js",8526:"prism-fortran-js",8544:"prism-abap-js",8549:"prism-js-templates-js",8584:"prism-xojo-js",8588:"prism-avro-idl-js",86:"prism-t4-templating-js",8615:"prism-processing-js",8677:"prism-tsx-js",8763:"prism-aspnet-js",883:"prism-promql-js",8848:"prism-pure-js",8865:"prism-mata-js",8867:"prism-c-js",8889:"prism-erb-js",8965:"prism-gn-js",8997:"prism-t4-vb-js",9021:"prism-sparql-js",9063:"prism-arff-js",9122:"prism-aql-js",9172:"prism-jsstacktrace-js",918:"prism-neon-js",9205:"prism-autohotkey-js",9273:"prism-yang-js",928:"prism-plsql-js",9319:"prism-factor-js",9326:"prism-scala-js",9328:"prism-fsharp-js",9381:"prism-false-js",9468:"prism-gap-js",9543:"prism-opencl-js",9559:"prism-jsx-js",9570:"prism-log-js",9625:"prism-matlab-js",9686:"prism-toml-js",9692:"prism-concurnas-js",9723:"prism-graphql-js",9763:"prism-pascaligo-js",9787:"prism-prolog-js",98:"prism-unrealscript-js",9864:"prism-gcode-js",9908:"prism-vala-js",991:"prism-cshtml-js",9911:"prism-editorconfig-js",9939:"prism-tap-js",9949:"prism-armasm-js",9967:"prism-xeora-js",9985:"prism-jexl-js"})[t]||t)+".js",d.o=(t,r)=>Object.prototype.hasOwnProperty.call(t,r),d.r=t=>{"u">typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},d.nmd=t=>(t.paths=[],t.children||(t.children=[]),t),d.p="/static/ssr/",d.U=function(t){var r=new URL(t,"x:/"),s={};for(var a in r)s[a]=r[a];for(var a in s.href=t,s.pathname=t.replace(/[?#].*/,""),s.origin=s.protocol="",s.toString=s.toJSON=()=>t,s)Object.defineProperty(this,a,{enumerable:!0,configurable:!0,value:s[a]})},d.U.prototype=URL.prototype,n={8410:0},o=t=>{var r,s,a=t.__rspack_esm_ids,o=t.__webpack_modules__,l=t.__rspack_esm_runtime,c=0;for(r in o)d.o(o,r)&&(d.m[r]=o[r]);for(l&&l(d);c<a.length;c++)s=a[c],d.o(n,s)&&n[s]&&n[s][0](),n[a[c]]=0},d.f.j=function(t,r){var s=d.o(n,t)?n[t]:void 0;if(0!==s)if(s)r.push(s[1]);else{var a=import("./"+d.u(t)).then(o,r=>{throw 0!==n[t]&&(n[t]=void 0),r}),a=Promise.race([a,new Promise(r=>{s=n[t]=[r]})]);r.push(s[1]=a)}},d(54842),d(612),d(24838),d(84352),d(55269),d(1355),d(96678),d(72301),d(28631),d(23082),d(38262),d(52500),d(58623),d(27373),d(47706),d(81505),d(37511),d(18977),d(89854),d(49979),d(77108),d(64786),d(47849),d(70242),d(14903),d(2622),d(50117),d(17547),d(1879),d(37077),d(14416),d(13430),d(56538),d(7895),d(44394),d(13755),d(47764),d(57468),d(9951),d(71787),d(23731),d(51836),d(14006),d(14652),d(20141),d(95821),d(55237),d(43602),d(23745),d(97154),d(83703),d(62512),d(41798),d(70134),d(48125),d(27486),d(76706),d(51310),d(14925);var h=d(9849),u=h.X,p=h.n;export{u as render,p as renderSimplified};
|
|
4192
4194
|
//# sourceMappingURL=index.js.map
|