File size: 163,802 Bytes
07663bf
 
1
2
(()=>{var n={265:(n,t,e)=>{var i,r;function o(n){var t="function"==typeof Map?new Map:void 0;return o=function(n){if(null===n||!function(n){try{return-1!==Function.toString.call(n).indexOf("[native code]")}catch(t){return"function"==typeof n}}(n))return n;if("function"!=typeof n)throw new TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(n))return t.get(n);t.set(n,e)}function e(){return function(n,t,e){if(l())return Reflect.construct.apply(null,arguments);var i=[null];i.push.apply(i,t);var r=new(n.bind.apply(n,i));return e&&h(r,e.prototype),r}(n,arguments,c(this).constructor)}return e.prototype=Object.create(n.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),h(e,n)},o(n)}function a(n,t){var e="undefined"!=typeof Symbol&&n[Symbol.iterator]||n["@@iterator"];if(!e){if(Array.isArray(n)||(e=v(n))||t&&n&&"number"==typeof n.length){e&&(n=e);var i=0,r=function(){};return{s:r,n:function(){return i>=n.length?{done:!0}:{done:!1,value:n[i++]}},e:function(n){throw n},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){e=e.call(n)},n:function(){var n=e.next();return a=n.done,n},e:function(n){s=!0,o=n},f:function(){try{a||null==e.return||e.return()}finally{if(s)throw o}}}}function s(n,t,e){return t=c(t),function(n,t){if(t&&("object"==p(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(n){if(void 0===n)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return n}(n)}(n,l()?Reflect.construct(t,e||[],c(n).constructor):t.apply(n,e))}function l(){try{var n=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(n){}return(l=function(){return!!n})()}function u(){return u="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(n,t,e){var i=function(n,t){for(;!{}.hasOwnProperty.call(n,t)&&null!==(n=c(n)););return n}(n,t);if(i){var r=Object.getOwnPropertyDescriptor(i,t);return r.get?r.get.call(arguments.length<3?n:e):r.value}},u.apply(null,arguments)}function c(n){return c=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(n){return n.__proto__||Object.getPrototypeOf(n)},c(n)}function d(n,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");n.prototype=Object.create(t&&t.prototype,{constructor:{value:n,writable:!0,configurable:!0}}),Object.defineProperty(n,"prototype",{writable:!1}),t&&h(n,t)}function h(n,t){return h=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,t){return n.__proto__=t,n},h(n,t)}function p(n){return p="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},p(n)}function f(n,t){if(!(n instanceof t))throw new TypeError("Cannot call a class as a function")}function g(n,t){for(var e=0;e<t.length;e++){var i=t[e];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(n,b(i.key),i)}}function m(n,t,e){return t&&g(n.prototype,t),e&&g(n,e),Object.defineProperty(n,"prototype",{writable:!1}),n}function b(n){var t=function(n,t){if("object"!=p(n)||!n)return n;var e=n[Symbol.toPrimitive];if(void 0!==e){var i=e.call(n,"string");if("object"!=p(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(n)}(n);return"symbol"==p(t)?t:t+""}function y(n,t){return function(n){if(Array.isArray(n))return n}(n)||function(n,t){var e=null==n?null:"undefined"!=typeof Symbol&&n[Symbol.iterator]||n["@@iterator"];if(null!=e){var i,r,o,a,s=[],l=!0,u=!1;try{if(o=(e=e.call(n)).next,0===t){if(Object(e)!==e)return;l=!1}else for(;!(l=(i=o.call(e)).done)&&(s.push(i.value),s.length!==t);l=!0);}catch(n){u=!0,r=n}finally{try{if(!l&&null!=e.return&&(a=e.return(),Object(a)!==a))return}finally{if(u)throw r}}return s}}(n,t)||v(n,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function v(n,t){if(n){if("string"==typeof n)return w(n,t);var e={}.toString.call(n).slice(8,-1);return"Object"===e&&n.constructor&&(e=n.constructor.name),"Map"===e||"Set"===e?Array.from(n):"Arguments"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e)?w(n,t):void 0}}function w(n,t){(null==t||t>n.length)&&(t=n.length);for(var e=0,i=Array(t);e<t;e++)i[e]=n[e];return i}i=function(){"use strict";var n=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],t=["Jan.","Feb.","March","April","May","June","July","Aug.","Sept.","Oct.","Nov.","Dec."],i=function(n){return n<10?"0"+n:n},r=function(e){var r=n[e.getDay()].substring(0,3),o=i(e.getDate()),a=t[e.getMonth()].substring(0,3),s=e.getFullYear().toString(),l=e.getUTCHours().toString(),u=e.getUTCMinutes().toString(),c=e.getUTCSeconds().toString();return"".concat(r,", ").concat(o," ").concat(a," ").concat(s," ").concat(l,":").concat(u,":").concat(c," Z")},l=function(){return m((function n(t){f(this,n),this.name=t.author,this.personalURL=t.authorURL,this.affiliation=t.affiliation,this.affiliationURL=t.affiliationURL,this.affiliations=t.affiliations||[]}),[{key:"firstName",get:function(){var n=this.name.split(" ");return n.slice(0,n.length-1).join(" ")}},{key:"lastName",get:function(){var n=this.name.split(" ");return n[n.length-1]}}])}();var h=function(){function n(){f(this,n),this.title="unnamed article",this.description="",this.authors=[],this.bibliography=new Map,this.bibliographyParsed=!1,this.citations=[],this.citationsCollected=!1,this.journal={},this.katex={},this.doi=void 0,this.publishedDate=void 0}return m(n,[{key:"url",get:function(){return this._url?this._url:this.distillPath&&this.journal.url?this.journal.url+"/"+this.distillPath:this.journal.url?this.journal.url:void 0},set:function(n){this._url=n}},{key:"githubUrl",get:function(){return this.githubPath?"https://github.com/"+this.githubPath:void 0}},{key:"previewURL",get:function(){return this._previewURL?this._previewURL:this.url+"/thumbnail.jpg"},set:function(n){this._previewURL=n}},{key:"publishedDateRFC",get:function(){return r(this.publishedDate)}},{key:"updatedDateRFC",get:function(){return r(this.updatedDate)}},{key:"publishedYear",get:function(){return this.publishedDate.getFullYear()}},{key:"publishedMonth",get:function(){return t[this.publishedDate.getMonth()]}},{key:"publishedDay",get:function(){return this.publishedDate.getDate()}},{key:"publishedMonthPadded",get:function(){return i(this.publishedDate.getMonth()+1)}},{key:"publishedDayPadded",get:function(){return i(this.publishedDate.getDate())}},{key:"publishedISODateOnly",get:function(){return this.publishedDate.toISOString().split("T")[0]}},{key:"volume",get:function(){var n=this.publishedYear-2015;if(n<1)throw new Error("Invalid publish date detected during computing volume");return n}},{key:"issue",get:function(){return this.publishedDate.getMonth()+1}},{key:"concatenatedAuthors",get:function(){return this.authors.length>2?this.authors[0].lastName+", et al.":2===this.authors.length?this.authors[0].lastName+" & "+this.authors[1].lastName:1===this.authors.length?this.authors[0].lastName:void 0}},{key:"bibtexAuthors",get:function(){return this.authors.map((function(n){return n.lastName+", "+n.firstName})).join(" and ")}},{key:"slug",get:function(){var n="";return this.authors.length&&(n+=this.authors[0].lastName.toLowerCase(),n+=this.publishedYear,n+=this.title.split(" ")[0].toLowerCase()),n||"Untitled"}},{key:"bibliographyEntries",get:function(){var n=this;return new Map(this.citations.map((function(t){return[t,n.bibliography.get(t)]})))}},{key:"bibliography",get:function(){return this._bibliography},set:function(n){n instanceof Map?this._bibliography=n:"object"===p(n)&&(this._bibliography=function(n){var t=new Map;for(var e in n)n.hasOwnProperty(e)&&t.set(e,n[e]);return t}(n))}},{key:"assignToObject",value:function(n){Object.assign(n,this),n.bibliography=function(n){return Array.from(n).reduce((function(n,t){var e,i,r,o=y(t,2),a=o[0],s=o[1];return Object.assign(n,(e={},r=s,(i=b(i=a))in e?Object.defineProperty(e,i,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[i]=r,e))}),{})}(this.bibliographyEntries),n.url=this.url,n.doi=this.doi,n.githubUrl=this.githubUrl,n.previewURL=this.previewURL,this.publishedDate&&(n.volume=this.volume,n.issue=this.issue,n.publishedDateRFC=this.publishedDateRFC,n.publishedYear=this.publishedYear,n.publishedMonth=this.publishedMonth,n.publishedDay=this.publishedDay,n.publishedMonthPadded=this.publishedMonthPadded,n.publishedDayPadded=this.publishedDayPadded),this.updatedDate&&(n.updatedDateRFC=this.updatedDateRFC),n.concatenatedAuthors=this.concatenatedAuthors,n.bibtexAuthors=this.bibtexAuthors,n.slug=this.slug}}],[{key:"fromObject",value:function(t){var e=new n;return Object.assign(e,t),e}}])}(),g=function(n){return function(n){function t(){var n;f(this,t),n=s(this,t);var e={childList:!0,characterData:!0,subtree:!0},i=new MutationObserver((function(){i.disconnect(),n.renderIfPossible(),i.observe(n,e)}));return i.observe(n,e),n}return d(t,n),m(t,[{key:"connectedCallback",value:function(){u(c(t.prototype),"connectedCallback",this).call(this),this.renderIfPossible()}},{key:"renderIfPossible",value:function(){this.textContent&&this.root&&this.renderContent()}},{key:"renderContent",value:function(){console.error("Your class ".concat(this.constructor.name," must provide a custom renderContent() method!"))}}])}(n)},x=function(n,t){var e=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];return function(i){var r=document.createElement("template");return r.innerHTML=t,e&&"ShadyCSS"in window&&ShadyCSS.prepareTemplate(r,n),function(t){function i(){var n;return f(this,i),(n=s(this,i)).clone=document.importNode(r.content,!0),e&&(n.attachShadow({mode:"open"}),n.shadowRoot.appendChild(n.clone)),n}return d(i,t),m(i,[{key:"connectedCallback",value:function(){this.hasAttribute("distill-prerendered")||(e?"ShadyCSS"in window&&ShadyCSS.styleElement(this):this.insertBefore(this.clone,this.firstChild))}},{key:"root",get:function(){return e?this.shadowRoot:this}},{key:"$",value:function(n){return this.root.querySelector(n)}},{key:"$$",value:function(n){return this.root.querySelectorAll(n)}}],[{key:"is",get:function(){return n}}])}(i)}},k='/*\n * Copyright 2018 The Distill Template Authors\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *      http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nspan.katex-display {\n  text-align: left;\n  padding: 8px 0 8px 0;\n  margin: 0.5em 0 0.5em 1em;\n}\n\nspan.katex {\n  -webkit-font-smoothing: antialiased;\n  color: rgba(0, 0, 0, 0.8);\n  font-size: 1.18em;\n}\n',S=function(n,t,e){for(var i=e,r=0,o=n.length;i<t.length;){var a=t[i];if(r<=0&&t.slice(i,i+o)===n)return i;"\\"===a?i++:"{"===a?r++:"}"===a&&r--,i++}return-1},M=function(n,t,e,i){for(var r=[],o=0;o<n.length;o++)if("text"===n[o].type){var a=n[o].data,s=!0,l=0,u=void 0;for(-1!==(u=a.indexOf(t))&&(l=u,r.push({type:"text",data:a.slice(0,l)}),s=!1);;){if(s){if(-1===(u=a.indexOf(t,l)))break;r.push({type:"text",data:a.slice(l,u)}),l=u}else{if(-1===(u=S(e,a,l+t.length)))break;r.push({type:"math",data:a.slice(l+t.length,u),rawData:a.slice(l,u+e.length),display:i}),l=u+e.length}s=!s}r.push({type:"text",data:a.slice(l)})}else r.push(n[o]);return r},T=function(n,t){for(var e=function(n,t){for(var e=[{type:"text",data:n}],i=0;i<t.length;i++){var r=t[i];e=M(e,r.left,r.right,r.display||!1)}return e}(n,t.delimiters),i=document.createDocumentFragment(),r=0;r<e.length;r++)if("text"===e[r].type)i.appendChild(document.createTextNode(e[r].data));else{var o=document.createElement("d-math"),a=e[r].data;t.displayMode=e[r].display;try{o.textContent=a,t.displayMode&&o.setAttribute("block","")}catch(n){if(!(n instanceof katex.ParseError))throw n;t.errorCallback("KaTeX auto-render: Failed to parse `"+e[r].data+"` with ",n),i.appendChild(document.createTextNode(e[r].rawData));continue}i.appendChild(o)}return i},_=function n(t,e){for(var i=0;i<t.childNodes.length;i++){var r=t.childNodes[i];if(3===r.nodeType){var o=r.textContent;if(e.mightHaveMath(o)){var a=T(o,e);i+=a.childNodes.length-1,t.replaceChild(a,r)}}else 1===r.nodeType&&-1===e.ignoredTags.indexOf(r.nodeName.toLowerCase())&&n(r,e)}},A={delimiters:[{left:"$$",right:"$$",display:!0},{left:"\\[",right:"\\]",display:!0},{left:"\\(",right:"\\)",display:!1}],ignoredTags:["script","noscript","style","textarea","pre","code","svg"],errorCallback:function(n,t){console.error(n,t)}},E=function(n,t){if(!n)throw new Error("No element provided to render");var e=Object.assign({},A,t),i=e.delimiters.flatMap((function(n){return[n.left,n.right]}));e.mightHaveMath=function(n){return i.some((function(t){return-1!==n.indexOf(t)}))},_(n,e)},C='<link rel="stylesheet" href="https://distill.pub/third-party/katex/katex.min.css" crossorigin="anonymous">',N=function(n){function t(){return f(this,t),s(this,t,arguments)}return d(t,n),m(t,[{key:"options",get:function(){var n={displayMode:this.hasAttribute("block")};return Object.assign(n,t.katexOptions)}},{key:"connectedCallback",value:function(){u(c(t.prototype),"connectedCallback",this).call(this),t.katexAdded||t.addKatex()}},{key:"renderContent",value:function(){if("undefined"!=typeof katex){var n=this.root.querySelector("#katex-container");katex.render(this.textContent,n,this.options)}}}],[{key:"katexOptions",get:function(){return t._katexOptions||(t._katexOptions={delimiters:[{left:"$$",right:"$$",display:!1}]}),t._katexOptions},set:function(n){t._katexOptions=n,t.katexOptions.delimiters&&(t.katexAdded?t.katexLoadedCallback():t.addKatex())}},{key:"katexLoadedCallback",value:function(){var n,e=a(document.querySelectorAll("d-math"));try{for(e.s();!(n=e.n()).done;)n.value.renderContent()}catch(n){e.e(n)}finally{e.f()}t.katexOptions.delimiters&&E(document.body,t.katexOptions)}},{key:"addKatex",value:function(){document.head.insertAdjacentHTML("beforeend",C);var n=document.createElement("script");n.src="https://distill.pub/third-party/katex/katex.min.js",n.async=!0,n.onload=t.katexLoadedCallback,n.crossorigin="anonymous",document.head.appendChild(n),t.katexAdded=!0}}])}(g(x("d-math","\n".concat(C,"\n<style>\n\n:host {\n  display: inline-block;\n  contain: style;\n}\n\n:host([block]) {\n  display: block;\n}\n\n").concat(k,"\n</style>\n<span id='katex-container'></span>\n"))(HTMLElement)));function L(){var n,t,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:document,i=new Set,r=a(e.querySelectorAll("d-cite"));try{for(r.s();!(n=r.n()).done;){var o,s=n.value,l=a((s.getAttribute("key")||s.getAttribute("bibtex-key")).split(",").map((function(n){return n.trim()})));try{for(l.s();!(o=l.n()).done;){var u=o.value;i.add(u)}}catch(n){l.e(n)}finally{l.f()}}}catch(n){r.e(n)}finally{r.f()}return function(n){if(Array.isArray(n))return w(n)}(t=i)||function(n){if("undefined"!=typeof Symbol&&null!=n[Symbol.iterator]||null!=n["@@iterator"])return Array.from(n)}(t)||v(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function O(n,t,e,i){if(null==n.author)return"";var r=n.author.split(" and "),o=r.map((function(n){if(-1!=(n=n.trim()).indexOf(","))var e=n.split(",")[0].trim(),i=n.split(",")[1];else-1!=n.indexOf(" ")?(e=n.split(" ").slice(-1)[0].trim(),i=n.split(" ").slice(0,-1).join(" ")):e=n.trim();var r="";return null!=i&&(r=(r=i.trim().split(" ").map((function(n){return n.trim()[0]}))).join(".")+"."),t.replace("${F}",i).replace("${L}",e).replace("${I}",r).trim()}));return r.length>1?o.slice(0,r.length-1).join(e)+((i||e)+o[r.length-1]):o[0]}function D(n){var t=n.journal||n.booktitle||"";if("volume"in n){var e=n.issue||n.number;e=null!=e?"("+e+")":"",t+=", Vol "+n.volume+e}return"pages"in n&&(t+=", pp. "+n.pages),""!=t&&(t+=". "),"publisher"in n&&"."!=(t+=n.publisher)[t.length-1]&&(t+="."),t}function I(n){if("url"in n){var t=n.url,e=/arxiv\.org\/abs\/([0-9\.]*)/.exec(t);if(null!=e&&(t="http://arxiv.org/pdf/".concat(e[1],".pdf")),".pdf"==t.slice(-4))var i="PDF";else".html"==t.slice(-5)&&(i="HTML");return' &ensp;<a href="'.concat(t,'">[').concat(i||"link","]</a>")}return""}function R(n,t){return"doi"in n?"".concat(t?"<br>":"",' <a href="https://doi.org/').concat(n.doi,'" style="text-decoration:inherit;">DOI: ').concat(n.doi,"</a>"):""}function F(n,t){if(n){var e=function(n){return'<span class="title">'+n.title+"</span> "}(n);return e+=I(n)+"<br>",n.author&&(e+=O(n,"${L}, ${I}",", "," and "),(n.year||n.date)&&(e+=", ")),n.year||n.date?e+=(n.year||n.date)+". ":e+=". ",(e+=D(n))+R(n)}return"?"}function U(n){if(n){var t="";t+="<strong>"+n.title+"</strong>",t+=I(n),t+="<br>";var e=O(n,"${I} ${L}",", ")+".",i=D(n).trim()+" "+n.year+". "+R(n,!0);return(e+i).length<Math.min(40,n.title.length)?t+=e+" "+i:t+=e+"<br>"+i,t}return"?"}function P(){return-1!==["interactive","complete"].indexOf(document.readyState)}function H(n){var t=n.firstElementChild;if(t){if("json"==t.getAttribute("type").split("/")[1]){var e=t.textContent;return function(n){var t,e=a(n.authors);try{for(e.s();!(t=e.n()).done;){var i=t.value,r=Boolean(i.affiliation),o=Boolean(i.affiliations);if(r)if(o)console.warn("Author ".concat(i.author,' has both old-style ("affiliation" & "affiliationURL") and new style ("affiliations") affiliation information!'));else{var s={name:i.affiliation};i.affiliationURL&&(s.url=i.affiliationURL),i.affiliations=[s]}}}catch(n){e.e(n)}finally{e.f()}return n}(JSON.parse(e))}console.error("Distill only supports JSON frontmatter tags anymore; no more YAML.")}else console.error("You added a frontmatter tag but did not provide a script tag with front matter data in it. Please take a look at our templates.");return{}}N.katexAdded=!1,N.inlineMathRendered=!1,window.DMath=N;var j=function(n){function t(){var n;f(this,t),n=s(this,t);return new MutationObserver((function(t){var e,i=a(t);try{for(i.s();!(e=i.n()).done;){var r=e.value;if("SCRIPT"===r.target.nodeName||"characterData"===r.type){var o=H(n);n.notify(o)}}}catch(n){i.e(n)}finally{i.f()}})).observe(n,{childList:!0,characterData:!0,subtree:!0}),n}return d(t,n),m(t,[{key:"notify",value:function(n){var t=new CustomEvent("onFrontMatterChanged",{detail:n,bubbles:!0});document.dispatchEvent(t)}}],[{key:"is",get:function(){return"d-front-matter"}}])}(o(HTMLElement));var z=new h,$={frontMatter:z,waitingOn:{bibliography:[],citations:[]},listeners:{onCiteKeyCreated:function(n){var t=y(n.detail,2),e=t[0],i=t[1];if(z.citationsCollected)if(z.bibliographyParsed){var r=i.map((function(n){return z.citations.indexOf(n)}));e.numbers=r;var o=i.map((function(n){return z.bibliography.get(n)}));e.entries=o}else $.waitingOn.bibliography.push((function(){return $.listeners.onCiteKeyCreated(n)}));else $.waitingOn.citations.push((function(){return $.listeners.onCiteKeyCreated(n)}))},onCiteKeyChanged:function(){z.citations=L(),z.citationsCollected=!0;var n,t=a($.waitingOn.citations.slice());try{for(t.s();!(n=t.n()).done;)(0,n.value)()}catch(n){t.e(n)}finally{t.f()}var e=document.querySelector("d-citation-list"),i=new Map(z.citations.map((function(n){return[n,z.bibliography.get(n)]})));e.citations=i;var r,o=a(document.querySelectorAll("d-cite"));try{for(o.s();!(r=o.n()).done;){var s=r.value;console.log(s);var l=s.keys,u=l.map((function(n){return z.citations.indexOf(n)}));s.numbers=u;var c=l.map((function(n){return z.bibliography.get(n)}));s.entries=c}}catch(n){o.e(n)}finally{o.f()}},onCiteKeyRemoved:function(n){$.listeners.onCiteKeyChanged(n)},onBibliographyChanged:function(n){var t=document.querySelector("d-citation-list"),e=n.detail;z.bibliography=e,z.bibliographyParsed=!0;var i,r=a($.waitingOn.bibliography.slice());try{for(r.s();!(i=r.n()).done;)(0,i.value)()}catch(n){r.e(n)}finally{r.f()}if(z.citationsCollected)if(t.hasAttribute("distill-prerendered"))console.debug("Citation list was prerendered; not updating it.");else{var o=new Map(z.citations.map((function(n){return[n,z.bibliography.get(n)]})));t.citations=o}else $.waitingOn.citations.push((function(){$.listeners.onBibliographyChanged({target:n.target,detail:n.detail})}))},onFootnoteChanged:function(){var n=document.querySelector("d-footnote-list");if(n){var t=document.querySelectorAll("d-footnote");n.footnotes=t}},onFrontMatterChanged:function(n){var t,e,i=n.detail;e=i,(t=z).title=e.title,e.published&&(e.published instanceof Date?t.publishedDate=e.published:e.published.constructor===String&&(t.publishedDate=new Date(e.published))),e.publishedDate&&(e.publishedDate instanceof Date?t.publishedDate=e.publishedDate:e.publishedDate.constructor===String?t.publishedDate=new Date(e.publishedDate):console.error("Don't know what to do with published date: "+e.publishedDate)),t.description=e.description,t.authors=e.authors.map((function(n){return new l(n)})),t.katex=e.katex,t.password=e.password,e.doi&&(t.doi=e.doi);var r=document.querySelector("d-interstitial");if(r&&(void 0!==z.password?r.password=z.password:r.parentElement.removeChild(r)),!document.body.hasAttribute("distill-prerendered")&&P()){!function(n,t){var e=n.body,i=e.querySelector("d-article");if(i){var r=n.querySelector("d-byline");r||(t.authors?(r=n.createElement("d-byline"),e.insertBefore(r,i)):console.warn("No authors found in front matter; please add them before submission!"));var o=n.querySelector("d-title");o||(o=n.createElement("d-title"),e.insertBefore(o,r));var a=o.querySelector("h1");a||((a=n.createElement("h1")).textContent=t.title,o.insertBefore(a,o.firstChild));var s=void 0!==t.password,l=e.querySelector("d-interstitial");if(s&&!l){var u="undefined"!=typeof window,c=u&&window.location.hostname.includes("localhost");u&&c||((l=n.createElement("d-interstitial")).password=t.password,e.insertBefore(l,e.firstChild))}else!s&&l&&l.parentElement.removeChild(this);var d=n.querySelector("d-appendix");d||(d=n.createElement("d-appendix"),n.body.appendChild(d));var h=n.querySelector("d-footnote-list");h||(h=n.createElement("d-footnote-list"),d.appendChild(h));var p=n.querySelector("d-citation-list");p||(p=n.createElement("d-citation-list"),d.appendChild(p))}else console.warn("No d-article tag found; skipping adding optional components!")}(document,z);var o=document.querySelector("distill-appendix");o&&(o.frontMatter=z);var a=document.querySelector("d-byline");a&&(a.frontMatter=z),i.katex&&(N.katexOptions=i.katex)}},DOMContentLoaded:function(){if($.loaded)console.warn("Controller received DOMContentLoaded but was already loaded!");else if(P()){$.loaded=!0,console.debug("Runlevel 4: Controller running DOMContentLoaded");var n=document.querySelector("d-front-matter");if(n){var t=H(n);$.listeners.onFrontMatterChanged({detail:t})}z.citations=L(),z.citationsCollected=!0;var e,i=a($.waitingOn.citations.slice());try{for(i.s();!(e=i.n()).done;)(0,e.value)()}catch(n){i.e(n)}finally{i.f()}if(z.bibliographyParsed){var r,o=a($.waitingOn.bibliography.slice());try{for(o.s();!(r=o.n()).done;)(0,r.value)()}catch(n){o.e(n)}finally{o.f()}}var s=document.querySelector("d-footnote-list");if(s){var l=document.querySelectorAll("d-footnote");s.footnotes=l}}else console.warn("Controller received DOMContentLoaded at document.readyState: "+document.readyState+"!")}}},q='/*\n * Copyright 2018 The Distill Template Authors\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *      http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nhtml {\n  font-size: 14px;\n\tline-height: 1.6em;\n  /* font-family: "Libre Franklin", "Helvetica Neue", sans-serif; */\n  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", Arial, sans-serif;\n  /*, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";*/\n  text-size-adjust: 100%;\n  -ms-text-size-adjust: 100%;\n  -webkit-text-size-adjust: 100%;\n}\n\n@media(min-width: 768px) {\n  html {\n    font-size: 16px;\n  }\n}\n\nbody {\n  margin: 0;\n}\n\na {\n  color: #004276;\n}\n\nfigure {\n  margin: 0;\n}\n\ntable {\n\tborder-collapse: collapse;\n\tborder-spacing: 0;\n}\n\ntable th {\n\ttext-align: left;\n}\n\ntable thead {\n  border-bottom: 1px solid rgba(0, 0, 0, 0.05);\n}\n\ntable thead th {\n  padding-bottom: 0.5em;\n}\n\ntable tbody :first-child td {\n  padding-top: 0.5em;\n}\n\npre {\n  overflow: auto;\n  max-width: 100%;\n}\n\np {\n  margin-top: 0;\n  margin-bottom: 1em;\n}\n\nsup, sub {\n  vertical-align: baseline;\n  position: relative;\n  top: -0.4em;\n  line-height: 1em;\n}\n\nsub {\n  top: 0.4em;\n}\n\n.kicker,\n.marker {\n  font-size: 15px;\n  font-weight: 600;\n  color: rgba(0, 0, 0, 0.5);\n}\n\n\n/* Headline */\n\n@media(min-width: 1024px) {\n  d-title h1 span {\n    display: block;\n  }\n}\n\n/* Figure */\n\nfigure {\n  position: relative;\n  margin-bottom: 2.5em;\n  margin-top: 1.5em;\n}\n\nfigcaption+figure {\n\n}\n\nfigure img {\n  width: 100%;\n}\n\nfigure svg text,\nfigure svg tspan {\n}\n\nfigcaption,\n.figcaption {\n  color: rgba(0, 0, 0, 0.6);\n  font-size: 12px;\n  line-height: 1.5em;\n}\n\n@media(min-width: 1024px) {\nfigcaption,\n.figcaption {\n    font-size: 13px;\n  }\n}\n\nfigure.external img {\n  background: white;\n  border: 1px solid rgba(0, 0, 0, 0.1);\n  box-shadow: 0 1px 8px rgba(0, 0, 0, 0.1);\n  padding: 18px;\n  box-sizing: border-box;\n}\n\nfigcaption a {\n  color: rgba(0, 0, 0, 0.6);\n}\n\nfigcaption b,\nfigcaption strong, {\n  font-weight: 600;\n  color: rgba(0, 0, 0, 1.0);\n}\n/*\n * Copyright 2018 The Distill Template Authors\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *      http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n@supports not (display: grid) {\n  .base-grid,\n  distill-header,\n  d-title,\n  d-abstract,\n  d-article,\n  d-appendix,\n  distill-appendix,\n  d-byline,\n  d-footnote-list,\n  d-citation-list,\n  distill-footer {\n    display: block;\n    padding: 8px;\n  }\n}\n\n.base-grid,\ndistill-header,\nd-title,\nd-abstract,\nd-article,\nd-appendix,\ndistill-appendix,\nd-byline,\nd-footnote-list,\nd-citation-list,\ndistill-footer {\n  display: grid;\n  justify-items: stretch;\n  grid-template-columns: [screen-start] 8px [page-start kicker-start text-start gutter-start middle-start] 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr [text-end page-end gutter-end kicker-end middle-end] 8px [screen-end];\n  grid-column-gap: 8px;\n}\n\n.grid {\n  display: grid;\n  grid-column-gap: 8px;\n}\n\n@media(min-width: 768px) {\n  .base-grid,\n  distill-header,\n  d-title,\n  d-abstract,\n  d-article,\n  d-appendix,\n  distill-appendix,\n  d-byline,\n  d-footnote-list,\n  d-citation-list,\n  distill-footer {\n    grid-template-columns: [screen-start] 1fr [page-start kicker-start middle-start text-start] 45px 45px 45px 45px 45px 45px 45px 45px [ kicker-end text-end gutter-start] 45px [middle-end] 45px [page-end gutter-end] 1fr [screen-end];\n    grid-column-gap: 16px;\n  }\n\n  .grid {\n    grid-column-gap: 16px;\n  }\n}\n\n@media(min-width: 1000px) {\n  .base-grid,\n  distill-header,\n  d-title,\n  d-abstract,\n  d-article,\n  d-appendix,\n  distill-appendix,\n  d-byline,\n  d-footnote-list,\n  d-citation-list,\n  distill-footer {\n    grid-template-columns: [screen-start] 1fr [page-start kicker-start] 50px [middle-start] 50px [text-start kicker-end] 50px 50px 50px 50px 50px 50px 50px 50px [text-end gutter-start] 50px [middle-end] 50px [page-end gutter-end] 1fr [screen-end];\n    grid-column-gap: 16px;\n  }\n\n  .grid {\n    grid-column-gap: 16px;\n  }\n}\n\n@media(min-width: 1180px) {\n  .base-grid,\n  distill-header,\n  d-title,\n  d-abstract,\n  d-article,\n  d-appendix,\n  distill-appendix,\n  d-byline,\n  d-footnote-list,\n  d-citation-list,\n  distill-footer {\n    grid-template-columns: [screen-start] 1fr [page-start kicker-start] 60px [middle-start] 60px [text-start kicker-end] 60px 60px 60px 60px 60px 60px 60px 60px [text-end gutter-start] 60px [middle-end] 60px [page-end gutter-end] 1fr [screen-end];\n    grid-column-gap: 32px;\n  }\n\n  .grid {\n    grid-column-gap: 32px;\n  }\n}\n\n\n\n\n.base-grid {\n  grid-column: screen;\n}\n\n/* .l-body,\nd-article > *  {\n  grid-column: text;\n}\n\n.l-page,\nd-title > *,\nd-figure {\n  grid-column: page;\n} */\n\n.l-gutter {\n  grid-column: gutter;\n}\n\n.l-text,\n.l-body {\n  grid-column: text;\n}\n\n.l-page {\n  grid-column: page;\n}\n\n.l-body-outset {\n  grid-column: middle;\n}\n\n.l-page-outset {\n  grid-column: page;\n}\n\n.l-screen {\n  grid-column: screen;\n}\n\n.l-screen-inset {\n  grid-column: screen;\n  padding-left: 16px;\n  padding-left: 16px;\n}\n\n\n/* Aside */\n\nd-article aside {\n  grid-column: gutter;\n  font-size: 12px;\n  line-height: 1.6em;\n  color: rgba(0, 0, 0, 0.6)\n}\n\n@media(min-width: 768px) {\n  aside {\n    grid-column: gutter;\n  }\n\n  .side {\n    grid-column: gutter;\n  }\n}\n/*\n * Copyright 2018 The Distill Template Authors\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *      http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nd-title {\n  padding: 2rem 0 1.5rem;\n  contain: layout style;\n  overflow-x: hidden;\n}\n\n@media(min-width: 768px) {\n  d-title {\n    padding: 4rem 0 1.5rem;\n  }\n}\n\nd-title h1 {\n  grid-column: text;\n  font-size: 40px;\n  font-weight: 700;\n  line-height: 1.1em;\n  margin: 0 0 0.5rem;\n}\n\n@media(min-width: 768px) {\n  d-title h1 {\n    font-size: 50px;\n  }\n}\n\nd-title p {\n  font-weight: 300;\n  font-size: 1.2rem;\n  line-height: 1.55em;\n  grid-column: text;\n}\n\nd-title .status {\n  margin-top: 0px;\n  font-size: 12px;\n  color: #009688;\n  opacity: 0.8;\n  grid-column: kicker;\n}\n\nd-title .status span {\n  line-height: 1;\n  display: inline-block;\n  padding: 6px 0;\n  border-bottom: 1px solid #80cbc4;\n  font-size: 11px;\n  text-transform: uppercase;\n}\n/*\n * Copyright 2018 The Distill Template Authors\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *      http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nd-byline {\n  contain: style;\n  overflow: hidden;\n  border-top: 1px solid rgba(0, 0, 0, 0.1);\n  font-size: 0.8rem;\n  line-height: 1.8em;\n  padding: 1.5rem 0;\n  min-height: 1.8em;\n}\n\n\nd-byline .byline {\n  grid-template-columns: 1fr 1fr;\n  grid-column: text;\n}\n\n@media(min-width: 768px) {\n  d-byline .byline {\n    grid-template-columns: 1fr 1fr 1fr 1fr;\n  }\n}\n\nd-byline .authors-affiliations {\n  grid-column-end: span 2;\n  grid-template-columns: 1fr 1fr;\n  margin-bottom: 1em;\n}\n\n@media(min-width: 768px) {\n  d-byline .authors-affiliations {\n    margin-bottom: 0;\n  }\n}\n\nd-byline h3 {\n  font-size: 0.6rem;\n  font-weight: 400;\n  color: rgba(0, 0, 0, 0.5);\n  margin: 0;\n  text-transform: uppercase;\n}\n\nd-byline p {\n  margin: 0;\n}\n\nd-byline a,\nd-article d-byline a {\n  color: rgba(0, 0, 0, 0.8);\n  text-decoration: none;\n  border-bottom: none;\n}\n\nd-article d-byline a:hover {\n  text-decoration: underline;\n  border-bottom: none;\n}\n\nd-byline p.author {\n  font-weight: 500;\n}\n\nd-byline .affiliations {\n\n}\n/*\n * Copyright 2018 The Distill Template Authors\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *      http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nd-article {\n  contain: layout style;\n  overflow-x: hidden;\n  border-top: 1px solid rgba(0, 0, 0, 0.1);\n  padding-top: 2rem;\n  color: rgba(0, 0, 0, 0.8);\n}\n\nd-article > * {\n  grid-column: text;\n}\n\n@media(min-width: 768px) {\n  d-article {\n    font-size: 16px;\n  }\n}\n\n@media(min-width: 1024px) {\n  d-article {\n    font-size: 1.06rem;\n    line-height: 1.7em;\n  }\n}\n\n\n/* H2 */\n\n\nd-article .marker {\n  text-decoration: none;\n  border: none;\n  counter-reset: section;\n  grid-column: kicker;\n  line-height: 1.7em;\n}\n\nd-article .marker:hover {\n  border: none;\n}\n\nd-article .marker span {\n  padding: 0 3px 4px;\n  border-bottom: 1px solid rgba(0, 0, 0, 0.2);\n  position: relative;\n  top: 4px;\n}\n\nd-article .marker:hover span {\n  color: rgba(0, 0, 0, 0.7);\n  border-bottom: 1px solid rgba(0, 0, 0, 0.7);\n}\n\nd-article h2 {\n  font-weight: 600;\n  font-size: 24px;\n  line-height: 1.25em;\n  margin: 2rem 0 1.5rem 0;\n  border-bottom: 1px solid rgba(0, 0, 0, 0.1);\n  padding-bottom: 1rem;\n}\n\n@media(min-width: 1024px) {\n  d-article h2 {\n    font-size: 36px;\n  }\n}\n\n/* H3 */\n\nd-article h3 {\n  font-weight: 700;\n  font-size: 18px;\n  line-height: 1.4em;\n  margin-bottom: 1em;\n  margin-top: 2em;\n}\n\n@media(min-width: 1024px) {\n  d-article h3 {\n    font-size: 20px;\n  }\n}\n\n/* H4 */\n\nd-article h4 {\n  font-weight: 600;\n  text-transform: uppercase;\n  font-size: 14px;\n  line-height: 1.4em;\n}\n\nd-article a {\n  color: inherit;\n}\n\nd-article p,\nd-article ul,\nd-article ol,\nd-article blockquote {\n  margin-top: 0;\n  margin-bottom: 1em;\n  margin-left: 0;\n  margin-right: 0;\n}\n\nd-article blockquote {\n  border-left: 2px solid rgba(0, 0, 0, 0.2);\n  padding-left: 2em;\n  font-style: italic;\n  color: rgba(0, 0, 0, 0.6);\n}\n\nd-article a {\n  border-bottom: 1px solid rgba(0, 0, 0, 0.4);\n  text-decoration: none;\n}\n\nd-article a:hover {\n  border-bottom: 1px solid rgba(0, 0, 0, 0.8);\n}\n\nd-article .link {\n  text-decoration: underline;\n  cursor: pointer;\n}\n\nd-article ul,\nd-article ol {\n  padding-left: 24px;\n}\n\nd-article li {\n  margin-bottom: 1em;\n  margin-left: 0;\n  padding-left: 0;\n}\n\nd-article li:last-child {\n  margin-bottom: 0;\n}\n\nd-article pre {\n  font-size: 14px;\n  margin-bottom: 20px;\n}\n\nd-article hr {\n  grid-column: screen;\n  width: 100%;\n  border: none;\n  border-bottom: 1px solid rgba(0, 0, 0, 0.1);\n  margin-top: 60px;\n  margin-bottom: 60px;\n}\n\nd-article section {\n  margin-top: 60px;\n  margin-bottom: 60px;\n}\n\nd-article span.equation-mimic {\n  font-family: georgia;\n  font-size: 115%;\n  font-style: italic;\n}\n\nd-article > d-code,\nd-article section > d-code  {\n  display: block;\n}\n\nd-article > d-math[block],\nd-article section > d-math[block]  {\n  display: block;\n}\n\n@media (max-width: 768px) {\n  d-article > d-code,\n  d-article section > d-code,\n  d-article > d-math[block],\n  d-article section > d-math[block] {\n      overflow-x: scroll;\n      -ms-overflow-style: none;  // IE 10+\n      overflow: -moz-scrollbars-none;  // Firefox\n  }\n\n  d-article > d-code::-webkit-scrollbar,\n  d-article section > d-code::-webkit-scrollbar,\n  d-article > d-math[block]::-webkit-scrollbar,\n  d-article section > d-math[block]::-webkit-scrollbar {\n    display: none;  // Safari and Chrome\n  }\n}\n\nd-article .citation {\n  color: #668;\n  cursor: pointer;\n}\n\nd-include {\n  width: auto;\n  display: block;\n}\n\nd-figure {\n  contain: layout style;\n}\n\n/* KaTeX */\n\n.katex, .katex-prerendered {\n  contain: style;\n  display: inline-block;\n}\n\n/* Tables */\n\nd-article table {\n  border-collapse: collapse;\n  margin-bottom: 1.5rem;\n  border-bottom: 1px solid rgba(0, 0, 0, 0.2);\n}\n\nd-article table th {\n  border-bottom: 1px solid rgba(0, 0, 0, 0.2);\n}\n\nd-article table td {\n  border-bottom: 1px solid rgba(0, 0, 0, 0.05);\n}\n\nd-article table tr:last-of-type td {\n  border-bottom: none;\n}\n\nd-article table th,\nd-article table td {\n  font-size: 15px;\n  padding: 2px 8px;\n}\n\nd-article table tbody :first-child td {\n  padding-top: 2px;\n}\n'+k+'/*\n * Copyright 2018 The Distill Template Authors\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *      http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n@media print {\n\n  @page {\n    size: 8in 11in;\n    @bottom-right {\n      content: counter(page) " of " counter(pages);\n    }\n  }\n\n  html {\n    /* no general margins -- CSS Grid takes care of those */\n  }\n\n  p, code {\n    page-break-inside: avoid;\n  }\n\n  h2, h3 {\n    page-break-after: avoid;\n  }\n\n  d-header {\n    visibility: hidden;\n  }\n\n  d-footer {\n    display: none!important;\n  }\n\n}\n';function B(n,t){console.debug("Runlevel 0: Polyfill required: "+n.name);var e=document.createElement("script");e.src=n.url,e.async=!1,t&&(e.onload=function(){t(n)}),e.onerror=function(){new Error("Runlevel 0: Polyfills failed to load script "+n.name)},document.head.appendChild(e)}var Y=[{name:"WebComponents",support:function(){return"customElements"in window&&"attachShadow"in Element.prototype&&"getRootNode"in Element.prototype&&"content"in document.createElement("template")&&"Promise"in window&&"from"in Array},url:"https://distill.pub/third-party/polyfills/webcomponents-lite.js"},{name:"IntersectionObserver",support:function(){return"IntersectionObserver"in window&&"IntersectionObserverEntry"in window},url:"https://distill.pub/third-party/polyfills/intersection-observer.js"}],W=function(){function n(){f(this,n)}return m(n,null,[{key:"browserSupportsAllFeatures",value:function(){return Y.every((function(n){return n.support()}))}},{key:"load",value:function(t){var e,i=function(e){e.loaded=!0,console.debug("Runlevel 0: Polyfill has finished loading: "+e.name),n.neededPolyfills.every((function(n){return n.loaded}))&&(console.debug("Runlevel 0: All required polyfills have finished loading."),console.debug("Runlevel 0->1."),window.distillRunlevel=1,t())},r=a(n.neededPolyfills);try{for(r.s();!(e=r.n()).done;)B(e.value,i)}catch(n){r.e(n)}finally{r.f()}}},{key:"neededPolyfills",get:function(){return n._neededPolyfills||(n._neededPolyfills=Y.filter((function(n){return!n.support()}))),n._neededPolyfills}}])}();var G=function(n){function t(){return f(this,t),s(this,t,arguments)}return d(t,n),m(t)}(x("d-abstract","\n<style>\n  :host {\n    font-size: 1.25rem;\n    line-height: 1.6em;\n    color: rgba(0, 0, 0, 0.7);\n    -webkit-font-smoothing: antialiased;\n  }\n\n  ::slotted(p) {\n    margin-top: 0;\n    margin-bottom: 1em;\n    grid-column: text-start / middle-end;\n  }\n  ".concat(function(n){return"".concat(n," {\n      grid-column: left / text;\n    }\n  ")}("d-abstract"),"\n</style>\n\n<slot></slot>\n"))(HTMLElement)),V=function(n){function t(){return f(this,t),s(this,t,arguments)}return d(t,n),m(t)}(x("d-appendix","\n<style>\n\nd-appendix {\n  contain: layout style;\n  font-size: 0.8em;\n  line-height: 1.7em;\n  margin-top: 60px;\n  margin-bottom: 0;\n  border-top: 1px solid rgba(0, 0, 0, 0.1);\n  color: rgba(0,0,0,0.5);\n  padding-top: 60px;\n  padding-bottom: 48px;\n}\n\nd-appendix h3 {\n  grid-column: page-start / text-start;\n  font-size: 15px;\n  font-weight: 500;\n  margin-top: 1em;\n  margin-bottom: 0;\n  color: rgba(0,0,0,0.65);\n}\n\nd-appendix h3 + * {\n  margin-top: 1em;\n}\n\nd-appendix ol {\n  padding: 0 0 0 15px;\n}\n\n@media (min-width: 768px) {\n  d-appendix ol {\n    padding: 0 0 0 30px;\n    margin-left: -30px;\n  }\n}\n\nd-appendix li {\n  margin-bottom: 1em;\n}\n\nd-appendix a {\n  color: rgba(0, 0, 0, 0.6);\n}\n\nd-appendix > * {\n  grid-column: text;\n}\n\nd-appendix > d-footnote-list,\nd-appendix > d-citation-list,\nd-appendix > distill-appendix {\n  grid-column: screen;\n}\n\n</style>\n\n",!1)(HTMLElement)),K=/^\s*$/,X=function(n){function t(){var n;return f(this,t),n=s(this,t),new MutationObserver((function(n){var t,e=a(n);try{for(e.s();!(t=e.n()).done;){var i,r=a(t.value.addedNodes);try{for(r.s();!(i=r.n()).done;){var o=i.value;if("#text"===o.nodeName){var s=o.nodeValue;if(!K.test(s)){console.warn("Use of unwrapped text in distill articles is discouraged as it breaks layout! Please wrap any text in a <span> or <p> tag. We found the following text: "+s);var l=document.createElement("span");l.innerHTML=o.nodeValue,o.parentNode.insertBefore(l,o),o.parentNode.removeChild(o)}}}}catch(n){r.e(n)}finally{r.f()}}}catch(n){e.e(n)}finally{e.f()}})).observe(n,{childList:!0}),n}return d(t,n),m(t,null,[{key:"is",get:function(){return"d-article"}}])}(o(HTMLElement)),Z="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:void 0!==e.g?e.g:"undefined"!=typeof self?self:{};function Q(n,t){return n(t={exports:{}},t.exports),t.exports}var J=Q((function(n,t){!function(n){function t(){this.months=["jan","feb","mar","apr","may","jun","jul","aug","sep","oct","nov","dec"],this.notKey=[",","{","}"," ","="],this.pos=0,this.input="",this.entries=new Array,this.currentEntry="",this.setInput=function(n){this.input=n},this.getEntries=function(){return this.entries},this.isWhitespace=function(n){return" "==n||"\r"==n||"\t"==n||"\n"==n},this.match=function(n,t){if(null!=t&&null!=t||(t=!0),this.skipWhitespace(t),this.input.substring(this.pos,this.pos+n.length)!=n)throw"Token mismatch, expected "+n+", found "+this.input.substring(this.pos);this.pos+=n.length,this.skipWhitespace(t)},this.tryMatch=function(n,t){return null!=t&&null!=t||(t=!0),this.skipWhitespace(t),this.input.substring(this.pos,this.pos+n.length)==n},this.matchAt=function(){for(;this.input.length>this.pos&&"@"!=this.input[this.pos];)this.pos++;return"@"==this.input[this.pos]},this.skipWhitespace=function(n){for(;this.isWhitespace(this.input[this.pos]);)this.pos++;if("%"==this.input[this.pos]&&1==n){for(;"\n"!=this.input[this.pos];)this.pos++;this.skipWhitespace(n)}},this.value_braces=function(){var n=0;this.match("{",!1);for(var t=this.pos,e=!1;;){if(!e)if("}"==this.input[this.pos]){if(!(n>0)){var i=this.pos;return this.match("}",!1),this.input.substring(t,i)}n--}else if("{"==this.input[this.pos])n++;else if(this.pos>=this.input.length-1)throw"Unterminated value";e="\\"==this.input[this.pos]&&0==e,this.pos++}},this.value_comment=function(){for(var n="",t=0;!this.tryMatch("}",!1)||0!=t;){if(n+=this.input[this.pos],"{"==this.input[this.pos]&&t++,"}"==this.input[this.pos]&&t--,this.pos>=this.input.length-1)throw"Unterminated value:"+this.input.substring(start);this.pos++}return n},this.value_quotes=function(){this.match('"',!1);for(var n=this.pos,t=!1;;){if(!t){if('"'==this.input[this.pos]){var e=this.pos;return this.match('"',!1),this.input.substring(n,e)}if(this.pos>=this.input.length-1)throw"Unterminated value:"+this.input.substring(n)}t="\\"==this.input[this.pos]&&0==t,this.pos++}},this.single_value=function(){var n=this.pos;if(this.tryMatch("{"))return this.value_braces();if(this.tryMatch('"'))return this.value_quotes();var t=this.key();if(t.match("^[0-9]+$"))return t;if(this.months.indexOf(t.toLowerCase())>=0)return t.toLowerCase();throw"Value expected:"+this.input.substring(n)+" for key: "+t},this.value=function(){var n=[];for(n.push(this.single_value());this.tryMatch("#");)this.match("#"),n.push(this.single_value());return n.join("")},this.key=function(){for(var n=this.pos;;){if(this.pos>=this.input.length)throw"Runaway key";if(this.notKey.indexOf(this.input[this.pos])>=0)return this.input.substring(n,this.pos);this.pos++}},this.key_equals_value=function(){var n=this.key();if(this.tryMatch("="))return this.match("="),[n,this.value()];throw"... = value expected, equals sign missing:"+this.input.substring(this.pos)},this.key_value_list=function(){var n=this.key_equals_value();for(this.currentEntry.entryTags={},this.currentEntry.entryTags[n[0]]=n[1];this.tryMatch(",")&&(this.match(","),!this.tryMatch("}"));)n=this.key_equals_value(),this.currentEntry.entryTags[n[0]]=n[1]},this.entry_body=function(n){this.currentEntry={},this.currentEntry.citationKey=this.key(),this.currentEntry.entryType=n.substring(1),this.match(","),this.key_value_list(),this.entries.push(this.currentEntry)},this.directive=function(){return this.match("@"),"@"+this.key()},this.preamble=function(){this.currentEntry={},this.currentEntry.entryType="PREAMBLE",this.currentEntry.entry=this.value_comment(),this.entries.push(this.currentEntry)},this.comment=function(){this.currentEntry={},this.currentEntry.entryType="COMMENT",this.currentEntry.entry=this.value_comment(),this.entries.push(this.currentEntry)},this.entry=function(n){this.entry_body(n)},this.bibtex=function(){for(;this.matchAt();){var n=this.directive();this.match("{"),"@STRING"==n?this.string():"@PREAMBLE"==n?this.preamble():"@COMMENT"==n?this.comment():this.entry(n),this.match("}")}}}n.toJSON=function(n){var e=new t;return e.setInput(n),e.bibtex(),e.entries},n.toBibtex=function(n){var t="";for(var e in n){if(t+="@"+n[e].entryType,t+="{",n[e].citationKey&&(t+=n[e].citationKey+", "),n[e].entry&&(t+=n[e].entry),n[e].entryTags){var i="";for(var r in n[e].entryTags)0!=i.length&&(i+=", "),i+=r+"= {"+n[e].entryTags[r]+"}";t+=i}t+="}\n\n"}return t}}(t)}));function nn(n){return n.replace(/[\t\n ]+/g," ").replace(/{\\["^`.'acu~Hvs]( )?([a-zA-Z])}/g,(function(n,t,e){return e})).replace(/{\\([a-zA-Z])}/g,(function(n,t){return t}))}function tn(n){var t,e=new Map,i=a(J.toJSON(n));try{for(i.s();!(t=i.n()).done;){for(var r=t.value,o=0,s=Object.entries(r.entryTags);o<s.length;o++){var l=y(s[o],2),u=l[0],c=l[1];r.entryTags[u.toLowerCase()]=nn(c)}r.entryTags.type=r.entryType,e.set(r.citationKey,r.entryTags)}}catch(n){i.e(n)}finally{i.f()}return e}var en=function(n){function t(){var n;f(this,t),n=s(this,t);return new MutationObserver((function(t){var e,i=a(t);try{for(i.s();!(e=i.n()).done;){var r=e.value;"SCRIPT"!==r.target.nodeName&&"characterData"!==r.type||n.parseIfPossible()}}catch(n){i.e(n)}finally{i.f()}})).observe(n,{childList:!0,characterData:!0,subtree:!0}),n}return d(t,n),m(t,[{key:"connectedCallback",value:function(){var n=this;requestAnimationFrame((function(){n.parseIfPossible()}))}},{key:"parseIfPossible",value:function(){var n=this.querySelector("script");if(n)if("text/bibtex"==n.type){var t=n.textContent;if(this.bibtex!==t){this.bibtex=t;var e=tn(this.bibtex);this.notify(e)}}else if("text/json"==n.type){var i=new Map(JSON.parse(n.textContent));this.notify(i)}else console.warn("Unsupported bibliography script tag type: "+n.type)}},{key:"notify",value:function(n){var t=new CustomEvent("onBibliographyChanged",{detail:n,bubbles:!0});this.dispatchEvent(t)}},{key:"receivedBibtex",value:function(n){var t=tn(n.target.response);this.notify(t)}},{key:"attributeChangedCallback",value:function(n,t,e){var i=this,r=new XMLHttpRequest;r.onload=function(n){return i.receivedBibtex(n)},r.onerror=function(){return console.warn("Could not load Bibtex! (tried ".concat(e,")"))},r.responseType="text",r.open("GET",e,!0),r.send()}}],[{key:"is",get:function(){return"d-bibliography"}},{key:"observedAttributes",get:function(){return["src"]}}])}(o(HTMLElement));var rn=function(n){function t(){return f(this,t),s(this,t,arguments)}return d(t,n),m(t,[{key:"frontMatter",set:function(n){this.innerHTML=function(n){return'\n    <div class="byline grid">\n      <div>\n          <h3>Authors</h3>\n          <div>\n              '.concat(n.authors.map((function(t,e){return'\n              <span class="author">\n        '.concat(t.personalURL?'\n          <a class="name" href="'.concat(t.personalURL,'">').concat(t.name)+(e+1<n.authors.length?",":"")+"</a>":'\n          <span class="name">'.concat(t.name)+(e+1<n.authors.length?",":"")+"</span>","\n      </span>\n              ")})).join(""),'\n          </div>\n      </div>\n      <div >\n          <h3>Affiliation</h3>\n          <div><a href="https://huggingface.co/">HuggingFace</a>\n          </div>\n      </div>\n      <div >\n          <h3>Published</h3>\n          <div>Jun 26, 2024</div>\n      </div>\n    </div>\n')}(n)}}],[{key:"is",get:function(){return"d-byline"}}])}(o(HTMLElement)),on=function(n){function t(){var n;return f(this,t),(n=s(this,t))._numbers=[],n._entries=[],n}return d(t,n),m(t,[{key:"connectedCallback",value:function(){var n=this;this.outerSpan=this.root.querySelector("#citation-"),this.innerSpan=this.root.querySelector(".citation-number"),this.hoverBox=this.root.querySelector("d-hover-box"),window.customElements.whenDefined("d-hover-box").then((function(){n.hoverBox.listen(n)})),this.numbers&&this.displayNumbers(this.numbers),this.entries&&this.displayEntries(this.entries)}},{key:"attributeChangedCallback",value:function(n,t,e){var i=t?"onCiteKeyChanged":"onCiteKeyCreated",r=e.split(",").map((function(n){return n.trim()})),o=new CustomEvent(i,{detail:[this,r],bubbles:!0});document.dispatchEvent(o)}},{key:"key",get:function(){return this.getAttribute("key")||this.getAttribute("bibtex-key")},set:function(n){this.setAttribute("key",n)}},{key:"keys",get:function(){var n=this.key.split(",");return console.log(n),n}},{key:"numbers",get:function(){return this._numbers},set:function(n){this._numbers=n,this.displayNumbers(n)}},{key:"displayNumbers",value:function(n){if(this.innerSpan){var t="["+n.map((function(n){return-1==n?"?":n+1+""})).join(", ")+"]";this.innerSpan.textContent=t}}},{key:"entries",get:function(){return this._entries},set:function(n){this._entries=n,this.displayEntries(n)}},{key:"displayEntries",value:function(n){this.hoverBox&&(this.hoverBox.innerHTML="<ul>\n      ".concat(n.map(U).map((function(n){return"<li>".concat(n,"</li>")})).join("\n"),"\n    </ul>"))}}],[{key:"observedAttributes",get:function(){return["key","bibtex-key"]}}])}(x("d-cite",'\n<style>\n\n:host {\n  display: inline-block;\n}\n\n.citation {\n  color: hsla(206, 90%, 20%, 0.7);\n}\n\n.citation-number {\n  cursor: default;\n  white-space: nowrap;\n  font-family: -apple-system, BlinkMacSystemFont, "Roboto", Helvetica, sans-serif;\n  font-size: 75%;\n  color: hsla(206, 90%, 20%, 0.7);\n  display: inline-block;\n  line-height: 1.1em;\n  text-align: center;\n  position: relative;\n  top: -2px;\n  margin: 0 2px;\n}\n\nfigcaption .citation-number {\n  font-size: 11px;\n  font-weight: normal;\n  top: -2px;\n  line-height: 1em;\n}\n\nul {\n  margin: 0;\n  padding: 0;\n  list-style-type: none;\n}\n\nul li {\n  padding: 15px 10px 15px 10px;\n  border-bottom: 1px solid rgba(0,0,0,0.1)\n}\n\nul li:last-of-type {\n  border-bottom: none;\n}\n\n</style>\n\n<d-hover-box id="hover-box"></d-hover-box>\n\n<div id="citation-" class="citation">\n  <span class="citation-number"></span>\n</div>\n')(HTMLElement));var an=function(n){function t(){return f(this,t),s(this,t,arguments)}return d(t,n),m(t,[{key:"connectedCallback",value:function(){this.hasAttribute("distill-prerendered")||(this.style.display="none")}},{key:"citations",set:function(n){!function(n,t){var e=arguments.length>2&&void 0!==arguments[2]?arguments[2]:document;if(t.size>0){n.style.display="";var i=n.querySelector(".references");if(i)i.innerHTML="";else{var r=e.createElement("style");r.innerHTML="\nd-citation-list {\n  contain: style;\n}\n\nd-citation-list .references {\n  grid-column: text;\n}\n\nd-citation-list .references .title {\n  font-weight: 500;\n}\n",n.appendChild(r);var o=e.createElement("h3");o.id="references",o.textContent="References",n.appendChild(o),(i=e.createElement("ol")).id="references-list",i.className="references",n.appendChild(i)}var s,l=a(t);try{for(l.s();!(s=l.n()).done;){var u=y(s.value,2),c=u[0],d=u[1],h=e.createElement("li");h.id=c,h.innerHTML=F(d),i.appendChild(h)}}catch(n){l.e(n)}finally{l.f()}}else n.style.display="none"}(this,n)}}],[{key:"is",get:function(){return"d-citation-list"}}])}(o(HTMLElement)),sn=Q((function(n){var t=function(n){var t=/\blang(?:uage)?-([\w-]+)\b/i,e=0,i={manual:n.Prism&&n.Prism.manual,disableWorkerMessageHandler:n.Prism&&n.Prism.disableWorkerMessageHandler,util:{encode:function n(t){return t instanceof r?new r(t.type,n(t.content),t.alias):Array.isArray(t)?t.map(n):t.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/\u00a0/g," ")},type:function(n){return Object.prototype.toString.call(n).slice(8,-1)},objId:function(n){return n.__id||Object.defineProperty(n,"__id",{value:++e}),n.__id},clone:function n(t,e){var r,o,a=i.util.type(t);switch(e=e||{},a){case"Object":if(o=i.util.objId(t),e[o])return e[o];for(var s in r={},e[o]=r,t)t.hasOwnProperty(s)&&(r[s]=n(t[s],e));return r;case"Array":return o=i.util.objId(t),e[o]?e[o]:(r=[],e[o]=r,t.forEach((function(t,i){r[i]=n(t,e)})),r);default:return t}},getLanguage:function(n){for(;n&&!t.test(n.className);)n=n.parentElement;return n?(n.className.match(t)||[,"none"])[1].toLowerCase():"none"},currentScript:function(){if("undefined"==typeof document)return null;if("currentScript"in document)return document.currentScript;try{throw new Error}catch(i){var n=(/at [^(\r\n]*\((.*):.+:.+\)$/i.exec(i.stack)||[])[1];if(n){var t=document.getElementsByTagName("script");for(var e in t)if(t[e].src==n)return t[e]}return null}}},languages:{extend:function(n,t){var e=i.util.clone(i.languages[n]);for(var r in t)e[r]=t[r];return e},insertBefore:function(n,t,e,r){var o=(r=r||i.languages)[n],a={};for(var s in o)if(o.hasOwnProperty(s)){if(s==t)for(var l in e)e.hasOwnProperty(l)&&(a[l]=e[l]);e.hasOwnProperty(s)||(a[s]=o[s])}var u=r[n];return r[n]=a,i.languages.DFS(i.languages,(function(t,e){e===u&&t!=n&&(this[t]=a)})),a},DFS:function n(t,e,r,o){o=o||{};var a=i.util.objId;for(var s in t)if(t.hasOwnProperty(s)){e.call(t,s,t[s],r||s);var l=t[s],u=i.util.type(l);"Object"!==u||o[a(l)]?"Array"!==u||o[a(l)]||(o[a(l)]=!0,n(l,e,s,o)):(o[a(l)]=!0,n(l,e,null,o))}}},plugins:{},highlightAll:function(n,t){i.highlightAllUnder(document,n,t)},highlightAllUnder:function(n,t,e){var r={callback:e,container:n,selector:'code[class*="language-"], [class*="language-"] code, code[class*="lang-"], [class*="lang-"] code'};i.hooks.run("before-highlightall",r),r.elements=Array.prototype.slice.apply(r.container.querySelectorAll(r.selector)),i.hooks.run("before-all-elements-highlight",r);for(var o,a=0;o=r.elements[a++];)i.highlightElement(o,!0===t,r.callback)},highlightElement:function(e,r,o){var a=i.util.getLanguage(e),s=i.languages[a];e.className=e.className.replace(t,"").replace(/\s+/g," ")+" language-"+a;var l=e.parentNode;l&&"pre"===l.nodeName.toLowerCase()&&(l.className=l.className.replace(t,"").replace(/\s+/g," ")+" language-"+a);var u={element:e,language:a,grammar:s,code:e.textContent};function c(n){u.highlightedCode=n,i.hooks.run("before-insert",u),u.element.innerHTML=u.highlightedCode,i.hooks.run("after-highlight",u),i.hooks.run("complete",u),o&&o.call(u.element)}if(i.hooks.run("before-sanity-check",u),!u.code)return i.hooks.run("complete",u),void(o&&o.call(u.element));if(i.hooks.run("before-highlight",u),u.grammar)if(r&&n.Worker){var d=new Worker(i.filename);d.onmessage=function(n){c(n.data)},d.postMessage(JSON.stringify({language:u.language,code:u.code,immediateClose:!0}))}else c(i.highlight(u.code,u.grammar,u.language));else c(i.util.encode(u.code))},highlight:function(n,t,e){var o={code:n,grammar:t,language:e};return i.hooks.run("before-tokenize",o),o.tokens=i.tokenize(o.code,o.grammar),i.hooks.run("after-tokenize",o),r.stringify(i.util.encode(o.tokens),o.language)},tokenize:function(n,t){var e=t.rest;if(e){for(var i in e)t[i]=e[i];delete t.rest}var r=new a;return s(r,r.head,n),o(n,r,t,r.head,0),function(n){for(var t=[],e=n.head.next;e!==n.tail;)t.push(e.value),e=e.next;return t}(r)},hooks:{all:{},add:function(n,t){var e=i.hooks.all;e[n]=e[n]||[],e[n].push(t)},run:function(n,t){var e=i.hooks.all[n];if(e&&e.length)for(var r,o=0;r=e[o++];)r(t)}},Token:r};function r(n,t,e,i,r){this.type=n,this.content=t,this.alias=e,this.length=0|(i||"").length,this.greedy=!!r}function o(n,t,e,a,u,c,d){for(var h in e)if(e.hasOwnProperty(h)&&e[h]){var p=e[h];p=Array.isArray(p)?p:[p];for(var f=0;f<p.length;++f){if(d&&d==h+","+f)return;var g=p[f],m=g.inside,b=!!g.lookbehind,y=!!g.greedy,v=0,w=g.alias;if(y&&!g.pattern.global){var x=g.pattern.toString().match(/[imsuy]*$/)[0];g.pattern=RegExp(g.pattern.source,x+"g")}g=g.pattern||g;for(var k=a.next,S=u;k!==t.tail;S+=k.value.length,k=k.next){var M=k.value;if(t.length>n.length)return;if(!(M instanceof r)){var T=1;if(y&&k!=t.tail.prev){if(g.lastIndex=S,!(N=g.exec(n)))break;var _=N.index+(b&&N[1]?N[1].length:0),A=N.index+N[0].length,E=S;for(E+=k.value.length;_>=E;)E+=(k=k.next).value.length;if(S=E-=k.value.length,k.value instanceof r)continue;for(var C=k;C!==t.tail&&(E<A||"string"==typeof C.value&&!C.prev.value.greedy);C=C.next)T++,E+=C.value.length;T--,M=n.slice(S,E),N.index-=S}else{g.lastIndex=0;var N=g.exec(M)}if(N){b&&(v=N[1]?N[1].length:0),A=(_=N.index+v)+(N=N[0].slice(v)).length;var L=M.slice(0,_),O=M.slice(A),D=k.prev;if(L&&(D=s(t,D,L),S+=L.length),l(t,D,T),k=s(t,D,new r(h,m?i.tokenize(N,m):N,w,N,y)),O&&s(t,k,O),T>1&&o(n,t,e,k.prev,S,!0,h+","+f),c)break}else if(c)break}}}}}function a(){var n={value:null,prev:null,next:null},t={value:null,prev:n,next:null};n.next=t,this.head=n,this.tail=t,this.length=0}function s(n,t,e){var i=t.next,r={value:e,prev:t,next:i};return t.next=r,i.prev=r,n.length++,r}function l(n,t,e){for(var i=t.next,r=0;r<e&&i!==n.tail;r++)i=i.next;t.next=i,i.prev=t,n.length-=r}if(n.Prism=i,r.stringify=function n(t,e){if("string"==typeof t)return t;if(Array.isArray(t)){var r="";return t.forEach((function(t){r+=n(t,e)})),r}var o={type:t.type,content:n(t.content,e),tag:"span",classes:["token",t.type],attributes:{},language:e},a=t.alias;a&&(Array.isArray(a)?Array.prototype.push.apply(o.classes,a):o.classes.push(a)),i.hooks.run("wrap",o);var s="";for(var l in o.attributes)s+=" "+l+'="'+(o.attributes[l]||"").replace(/"/g,"&quot;")+'"';return"<"+o.tag+' class="'+o.classes.join(" ")+'"'+s+">"+o.content+"</"+o.tag+">"},!n.document)return n.addEventListener?(i.disableWorkerMessageHandler||n.addEventListener("message",(function(t){var e=JSON.parse(t.data),r=e.language,o=e.code,a=e.immediateClose;n.postMessage(i.highlight(o,i.languages[r],r)),a&&n.close()}),!1),i):i;var u=i.util.currentScript();function c(){i.manual||i.highlightAll()}if(u&&(i.filename=u.src,u.hasAttribute("data-manual")&&(i.manual=!0)),!i.manual){var d=document.readyState;"loading"===d||"interactive"===d&&u&&u.defer?document.addEventListener("DOMContentLoaded",c):window.requestAnimationFrame?window.requestAnimationFrame(c):window.setTimeout(c,16)}return i}("undefined"!=typeof window?window:"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?self:{});n.exports&&(n.exports=t),void 0!==Z&&(Z.Prism=t),t.languages.markup={comment:/<!--[\s\S]*?-->/,prolog:/<\?[\s\S]+?\?>/,doctype:{pattern:/<!DOCTYPE(?:[^>"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:(?!<!--)[^"'\]]|"[^"]*"|'[^']*'|<!--[\s\S]*?-->)*\]\s*)?>/i,greedy:!0},cdata:/<!\[CDATA\[[\s\S]*?]]>/i,tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/i,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/i,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/i,inside:{punctuation:[/^=/,{pattern:/^(\s*)["']|["']$/,lookbehind:!0}]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:/&#?[\da-z]{1,8};/i},t.languages.markup.tag.inside["attr-value"].inside.entity=t.languages.markup.entity,t.hooks.add("wrap",(function(n){"entity"===n.type&&(n.attributes.title=n.content.replace(/&amp;/,"&"))})),Object.defineProperty(t.languages.markup.tag,"addInlined",{value:function(n,e){var i={};i["language-"+e]={pattern:/(^<!\[CDATA\[)[\s\S]+?(?=\]\]>$)/i,lookbehind:!0,inside:t.languages[e]},i.cdata=/^<!\[CDATA\[|\]\]>$/i;var r={"included-cdata":{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,inside:i}};r["language-"+e]={pattern:/[\s\S]+/,inside:t.languages[e]};var o={};o[n]={pattern:RegExp(/(<__[\s\S]*?>)(?:<!\[CDATA\[[\s\S]*?\]\]>\s*|[\s\S])*?(?=<\/__>)/.source.replace(/__/g,(function(){return n})),"i"),lookbehind:!0,greedy:!0,inside:r},t.languages.insertBefore("markup","cdata",o)}}),t.languages.xml=t.languages.extend("markup",{}),t.languages.html=t.languages.markup,t.languages.mathml=t.languages.markup,t.languages.svg=t.languages.markup,function(n){var t=/("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/;n.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:/@[\w-]+[\s\S]*?(?:;|(?=\s*\{))/,inside:{rule:/^@[\w-]+/,"selector-function-argument":{pattern:/(\bselector\s*\((?!\s*\))\s*)(?:[^()]|\((?:[^()]|\([^()]*\))*\))+?(?=\s*\))/,lookbehind:!0,alias:"selector"}}},url:{pattern:RegExp("url\\((?:"+t.source+"|[^\n\r()]*)\\)","i"),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/}},selector:RegExp("[^{}\\s](?:[^{};\"']|"+t.source+")*?(?=\\s*\\{)"),string:{pattern:t,greedy:!0},property:/[-_a-z\xA0-\uFFFF][-\w\xA0-\uFFFF]*(?=\s*:)/i,important:/!important\b/i,function:/[-a-z0-9]+(?=\()/i,punctuation:/[(){};:,]/},n.languages.css.atrule.inside.rest=n.languages.css;var e=n.languages.markup;e&&(e.tag.addInlined("style","css"),n.languages.insertBefore("inside","attr-value",{"style-attr":{pattern:/\s*style=("|')(?:\\[\s\S]|(?!\1)[^\\])*\1/i,inside:{"attr-name":{pattern:/^\s*style/i,inside:e.tag.inside},punctuation:/^\s*=\s*['"]|['"]\s*$/,"attr-value":{pattern:/.+/i,inside:n.languages.css}},alias:"language-css"}},e.tag))}(t),t.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/(\b(?:class|interface|extends|implements|trait|instanceof|new)\s+|\bcatch\s+\()[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)\b/,boolean:/\b(?:true|false)\b/,function:/\w+(?=\()/,number:/\b0x[\da-f]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/},t.languages.javascript=t.languages.extend("clike",{"class-name":[t.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])[_$A-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\.(?:prototype|constructor))/,lookbehind:!0}],keyword:[{pattern:/((?:^|})\s*)(?:catch|finally)\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],number:/\b(?:(?:0[xX](?:[\dA-Fa-f](?:_[\dA-Fa-f])?)+|0[bB](?:[01](?:_[01])?)+|0[oO](?:[0-7](?:_[0-7])?)+)n?|(?:\d(?:_\d)?)+n|NaN|Infinity)\b|(?:\b(?:\d(?:_\d)?)+\.?(?:\d(?:_\d)?)*|\B\.(?:\d(?:_\d)?)+)(?:[Ee][+-]?(?:\d(?:_\d)?)+)?/,function:/#?[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,operator:/--|\+\+|\*\*=?|=>|&&|\|\||[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?[.?]?|[~:]/}),t.languages.javascript["class-name"][0].pattern=/(\b(?:class|interface|extends|implements|instanceof|new)\s+)[\w.\\]+/,t.languages.insertBefore("javascript","keyword",{regex:{pattern:/((?:^|[^$\w\xA0-\uFFFF."'\])\s])\s*)\/(?:\[(?:[^\]\\\r\n]|\\.)*]|\\.|[^/\\\[\r\n])+\/[gimyus]{0,6}(?=(?:\s|\/\*[\s\S]*?\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/,lookbehind:!0,greedy:!0},"function-variable":{pattern:/#?[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+[_$A-Za-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*)?\s*\(\s*)(?!\s)(?:[^()]|\([^()]*\))+?(?=\s*\))/,lookbehind:!0,inside:t.languages.javascript},{pattern:/[_$a-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*=>)/i,inside:t.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()]|\([^()]*\))+?(?=\s*\)\s*=>)/,lookbehind:!0,inside:t.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:[_$A-Za-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*\s*)\(\s*)(?!\s)(?:[^()]|\([^()]*\))+?(?=\s*\)\s*\{)/,lookbehind:!0,inside:t.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/}),t.languages.insertBefore("javascript","string",{"template-string":{pattern:/`(?:\\[\s\S]|\${(?:[^{}]|{(?:[^{}]|{[^}]*})*})+}|(?!\${)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\${(?:[^{}]|{(?:[^{}]|{[^}]*})*})+}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\${|}$/,alias:"punctuation"},rest:t.languages.javascript}},string:/[\s\S]+/}}}),t.languages.markup&&t.languages.markup.tag.addInlined("script","javascript"),t.languages.js=t.languages.javascript,"undefined"!=typeof self&&self.Prism&&self.document&&document.querySelector&&(self.Prism.fileHighlight=function(n){n=n||document;var e={js:"javascript",py:"python",rb:"ruby",ps1:"powershell",psm1:"powershell",sh:"bash",bat:"batch",h:"c",tex:"latex"};Array.prototype.slice.call(n.querySelectorAll("pre[data-src]")).forEach((function(n){if(!n.hasAttribute("data-src-loaded")){for(var i,r=n.getAttribute("data-src"),o=n,a=/\blang(?:uage)?-([\w-]+)\b/i;o&&!a.test(o.className);)o=o.parentNode;if(o&&(i=(n.className.match(a)||[,""])[1]),!i){var s=(r.match(/\.(\w+)$/)||[,""])[1];i=e[s]||s}var l=document.createElement("code");l.className="language-"+i,n.textContent="",l.textContent="Loading…",n.appendChild(l);var u=new XMLHttpRequest;u.open("GET",r,!0),u.onreadystatechange=function(){4==u.readyState&&(u.status<400&&u.responseText?(l.textContent=u.responseText,t.highlightElement(l),n.setAttribute("data-src-loaded","")):u.status>=400?l.textContent="✖ Error "+u.status+" while fetching file: "+u.statusText:l.textContent="✖ Error: File does not exist or is empty")},u.send(null)}}))},document.addEventListener("DOMContentLoaded",(function(){self.Prism.fileHighlight()})))}));Prism.languages.python={comment:{pattern:/(^|[^\\])#.*/,lookbehind:!0},"string-interpolation":{pattern:/(?:f|rf|fr)(?:("""|''')[\s\S]+?\1|("|')(?:\\.|(?!\2)[^\\\r\n])*\2)/i,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^{])(?:{{)*){(?!{)(?:[^{}]|{(?!{)(?:[^{}]|{(?!{)(?:[^{}])+})+})+}/,lookbehind:!0,inside:{"format-spec":{pattern:/(:)[^:(){}]+(?=}$)/,lookbehind:!0},"conversion-option":{pattern:/![sra](?=[:}]$)/,alias:"punctuation"},rest:null}},string:/[\s\S]+/}},"triple-quoted-string":{pattern:/(?:[rub]|rb|br)?("""|''')[\s\S]+?\1/i,greedy:!0,alias:"string"},string:{pattern:/(?:[rub]|rb|br)?("|')(?:\\.|(?!\1)[^\\\r\n])*\1/i,greedy:!0},function:{pattern:/((?:^|\s)def[ \t]+)[a-zA-Z_]\w*(?=\s*\()/g,lookbehind:!0},"class-name":{pattern:/(\bclass\s+)\w+/i,lookbehind:!0},decorator:{pattern:/(^\s*)@\w+(?:\.\w+)*/im,lookbehind:!0,alias:["annotation","punctuation"],inside:{punctuation:/\./}},keyword:/\b(?:and|as|assert|async|await|break|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\b/,builtin:/\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\b/,boolean:/\b(?:True|False|None)\b/,number:/(?:\b(?=\d)|\B(?=\.))(?:0[bo])?(?:(?:\d|0x[\da-f])[\da-f]*\.?\d*|\.\d+)(?:e[+-]?\d+)?j?\b/i,operator:/[-+%=]=?|!=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/,punctuation:/[{}[\];(),.:]/},Prism.languages.python["string-interpolation"].inside.interpolation.inside.rest=Prism.languages.python,Prism.languages.py=Prism.languages.python,Prism.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/(\b(?:class|interface|extends|implements|trait|instanceof|new)\s+|\bcatch\s+\()[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)\b/,boolean:/\b(?:true|false)\b/,function:/\w+(?=\()/,number:/\b0x[\da-f]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/},Prism.languages.lua={comment:/^#!.+|--(?:\[(=*)\[[\s\S]*?\]\1\]|.*)/m,string:{pattern:/(["'])(?:(?!\1)[^\\\r\n]|\\z(?:\r\n|\s)|\\(?:\r\n|[\s\S]))*\1|\[(=*)\[[\s\S]*?\]\2\]/,greedy:!0},number:/\b0x[a-f\d]+\.?[a-f\d]*(?:p[+-]?\d+)?\b|\b\d+(?:\.\B|\.?\d*(?:e[+-]?\d+)?\b)|\B\.\d+(?:e[+-]?\d+)?\b/i,keyword:/\b(?:and|break|do|else|elseif|end|false|for|function|goto|if|in|local|nil|not|or|repeat|return|then|true|until|while)\b/,function:/(?!\d)\w+(?=\s*(?:[({]))/,operator:[/[-+*%^&|#]|\/\/?|<[<=]?|>[>=]?|[=~]=?/,{pattern:/(^|[^.])\.\.(?!\.)/,lookbehind:!0}],punctuation:/[\[\](){},;]|\.+|:+/},function(n){var t="\\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\\b",e={environment:{pattern:RegExp("\\$"+t),alias:"constant"},variable:[{pattern:/\$?\(\([\s\S]+?\)\)/,greedy:!0,inside:{variable:[{pattern:/(^\$\(\([\s\S]+)\)\)/,lookbehind:!0},/^\$\(\(/],number:/\b0x[\dA-Fa-f]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:[Ee]-?\d+)?/,operator:/--?|-=|\+\+?|\+=|!=?|~|\*\*?|\*=|\/=?|%=?|<<=?|>>=?|<=?|>=?|==?|&&?|&=|\^=?|\|\|?|\|=|\?|:/,punctuation:/\(\(?|\)\)?|,|;/}},{pattern:/\$\((?:\([^)]+\)|[^()])+\)|`[^`]+`/,greedy:!0,inside:{variable:/^\$\(|^`|\)$|`$/}},{pattern:/\$\{[^}]+\}/,greedy:!0,inside:{operator:/:[-=?+]?|[!\/]|##?|%%?|\^\^?|,,?/,punctuation:/[\[\]]/,environment:{pattern:RegExp("(\\{)"+t),lookbehind:!0,alias:"constant"}}},/\$(?:\w+|[#?*!@$])/],entity:/\\(?:[abceEfnrtv\\"]|O?[0-7]{1,3}|x[0-9a-fA-F]{1,2}|u[0-9a-fA-F]{4}|U[0-9a-fA-F]{8})/};n.languages.bash={shebang:{pattern:/^#!\s*\/.*/,alias:"important"},comment:{pattern:/(^|[^"{\\$])#.*/,lookbehind:!0},"function-name":[{pattern:/(\bfunction\s+)\w+(?=(?:\s*\(?:\s*\))?\s*\{)/,lookbehind:!0,alias:"function"},{pattern:/\b\w+(?=\s*\(\s*\)\s*\{)/,alias:"function"}],"for-or-select":{pattern:/(\b(?:for|select)\s+)\w+(?=\s+in\s)/,alias:"variable",lookbehind:!0},"assign-left":{pattern:/(^|[\s;|&]|[<>]\()\w+(?=\+?=)/,inside:{environment:{pattern:RegExp("(^|[\\s;|&]|[<>]\\()"+t),lookbehind:!0,alias:"constant"}},alias:"variable",lookbehind:!0},string:[{pattern:/((?:^|[^<])<<-?\s*)(\w+?)\s*(?:\r?\n|\r)[\s\S]*?(?:\r?\n|\r)\2/,lookbehind:!0,greedy:!0,inside:e},{pattern:/((?:^|[^<])<<-?\s*)(["'])(\w+)\2\s*(?:\r?\n|\r)[\s\S]*?(?:\r?\n|\r)\3/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\](?:\\\\)*)(["'])(?:\\[\s\S]|\$\([^)]+\)|`[^`]+`|(?!\2)[^\\])*\2/,lookbehind:!0,greedy:!0,inside:e}],environment:{pattern:RegExp("\\$?"+t),alias:"constant"},variable:e.variable,function:{pattern:/(^|[\s;|&]|[<>]\()(?:add|apropos|apt|aptitude|apt-cache|apt-get|aspell|automysqlbackup|awk|basename|bash|bc|bconsole|bg|bzip2|cal|cat|cfdisk|chgrp|chkconfig|chmod|chown|chroot|cksum|clear|cmp|column|comm|cp|cron|crontab|csplit|curl|cut|date|dc|dd|ddrescue|debootstrap|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|du|egrep|eject|env|ethtool|expand|expect|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|git|gparted|grep|groupadd|groupdel|groupmod|groups|grub-mkconfig|gzip|halt|head|hg|history|host|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|ip|jobs|join|kill|killall|less|link|ln|locate|logname|logrotate|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|lynx|make|man|mc|mdadm|mkconfig|mkdir|mke2fs|mkfifo|mkfs|mkisofs|mknod|mkswap|mmv|more|most|mount|mtools|mtr|mutt|mv|nano|nc|netstat|nice|nl|nohup|notify-send|npm|nslookup|op|open|parted|passwd|paste|pathchk|ping|pkill|pnpm|popd|pr|printcap|printenv|ps|pushd|pv|quota|quotacheck|quotactl|ram|rar|rcp|reboot|remsync|rename|renice|rev|rm|rmdir|rpm|rsync|scp|screen|sdiff|sed|sendmail|seq|service|sftp|sh|shellcheck|shuf|shutdown|sleep|slocate|sort|split|ssh|stat|strace|su|sudo|sum|suspend|swapon|sync|tac|tail|tar|tee|time|timeout|top|touch|tr|traceroute|tsort|tty|umount|uname|unexpand|uniq|units|unrar|unshar|unzip|update-grub|uptime|useradd|userdel|usermod|users|uudecode|uuencode|v|vdir|vi|vim|virsh|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yarn|yes|zenity|zip|zsh|zypper)(?=$|[)\s;|&])/,lookbehind:!0},keyword:{pattern:/(^|[\s;|&]|[<>]\()(?:if|then|else|elif|fi|for|while|in|case|esac|function|select|do|done|until)(?=$|[)\s;|&])/,lookbehind:!0},builtin:{pattern:/(^|[\s;|&]|[<>]\()(?:\.|:|break|cd|continue|eval|exec|exit|export|getopts|hash|pwd|readonly|return|shift|test|times|trap|umask|unset|alias|bind|builtin|caller|command|declare|echo|enable|help|let|local|logout|mapfile|printf|read|readarray|source|type|typeset|ulimit|unalias|set|shopt)(?=$|[)\s;|&])/,lookbehind:!0,alias:"class-name"},boolean:{pattern:/(^|[\s;|&]|[<>]\()(?:true|false)(?=$|[)\s;|&])/,lookbehind:!0},"file-descriptor":{pattern:/\B&\d\b/,alias:"important"},operator:{pattern:/\d?<>|>\||\+=|==?|!=?|=~|<<[<-]?|[&\d]?>>|\d?[<>]&?|&[>&]?|\|[&|]?|<=?|>=?/,inside:{"file-descriptor":{pattern:/^\d/,alias:"important"}}},punctuation:/\$?\(\(?|\)\)?|\.\.|[{}[\];\\]/,number:{pattern:/(^|\s)(?:[1-9]\d*|0)(?:[.,]\d+)?\b/,lookbehind:!0}};for(var i=["comment","function-name","for-or-select","assign-left","string","environment","function","keyword","builtin","boolean","file-descriptor","operator","punctuation","number"],r=e.variable[1].inside,o=0;o<i.length;o++)r[i[o]]=n.languages.bash[i[o]];n.languages.shell=n.languages.bash}(Prism),Prism.languages.go=Prism.languages.extend("clike",{keyword:/\b(?:break|case|chan|const|continue|default|defer|else|fallthrough|for|func|go(?:to)?|if|import|interface|map|package|range|return|select|struct|switch|type|var)\b/,builtin:/\b(?:bool|byte|complex(?:64|128)|error|float(?:32|64)|rune|string|u?int(?:8|16|32|64)?|uintptr|append|cap|close|complex|copy|delete|imag|len|make|new|panic|print(?:ln)?|real|recover)\b/,boolean:/\b(?:_|iota|nil|true|false)\b/,operator:/[*\/%^!=]=?|\+[=+]?|-[=-]?|\|[=|]?|&(?:=|&|\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\.\.\./,number:/(?:\b0x[a-f\d]+|(?:\b\d+\.?\d*|\B\.\d+)(?:e[-+]?\d+)?)i?/i,string:{pattern:/(["'`])(?:\\[\s\S]|(?!\1)[^\\])*\1/,greedy:!0}}),delete Prism.languages.go["class-name"],function(n){var t=/(?:\\.|[^\\\n\r]|(?:\n|\r\n?)(?!\n|\r\n?))/.source;function e(n,e){return n=n.replace(/<inner>/g,(function(){return t})),e&&(n=n+"|"+n.replace(/_/g,"\\*")),RegExp(/((?:^|[^\\])(?:\\{2})*)/.source+"(?:"+n+")")}var i=/(?:\\.|``.+?``|`[^`\r\n]+`|[^\\|\r\n`])+/.source,r=/\|?__(?:\|__)+\|?(?:(?:\n|\r\n?)|$)/.source.replace(/__/g,(function(){return i})),o=/\|?[ \t]*:?-{3,}:?[ \t]*(?:\|[ \t]*:?-{3,}:?[ \t]*)+\|?(?:\n|\r\n?)/.source;n.languages.markdown=n.languages.extend("markup",{}),n.languages.insertBefore("markdown","prolog",{blockquote:{pattern:/^>(?:[\t ]*>)*/m,alias:"punctuation"},table:{pattern:RegExp("^"+r+o+"(?:"+r+")*","m"),inside:{"table-data-rows":{pattern:RegExp("^("+r+o+")(?:"+r+")*$"),lookbehind:!0,inside:{"table-data":{pattern:RegExp(i),inside:n.languages.markdown},punctuation:/\|/}},"table-line":{pattern:RegExp("^("+r+")"+o+"$"),lookbehind:!0,inside:{punctuation:/\||:?-{3,}:?/}},"table-header-row":{pattern:RegExp("^"+r+"$"),inside:{"table-header":{pattern:RegExp(i),alias:"important",inside:n.languages.markdown},punctuation:/\|/}}}},code:[{pattern:/((?:^|\n)[ \t]*\n|(?:^|\r\n?)[ \t]*\r\n?)(?: {4}|\t).+(?:(?:\n|\r\n?)(?: {4}|\t).+)*/,lookbehind:!0,alias:"keyword"},{pattern:/``.+?``|`[^`\r\n]+`/,alias:"keyword"},{pattern:/^```[\s\S]*?^```$/m,greedy:!0,inside:{"code-block":{pattern:/^(```.*(?:\n|\r\n?))[\s\S]+?(?=(?:\n|\r\n?)^```$)/m,lookbehind:!0},"code-language":{pattern:/^(```).+/,lookbehind:!0},punctuation:/```/}}],title:[{pattern:/\S.*(?:\n|\r\n?)(?:==+|--+)(?=[ \t]*$)/m,alias:"important",inside:{punctuation:/==+$|--+$/}},{pattern:/(^\s*)#+.+/m,lookbehind:!0,alias:"important",inside:{punctuation:/^#+|#+$/}}],hr:{pattern:/(^\s*)([*-])(?:[\t ]*\2){2,}(?=\s*$)/m,lookbehind:!0,alias:"punctuation"},list:{pattern:/(^\s*)(?:[*+-]|\d+\.)(?=[\t ].)/m,lookbehind:!0,alias:"punctuation"},"url-reference":{pattern:/!?\[[^\]]+\]:[\t ]+(?:\S+|<(?:\\.|[^>\\])+>)(?:[\t ]+(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\)))?/,inside:{variable:{pattern:/^(!?\[)[^\]]+/,lookbehind:!0},string:/(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\))$/,punctuation:/^[\[\]!:]|[<>]/},alias:"url"},bold:{pattern:e(/__(?:(?!_)<inner>|_(?:(?!_)<inner>)+_)+__/.source,!0),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^..)[\s\S]+(?=..$)/,lookbehind:!0,inside:{}},punctuation:/\*\*|__/}},italic:{pattern:e(/_(?:(?!_)<inner>|__(?:(?!_)<inner>)+__)+_/.source,!0),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^.)[\s\S]+(?=.$)/,lookbehind:!0,inside:{}},punctuation:/[*_]/}},strike:{pattern:e(/(~~?)(?:(?!~)<inner>)+?\2/.source,!1),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^~~?)[\s\S]+(?=\1$)/,lookbehind:!0,inside:{}},punctuation:/~~?/}},url:{pattern:e(/!?\[(?:(?!\])<inner>)+\](?:\([^\s)]+(?:[\t ]+"(?:\\.|[^"\\])*")?\)| ?\[(?:(?!\])<inner>)+\])/.source,!1),lookbehind:!0,greedy:!0,inside:{variable:{pattern:/(\[)[^\]]+(?=\]$)/,lookbehind:!0},content:{pattern:/(^!?\[)[^\]]+(?=\])/,lookbehind:!0,inside:{}},string:{pattern:/"(?:\\.|[^"\\])*"(?=\)$)/}}}}),["url","bold","italic","strike"].forEach((function(t){["url","bold","italic","strike"].forEach((function(e){t!==e&&(n.languages.markdown[t].inside.content.inside[e]=n.languages.markdown[e])}))})),n.hooks.add("after-tokenize",(function(n){"markdown"!==n.language&&"md"!==n.language||function n(t){if(t&&"string"!=typeof t)for(var e=0,i=t.length;e<i;e++){var r=t[e];if("code"===r.type){var o=r.content[1],a=r.content[3];if(o&&a&&"code-language"===o.type&&"code-block"===a.type&&"string"==typeof o.content){var s=o.content.replace(/\b#/g,"sharp").replace(/\b\+\+/g,"pp"),l="language-"+(s=(/[a-z][\w-]*/i.exec(s)||[""])[0].toLowerCase());a.alias?"string"==typeof a.alias?a.alias=[a.alias,l]:a.alias.push(l):a.alias=[l]}}else n(r.content)}}(n.tokens)})),n.hooks.add("wrap",(function(t){if("code-block"===t.type){for(var e="",i=0,r=t.classes.length;i<r;i++){var o=t.classes[i],a=/language-(.+)/.exec(o);if(a){e=a[1];break}}var s=n.languages[e];if(s){var l=t.content.replace(/&lt;/g,"<").replace(/&amp;/g,"&");t.content=n.highlight(l,s,e)}else if(e&&"none"!==e&&n.plugins.autoloader){var u="md-"+(new Date).valueOf()+"-"+Math.floor(1e16*Math.random());t.attributes.id=u,n.plugins.autoloader.loadLanguages(e,(function(){var t=document.getElementById(u);t&&(t.innerHTML=n.highlight(t.textContent,n.languages[e],e))}))}}})),n.languages.md=n.languages.markdown}(Prism),Prism.languages.julia={comment:{pattern:/(^|[^\\])#.*/,lookbehind:!0},string:/("""|''')[\s\S]+?\1|("|')(?:\\.|(?!\2)[^\\\r\n])*\2/,keyword:/\b(?:abstract|baremodule|begin|bitstype|break|catch|ccall|const|continue|do|else|elseif|end|export|finally|for|function|global|if|immutable|import|importall|in|let|local|macro|module|print|println|quote|return|struct|try|type|typealias|using|while)\b/,boolean:/\b(?:true|false)\b/,number:/(?:\b(?=\d)|\B(?=\.))(?:0[box])?(?:[\da-f]+\.?\d*|\.\d+)(?:[efp][+-]?\d+)?j?/i,operator:/[-+*^%÷&$\\]=?|\/[\/=]?|!=?=?|\|[=>]?|<(?:<=?|[=:])?|>(?:=|>>?=?)?|==?=?|[~≠≤≥]/,punctuation:/[{}[\];(),.:]/,constant:/\b(?:(?:NaN|Inf)(?:16|32|64)?)\b/};var ln=function(n){function t(){return f(this,t),s(this,t,arguments)}return d(t,n),m(t,[{key:"renderContent",value:function(){if(this.languageName=this.getAttribute("language"),this.languageName){var n=sn.languages[this.languageName];if(null!=n){var t=this.textContent,e=this.shadowRoot.querySelector("#code-container");if(this.hasAttribute("block")){var i=(t=t.replace(/\n/,"")).match(/\s*/);if(t=(t=t.replace(new RegExp("\n"+i,"g"),"\n")).trim(),e.parentNode instanceof ShadowRoot){var r=document.createElement("pre");this.shadowRoot.removeChild(e),r.appendChild(e),this.shadowRoot.appendChild(r)}}e.className="language-".concat(this.languageName),e.innerHTML=sn.highlight(t,n)}else console.warn('Distill does not yet support highlighting your code block in "'.concat(this.languageName,"'."))}else console.warn('You need to provide a language attribute to your <d-code> block to let us know how to highlight your code; e.g.:\n <d-code language="python">zeros = np.zeros(shape)</d-code>.')}}])}(g(x("d-code","\n<style>\n\ncode {\n  white-space: nowrap;\n  background: rgba(0, 0, 0, 0.04);\n  border-radius: 2px;\n  padding: 4px 7px;\n  font-size: 15px;\n  color: rgba(0, 0, 0, 0.6);\n}\n\npre code {\n  display: block;\n  border-left: 2px solid rgba(0, 0, 0, .1);\n  padding: 0 0 0 36px;\n}\n\n".concat('/**\n * prism.js default theme for JavaScript, CSS and HTML\n * Based on dabblet (http://dabblet.com)\n * @author Lea Verou\n */\n\ncode[class*="language-"],\npre[class*="language-"] {\n\tcolor: black;\n\tbackground: none;\n\ttext-shadow: 0 1px white;\n\tfont-family: Consolas, Monaco, \'Andale Mono\', \'Ubuntu Mono\', monospace;\n\tfont-size: 1em;\n\ttext-align: left;\n\twhite-space: pre;\n\tword-spacing: normal;\n\tword-break: normal;\n\tword-wrap: normal;\n\tline-height: 1.5;\n\n\t-moz-tab-size: 4;\n\t-o-tab-size: 4;\n\ttab-size: 4;\n\n\t-webkit-hyphens: none;\n\t-moz-hyphens: none;\n\t-ms-hyphens: none;\n\thyphens: none;\n}\n\npre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection,\ncode[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection {\n\ttext-shadow: none;\n\tbackground: #b3d4fc;\n}\n\npre[class*="language-"]::selection, pre[class*="language-"] ::selection,\ncode[class*="language-"]::selection, code[class*="language-"] ::selection {\n\ttext-shadow: none;\n\tbackground: #b3d4fc;\n}\n\n@media print {\n\tcode[class*="language-"],\n\tpre[class*="language-"] {\n\t\ttext-shadow: none;\n\t}\n}\n\n/* Code blocks */\npre[class*="language-"] {\n\tpadding: 1em;\n\tmargin: .5em 0;\n\toverflow: auto;\n}\n\n:not(pre) > code[class*="language-"],\npre[class*="language-"] {\n\tbackground: #f5f2f0;\n}\n\n/* Inline code */\n:not(pre) > code[class*="language-"] {\n\tpadding: .1em;\n\tborder-radius: .3em;\n\twhite-space: normal;\n}\n\n.token.comment,\n.token.prolog,\n.token.doctype,\n.token.cdata {\n\tcolor: slategray;\n}\n\n.token.punctuation {\n\tcolor: #999;\n}\n\n.token.namespace {\n\topacity: .7;\n}\n\n.token.property,\n.token.tag,\n.token.boolean,\n.token.number,\n.token.constant,\n.token.symbol,\n.token.deleted {\n\tcolor: #905;\n}\n\n.token.selector,\n.token.attr-name,\n.token.string,\n.token.char,\n.token.builtin,\n.token.inserted {\n\tcolor: #690;\n}\n\n.token.operator,\n.token.entity,\n.token.url,\n.language-css .token.string,\n.style .token.string {\n\tcolor: #9a6e3a;\n\tbackground: hsla(0, 0%, 100%, .5);\n}\n\n.token.atrule,\n.token.attr-value,\n.token.keyword {\n\tcolor: #07a;\n}\n\n.token.function,\n.token.class-name {\n\tcolor: #DD4A68;\n}\n\n.token.regex,\n.token.important,\n.token.variable {\n\tcolor: #e90;\n}\n\n.token.important,\n.token.bold {\n\tfont-weight: bold;\n}\n.token.italic {\n\tfont-style: italic;\n}\n\n.token.entity {\n\tcursor: help;\n}\n','\n</style>\n\n<code id="code-container"></code>\n\n'))(HTMLElement))),un=function(n){function t(){var n;f(this,t),n=s(this,t);return new MutationObserver(n.notify).observe(n,{childList:!0,characterData:!0,subtree:!0}),n}return d(t,n),m(t,[{key:"notify",value:function(){var n=new CustomEvent("onFootnoteChanged",{detail:this,bubbles:!0});document.dispatchEvent(n)}},{key:"connectedCallback",value:function(){var n=this;this.hoverBox=this.root.querySelector("d-hover-box"),window.customElements.whenDefined("d-hover-box").then((function(){n.hoverBox.listen(n)})),t.currentFootnoteId+=1;var e=t.currentFootnoteId.toString();this.root.host.id="d-footnote-"+e;var i="dt-fn-hover-box-"+e;this.hoverBox.id=i;var r=this.root.querySelector("#fn-");r.setAttribute("id","fn-"+e),r.setAttribute("data-hover-ref",i),r.textContent=e}}])}(x("d-footnote",'\n<style>\n\nd-math[block] {\n  display: block;\n}\n\n:host {\n\n}\n\nsup {\n  line-height: 1em;\n  font-size: 0.75em;\n  position: relative;\n  top: -.5em;\n  vertical-align: baseline;\n}\n\nspan {\n  color: hsla(206, 90%, 20%, 0.7);\n  cursor: default;\n}\n\n.footnote-container {\n  padding: 10px;\n}\n\n</style>\n\n<d-hover-box>\n  <div class="footnote-container">\n    <slot id="slot"></slot>\n  </div>\n</d-hover-box>\n\n<sup>\n  <span id="fn-" data-hover-ref=""></span>\n</sup>\n\n')(HTMLElement));un.currentFootnoteId=0;var cn=function(n){function t(){return f(this,t),s(this,t,arguments)}return d(t,n),m(t,[{key:"connectedCallback",value:function(){u(c(t.prototype),"connectedCallback",this).call(this),this.list=this.root.querySelector("ol"),this.root.style.display="none"}},{key:"footnotes",set:function(n){if(this.list.innerHTML="",n.length){this.root.style.display="";var t,e=a(n);try{for(e.s();!(t=e.n()).done;){var i=t.value,r=document.createElement("li");r.id=i.id+"-listing",r.innerHTML=i.innerHTML;var o=document.createElement("a");o.setAttribute("class","footnote-backlink"),o.setAttribute("target","_self"),o.textContent="[↩]",o.href="#"+i.id,r.appendChild(o),this.list.appendChild(r)}}catch(n){e.e(n)}finally{e.f()}}else this.root.style.display="none"}}])}(x("d-footnote-list","\n<style>\n\nd-footnote-list {\n  contain: layout style;\n}\n\nd-footnote-list > * {\n  grid-column: text;\n}\n\nd-footnote-list a.footnote-backlink {\n  color: rgba(0,0,0,0.3);\n  padding-left: 0.5em;\n}\n\n</style>\n\n<h3>Footnotes</h3>\n<ol></ol>\n",!1)(HTMLElement)),dn=function(n){function t(){return f(this,t),s(this,t)}return d(t,n),m(t,[{key:"connectedCallback",value:function(){}},{key:"listen",value:function(n){this.bindDivEvents(this),this.bindTriggerEvents(n)}},{key:"bindDivEvents",value:function(n){var t=this;n.addEventListener("mouseover",(function(){t.visible||t.showAtNode(n),t.stopTimeout()})),n.addEventListener("mouseout",(function(){t.extendTimeout(500)})),n.addEventListener("touchstart",(function(n){n.stopPropagation()}),{passive:!0}),document.body.addEventListener("touchstart",(function(){t.hide()}),{passive:!0})}},{key:"bindTriggerEvents",value:function(n){var t=this;n.addEventListener("mouseover",(function(){t.visible||t.showAtNode(n),t.stopTimeout()})),n.addEventListener("mouseout",(function(){t.extendTimeout(300)})),n.addEventListener("touchstart",(function(e){t.visible?t.hide():t.showAtNode(n),e.stopPropagation()}),{passive:!0})}},{key:"show",value:function(n){this.visible=!0,this.style.display="block",this.style.top=Math.round(n[1]+10)+"px"}},{key:"showAtNode",value:function(n){var t=n.getBoundingClientRect();this.show([n.offsetLeft+t.width,n.offsetTop+t.height])}},{key:"hide",value:function(){this.visible=!1,this.style.display="none",this.stopTimeout()}},{key:"stopTimeout",value:function(){this.timeout&&clearTimeout(this.timeout)}},{key:"extendTimeout",value:function(n){var t=this;this.stopTimeout(),this.timeout=setTimeout((function(){t.hide()}),n)}}])}(x("d-hover-box",'\n<style>\n\n:host {\n  position: absolute;\n  width: 100%;\n  left: 0px;\n  z-index: 10000;\n  display: none;\n  white-space: normal\n}\n\n.container {\n  position: relative;\n  width: 704px;\n  max-width: 100vw;\n  margin: 0 auto;\n}\n\n.panel {\n  position: absolute;\n  font-size: 1rem;\n  line-height: 1.5em;\n  top: 0;\n  left: 0;\n  width: 100%;\n  border: 1px solid rgba(0, 0, 0, 0.1);\n  background-color: rgba(250, 250, 250, 0.95);\n  box-shadow: 0 0 7px rgba(0, 0, 0, 0.1);\n  border-radius: 4px;\n  box-sizing: border-box;\n\n  backdrop-filter: blur(2px);\n  -webkit-backdrop-filter: blur(2px);\n}\n\n</style>\n\n<div class="container">\n  <div class="panel">\n    <slot></slot>\n  </div>\n</div>\n')(HTMLElement)),hn=function(n){function t(){return f(this,t),s(this,t,arguments)}return d(t,n),m(t,null,[{key:"is",get:function(){return"d-title"}}])}(o(HTMLElement)),pn=function(n){function t(){return f(this,t),s(this,t,arguments)}return d(t,n),m(t)}(x("d-references","\n<style>\nd-references {\n  display: block;\n}\n</style>\n",!1)(HTMLElement)),fn=function(n){function t(){return f(this,t),s(this,t,arguments)}return d(t,n),m(t,[{key:"connectedCallback",value:function(){var n=this;this.getAttribute("prerendered")||(window.onload=function(){var t=document.querySelector("d-article").querySelectorAll("h2, h3");!function(n,t){var e,i='\n  <style>\n\n  d-toc {\n    contain: layout style;\n    display: block;\n  }\n\n  d-toc ul {\n    padding-left: 0;\n  }\n\n  d-toc ul > ul {\n    padding-left: 24px;\n  }\n\n  d-toc a {\n    border-bottom: none;\n    text-decoration: none;\n  }\n\n  </style>\n  <nav role="navigation" class="table-of-contents"></nav>\n  <h2>Table of contents</h2>\n  <ul>',r=a(t);try{for(r.s();!(e=r.n()).done;){var o=e.value,s="D-TITLE"==o.parentElement.tagName,l=o.getAttribute("no-toc");if(!s&&!l){var u=o.textContent,c='<li><a href="#'+o.getAttribute("id")+'">'+u+"</a></li>";"H3"==o.tagName?c="<ul>"+c+"</ul>":c+="<br>",i+=c}}}catch(n){r.e(n)}finally{r.f()}i+="</ul></nav>",n.innerHTML=i}(n,t)})}}],[{key:"is",get:function(){return"d-toc"}}])}(o(HTMLElement));var gn=function(n){function t(){var n;return f(this,t),(n=s(this,t))._ready=!1,n._onscreen=!1,n._offscreen=!0,n}return d(t,n),m(t,[{key:"connectedCallback",value:function(){this.loadsWhileScrolling=this.hasAttribute("loadsWhileScrolling"),t.marginObserver.observe(this),t.directObserver.observe(this)}},{key:"disconnectedCallback",value:function(){t.marginObserver.unobserve(this),t.directObserver.unobserve(this)}},{key:"addEventListener",value:function(n,e){u(c(t.prototype),"addEventListener",this).call(this,n,e),"ready"===n&&-1!==t.readyQueue.indexOf(this)&&(this._ready=!1,t.runReadyQueue()),"onscreen"===n&&this.onscreen()}},{key:"ready",value:function(){this._ready=!0,t.marginObserver.unobserve(this);var n=new CustomEvent("ready");this.dispatchEvent(n)}},{key:"onscreen",value:function(){this._onscreen=!0,this._offscreen=!1;var n=new CustomEvent("onscreen");this.dispatchEvent(n)}},{key:"offscreen",value:function(){this._onscreen=!1,this._offscreen=!0;var n=new CustomEvent("offscreen");this.dispatchEvent(n)}}],[{key:"is",get:function(){return"d-figure"}},{key:"readyQueue",get:function(){return t._readyQueue||(t._readyQueue=[]),t._readyQueue}},{key:"addToReadyQueue",value:function(n){-1===t.readyQueue.indexOf(n)&&(t.readyQueue.push(n),t.runReadyQueue())}},{key:"runReadyQueue",value:function(){var n=t.readyQueue.sort((function(n,t){return n._seenOnScreen-t._seenOnScreen})).filter((function(n){return!n._ready})).pop();n&&(n.ready(),requestAnimationFrame(t.runReadyQueue))}},{key:"marginObserver",get:function(){if(!t._marginObserver){var n=window.innerHeight,e=Math.floor(2*n),i={rootMargin:e+"px 0px "+e+"px 0px",threshold:.01},r=t.didObserveMarginIntersection,o=new IntersectionObserver(r,i);t._marginObserver=o}return t._marginObserver}},{key:"didObserveMarginIntersection",value:function(n){var e,i=a(n);try{for(i.s();!(e=i.n()).done;){var r=e.value,o=r.target;r.isIntersecting&&!o._ready&&t.addToReadyQueue(o)}}catch(n){i.e(n)}finally{i.f()}}},{key:"directObserver",get:function(){return t._directObserver||(t._directObserver=new IntersectionObserver(t.didObserveDirectIntersection,{rootMargin:"0px",threshold:[0,1]})),t._directObserver}},{key:"didObserveDirectIntersection",value:function(n){var t,e=a(n);try{for(e.s();!(t=e.n()).done;){var i=t.value,r=i.target;i.isIntersecting?(r._seenOnScreen=new Date,r._offscreen&&r.onscreen()):r._onscreen&&r.offscreen()}}catch(n){e.e(n)}finally{e.f()}}}])}(o(HTMLElement));if("undefined"!=typeof window){var mn;gn.isScrolling=!1;window.addEventListener("scroll",(function(){gn.isScrolling=!0,clearTimeout(mn),mn=setTimeout((function(){gn.isScrolling=!1,gn.runReadyQueue()}),500)}),!0)}var bn=function(n){function t(){return f(this,t),s(this,t,arguments)}return d(t,n),m(t,[{key:"connectedCallback",value:function(){var n=this;this.shouldRemoveSelf()?this.parentElement.removeChild(this):this.root.querySelector("#interstitial-password-input").oninput=function(t){return n.passwordChanged(t)}}},{key:"passwordChanged",value:function(n){n.target.value===this.password&&(console.log("Correct password entered."),this.parentElement.removeChild(this),"undefined"!=typeof Storage&&(console.log("Saved that correct password was entered."),localStorage.setItem(this.localStorageIdentifier(),"true")))}},{key:"shouldRemoveSelf",value:function(){return window&&"distill.pub"===window.location.hostname?(console.warn("Interstitial found on production, hiding it."),!0):"undefined"!=typeof Storage&&"true"===localStorage.getItem(this.localStorageIdentifier())&&(console.log("Loaded that correct password was entered before; skipping interstitial."),!0)}},{key:"localStorageIdentifier",value:function(){return"distill-drafts"+(window?window.location.pathname:"-")+"interstitial-password-correct"}}])}(x("d-interstitial",'\n<style>\n\n.overlay {\n  position: fixed;\n  width: 100%;\n  height: 100%;\n  top: 0;\n  left: 0;\n  background: white;\n\n  opacity: 1;\n  visibility: visible;\n\n  display: flex;\n  flex-flow: column;\n  justify-content: center;\n  z-index: 2147483647 /* MaxInt32 */\n\n}\n\n.container {\n  position: relative;\n  margin-left: auto;\n  margin-right: auto;\n  max-width: 420px;\n  padding: 2em;\n}\n\nh1 {\n  text-decoration: underline;\n  text-decoration-color: hsl(0,100%,40%);\n  -webkit-text-decoration-color: hsl(0,100%,40%);\n  margin-bottom: 1em;\n  line-height: 1.5em;\n}\n\ninput[type="password"] {\n  -webkit-appearance: none;\n  -moz-appearance: none;\n  appearance: none;\n  -webkit-box-shadow: none;\n  -moz-box-shadow: none;\n  box-shadow: none;\n  -webkit-border-radius: none;\n  -moz-border-radius: none;\n  -ms-border-radius: none;\n  -o-border-radius: none;\n  border-radius: none;\n  outline: none;\n\n  font-size: 18px;\n  background: none;\n  width: 25%;\n  padding: 10px;\n  border: none;\n  border-bottom: solid 2px #999;\n  transition: border .3s;\n}\n\ninput[type="password"]:focus {\n  border-bottom: solid 2px #333;\n}\n\ninput[type="password"].wrong {\n  border-bottom: solid 2px hsl(0,100%,40%);\n}\n\np small {\n  color: #888;\n}\n\n.logo {\n  position: relative;\n  font-size: 1.5em;\n  margin-bottom: 3em;\n}\n\n.logo svg {\n  width: 36px;\n  position: relative;\n  top: 6px;\n  margin-right: 2px;\n}\n\n.logo svg path {\n  fill: none;\n  stroke: black;\n  stroke-width: 2px;\n}\n\n</style>\n\n<div class="overlay">\n  <div class="container">\n    <h1>This article is in review.</h1>\n    <p>Do not share this URL or the contents of this article. Thank you!</p>\n    <input id="interstitial-password-input" type="password" name="password" autofocus/>\n    <p><small>Enter the password we shared with you as part of the review process to view the article.</small></p>\n  </div>\n</div>\n')(HTMLElement));function yn(n,t){return n<t?-1:n>t?1:n>=t?0:NaN}var vn,wn,xn=(vn=yn,1===vn.length&&(wn=vn,vn=function(n,t){return yn(wn(n),t)}),{left:function(n,t,e,i){for(null==e&&(e=0),null==i&&(i=n.length);e<i;){var r=e+i>>>1;vn(n[r],t)<0?e=r+1:i=r}return e},right:function(n,t,e,i){for(null==e&&(e=0),null==i&&(i=n.length);e<i;){var r=e+i>>>1;vn(n[r],t)>0?i=r:e=r+1}return e}}).right;var kn=Math.sqrt(50),Sn=Math.sqrt(10),Mn=Math.sqrt(2);function Tn(n,t,e){var i=(t-n)/Math.max(0,e),r=Math.floor(Math.log(i)/Math.LN10),o=i/Math.pow(10,r);return r>=0?(o>=kn?10:o>=Sn?5:o>=Mn?2:1)*Math.pow(10,r):-Math.pow(10,-r)/(o>=kn?10:o>=Sn?5:o>=Mn?2:1)}function _n(n,t){switch(arguments.length){case 0:break;case 1:this.range(n);break;default:this.range(t).domain(n)}return this}function An(n,t,e){n.prototype=t.prototype=e,e.constructor=n}function En(n,t){var e=Object.create(n.prototype);for(var i in t)e[i]=t[i];return e}function Cn(){}var Nn=.7,Ln=1/Nn,On="\\s*([+-]?\\d+)\\s*",Dn="\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)\\s*",In="\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)%\\s*",Rn=/^#([0-9a-f]{3,8})$/,Fn=new RegExp("^rgb\\("+[On,On,On]+"\\)$"),Un=new RegExp("^rgb\\("+[In,In,In]+"\\)$"),Pn=new RegExp("^rgba\\("+[On,On,On,Dn]+"\\)$"),Hn=new RegExp("^rgba\\("+[In,In,In,Dn]+"\\)$"),jn=new RegExp("^hsl\\("+[Dn,In,In]+"\\)$"),zn=new RegExp("^hsla\\("+[Dn,In,In,Dn]+"\\)$"),$n={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};function qn(){return this.rgb().formatHex()}function Bn(){return this.rgb().formatRgb()}function Yn(n){var t,e;return n=(n+"").trim().toLowerCase(),(t=Rn.exec(n))?(e=t[1].length,t=parseInt(t[1],16),6===e?Wn(t):3===e?new Xn(t>>8&15|t>>4&240,t>>4&15|240&t,(15&t)<<4|15&t,1):8===e?Gn(t>>24&255,t>>16&255,t>>8&255,(255&t)/255):4===e?Gn(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|240&t,((15&t)<<4|15&t)/255):null):(t=Fn.exec(n))?new Xn(t[1],t[2],t[3],1):(t=Un.exec(n))?new Xn(255*t[1]/100,255*t[2]/100,255*t[3]/100,1):(t=Pn.exec(n))?Gn(t[1],t[2],t[3],t[4]):(t=Hn.exec(n))?Gn(255*t[1]/100,255*t[2]/100,255*t[3]/100,t[4]):(t=jn.exec(n))?nt(t[1],t[2]/100,t[3]/100,1):(t=zn.exec(n))?nt(t[1],t[2]/100,t[3]/100,t[4]):$n.hasOwnProperty(n)?Wn($n[n]):"transparent"===n?new Xn(NaN,NaN,NaN,0):null}function Wn(n){return new Xn(n>>16&255,n>>8&255,255&n,1)}function Gn(n,t,e,i){return i<=0&&(n=t=e=NaN),new Xn(n,t,e,i)}function Vn(n){return n instanceof Cn||(n=Yn(n)),n?new Xn((n=n.rgb()).r,n.g,n.b,n.opacity):new Xn}function Kn(n,t,e,i){return 1===arguments.length?Vn(n):new Xn(n,t,e,null==i?1:i)}function Xn(n,t,e,i){this.r=+n,this.g=+t,this.b=+e,this.opacity=+i}function Zn(){return"#"+Jn(this.r)+Jn(this.g)+Jn(this.b)}function Qn(){var n=this.opacity;return(1===(n=isNaN(n)?1:Math.max(0,Math.min(1,n)))?"rgb(":"rgba(")+Math.max(0,Math.min(255,Math.round(this.r)||0))+", "+Math.max(0,Math.min(255,Math.round(this.g)||0))+", "+Math.max(0,Math.min(255,Math.round(this.b)||0))+(1===n?")":", "+n+")")}function Jn(n){return((n=Math.max(0,Math.min(255,Math.round(n)||0)))<16?"0":"")+n.toString(16)}function nt(n,t,e,i){return i<=0?n=t=e=NaN:e<=0||e>=1?n=t=NaN:t<=0&&(n=NaN),new et(n,t,e,i)}function tt(n){if(n instanceof et)return new et(n.h,n.s,n.l,n.opacity);if(n instanceof Cn||(n=Yn(n)),!n)return new et;if(n instanceof et)return n;var t=(n=n.rgb()).r/255,e=n.g/255,i=n.b/255,r=Math.min(t,e,i),o=Math.max(t,e,i),a=NaN,s=o-r,l=(o+r)/2;return s?(a=t===o?(e-i)/s+6*(e<i):e===o?(i-t)/s+2:(t-e)/s+4,s/=l<.5?o+r:2-o-r,a*=60):s=l>0&&l<1?0:a,new et(a,s,l,n.opacity)}function et(n,t,e,i){this.h=+n,this.s=+t,this.l=+e,this.opacity=+i}function it(n,t,e){return 255*(n<60?t+(e-t)*n/60:n<180?e:n<240?t+(e-t)*(240-n)/60:t)}An(Cn,Yn,{copy:function(n){return Object.assign(new this.constructor,this,n)},displayable:function(){return this.rgb().displayable()},hex:qn,formatHex:qn,formatHsl:function(){return tt(this).formatHsl()},formatRgb:Bn,toString:Bn}),An(Xn,Kn,En(Cn,{brighter:function(n){return n=null==n?Ln:Math.pow(Ln,n),new Xn(this.r*n,this.g*n,this.b*n,this.opacity)},darker:function(n){return n=null==n?Nn:Math.pow(Nn,n),new Xn(this.r*n,this.g*n,this.b*n,this.opacity)},rgb:function(){return this},displayable:function(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:Zn,formatHex:Zn,formatRgb:Qn,toString:Qn})),An(et,(function(n,t,e,i){return 1===arguments.length?tt(n):new et(n,t,e,null==i?1:i)}),En(Cn,{brighter:function(n){return n=null==n?Ln:Math.pow(Ln,n),new et(this.h,this.s,this.l*n,this.opacity)},darker:function(n){return n=null==n?Nn:Math.pow(Nn,n),new et(this.h,this.s,this.l*n,this.opacity)},rgb:function(){var n=this.h%360+360*(this.h<0),t=isNaN(n)||isNaN(this.s)?0:this.s,e=this.l,i=e+(e<.5?e:1-e)*t,r=2*e-i;return new Xn(it(n>=240?n-240:n+120,r,i),it(n,r,i),it(n<120?n+240:n-120,r,i),this.opacity)},displayable:function(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl:function(){var n=this.opacity;return(1===(n=isNaN(n)?1:Math.max(0,Math.min(1,n)))?"hsl(":"hsla(")+(this.h||0)+", "+100*(this.s||0)+"%, "+100*(this.l||0)+"%"+(1===n?")":", "+n+")")}}));var rt=Math.PI/180,ot=180/Math.PI,at=.96422,st=1,lt=.82521,ut=4/29,ct=6/29,dt=3*ct*ct,ht=ct*ct*ct;function pt(n){if(n instanceof ft)return new ft(n.l,n.a,n.b,n.opacity);if(n instanceof vt)return wt(n);n instanceof Xn||(n=Vn(n));var t,e,i=yt(n.r),r=yt(n.g),o=yt(n.b),a=gt((.2225045*i+.7168786*r+.0606169*o)/st);return i===r&&r===o?t=e=a:(t=gt((.4360747*i+.3850649*r+.1430804*o)/at),e=gt((.0139322*i+.0971045*r+.7141733*o)/lt)),new ft(116*a-16,500*(t-a),200*(a-e),n.opacity)}function ft(n,t,e,i){this.l=+n,this.a=+t,this.b=+e,this.opacity=+i}function gt(n){return n>ht?Math.pow(n,1/3):n/dt+ut}function mt(n){return n>ct?n*n*n:dt*(n-ut)}function bt(n){return 255*(n<=.0031308?12.92*n:1.055*Math.pow(n,1/2.4)-.055)}function yt(n){return(n/=255)<=.04045?n/12.92:Math.pow((n+.055)/1.055,2.4)}function vt(n,t,e,i){this.h=+n,this.c=+t,this.l=+e,this.opacity=+i}function wt(n){if(isNaN(n.h))return new ft(n.l,0,0,n.opacity);var t=n.h*rt;return new ft(n.l,Math.cos(t)*n.c,Math.sin(t)*n.c,n.opacity)}An(ft,(function(n,t,e,i){return 1===arguments.length?pt(n):new ft(n,t,e,null==i?1:i)}),En(Cn,{brighter:function(n){return new ft(this.l+18*(null==n?1:n),this.a,this.b,this.opacity)},darker:function(n){return new ft(this.l-18*(null==n?1:n),this.a,this.b,this.opacity)},rgb:function(){var n=(this.l+16)/116,t=isNaN(this.a)?n:n+this.a/500,e=isNaN(this.b)?n:n-this.b/200;return new Xn(bt(3.1338561*(t=at*mt(t))-1.6168667*(n=st*mt(n))-.4906146*(e=lt*mt(e))),bt(-.9787684*t+1.9161415*n+.033454*e),bt(.0719453*t-.2289914*n+1.4052427*e),this.opacity)}})),An(vt,(function(n,t,e,i){return 1===arguments.length?function(n){if(n instanceof vt)return new vt(n.h,n.c,n.l,n.opacity);if(n instanceof ft||(n=pt(n)),0===n.a&&0===n.b)return new vt(NaN,0<n.l&&n.l<100?0:NaN,n.l,n.opacity);var t=Math.atan2(n.b,n.a)*ot;return new vt(t<0?t+360:t,Math.sqrt(n.a*n.a+n.b*n.b),n.l,n.opacity)}(n):new vt(n,t,e,null==i?1:i)}),En(Cn,{brighter:function(n){return new vt(this.h,this.c,this.l+18*(null==n?1:n),this.opacity)},darker:function(n){return new vt(this.h,this.c,this.l-18*(null==n?1:n),this.opacity)},rgb:function(){return wt(this).rgb()}}));var xt=-.14861,kt=1.78277,St=-.29227,Mt=-.90649,Tt=1.97294,_t=Tt*Mt,At=Tt*kt,Et=kt*St-Mt*xt;function Ct(n,t,e,i){this.h=+n,this.s=+t,this.l=+e,this.opacity=+i}function Nt(n){return function(){return n}}function Lt(n){return 1==(n=+n)?Ot:function(t,e){return e-t?function(n,t,e){return n=Math.pow(n,e),t=Math.pow(t,e)-n,e=1/e,function(i){return Math.pow(n+i*t,e)}}(t,e,n):Nt(isNaN(t)?e:t)}}function Ot(n,t){var e=t-n;return e?function(n,t){return function(e){return n+e*t}}(n,e):Nt(isNaN(n)?t:n)}An(Ct,(function(n,t,e,i){return 1===arguments.length?function(n){if(n instanceof Ct)return new Ct(n.h,n.s,n.l,n.opacity);n instanceof Xn||(n=Vn(n));var t=n.r/255,e=n.g/255,i=n.b/255,r=(Et*i+_t*t-At*e)/(Et+_t-At),o=i-r,a=(Tt*(e-r)-St*o)/Mt,s=Math.sqrt(a*a+o*o)/(Tt*r*(1-r)),l=s?Math.atan2(a,o)*ot-120:NaN;return new Ct(l<0?l+360:l,s,r,n.opacity)}(n):new Ct(n,t,e,null==i?1:i)}),En(Cn,{brighter:function(n){return n=null==n?Ln:Math.pow(Ln,n),new Ct(this.h,this.s,this.l*n,this.opacity)},darker:function(n){return n=null==n?Nn:Math.pow(Nn,n),new Ct(this.h,this.s,this.l*n,this.opacity)},rgb:function(){var n=isNaN(this.h)?0:(this.h+120)*rt,t=+this.l,e=isNaN(this.s)?0:this.s*t*(1-t),i=Math.cos(n),r=Math.sin(n);return new Xn(255*(t+e*(xt*i+kt*r)),255*(t+e*(St*i+Mt*r)),255*(t+e*(Tt*i)),this.opacity)}}));var Dt=function n(t){var e=Lt(t);function i(n,t){var i=e((n=Kn(n)).r,(t=Kn(t)).r),r=e(n.g,t.g),o=e(n.b,t.b),a=Ot(n.opacity,t.opacity);return function(t){return n.r=i(t),n.g=r(t),n.b=o(t),n.opacity=a(t),n+""}}return i.gamma=n,i}(1);function It(n,t){t||(t=[]);var e,i=n?Math.min(t.length,n.length):0,r=t.slice();return function(o){for(e=0;e<i;++e)r[e]=n[e]*(1-o)+t[e]*o;return r}}function Rt(n,t){var e,i=t?t.length:0,r=n?Math.min(i,n.length):0,o=new Array(r),a=new Array(i);for(e=0;e<r;++e)o[e]=$t(n[e],t[e]);for(;e<i;++e)a[e]=t[e];return function(n){for(e=0;e<r;++e)a[e]=o[e](n);return a}}function Ft(n,t){var e=new Date;return n=+n,t=+t,function(i){return e.setTime(n*(1-i)+t*i),e}}function Ut(n,t){return n=+n,t=+t,function(e){return n*(1-e)+t*e}}function Pt(n,t){var e,i={},r={};for(e in null!==n&&"object"===p(n)||(n={}),null!==t&&"object"===p(t)||(t={}),t)e in n?i[e]=$t(n[e],t[e]):r[e]=t[e];return function(n){for(e in i)r[e]=i[e](n);return r}}var Ht=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,jt=new RegExp(Ht.source,"g");function zt(n,t){var e,i,r,o=Ht.lastIndex=jt.lastIndex=0,a=-1,s=[],l=[];for(n+="",t+="";(e=Ht.exec(n))&&(i=jt.exec(t));)(r=i.index)>o&&(r=t.slice(o,r),s[a]?s[a]+=r:s[++a]=r),(e=e[0])===(i=i[0])?s[a]?s[a]+=i:s[++a]=i:(s[++a]=null,l.push({i:a,x:Ut(e,i)})),o=jt.lastIndex;return o<t.length&&(r=t.slice(o),s[a]?s[a]+=r:s[++a]=r),s.length<2?l[0]?function(n){return function(t){return n(t)+""}}(l[0].x):function(n){return function(){return n}}(t):(t=l.length,function(n){for(var e,i=0;i<t;++i)s[(e=l[i]).i]=e.x(n);return s.join("")})}function $t(n,t){var e,i,r=p(t);return null==t||"boolean"===r?Nt(t):("number"===r?Ut:"string"===r?(e=Yn(t))?(t=e,Dt):zt:t instanceof Yn?Dt:t instanceof Date?Ft:(i=t,!ArrayBuffer.isView(i)||i instanceof DataView?Array.isArray(t)?Rt:"function"!=typeof t.valueOf&&"function"!=typeof t.toString||isNaN(t)?Pt:Ut:It))(n,t)}function qt(n,t){return n=+n,t=+t,function(e){return Math.round(n*(1-e)+t*e)}}function Bt(n){return+n}var Yt=[0,1];function Wt(n){return n}function Gt(n,t){return(t-=n=+n)?function(e){return(e-n)/t}:(e=isNaN(t)?NaN:.5,function(){return e});var e}function Vt(n,t,e){var i=n[0],r=n[1],o=t[0],a=t[1];return r<i?(i=Gt(r,i),o=e(a,o)):(i=Gt(i,r),o=e(o,a)),function(n){return o(i(n))}}function Kt(n,t,e){var i=Math.min(n.length,t.length)-1,r=new Array(i),o=new Array(i),a=-1;for(n[i]<n[0]&&(n=n.slice().reverse(),t=t.slice().reverse());++a<i;)r[a]=Gt(n[a],n[a+1]),o[a]=e(t[a],t[a+1]);return function(t){var e=xn(n,t,1,i)-1;return o[e](r[e](t))}}function Xt(){var n,t,e,i,r,o,a=Yt,s=Yt,l=$t,u=Wt;function c(){var n,t,e,l=Math.min(a.length,s.length);return u!==Wt&&(n=a[0],t=a[l-1],n>t&&(e=n,n=t,t=e),u=function(e){return Math.max(n,Math.min(t,e))}),i=l>2?Kt:Vt,r=o=null,d}function d(t){return isNaN(t=+t)?e:(r||(r=i(a.map(n),s,l)))(n(u(t)))}return d.invert=function(e){return u(t((o||(o=i(s,a.map(n),Ut)))(e)))},d.domain=function(n){return arguments.length?(a=Array.from(n,Bt),c()):a.slice()},d.range=function(n){return arguments.length?(s=Array.from(n),c()):s.slice()},d.rangeRound=function(n){return s=Array.from(n),l=qt,c()},d.clamp=function(n){return arguments.length?(u=!!n||Wt,c()):u!==Wt},d.interpolate=function(n){return arguments.length?(l=n,c()):l},d.unknown=function(n){return arguments.length?(e=n,d):e},function(e,i){return n=e,t=i,c()}}function Zt(n,t){if((e=(n=t?n.toExponential(t-1):n.toExponential()).indexOf("e"))<0)return null;var e,i=n.slice(0,e);return[i.length>1?i[0]+i.slice(2):i,+n.slice(e+1)]}function Qt(n){return(n=Zt(Math.abs(n)))?n[1]:NaN}var Jt,ne=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function te(n){if(!(t=ne.exec(n)))throw new Error("invalid format: "+n);var t;return new ee({fill:t[1],align:t[2],sign:t[3],symbol:t[4],zero:t[5],width:t[6],comma:t[7],precision:t[8]&&t[8].slice(1),trim:t[9],type:t[10]})}function ee(n){this.fill=void 0===n.fill?" ":n.fill+"",this.align=void 0===n.align?">":n.align+"",this.sign=void 0===n.sign?"-":n.sign+"",this.symbol=void 0===n.symbol?"":n.symbol+"",this.zero=!!n.zero,this.width=void 0===n.width?void 0:+n.width,this.comma=!!n.comma,this.precision=void 0===n.precision?void 0:+n.precision,this.trim=!!n.trim,this.type=void 0===n.type?"":n.type+""}function ie(n,t){var e=Zt(n,t);if(!e)return n+"";var i=e[0],r=e[1];return r<0?"0."+new Array(-r).join("0")+i:i.length>r+1?i.slice(0,r+1)+"."+i.slice(r+1):i+new Array(r-i.length+2).join("0")}te.prototype=ee.prototype,ee.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(void 0===this.width?"":Math.max(1,0|this.width))+(this.comma?",":"")+(void 0===this.precision?"":"."+Math.max(0,0|this.precision))+(this.trim?"~":"")+this.type};var re={"%":function(n,t){return(100*n).toFixed(t)},b:function(n){return Math.round(n).toString(2)},c:function(n){return n+""},d:function(n){return Math.round(n).toString(10)},e:function(n,t){return n.toExponential(t)},f:function(n,t){return n.toFixed(t)},g:function(n,t){return n.toPrecision(t)},o:function(n){return Math.round(n).toString(8)},p:function(n,t){return ie(100*n,t)},r:ie,s:function(n,t){var e=Zt(n,t);if(!e)return n+"";var i=e[0],r=e[1],o=r-(Jt=3*Math.max(-8,Math.min(8,Math.floor(r/3))))+1,a=i.length;return o===a?i:o>a?i+new Array(o-a+1).join("0"):o>0?i.slice(0,o)+"."+i.slice(o):"0."+new Array(1-o).join("0")+Zt(n,Math.max(0,t+o-1))[0]},X:function(n){return Math.round(n).toString(16).toUpperCase()},x:function(n){return Math.round(n).toString(16)}};function oe(n){return n}var ae,se,le,ue=Array.prototype.map,ce=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function de(n){var t,e,i=void 0===n.grouping||void 0===n.thousands?oe:(t=ue.call(n.grouping,Number),e=n.thousands+"",function(n,i){for(var r=n.length,o=[],a=0,s=t[0],l=0;r>0&&s>0&&(l+s+1>i&&(s=Math.max(1,i-l)),o.push(n.substring(r-=s,r+s)),!((l+=s+1)>i));)s=t[a=(a+1)%t.length];return o.reverse().join(e)}),r=void 0===n.currency?"":n.currency[0]+"",o=void 0===n.currency?"":n.currency[1]+"",a=void 0===n.decimal?".":n.decimal+"",s=void 0===n.numerals?oe:function(n){return function(t){return t.replace(/[0-9]/g,(function(t){return n[+t]}))}}(ue.call(n.numerals,String)),l=void 0===n.percent?"%":n.percent+"",u=void 0===n.minus?"-":n.minus+"",c=void 0===n.nan?"NaN":n.nan+"";function d(n){var t=(n=te(n)).fill,e=n.align,d=n.sign,h=n.symbol,p=n.zero,f=n.width,g=n.comma,m=n.precision,b=n.trim,y=n.type;"n"===y?(g=!0,y="g"):re[y]||(void 0===m&&(m=12),b=!0,y="g"),(p||"0"===t&&"="===e)&&(p=!0,t="0",e="=");var v="$"===h?r:"#"===h&&/[boxX]/.test(y)?"0"+y.toLowerCase():"",w="$"===h?o:/[%p]/.test(y)?l:"",x=re[y],k=/[defgprs%]/.test(y);function S(n){var r,o,l,h=v,S=w;if("c"===y)S=x(n)+S,n="";else{var M=(n=+n)<0||1/n<0;if(n=isNaN(n)?c:x(Math.abs(n),m),b&&(n=function(n){n:for(var t,e=n.length,i=1,r=-1;i<e;++i)switch(n[i]){case".":r=t=i;break;case"0":0===r&&(r=i),t=i;break;default:if(!+n[i])break n;r>0&&(r=0)}return r>0?n.slice(0,r)+n.slice(t+1):n}(n)),M&&0==+n&&"+"!==d&&(M=!1),h=(M?"("===d?d:u:"-"===d||"("===d?"":d)+h,S=("s"===y?ce[8+Jt/3]:"")+S+(M&&"("===d?")":""),k)for(r=-1,o=n.length;++r<o;)if(48>(l=n.charCodeAt(r))||l>57){S=(46===l?a+n.slice(r+1):n.slice(r))+S,n=n.slice(0,r);break}}g&&!p&&(n=i(n,1/0));var T=h.length+n.length+S.length,_=T<f?new Array(f-T+1).join(t):"";switch(g&&p&&(n=i(_+n,_.length?f-S.length:1/0),_=""),e){case"<":n=h+n+S+_;break;case"=":n=h+_+n+S;break;case"^":n=_.slice(0,T=_.length>>1)+h+n+S+_.slice(T);break;default:n=_+h+n+S}return s(n)}return m=void 0===m?6:/[gprs]/.test(y)?Math.max(1,Math.min(21,m)):Math.max(0,Math.min(20,m)),S.toString=function(){return n+""},S}return{format:d,formatPrefix:function(n,t){var e=d(((n=te(n)).type="f",n)),i=3*Math.max(-8,Math.min(8,Math.floor(Qt(t)/3))),r=Math.pow(10,-i),o=ce[8+i/3];return function(n){return e(r*n)+o}}}}function he(n,t,e,i){var r,o=function(n,t,e){var i=Math.abs(t-n)/Math.max(0,e),r=Math.pow(10,Math.floor(Math.log(i)/Math.LN10)),o=i/r;return o>=kn?r*=10:o>=Sn?r*=5:o>=Mn&&(r*=2),t<n?-r:r}(n,t,e);switch((i=te(null==i?",f":i)).type){case"s":var a=Math.max(Math.abs(n),Math.abs(t));return null!=i.precision||isNaN(r=function(n,t){return Math.max(0,3*Math.max(-8,Math.min(8,Math.floor(Qt(t)/3)))-Qt(Math.abs(n)))}(o,a))||(i.precision=r),le(i,a);case"":case"e":case"g":case"p":case"r":null!=i.precision||isNaN(r=function(n,t){return n=Math.abs(n),t=Math.abs(t)-n,Math.max(0,Qt(t)-Qt(n))+1}(o,Math.max(Math.abs(n),Math.abs(t))))||(i.precision=r-("e"===i.type));break;case"f":case"%":null!=i.precision||isNaN(r=function(n){return Math.max(0,-Qt(Math.abs(n)))}(o))||(i.precision=r-2*("%"===i.type))}return se(i)}function pe(n){var t=n.domain;return n.ticks=function(n){var e=t();return function(n,t,e){var i,r,o,a,s=-1;if(e=+e,(n=+n)==(t=+t)&&e>0)return[n];if((i=t<n)&&(r=n,n=t,t=r),0===(a=Tn(n,t,e))||!isFinite(a))return[];if(a>0)for(n=Math.ceil(n/a),t=Math.floor(t/a),o=new Array(r=Math.ceil(t-n+1));++s<r;)o[s]=(n+s)*a;else for(n=Math.floor(n*a),t=Math.ceil(t*a),o=new Array(r=Math.ceil(n-t+1));++s<r;)o[s]=(n-s)/a;return i&&o.reverse(),o}(e[0],e[e.length-1],null==n?10:n)},n.tickFormat=function(n,e){var i=t();return he(i[0],i[i.length-1],null==n?10:n,e)},n.nice=function(e){null==e&&(e=10);var i,r=t(),o=0,a=r.length-1,s=r[o],l=r[a];return l<s&&(i=s,s=l,l=i,i=o,o=a,a=i),(i=Tn(s,l,e))>0?i=Tn(s=Math.floor(s/i)*i,l=Math.ceil(l/i)*i,e):i<0&&(i=Tn(s=Math.ceil(s*i)/i,l=Math.floor(l*i)/i,e)),i>0?(r[o]=Math.floor(s/i)*i,r[a]=Math.ceil(l/i)*i,t(r)):i<0&&(r[o]=Math.ceil(s*i)/i,r[a]=Math.floor(l*i)/i,t(r)),n},n}function fe(){var n=Xt()(Wt,Wt);return n.copy=function(){return t=n,fe().domain(t.domain()).range(t.range()).interpolate(t.interpolate()).clamp(t.clamp()).unknown(t.unknown());var t},_n.apply(n,arguments),pe(n)}ae=de({decimal:".",thousands:",",grouping:[3],currency:["$",""],minus:"-"}),se=ae.format,le=ae.formatPrefix;var ge=new Date,me=new Date;function be(n,t,e,i){function r(t){return n(t=0===arguments.length?new Date:new Date(+t)),t}return r.floor=function(t){return n(t=new Date(+t)),t},r.ceil=function(e){return n(e=new Date(e-1)),t(e,1),n(e),e},r.round=function(n){var t=r(n),e=r.ceil(n);return n-t<e-n?t:e},r.offset=function(n,e){return t(n=new Date(+n),null==e?1:Math.floor(e)),n},r.range=function(e,i,o){var a,s=[];if(e=r.ceil(e),o=null==o?1:Math.floor(o),!(e<i&&o>0))return s;do{s.push(a=new Date(+e)),t(e,o),n(e)}while(a<e&&e<i);return s},r.filter=function(e){return be((function(t){if(t>=t)for(;n(t),!e(t);)t.setTime(t-1)}),(function(n,i){if(n>=n)if(i<0)for(;++i<=0;)for(;t(n,-1),!e(n););else for(;--i>=0;)for(;t(n,1),!e(n););}))},e&&(r.count=function(t,i){return ge.setTime(+t),me.setTime(+i),n(ge),n(me),Math.floor(e(ge,me))},r.every=function(n){return n=Math.floor(n),isFinite(n)&&n>0?n>1?r.filter(i?function(t){return i(t)%n==0}:function(t){return r.count(0,t)%n==0}):r:null}),r}var ye=be((function(){}),(function(n,t){n.setTime(+n+t)}),(function(n,t){return t-n}));ye.every=function(n){return n=Math.floor(n),isFinite(n)&&n>0?n>1?be((function(t){t.setTime(Math.floor(t/n)*n)}),(function(t,e){t.setTime(+t+e*n)}),(function(t,e){return(e-t)/n})):ye:null};var ve=1e3,we=6e4,xe=36e5,ke=864e5,Se=6048e5,Me=(be((function(n){n.setTime(n-n.getMilliseconds())}),(function(n,t){n.setTime(+n+t*ve)}),(function(n,t){return(t-n)/ve}),(function(n){return n.getUTCSeconds()})),be((function(n){n.setTime(n-n.getMilliseconds()-n.getSeconds()*ve)}),(function(n,t){n.setTime(+n+t*we)}),(function(n,t){return(t-n)/we}),(function(n){return n.getMinutes()})),be((function(n){n.setTime(n-n.getMilliseconds()-n.getSeconds()*ve-n.getMinutes()*we)}),(function(n,t){n.setTime(+n+t*xe)}),(function(n,t){return(t-n)/xe}),(function(n){return n.getHours()})),be((function(n){n.setHours(0,0,0,0)}),(function(n,t){n.setDate(n.getDate()+t)}),(function(n,t){return(t-n-(t.getTimezoneOffset()-n.getTimezoneOffset())*we)/ke}),(function(n){return n.getDate()-1})));function Te(n){return be((function(t){t.setDate(t.getDate()-(t.getDay()+7-n)%7),t.setHours(0,0,0,0)}),(function(n,t){n.setDate(n.getDate()+7*t)}),(function(n,t){return(t-n-(t.getTimezoneOffset()-n.getTimezoneOffset())*we)/Se}))}var _e=Te(0),Ae=Te(1),Ee=(Te(2),Te(3),Te(4)),Ce=(Te(5),Te(6),be((function(n){n.setDate(1),n.setHours(0,0,0,0)}),(function(n,t){n.setMonth(n.getMonth()+t)}),(function(n,t){return t.getMonth()-n.getMonth()+12*(t.getFullYear()-n.getFullYear())}),(function(n){return n.getMonth()})),be((function(n){n.setMonth(0,1),n.setHours(0,0,0,0)}),(function(n,t){n.setFullYear(n.getFullYear()+t)}),(function(n,t){return t.getFullYear()-n.getFullYear()}),(function(n){return n.getFullYear()})));Ce.every=function(n){return isFinite(n=Math.floor(n))&&n>0?be((function(t){t.setFullYear(Math.floor(t.getFullYear()/n)*n),t.setMonth(0,1),t.setHours(0,0,0,0)}),(function(t,e){t.setFullYear(t.getFullYear()+e*n)})):null},be((function(n){n.setUTCSeconds(0,0)}),(function(n,t){n.setTime(+n+t*we)}),(function(n,t){return(t-n)/we}),(function(n){return n.getUTCMinutes()})),be((function(n){n.setUTCMinutes(0,0,0)}),(function(n,t){n.setTime(+n+t*xe)}),(function(n,t){return(t-n)/xe}),(function(n){return n.getUTCHours()}));var Ne=be((function(n){n.setUTCHours(0,0,0,0)}),(function(n,t){n.setUTCDate(n.getUTCDate()+t)}),(function(n,t){return(t-n)/ke}),(function(n){return n.getUTCDate()-1}));function Le(n){return be((function(t){t.setUTCDate(t.getUTCDate()-(t.getUTCDay()+7-n)%7),t.setUTCHours(0,0,0,0)}),(function(n,t){n.setUTCDate(n.getUTCDate()+7*t)}),(function(n,t){return(t-n)/Se}))}var Oe=Le(0),De=Le(1),Ie=(Le(2),Le(3),Le(4)),Re=(Le(5),Le(6),be((function(n){n.setUTCDate(1),n.setUTCHours(0,0,0,0)}),(function(n,t){n.setUTCMonth(n.getUTCMonth()+t)}),(function(n,t){return t.getUTCMonth()-n.getUTCMonth()+12*(t.getUTCFullYear()-n.getUTCFullYear())}),(function(n){return n.getUTCMonth()})),be((function(n){n.setUTCMonth(0,1),n.setUTCHours(0,0,0,0)}),(function(n,t){n.setUTCFullYear(n.getUTCFullYear()+t)}),(function(n,t){return t.getUTCFullYear()-n.getUTCFullYear()}),(function(n){return n.getUTCFullYear()})));function Fe(n){if(0<=n.y&&n.y<100){var t=new Date(-1,n.m,n.d,n.H,n.M,n.S,n.L);return t.setFullYear(n.y),t}return new Date(n.y,n.m,n.d,n.H,n.M,n.S,n.L)}function Ue(n){if(0<=n.y&&n.y<100){var t=new Date(Date.UTC(-1,n.m,n.d,n.H,n.M,n.S,n.L));return t.setUTCFullYear(n.y),t}return new Date(Date.UTC(n.y,n.m,n.d,n.H,n.M,n.S,n.L))}function Pe(n,t,e){return{y:n,m:t,d:e,H:0,M:0,S:0,L:0}}Re.every=function(n){return isFinite(n=Math.floor(n))&&n>0?be((function(t){t.setUTCFullYear(Math.floor(t.getUTCFullYear()/n)*n),t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)}),(function(t,e){t.setUTCFullYear(t.getUTCFullYear()+e*n)})):null};var He,je,ze,$e={"-":"",_:" ",0:"0"},qe=/^\s*\d+/,Be=/^%/,Ye=/[\\^$*+?|[\]().{}]/g;function We(n,t,e){var i=n<0?"-":"",r=(i?-n:n)+"",o=r.length;return i+(o<e?new Array(e-o+1).join(t)+r:r)}function Ge(n){return n.replace(Ye,"\\$&")}function Ve(n){return new RegExp("^(?:"+n.map(Ge).join("|")+")","i")}function Ke(n){for(var t={},e=-1,i=n.length;++e<i;)t[n[e].toLowerCase()]=e;return t}function Xe(n,t,e){var i=qe.exec(t.slice(e,e+1));return i?(n.w=+i[0],e+i[0].length):-1}function Ze(n,t,e){var i=qe.exec(t.slice(e,e+1));return i?(n.u=+i[0],e+i[0].length):-1}function Qe(n,t,e){var i=qe.exec(t.slice(e,e+2));return i?(n.U=+i[0],e+i[0].length):-1}function Je(n,t,e){var i=qe.exec(t.slice(e,e+2));return i?(n.V=+i[0],e+i[0].length):-1}function ni(n,t,e){var i=qe.exec(t.slice(e,e+2));return i?(n.W=+i[0],e+i[0].length):-1}function ti(n,t,e){var i=qe.exec(t.slice(e,e+4));return i?(n.y=+i[0],e+i[0].length):-1}function ei(n,t,e){var i=qe.exec(t.slice(e,e+2));return i?(n.y=+i[0]+(+i[0]>68?1900:2e3),e+i[0].length):-1}function ii(n,t,e){var i=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(t.slice(e,e+6));return i?(n.Z=i[1]?0:-(i[2]+(i[3]||"00")),e+i[0].length):-1}function ri(n,t,e){var i=qe.exec(t.slice(e,e+1));return i?(n.q=3*i[0]-3,e+i[0].length):-1}function oi(n,t,e){var i=qe.exec(t.slice(e,e+2));return i?(n.m=i[0]-1,e+i[0].length):-1}function ai(n,t,e){var i=qe.exec(t.slice(e,e+2));return i?(n.d=+i[0],e+i[0].length):-1}function si(n,t,e){var i=qe.exec(t.slice(e,e+3));return i?(n.m=0,n.d=+i[0],e+i[0].length):-1}function li(n,t,e){var i=qe.exec(t.slice(e,e+2));return i?(n.H=+i[0],e+i[0].length):-1}function ui(n,t,e){var i=qe.exec(t.slice(e,e+2));return i?(n.M=+i[0],e+i[0].length):-1}function ci(n,t,e){var i=qe.exec(t.slice(e,e+2));return i?(n.S=+i[0],e+i[0].length):-1}function di(n,t,e){var i=qe.exec(t.slice(e,e+3));return i?(n.L=+i[0],e+i[0].length):-1}function hi(n,t,e){var i=qe.exec(t.slice(e,e+6));return i?(n.L=Math.floor(i[0]/1e3),e+i[0].length):-1}function pi(n,t,e){var i=Be.exec(t.slice(e,e+1));return i?e+i[0].length:-1}function fi(n,t,e){var i=qe.exec(t.slice(e));return i?(n.Q=+i[0],e+i[0].length):-1}function gi(n,t,e){var i=qe.exec(t.slice(e));return i?(n.s=+i[0],e+i[0].length):-1}function mi(n,t){return We(n.getDate(),t,2)}function bi(n,t){return We(n.getHours(),t,2)}function yi(n,t){return We(n.getHours()%12||12,t,2)}function vi(n,t){return We(1+Me.count(Ce(n),n),t,3)}function wi(n,t){return We(n.getMilliseconds(),t,3)}function xi(n,t){return wi(n,t)+"000"}function ki(n,t){return We(n.getMonth()+1,t,2)}function Si(n,t){return We(n.getMinutes(),t,2)}function Mi(n,t){return We(n.getSeconds(),t,2)}function Ti(n){var t=n.getDay();return 0===t?7:t}function _i(n,t){return We(_e.count(Ce(n)-1,n),t,2)}function Ai(n,t){var e=n.getDay();return n=e>=4||0===e?Ee(n):Ee.ceil(n),We(Ee.count(Ce(n),n)+(4===Ce(n).getDay()),t,2)}function Ei(n){return n.getDay()}function Ci(n,t){return We(Ae.count(Ce(n)-1,n),t,2)}function Ni(n,t){return We(n.getFullYear()%100,t,2)}function Li(n,t){return We(n.getFullYear()%1e4,t,4)}function Oi(n){var t=n.getTimezoneOffset();return(t>0?"-":(t*=-1,"+"))+We(t/60|0,"0",2)+We(t%60,"0",2)}function Di(n,t){return We(n.getUTCDate(),t,2)}function Ii(n,t){return We(n.getUTCHours(),t,2)}function Ri(n,t){return We(n.getUTCHours()%12||12,t,2)}function Fi(n,t){return We(1+Ne.count(Re(n),n),t,3)}function Ui(n,t){return We(n.getUTCMilliseconds(),t,3)}function Pi(n,t){return Ui(n,t)+"000"}function Hi(n,t){return We(n.getUTCMonth()+1,t,2)}function ji(n,t){return We(n.getUTCMinutes(),t,2)}function zi(n,t){return We(n.getUTCSeconds(),t,2)}function $i(n){var t=n.getUTCDay();return 0===t?7:t}function qi(n,t){return We(Oe.count(Re(n)-1,n),t,2)}function Bi(n,t){var e=n.getUTCDay();return n=e>=4||0===e?Ie(n):Ie.ceil(n),We(Ie.count(Re(n),n)+(4===Re(n).getUTCDay()),t,2)}function Yi(n){return n.getUTCDay()}function Wi(n,t){return We(De.count(Re(n)-1,n),t,2)}function Gi(n,t){return We(n.getUTCFullYear()%100,t,2)}function Vi(n,t){return We(n.getUTCFullYear()%1e4,t,4)}function Ki(){return"+0000"}function Xi(){return"%"}function Zi(n){return+n}function Qi(n){return Math.floor(+n/1e3)}!function(n){(He=function(n){var t=n.dateTime,e=n.date,i=n.time,r=n.periods,o=n.days,a=n.shortDays,s=n.months,l=n.shortMonths,u=Ve(r),c=Ke(r),d=Ve(o),h=Ke(o),p=Ve(a),f=Ke(a),g=Ve(s),m=Ke(s),b=Ve(l),y=Ke(l),v={a:function(n){return a[n.getDay()]},A:function(n){return o[n.getDay()]},b:function(n){return l[n.getMonth()]},B:function(n){return s[n.getMonth()]},c:null,d:mi,e:mi,f:xi,H:bi,I:yi,j:vi,L:wi,m:ki,M:Si,p:function(n){return r[+(n.getHours()>=12)]},q:function(n){return 1+~~(n.getMonth()/3)},Q:Zi,s:Qi,S:Mi,u:Ti,U:_i,V:Ai,w:Ei,W:Ci,x:null,X:null,y:Ni,Y:Li,Z:Oi,"%":Xi},w={a:function(n){return a[n.getUTCDay()]},A:function(n){return o[n.getUTCDay()]},b:function(n){return l[n.getUTCMonth()]},B:function(n){return s[n.getUTCMonth()]},c:null,d:Di,e:Di,f:Pi,H:Ii,I:Ri,j:Fi,L:Ui,m:Hi,M:ji,p:function(n){return r[+(n.getUTCHours()>=12)]},q:function(n){return 1+~~(n.getUTCMonth()/3)},Q:Zi,s:Qi,S:zi,u:$i,U:qi,V:Bi,w:Yi,W:Wi,x:null,X:null,y:Gi,Y:Vi,Z:Ki,"%":Xi},x={a:function(n,t,e){var i=p.exec(t.slice(e));return i?(n.w=f[i[0].toLowerCase()],e+i[0].length):-1},A:function(n,t,e){var i=d.exec(t.slice(e));return i?(n.w=h[i[0].toLowerCase()],e+i[0].length):-1},b:function(n,t,e){var i=b.exec(t.slice(e));return i?(n.m=y[i[0].toLowerCase()],e+i[0].length):-1},B:function(n,t,e){var i=g.exec(t.slice(e));return i?(n.m=m[i[0].toLowerCase()],e+i[0].length):-1},c:function(n,e,i){return M(n,t,e,i)},d:ai,e:ai,f:hi,H:li,I:li,j:si,L:di,m:oi,M:ui,p:function(n,t,e){var i=u.exec(t.slice(e));return i?(n.p=c[i[0].toLowerCase()],e+i[0].length):-1},q:ri,Q:fi,s:gi,S:ci,u:Ze,U:Qe,V:Je,w:Xe,W:ni,x:function(n,t,i){return M(n,e,t,i)},X:function(n,t,e){return M(n,i,t,e)},y:ei,Y:ti,Z:ii,"%":pi};function k(n,t){return function(e){var i,r,o,a=[],s=-1,l=0,u=n.length;for(e instanceof Date||(e=new Date(+e));++s<u;)37===n.charCodeAt(s)&&(a.push(n.slice(l,s)),null!=(r=$e[i=n.charAt(++s)])?i=n.charAt(++s):r="e"===i?" ":"0",(o=t[i])&&(i=o(e,r)),a.push(i),l=s+1);return a.push(n.slice(l,s)),a.join("")}}function S(n,t){return function(e){var i,r,o=Pe(1900,void 0,1);if(M(o,n,e+="",0)!=e.length)return null;if("Q"in o)return new Date(o.Q);if("s"in o)return new Date(1e3*o.s+("L"in o?o.L:0));if(t&&!("Z"in o)&&(o.Z=0),"p"in o&&(o.H=o.H%12+12*o.p),void 0===o.m&&(o.m="q"in o?o.q:0),"V"in o){if(o.V<1||o.V>53)return null;"w"in o||(o.w=1),"Z"in o?(r=(i=Ue(Pe(o.y,0,1))).getUTCDay(),i=r>4||0===r?De.ceil(i):De(i),i=Ne.offset(i,7*(o.V-1)),o.y=i.getUTCFullYear(),o.m=i.getUTCMonth(),o.d=i.getUTCDate()+(o.w+6)%7):(r=(i=Fe(Pe(o.y,0,1))).getDay(),i=r>4||0===r?Ae.ceil(i):Ae(i),i=Me.offset(i,7*(o.V-1)),o.y=i.getFullYear(),o.m=i.getMonth(),o.d=i.getDate()+(o.w+6)%7)}else("W"in o||"U"in o)&&("w"in o||(o.w="u"in o?o.u%7:"W"in o?1:0),r="Z"in o?Ue(Pe(o.y,0,1)).getUTCDay():Fe(Pe(o.y,0,1)).getDay(),o.m=0,o.d="W"in o?(o.w+6)%7+7*o.W-(r+5)%7:o.w+7*o.U-(r+6)%7);return"Z"in o?(o.H+=o.Z/100|0,o.M+=o.Z%100,Ue(o)):Fe(o)}}function M(n,t,e,i){for(var r,o,a=0,s=t.length,l=e.length;a<s;){if(i>=l)return-1;if(37===(r=t.charCodeAt(a++))){if(r=t.charAt(a++),!(o=x[r in $e?t.charAt(a++):r])||(i=o(n,e,i))<0)return-1}else if(r!=e.charCodeAt(i++))return-1}return i}return v.x=k(e,v),v.X=k(i,v),v.c=k(t,v),w.x=k(e,w),w.X=k(i,w),w.c=k(t,w),{format:function(n){var t=k(n+="",v);return t.toString=function(){return n},t},parse:function(n){var t=S(n+="",!1);return t.toString=function(){return n},t},utcFormat:function(n){var t=k(n+="",w);return t.toString=function(){return n},t},utcParse:function(n){var t=S(n+="",!0);return t.toString=function(){return n},t}}}(n)).format,He.parse,je=He.utcFormat,ze=He.utcParse}({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});var Ji="%Y-%m-%dT%H:%M:%S.%LZ";Date.prototype.toISOString||je(Ji),+new Date("2000-01-01T00:00:00.000Z")||ze(Ji);var nr={value:function(){}};function tr(){for(var n,t=0,e=arguments.length,i={};t<e;++t){if(!(n=arguments[t]+"")||n in i||/[\s.]/.test(n))throw new Error("illegal type: "+n);i[n]=[]}return new er(i)}function er(n){this._=n}function ir(n,t){for(var e,i=0,r=n.length;i<r;++i)if((e=n[i]).name===t)return e.value}function rr(n,t,e){for(var i=0,r=n.length;i<r;++i)if(n[i].name===t){n[i]=nr,n=n.slice(0,i).concat(n.slice(i+1));break}return null!=e&&n.push({name:t,value:e}),n}er.prototype=tr.prototype={constructor:er,on:function(n,t){var e,i,r=this._,o=(i=r,(n+"").trim().split(/^|\s+/).map((function(n){var t="",e=n.indexOf(".");if(e>=0&&(t=n.slice(e+1),n=n.slice(0,e)),n&&!i.hasOwnProperty(n))throw new Error("unknown type: "+n);return{type:n,name:t}}))),a=-1,s=o.length;if(!(arguments.length<2)){if(null!=t&&"function"!=typeof t)throw new Error("invalid callback: "+t);for(;++a<s;)if(e=(n=o[a]).type)r[e]=rr(r[e],n.name,t);else if(null==t)for(e in r)r[e]=rr(r[e],n.name,null);return this}for(;++a<s;)if((e=(n=o[a]).type)&&(e=ir(r[e],n.name)))return e},copy:function(){var n={},t=this._;for(var e in t)n[e]=t[e].slice();return new er(n)},call:function(n,t){if((e=arguments.length-2)>0)for(var e,i,r=new Array(e),o=0;o<e;++o)r[o]=arguments[o+2];if(!this._.hasOwnProperty(n))throw new Error("unknown type: "+n);for(o=0,e=(i=this._[n]).length;o<e;++o)i[o].value.apply(t,r)},apply:function(n,t,e){if(!this._.hasOwnProperty(n))throw new Error("unknown type: "+n);for(var i=this._[n],r=0,o=i.length;r<o;++r)i[r].value.apply(t,e)}};var or="http://www.w3.org/1999/xhtml",ar={svg:"http://www.w3.org/2000/svg",xhtml:or,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function sr(n){var t=n+="",e=t.indexOf(":");return e>=0&&"xmlns"!==(t=n.slice(0,e))&&(n=n.slice(e+1)),ar.hasOwnProperty(t)?{space:ar[t],local:n}:n}function lr(n){return function(){var t=this.ownerDocument,e=this.namespaceURI;return e===or&&t.documentElement.namespaceURI===or?t.createElement(n):t.createElementNS(e,n)}}function ur(n){return function(){return this.ownerDocument.createElementNS(n.space,n.local)}}function cr(n){var t=sr(n);return(t.local?ur:lr)(t)}function dr(){}function hr(n){return null==n?dr:function(){return this.querySelector(n)}}function pr(){return[]}function fr(n){return new Array(n.length)}function gr(n,t){this.ownerDocument=n.ownerDocument,this.namespaceURI=n.namespaceURI,this._next=null,this._parent=n,this.__data__=t}gr.prototype={constructor:gr,appendChild:function(n){return this._parent.insertBefore(n,this._next)},insertBefore:function(n,t){return this._parent.insertBefore(n,t)},querySelector:function(n){return this._parent.querySelector(n)},querySelectorAll:function(n){return this._parent.querySelectorAll(n)}};var mr="$";function br(n,t,e,i,r,o){for(var a,s=0,l=t.length,u=o.length;s<u;++s)(a=t[s])?(a.__data__=o[s],i[s]=a):e[s]=new gr(n,o[s]);for(;s<l;++s)(a=t[s])&&(r[s]=a)}function yr(n,t,e,i,r,o,a){var s,l,u,c={},d=t.length,h=o.length,p=new Array(d);for(s=0;s<d;++s)(l=t[s])&&(p[s]=u=mr+a.call(l,l.__data__,s,t),u in c?r[s]=l:c[u]=l);for(s=0;s<h;++s)(l=c[u=mr+a.call(n,o[s],s,o)])?(i[s]=l,l.__data__=o[s],c[u]=null):e[s]=new gr(n,o[s]);for(s=0;s<d;++s)(l=t[s])&&c[p[s]]===l&&(r[s]=l)}function vr(n,t){return n<t?-1:n>t?1:n>=t?0:NaN}function wr(n){return function(){this.removeAttribute(n)}}function xr(n){return function(){this.removeAttributeNS(n.space,n.local)}}function kr(n,t){return function(){this.setAttribute(n,t)}}function Sr(n,t){return function(){this.setAttributeNS(n.space,n.local,t)}}function Mr(n,t){return function(){var e=t.apply(this,arguments);null==e?this.removeAttribute(n):this.setAttribute(n,e)}}function Tr(n,t){return function(){var e=t.apply(this,arguments);null==e?this.removeAttributeNS(n.space,n.local):this.setAttributeNS(n.space,n.local,e)}}function _r(n){return n.ownerDocument&&n.ownerDocument.defaultView||n.document&&n||n.defaultView}function Ar(n){return function(){this.style.removeProperty(n)}}function Er(n,t,e){return function(){this.style.setProperty(n,t,e)}}function Cr(n,t,e){return function(){var i=t.apply(this,arguments);null==i?this.style.removeProperty(n):this.style.setProperty(n,i,e)}}function Nr(n){return function(){delete this[n]}}function Lr(n,t){return function(){this[n]=t}}function Or(n,t){return function(){var e=t.apply(this,arguments);null==e?delete this[n]:this[n]=e}}function Dr(n){return n.trim().split(/^|\s+/)}function Ir(n){return n.classList||new Rr(n)}function Rr(n){this._node=n,this._names=Dr(n.getAttribute("class")||"")}function Fr(n,t){for(var e=Ir(n),i=-1,r=t.length;++i<r;)e.add(t[i])}function Ur(n,t){for(var e=Ir(n),i=-1,r=t.length;++i<r;)e.remove(t[i])}function Pr(n){return function(){Fr(this,n)}}function Hr(n){return function(){Ur(this,n)}}function jr(n,t){return function(){(t.apply(this,arguments)?Fr:Ur)(this,n)}}function zr(){this.textContent=""}function $r(n){return function(){this.textContent=n}}function qr(n){return function(){var t=n.apply(this,arguments);this.textContent=null==t?"":t}}function Br(){this.innerHTML=""}function Yr(n){return function(){this.innerHTML=n}}function Wr(n){return function(){var t=n.apply(this,arguments);this.innerHTML=null==t?"":t}}function Gr(){this.nextSibling&&this.parentNode.appendChild(this)}function Vr(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function Kr(){return null}function Xr(){var n=this.parentNode;n&&n.removeChild(this)}function Zr(){var n=this.cloneNode(!1),t=this.parentNode;return t?t.insertBefore(n,this.nextSibling):n}function Qr(){var n=this.cloneNode(!0),t=this.parentNode;return t?t.insertBefore(n,this.nextSibling):n}Rr.prototype={add:function(n){this._names.indexOf(n)<0&&(this._names.push(n),this._node.setAttribute("class",this._names.join(" ")))},remove:function(n){var t=this._names.indexOf(n);t>=0&&(this._names.splice(t,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(n){return this._names.indexOf(n)>=0}};var Jr={},no=null;function to(n,t,e){return n=eo(n,t,e),function(t){var e=t.relatedTarget;e&&(e===this||8&e.compareDocumentPosition(this))||n.call(this,t)}}function eo(n,t,e){return function(i){var r=no;no=i;try{n.call(this,this.__data__,t,e)}finally{no=r}}}function io(n){return function(){var t=this.__on;if(t){for(var e,i=0,r=-1,o=t.length;i<o;++i)e=t[i],n.type&&e.type!==n.type||e.name!==n.name?t[++r]=e:this.removeEventListener(e.type,e.listener,e.capture);++r?t.length=r:delete this.__on}}}function ro(n,t,e){var i=Jr.hasOwnProperty(n.type)?to:eo;return function(r,o,a){var s,l=this.__on,u=i(t,o,a);if(l)for(var c=0,d=l.length;c<d;++c)if((s=l[c]).type===n.type&&s.name===n.name)return this.removeEventListener(s.type,s.listener,s.capture),this.addEventListener(s.type,s.listener=u,s.capture=e),void(s.value=t);this.addEventListener(n.type,u,e),s={type:n.type,name:n.name,value:t,listener:u,capture:e},l?l.push(s):this.__on=[s]}}function oo(n,t,e,i){var r=no;n.sourceEvent=no,no=n;try{return t.apply(e,i)}finally{no=r}}function ao(n,t,e){var i=_r(n),r=i.CustomEvent;"function"==typeof r?r=new r(t,e):(r=i.document.createEvent("Event"),e?(r.initEvent(t,e.bubbles,e.cancelable),r.detail=e.detail):r.initEvent(t,!1,!1)),n.dispatchEvent(r)}function so(n,t){return function(){return ao(this,n,t)}}function lo(n,t){return function(){return ao(this,n,t.apply(this,arguments))}}"undefined"!=typeof document&&("onmouseenter"in document.documentElement||(Jr={mouseenter:"mouseover",mouseleave:"mouseout"}));var uo=[null];function co(n,t){this._groups=n,this._parents=t}function ho(n){return"string"==typeof n?new co([[document.querySelector(n)]],[document.documentElement]):new co([[n]],uo)}function po(){for(var n,t=no;n=t.sourceEvent;)t=n;return t}function fo(n,t){var e=n.ownerSVGElement||n;if(e.createSVGPoint){var i=e.createSVGPoint();return i.x=t.clientX,i.y=t.clientY,[(i=i.matrixTransform(n.getScreenCTM().inverse())).x,i.y]}var r=n.getBoundingClientRect();return[t.clientX-r.left-n.clientLeft,t.clientY-r.top-n.clientTop]}function go(n){var t=po();return t.changedTouches&&(t=t.changedTouches[0]),fo(n,t)}function mo(n,t,e){arguments.length<3&&(e=t,t=po().changedTouches);for(var i,r=0,o=t?t.length:0;r<o;++r)if((i=t[r]).identifier===e)return fo(n,i);return null}function bo(){no.stopImmediatePropagation()}function yo(){no.preventDefault(),no.stopImmediatePropagation()}function vo(n){return function(){return n}}function wo(n,t,e,i,r,o,a,s,l,u){this.target=n,this.type=t,this.subject=e,this.identifier=i,this.active=r,this.x=o,this.y=a,this.dx=s,this.dy=l,this._=u}function xo(){return!no.ctrlKey&&!no.button}function ko(){return this.parentNode}function So(n){return null==n?{x:no.x,y:no.y}:n}function Mo(){return navigator.maxTouchPoints||"ontouchstart"in this}function To(){var n,t,e,i,r=xo,o=ko,a=So,s=Mo,l={},u=tr("start","drag","end"),c=0,d=0;function h(n){n.on("mousedown.drag",p).filter(s).on("touchstart.drag",m).on("touchmove.drag",b).on("touchend.drag touchcancel.drag",y).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function p(){if(!i&&r.apply(this,arguments)){var a=v("mouse",o.apply(this,arguments),go,this,arguments);a&&(ho(no.view).on("mousemove.drag",f,!0).on("mouseup.drag",g,!0),function(n){var t=n.document.documentElement,e=ho(n).on("dragstart.drag",yo,!0);"onselectstart"in t?e.on("selectstart.drag",yo,!0):(t.__noselect=t.style.MozUserSelect,t.style.MozUserSelect="none")}(no.view),bo(),e=!1,n=no.clientX,t=no.clientY,a("start"))}}function f(){if(yo(),!e){var i=no.clientX-n,r=no.clientY-t;e=i*i+r*r>d}l.mouse("drag")}function g(){ho(no.view).on("mousemove.drag mouseup.drag",null),function(n,t){var e=n.document.documentElement,i=ho(n).on("dragstart.drag",null);t&&(i.on("click.drag",yo,!0),setTimeout((function(){i.on("click.drag",null)}),0)),"onselectstart"in e?i.on("selectstart.drag",null):(e.style.MozUserSelect=e.__noselect,delete e.__noselect)}(no.view,e),yo(),l.mouse("end")}function m(){if(r.apply(this,arguments)){var n,t,e=no.changedTouches,i=o.apply(this,arguments),a=e.length;for(n=0;n<a;++n)(t=v(e[n].identifier,i,mo,this,arguments))&&(bo(),t("start"))}}function b(){var n,t,e=no.changedTouches,i=e.length;for(n=0;n<i;++n)(t=l[e[n].identifier])&&(yo(),t("drag"))}function y(){var n,t,e=no.changedTouches,r=e.length;for(i&&clearTimeout(i),i=setTimeout((function(){i=null}),500),n=0;n<r;++n)(t=l[e[n].identifier])&&(bo(),t("end"))}function v(n,t,e,i,r){var o,s,d,p=e(t,n),f=u.copy();if(oo(new wo(h,"beforestart",o,n,c,p[0],p[1],0,0,f),(function(){return null!=(no.subject=o=a.apply(i,r))&&(s=o.x-p[0]||0,d=o.y-p[1]||0,!0)})))return function a(u){var g,m=p;switch(u){case"start":l[n]=a,g=c++;break;case"end":delete l[n],--c;case"drag":p=e(t,n),g=c}oo(new wo(h,u,o,n,g,p[0]+s,p[1]+d,p[0]-m[0],p[1]-m[1],f),f.apply,f,[u,i,r])}}return h.filter=function(n){return arguments.length?(r="function"==typeof n?n:vo(!!n),h):r},h.container=function(n){return arguments.length?(o="function"==typeof n?n:vo(n),h):o},h.subject=function(n){return arguments.length?(a="function"==typeof n?n:vo(n),h):a},h.touchable=function(n){return arguments.length?(s="function"==typeof n?n:vo(!!n),h):s},h.on=function(){var n=u.on.apply(u,arguments);return n===u?h:n},h.clickDistance=function(n){return arguments.length?(d=(n=+n)*n,h):Math.sqrt(d)},h}co.prototype=function(){return new co([[document.documentElement]],uo)}.prototype={constructor:co,select:function(n){"function"!=typeof n&&(n=hr(n));for(var t=this._groups,e=t.length,i=new Array(e),r=0;r<e;++r)for(var o,a,s=t[r],l=s.length,u=i[r]=new Array(l),c=0;c<l;++c)(o=s[c])&&(a=n.call(o,o.__data__,c,s))&&("__data__"in o&&(a.__data__=o.__data__),u[c]=a);return new co(i,this._parents)},selectAll:function(n){"function"!=typeof n&&(n=function(n){return null==n?pr:function(){return this.querySelectorAll(n)}}(n));for(var t=this._groups,e=t.length,i=[],r=[],o=0;o<e;++o)for(var a,s=t[o],l=s.length,u=0;u<l;++u)(a=s[u])&&(i.push(n.call(a,a.__data__,u,s)),r.push(a));return new co(i,r)},filter:function(n){"function"!=typeof n&&(n=function(n){return function(){return this.matches(n)}}(n));for(var t=this._groups,e=t.length,i=new Array(e),r=0;r<e;++r)for(var o,a=t[r],s=a.length,l=i[r]=[],u=0;u<s;++u)(o=a[u])&&n.call(o,o.__data__,u,a)&&l.push(o);return new co(i,this._parents)},data:function(n,t){if(!n)return f=new Array(this.size()),c=-1,this.each((function(n){f[++c]=n})),f;var e,i=t?yr:br,r=this._parents,o=this._groups;"function"!=typeof n&&(e=n,n=function(){return e});for(var a=o.length,s=new Array(a),l=new Array(a),u=new Array(a),c=0;c<a;++c){var d=r[c],h=o[c],p=h.length,f=n.call(d,d&&d.__data__,c,r),g=f.length,m=l[c]=new Array(g),b=s[c]=new Array(g);i(d,h,m,b,u[c]=new Array(p),f,t);for(var y,v,w=0,x=0;w<g;++w)if(y=m[w]){for(w>=x&&(x=w+1);!(v=b[x])&&++x<g;);y._next=v||null}}return(s=new co(s,r))._enter=l,s._exit=u,s},enter:function(){return new co(this._enter||this._groups.map(fr),this._parents)},exit:function(){return new co(this._exit||this._groups.map(fr),this._parents)},join:function(n,t,e){var i=this.enter(),r=this,o=this.exit();return i="function"==typeof n?n(i):i.append(n+""),null!=t&&(r=t(r)),null==e?o.remove():e(o),i&&r?i.merge(r).order():r},merge:function(n){for(var t=this._groups,e=n._groups,i=t.length,r=e.length,o=Math.min(i,r),a=new Array(i),s=0;s<o;++s)for(var l,u=t[s],c=e[s],d=u.length,h=a[s]=new Array(d),p=0;p<d;++p)(l=u[p]||c[p])&&(h[p]=l);for(;s<i;++s)a[s]=t[s];return new co(a,this._parents)},order:function(){for(var n=this._groups,t=-1,e=n.length;++t<e;)for(var i,r=n[t],o=r.length-1,a=r[o];--o>=0;)(i=r[o])&&(a&&4^i.compareDocumentPosition(a)&&a.parentNode.insertBefore(i,a),a=i);return this},sort:function(n){function t(t,e){return t&&e?n(t.__data__,e.__data__):!t-!e}n||(n=vr);for(var e=this._groups,i=e.length,r=new Array(i),o=0;o<i;++o){for(var a,s=e[o],l=s.length,u=r[o]=new Array(l),c=0;c<l;++c)(a=s[c])&&(u[c]=a);u.sort(t)}return new co(r,this._parents).order()},call:function(){var n=arguments[0];return arguments[0]=this,n.apply(null,arguments),this},nodes:function(){var n=new Array(this.size()),t=-1;return this.each((function(){n[++t]=this})),n},node:function(){for(var n=this._groups,t=0,e=n.length;t<e;++t)for(var i=n[t],r=0,o=i.length;r<o;++r){var a=i[r];if(a)return a}return null},size:function(){var n=0;return this.each((function(){++n})),n},empty:function(){return!this.node()},each:function(n){for(var t=this._groups,e=0,i=t.length;e<i;++e)for(var r,o=t[e],a=0,s=o.length;a<s;++a)(r=o[a])&&n.call(r,r.__data__,a,o);return this},attr:function(n,t){var e=sr(n);if(arguments.length<2){var i=this.node();return e.local?i.getAttributeNS(e.space,e.local):i.getAttribute(e)}return this.each((null==t?e.local?xr:wr:"function"==typeof t?e.local?Tr:Mr:e.local?Sr:kr)(e,t))},style:function(n,t,e){return arguments.length>1?this.each((null==t?Ar:"function"==typeof t?Cr:Er)(n,t,null==e?"":e)):function(n,t){return n.style.getPropertyValue(t)||_r(n).getComputedStyle(n,null).getPropertyValue(t)}(this.node(),n)},property:function(n,t){return arguments.length>1?this.each((null==t?Nr:"function"==typeof t?Or:Lr)(n,t)):this.node()[n]},classed:function(n,t){var e=Dr(n+"");if(arguments.length<2){for(var i=Ir(this.node()),r=-1,o=e.length;++r<o;)if(!i.contains(e[r]))return!1;return!0}return this.each(("function"==typeof t?jr:t?Pr:Hr)(e,t))},text:function(n){return arguments.length?this.each(null==n?zr:("function"==typeof n?qr:$r)(n)):this.node().textContent},html:function(n){return arguments.length?this.each(null==n?Br:("function"==typeof n?Wr:Yr)(n)):this.node().innerHTML},raise:function(){return this.each(Gr)},lower:function(){return this.each(Vr)},append:function(n){var t="function"==typeof n?n:cr(n);return this.select((function(){return this.appendChild(t.apply(this,arguments))}))},insert:function(n,t){var e="function"==typeof n?n:cr(n),i=null==t?Kr:"function"==typeof t?t:hr(t);return this.select((function(){return this.insertBefore(e.apply(this,arguments),i.apply(this,arguments)||null)}))},remove:function(){return this.each(Xr)},clone:function(n){return this.select(n?Qr:Zr)},datum:function(n){return arguments.length?this.property("__data__",n):this.node().__data__},on:function(n,t,e){var i,r,o=function(n){return n.trim().split(/^|\s+/).map((function(n){var t="",e=n.indexOf(".");return e>=0&&(t=n.slice(e+1),n=n.slice(0,e)),{type:n,name:t}}))}(n+""),a=o.length;if(!(arguments.length<2)){for(s=t?ro:io,null==e&&(e=!1),i=0;i<a;++i)this.each(s(o[i],t,e));return this}var s=this.node().__on;if(s)for(var l,u=0,c=s.length;u<c;++u)for(i=0,l=s[u];i<a;++i)if((r=o[i]).type===l.type&&r.name===l.name)return l.value},dispatch:function(n,t){return this.each(("function"==typeof t?lo:so)(n,t))}},wo.prototype.on=function(){var n=this._.on.apply(this._,arguments);return n===this._?this:n};var _o=x("d-slider","\n<style>\n  :host {\n    position: relative;\n    display: inline-block;\n  }\n\n  :host(:focus) {\n    outline: none;\n  }\n\n  .background {\n    padding: 9px 0;\n    color: white;\n    position: relative;\n  }\n\n  .track {\n    height: 3px;\n    width: 100%;\n    border-radius: 2px;\n    background-color: hsla(0, 0%, 0%, 0.2);\n  }\n\n  .track-fill {\n    position: absolute;\n    top: 9px;\n    height: 3px;\n    border-radius: 4px;\n    background-color: hsl(24, 100%, 50%);\n  }\n\n  .knob-container {\n    position: absolute;\n    top: 10px;\n  }\n\n  .knob {\n    position: absolute;\n    top: -6px;\n    left: -6px;\n    width: 13px;\n    height: 13px;\n    background-color: hsl(24, 100%, 50%);\n    border-radius: 50%;\n    transition-property: transform;\n    transition-duration: 0.18s;\n    transition-timing-function: ease;\n  }\n  .mousedown .knob {\n    transform: scale(1.5);\n  }\n\n  .knob-highlight {\n    position: absolute;\n    top: -6px;\n    left: -6px;\n    width: 13px;\n    height: 13px;\n    background-color: hsla(0, 0%, 0%, 0.1);\n    border-radius: 50%;\n    transition-property: transform;\n    transition-duration: 0.18s;\n    transition-timing-function: ease;\n  }\n\n  .focus .knob-highlight {\n    transform: scale(2);\n  }\n\n  .ticks {\n    position: absolute;\n    top: 16px;\n    height: 4px;\n    width: 100%;\n    z-index: -1;\n  }\n\n  .ticks .tick {\n    position: absolute;\n    height: 100%;\n    border-left: 1px solid hsla(0, 0%, 0%, 0.2);\n  }\n\n</style>\n\n  <div class='background'>\n    <div class='track'></div>\n    <div class='track-fill'></div>\n    <div class='knob-container'>\n      <div class='knob-highlight'></div>\n      <div class='knob'></div>\n    </div>\n    <div class='ticks'></div>\n  </div>\n"),Ao=37,Eo=38,Co=39,No=40,Lo=33,Oo=34,Do=35,Io=36,Ro=function(n){function t(){return f(this,t),s(this,t,arguments)}return d(t,n),m(t,[{key:"connectedCallback",value:function(){var n=this;this.connected=!0,this.setAttribute("role","slider"),this.hasAttribute("tabindex")||this.setAttribute("tabindex",0),this.mouseEvent=!1,this.knob=this.root.querySelector(".knob-container"),this.background=this.root.querySelector(".background"),this.trackFill=this.root.querySelector(".track-fill"),this.track=this.root.querySelector(".track"),this.min=this.min?this.min:0,this.max=this.max?this.max:100,this.scale=fe().domain([this.min,this.max]).range([0,1]).clamp(!0),this.origin=void 0!==this.origin?this.origin:this.min,this.step=this.step?this.step:1,this.update(this.value?this.value:0),this.ticks=!!this.ticks&&this.ticks,this.renderTicks(),this.drag=To().container(this.background).on("start",(function(){n.mouseEvent=!0,n.background.classList.add("mousedown"),n.changeValue=n.value,n.dragUpdate()})).on("drag",(function(){n.dragUpdate()})).on("end",(function(){n.mouseEvent=!1,n.background.classList.remove("mousedown"),n.dragUpdate(),n.changeValue!==n.value&&n.dispatchChange(),n.changeValue=n.value})),this.drag(ho(this.background)),this.addEventListener("focusin",(function(){n.mouseEvent||n.background.classList.add("focus")})),this.addEventListener("focusout",(function(){n.background.classList.remove("focus")})),this.addEventListener("keydown",this.onKeyDown)}},{key:"attributeChangedCallback",value:function(n,t,e){isNaN(e)||null==e||("min"==n&&(this.min=+e,this.setAttribute("aria-valuemin",this.min)),"max"==n&&(this.max=+e,this.setAttribute("aria-valuemax",this.max)),"value"==n&&this.update(+e),"origin"==n&&(this.origin=+e),"step"==n&&e>0&&(this.step=+e),"ticks"==n&&(this.ticks=""===e||e))}},{key:"onKeyDown",value:function(n){this.changeValue=this.value;var t=!1;switch(n.keyCode){case Ao:case No:this.update(this.value-this.step),t=!0;break;case Co:case Eo:this.update(this.value+this.step),t=!0;break;case Lo:case Oo:this.update(this.value+10*this.step),t=!0;break;case Io:this.update(this.min),t=!0;break;case Do:this.update(this.max),t=!0}t&&(this.background.classList.add("focus"),n.preventDefault(),n.stopPropagation(),this.changeValue!==this.value&&this.dispatchChange())}},{key:"validateValueRange",value:function(n,t,e){return Math.max(Math.min(t,e),n)}},{key:"quantizeValue",value:function(n,t){return Math.round(n/t)*t}},{key:"dragUpdate",value:function(){var n=this.background.getBoundingClientRect(),t=no.x,e=n.width;this.update(this.scale.invert(t/e))}},{key:"update",value:function(n){var t=n;"any"!==this.step&&(t=this.quantizeValue(n,this.step)),t=this.validateValueRange(this.min,this.max,t),this.connected&&(this.knob.style.left=100*this.scale(t)+"%",this.trackFill.style.width=100*this.scale(this.min+Math.abs(t-this.origin))+"%",this.trackFill.style.left=100*this.scale(Math.min(t,this.origin))+"%"),this.value!==t&&(this.value=t,this.setAttribute("aria-valuenow",this.value),this.dispatchInput())}},{key:"dispatchChange",value:function(){var n=new Event("change");this.dispatchEvent(n,{})}},{key:"dispatchInput",value:function(){var n=new Event("input");this.dispatchEvent(n,{})}},{key:"renderTicks",value:function(){var n=this,t=this.root.querySelector(".ticks");!1!==this.ticks?(this.ticks>0?this.scale.ticks(this.ticks):"any"===this.step?this.scale.ticks():function(n,t,e){n=+n,t=+t,e=(r=arguments.length)<2?(t=n,n=0,1):r<3?1:+e;for(var i=-1,r=0|Math.max(0,Math.ceil((t-n)/e)),o=new Array(r);++i<r;)o[i]=n+i*e;return o}(this.min,this.max+1e-6,this.step)).forEach((function(e){var i=document.createElement("div");i.classList.add("tick"),i.style.left=100*n.scale(e)+"%",t.appendChild(i)})):t.style.display="none"}}],[{key:"observedAttributes",get:function(){return["min","max","value","step","ticks","origin","tickValues","tickLabels"]}}])}(_o(HTMLElement)),Fo='<svg viewBox="-607 419 64 64">\n  <path d="M-573.4,478.9c-8,0-14.6-6.4-14.6-14.5s14.6-25.9,14.6-40.8c0,14.9,14.6,32.8,14.6,40.8S-565.4,478.9-573.4,478.9z"/>\n</svg>\n',Uo=function(n){function t(){return f(this,t),s(this,t,arguments)}return d(t,n),m(t)}(x("distill-header",'\n<style>\ndistill-header {\n  position: relative;\n  height: 60px;\n  background-color: hsl(200, 60%, 15%);\n  width: 100%;\n  box-sizing: border-box;\n  z-index: 2;\n  color: rgba(0, 0, 0, 0.8);\n  border-bottom: 1px solid rgba(0, 0, 0, 0.08);\n  box-shadow: 0 1px 6px rgba(0, 0, 0, 0.05);\n}\ndistill-header .content {\n  height: 70px;\n  grid-column: page;\n}\ndistill-header a {\n  font-size: 16px;\n  height: 60px;\n  line-height: 60px;\n  text-decoration: none;\n  color: rgba(255, 255, 255, 0.8);\n  padding: 22px 0;\n}\ndistill-header a:hover {\n  color: rgba(255, 255, 255, 1);\n}\ndistill-header svg {\n  width: 24px;\n  position: relative;\n  top: 4px;\n  margin-right: 2px;\n}\n@media(min-width: 1080px) {\n  distill-header {\n    height: 70px;\n  }\n  distill-header a {\n    height: 70px;\n    line-height: 70px;\n    padding: 28px 0;\n  }\n  distill-header .logo {\n  }\n}\ndistill-header svg path {\n  fill: none;\n  stroke: rgba(255, 255, 255, 0.8);\n  stroke-width: 3px;\n}\ndistill-header .logo {\n  font-size: 17px;\n  font-weight: 200;\n}\ndistill-header .nav {\n  float: right;\n  font-weight: 300;\n}\ndistill-header .nav a {\n  font-size: 12px;\n  margin-left: 24px;\n  text-transform: uppercase;\n}\n</style>\n<div class="content">\n  <a href="/" class="logo">\n    '.concat(Fo,'\n    Distill\n  </a>\n  <nav class="nav">\n    <a href="/about/">About</a>\n    <a href="/prize/">Prize</a>\n    <a href="/journal/">Submit</a>\n  </nav>\n</div>\n'),!1)(HTMLElement));var Po=function(n){function t(){return f(this,t),s(this,t,arguments)}return d(t,n),m(t,[{key:"frontMatter",set:function(n){this.innerHTML=function(n){var t="\n<style>\n  distill-appendix {\n    contain: layout style;\n  }\n\n  distill-appendix .citation {\n    font-size: 11px;\n    line-height: 15px;\n    border-left: 1px solid rgba(0, 0, 0, 0.1);\n    padding-left: 18px;\n    border: 1px solid rgba(0,0,0,0.1);\n    background: rgba(0, 0, 0, 0.02);\n    padding: 10px 18px;\n    border-radius: 3px;\n    color: rgba(150, 150, 150, 1);\n    overflow: hidden;\n    margin-top: -12px;\n    white-space: pre-wrap;\n    word-wrap: break-word;\n  }\n\n  distill-appendix > * {\n    grid-column: text;\n  }\n</style>\n";void 0!==n.githubUrl&&(t+='\n    <h3 id="updates-and-corrections">Updates and Corrections</h3>\n    <p>',n.githubCompareUpdatesUrl&&(t+='<a href="'.concat(n.githubCompareUpdatesUrl,'">View all changes</a> to this article since it was first published.')),t+='\n    If you see mistakes or want to suggest changes, please <a href="'.concat(n.githubUrl+"/issues/new",'">create an issue on GitHub</a>. </p>\n    '));var e=n.journal;return void 0!==e&&"Distill"===e.title&&(t+='\n    <h3 id="reuse">Reuse</h3>\n    <p>Diagrams and text are licensed under Creative Commons Attribution <a href="https://creativecommons.org/licenses/by/4.0/">CC-BY 4.0</a> with the <a class="github" href="'.concat(n.githubUrl,'">source available on GitHub</a>, unless noted otherwise. The figures that have been reused from other sources don’t fall under this license and can be recognized by a note in their caption: “Figure from …”.</p>\n    ')),void 0!==n.publishedDate&&(t+='\n    <h3 id="citation">Citation</h3>\n    <p>For attribution in academic contexts, please cite this work as</p>\n    <pre class="citation short">'.concat(n.concatenatedAuthors,', "').concat(n.title,'", Distill, ').concat(n.publishedYear,'.</pre>\n    <p>BibTeX citation</p>\n    <pre class="citation long">').concat(function(n){return"@article{".concat(n.slug,",\n  author = {").concat(n.bibtexAuthors,"},\n  title = {").concat(n.title,"},\n  journal = {").concat(n.journal.title,"},\n  year = {").concat(n.publishedYear,"},\n  note = {").concat(n.url,"},\n  doi = {").concat(n.doi,"}\n}")}(n),"</pre>\n    ")),t}(n)}}],[{key:"is",get:function(){return"distill-appendix"}}])}(o(HTMLElement)),Ho=function(n){function t(){return f(this,t),s(this,t,arguments)}return d(t,n),m(t)}(x("distill-footer",'\n<style>\n\n:host {\n  color: rgba(255, 255, 255, 0.5);\n  font-weight: 300;\n  padding: 2rem 0;\n  border-top: 1px solid rgba(0, 0, 0, 0.1);\n  background-color: hsl(180, 5%, 15%); /*hsl(200, 60%, 15%);*/\n  text-align: left;\n  contain: content;\n}\n\n.footer-container .logo svg {\n  width: 24px;\n  position: relative;\n  top: 4px;\n  margin-right: 2px;\n}\n\n.footer-container .logo svg path {\n  fill: none;\n  stroke: rgba(255, 255, 255, 0.8);\n  stroke-width: 3px;\n}\n\n.footer-container .logo {\n  font-size: 17px;\n  font-weight: 200;\n  color: rgba(255, 255, 255, 0.8);\n  text-decoration: none;\n  margin-right: 6px;\n}\n\n.footer-container {\n  grid-column: text;\n}\n\n.footer-container .nav {\n  font-size: 0.9em;\n  margin-top: 1.5em;\n}\n\n.footer-container .nav a {\n  color: rgba(255, 255, 255, 0.8);\n  margin-right: 6px;\n  text-decoration: none;\n}\n\n</style>\n\n<div class=\'footer-container\'>\n\n  <a href="/" class="logo">\n    '.concat(Fo,'\n    Distill\n  </a> is dedicated to clear explanations of machine learning\n\n  <div class="nav">\n    <a href="https://distill.pub/about/">About</a>\n    <a href="https://distill.pub/journal/">Submit</a>\n    <a href="https://distill.pub/prize/">Prize</a>\n    <a href="https://distill.pub/archive/">Archive</a>\n    <a href="https://distill.pub/rss.xml">RSS</a>\n    <a href="https://github.com/distillpub">GitHub</a>\n    <a href="https://twitter.com/distillpub">Twitter</a>\n    &nbsp;&nbsp;&nbsp;&nbsp; ISSN 2476-0757\n  </div>\n\n</div>\n\n'))(HTMLElement));window.distill={runlevel:0,initialize:function(){if(window.distill.runlevel<1)throw new Error("Insufficient Runlevel for Distill Template!");if("distill"in window&&window.distill.templateIsLoading)throw new Error("Runlevel 1: Distill Template is getting loaded more than once, aborting!");window.distill.templateIsLoading=!0,console.debug("Runlevel 1: Distill Template has started loading."),function(n){var t="distill-prerendered-styles";if(!n.getElementById(t)){var e=n.createElement("style");e.id=t,e.type="text/css";var i=n.createTextNode(q);e.appendChild(i);var r=n.head.querySelector("script");n.head.insertBefore(e,r)}}(document),console.debug("Runlevel 1: Static Distill styles have been added."),console.debug("Runlevel 1->2."),window.distill.runlevel+=1;for(var n=0,t=Object.entries($.listeners);n<t.length;n++){var e=y(t[n],2),i=e[0],r=e[1];"function"==typeof r?document.addEventListener(i,r):console.error("Runlevel 2: Controller listeners need to be functions!")}console.debug("Runlevel 2: We can now listen to controller events."),console.debug("Runlevel 2->3."),window.distill.runlevel+=1;var o=[G,V,X,en,rn,on,an,ln,un,cn,j,dn,hn,N,pn,fn,gn,Ro,bn],s=[Uo,Po,Ho];if(window.distill.runlevel<2)throw new Error("Insufficient Runlevel for adding custom elements!");var l,u=a(o.concat(s));try{for(u.s();!(l=u.n()).done;){var c=l.value;console.debug("Runlevel 2: Registering custom element: "+c.is),customElements.define(c.is,c)}}catch(n){u.e(n)}finally{u.f()}console.debug("Runlevel 3: Distill Template finished registering custom elements."),console.debug("Runlevel 3->4."),window.distill.runlevel+=1,P()&&$.listeners.DOMContentLoaded(),console.debug("Runlevel 4: Distill Template initialisation complete."),window.distill.templateIsLoading=!1,window.distill.templateHasLoaded=!0},templateIsLoading:!1},W.browserSupportsAllFeatures()?(console.debug("Runlevel 0: No need for polyfills."),console.debug("Runlevel 0->1."),window.distill.runlevel+=1,window.distill.initialize()):(console.debug("Runlevel 0: Distill Template is loading polyfills."),W.load(window.distill.initialize))},void 0===(r=i.call(t,e,t,n))||(n.exports=r)}},t={};function e(i){var r=t[i];if(void 0!==r)return r.exports;var o=t[i]={exports:{}};return n[i](o,o.exports,e),o.exports}e.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(n){if("object"==typeof window)return window}}(),e(265)})();
//# sourceMappingURL=distill.bundle.js.map