|
55 | 55 |
|
56 | 56 | <script id="__analytics">function __md_analytics(){function e(){dataLayer.push(arguments)}window.dataLayer=window.dataLayer||[],e("js",new Date),e("config","G-FQW9W5SC5P"),document.addEventListener("DOMContentLoaded",(function(){document.forms.search&&document.forms.search.query.addEventListener("blur",(function(){this.value&&e("event","search",{search_term:this.value})}));document$.subscribe((function(){var t=document.forms.feedback;if(void 0!==t)for(var a of t.querySelectorAll("[type=submit]"))a.addEventListener("click",(function(a){a.preventDefault();var n=document.location.pathname,d=this.getAttribute("data-md-value");e("event","feedback",{page:n,data:d}),t.firstElementChild.disabled=!0;var r=t.querySelector(".md-feedback__note [data-md-value='"+d+"']");r&&(r.hidden=!1)})),t.hidden=!1})),location$.subscribe((function(t){e("config","G-FQW9W5SC5P",{page_path:t.pathname})}))}));var t=document.createElement("script");t.async=!0,t.src="https://www.googletagmanager.com/gtag/js?id=G-FQW9W5SC5P",document.getElementById("__analytics").insertAdjacentElement("afterEnd",t)}</script> |
57 | 57 |
|
58 | | - <script>"undefined"!=typeof __md_analytics&&__md_analytics()</script> |
| 58 | + <script>if("undefined"!=typeof __md_analytics){var consent=__md_get("__consent");consent&&consent.analytics&&__md_analytics()}</script> |
59 | 59 |
|
60 | 60 |
|
61 | 61 |
|
|
65 | 65 | href="https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700&family=Lato:wght@700;800;900&family=JetBrains+Mono:wght@400;500&display=swap" |
66 | 66 | rel="stylesheet" |
67 | 67 | /> |
| 68 | +<script id="__clarity"> |
| 69 | + function __md_clarity() { |
| 70 | + if (window.__md_clarity_initialized) return; |
| 71 | + window.__md_clarity_initialized = true; |
| 72 | + (function (c, l, a, r, i, t, y) { |
| 73 | + c[a] = |
| 74 | + c[a] || |
| 75 | + function () { |
| 76 | + (c[a].q = c[a].q || []).push(arguments); |
| 77 | + }; |
| 78 | + t = l.createElement(r); |
| 79 | + t.async = 1; |
| 80 | + t.src = "https://www.clarity.ms/tag/" + i; |
| 81 | + y = l.getElementsByTagName(r)[0]; |
| 82 | + y.parentNode.insertBefore(t, y); |
| 83 | + })(window, document, "clarity", "script", "vpkkzb2m3e"); |
| 84 | + } |
| 85 | + |
| 86 | + var consent = __md_get("__consent"); |
| 87 | + consent && consent.analytics && __md_clarity(); |
| 88 | + |
| 89 | +</script> |
| 90 | +<script id="__reb2b"> |
| 91 | + function __md_reb2b() { |
| 92 | + var reb2b = (window.reb2b = window.reb2b || []); |
| 93 | + if (reb2b.invoked) return; |
| 94 | + reb2b.invoked = true; |
| 95 | + reb2b.methods = ["identify", "collect"]; |
| 96 | + reb2b.factory = function (method) { |
| 97 | + return function () { |
| 98 | + var args = Array.prototype.slice.call(arguments); |
| 99 | + args.unshift(method); |
| 100 | + reb2b.push(args); |
| 101 | + return reb2b; |
| 102 | + }; |
| 103 | + }; |
| 104 | + for (var i = 0; i < reb2b.methods.length; i++) { |
| 105 | + var key = reb2b.methods[i]; |
| 106 | + reb2b[key] = reb2b.factory(key); |
| 107 | + } |
| 108 | + reb2b.load = function (key) { |
| 109 | + var script = document.createElement("script"); |
| 110 | + script.type = "text/javascript"; |
| 111 | + script.async = true; |
| 112 | + script.src = |
| 113 | + "https://ddwl4m2hdecbv.cloudfront.net/b/" + key + "/" + key + ".js.gz"; |
| 114 | + var first = document.getElementsByTagName("script")[0]; |
| 115 | + first.parentNode.insertBefore(script, first); |
| 116 | + }; |
| 117 | + reb2b.SNIPPET_VERSION = "1.0.1"; |
| 118 | + reb2b.load("4N210H5G9Y6Z"); |
| 119 | + } |
| 120 | + |
| 121 | + var consent = __md_get("__consent"); |
| 122 | + consent && consent.analytics && __md_reb2b(); |
| 123 | + |
| 124 | +</script> |
68 | 125 |
|
69 | 126 | </head> |
70 | 127 |
|
@@ -1317,6 +1374,132 @@ <h1>404 - Not found</h1> |
1317 | 1374 | <div class="md-progress" data-md-component="progress" role="progressbar"></div> |
1318 | 1375 |
|
1319 | 1376 |
|
| 1377 | + <div class="md-consent" data-md-component="consent" id="__consent" hidden> |
| 1378 | + <div class="md-consent__overlay"></div> |
| 1379 | + <aside class="md-consent__inner"> |
| 1380 | + <form class="md-consent__form md-grid md-typeset" name="consent"> |
| 1381 | + |
| 1382 | + |
| 1383 | + |
| 1384 | + |
| 1385 | + |
| 1386 | + |
| 1387 | + |
| 1388 | + |
| 1389 | +<h4>Cookie consent</h4> |
| 1390 | +<p>We use analytics cookies from Google Analytics, Microsoft Clarity, and reb2b to understand documentation usage and improve the experience.</p> |
| 1391 | +<input class="md-toggle" type="checkbox" id="__settings" > |
| 1392 | +<div class="md-consent__settings"> |
| 1393 | + <ul class="task-list"> |
| 1394 | + |
| 1395 | + |
| 1396 | + |
| 1397 | + |
| 1398 | + |
| 1399 | + |
| 1400 | + <li class="task-list-item"> |
| 1401 | + <label class="task-list-control"> |
| 1402 | + <input type="checkbox" name="analytics" > |
| 1403 | + <span class="task-list-indicator"></span> |
| 1404 | + Analytics (Google Analytics, Microsoft Clarity, and reb2b) |
| 1405 | + </label> |
| 1406 | + </li> |
| 1407 | + |
| 1408 | + </ul> |
| 1409 | +</div> |
| 1410 | +<div class="md-consent__controls"> |
| 1411 | + |
| 1412 | + |
| 1413 | + <button class="md-button md-button--primary">Accept</button> |
| 1414 | + |
| 1415 | + |
| 1416 | + |
| 1417 | + |
| 1418 | + |
| 1419 | + |
| 1420 | + <button type="reset" class="md-button md-button--primary">Reject</button> |
| 1421 | + |
| 1422 | + |
| 1423 | + |
| 1424 | + |
| 1425 | + |
| 1426 | + |
| 1427 | + <label class="md-button" for="__settings">Manage settings</label> |
| 1428 | + |
| 1429 | + |
| 1430 | +</div> |
| 1431 | + </form> |
| 1432 | + </aside> |
| 1433 | + </div> |
| 1434 | + <script> |
| 1435 | + (function () { |
| 1436 | + var consent = __md_get("__consent"); |
| 1437 | + if ( |
| 1438 | + consent && |
| 1439 | + "object" === typeof consent && |
| 1440 | + !Array.isArray(consent) && |
| 1441 | + 0 === Object.keys(consent).length |
| 1442 | + ) { |
| 1443 | + localStorage.removeItem(__md_scope.pathname + ".__consent"); |
| 1444 | + consent = null; |
| 1445 | + } |
| 1446 | + |
| 1447 | + var form = document.forms.consent; |
| 1448 | + if (!form) return; |
| 1449 | + |
| 1450 | + if (consent) { |
| 1451 | + for (var input of form.elements) { |
| 1452 | + if (input.name) input.checked = !!consent[input.name]; |
| 1453 | + } |
| 1454 | + } else if ("file:" !== location.protocol) { |
| 1455 | + setTimeout(function () { |
| 1456 | + var banner = document.querySelector("[data-md-component=consent]"); |
| 1457 | + if (banner) banner.hidden = false; |
| 1458 | + }, 250); |
| 1459 | + } |
| 1460 | + |
| 1461 | + form.addEventListener( |
| 1462 | + "submit", |
| 1463 | + function (e) { |
| 1464 | + e.preventDefault(); |
| 1465 | + |
| 1466 | + var settings = document.getElementById("__settings"); |
| 1467 | + var managing = settings && settings.checked; |
| 1468 | + if (!managing) { |
| 1469 | + for (var input of form.elements) { |
| 1470 | + if (input.name) input.checked = true; |
| 1471 | + } |
| 1472 | + } |
| 1473 | + |
| 1474 | + var accepted = Object.fromEntries( |
| 1475 | + Array.from(new FormData(form).keys()).map(function (name) { |
| 1476 | + return [name, true]; |
| 1477 | + }) |
| 1478 | + ); |
| 1479 | + accepted.__decision = "accepted"; |
| 1480 | + __md_set("__consent", accepted); |
| 1481 | + location.hash = ""; |
| 1482 | + location.reload(); |
| 1483 | + }, |
| 1484 | + false |
| 1485 | + ); |
| 1486 | + |
| 1487 | + form.addEventListener( |
| 1488 | + "reset", |
| 1489 | + function (e) { |
| 1490 | + e.preventDefault(); |
| 1491 | + for (var input of form.elements) { |
| 1492 | + if (input.name) input.checked = false; |
| 1493 | + } |
| 1494 | + __md_set("__consent", { __decision: "rejected" }); |
| 1495 | + location.hash = ""; |
| 1496 | + location.reload(); |
| 1497 | + }, |
| 1498 | + false |
| 1499 | + ); |
| 1500 | + })(); |
| 1501 | +</script> |
| 1502 | + |
1320 | 1503 | <script id="__config" type="application/json">{"base": "/latest", "features": ["navigation.sections", "navigation.top", "navigation.footer", "navigation.instant", "navigation.instant.progress", "navigation.instant.prefetch", "content.code.copy", "toc.follow"], "search": "/latest/assets/javascripts/workers/search.f8cc74c7.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": {"alias": true, "default": "stable", "provider": "mike"}}</script> |
1321 | 1504 |
|
1322 | 1505 |
|
|
0 commit comments