/*!modern-normalize v2.0.0 | MIT License | https://github.com/sindresorhus/modern-normalize*/*,::before,::after{box-sizing:border-box}html{font-family:system-ui,segoe ui,Roboto,Helvetica,Arial,sans-serif,apple color emoji,segoe ui emoji;line-height:1.15;-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4}body{margin:0}hr{height:0;color:inherit}abbr[title]{text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Consolas,liberation mono,Menlo,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}::-moz-focus-inner{border-style:none;padding:0}:-moz-focusring{outline:1px dotted ButtonText}:-moz-ui-invalid{box-shadow:none}legend{padding:0}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}/*!github.com style (c) Vasily Polovnyov <vast@whiteants.net>*/.hljs{display:block;overflow-x:auto;padding:.5em;color:#333}.hljs-comment,.hljs-quote{color:#998;font-style:italic}.hljs-keyword,.hljs-selector-tag,.hljs-subst{color:#333;font-weight:700}.hljs-number,.hljs-literal,.hljs-variable,.hljs-template-variable,.hljs-tag .hljs-attr{color:teal}.hljs-string,.hljs-doctag{color:#d14}.hljs-title,.hljs-section,.hljs-selector-id{color:#900;font-weight:700}.hljs-subst{font-weight:400}.hljs-type,.hljs-class .hljs-title{color:#458;font-weight:700}.hljs-tag,.hljs-name,.hljs-attribute{color:navy;font-weight:400}.hljs-regexp,.hljs-link{color:#009926}.hljs-symbol,.hljs-bullet{color:#990073}.hljs-built_in,.hljs-builtin-name{color:#0086b3}.hljs-meta{color:#999;font-weight:700}.hljs-deletion{background:#fdd}.hljs-addition{background:#dfd}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}/*!Custom CSS for dbohdan.com.*/:root{--DB-border-color:#ccc;--DB-border-size:0.1rem;--DB-body-bg-color:#ccc;--DB-font-family-monospace:"Liberation Mono", "Courier New", monospace;--DB-font-family-regular:"Liberation Sans", Helvetica, Arial, sans-serif;--DB-font-family-serif:"Liberation Serif", "Times New Roman", serif;--DB-font-size:18px;--DB-highlight-color:#ffa;--DB-link-color:#37b;--DB-link-focus-color:#257;--DB-page-bg-color:#f0f0f0;--DB-service-text-color:#777;--DB-text-color:#333;--DB-box-bg-color:#f8f5f0;--DB-box-border-color:var(--DB-border-color);--DB-box-border-radius:4px;--DB-box-padding:10px;--DB-box-text-color:var(--DB-service-text-color);--DB-button-bg-color:#f0f0f0;--DB-button-submit-bg-color:#f0f5f8;--DB-button-border-color:#999;--DB-button-border-size:calc(var(--DB-border-size) * 1.25);--DB-button-text-color:var(--DB-text-color);--DB-code-bg-color:var(--DB-box-bg-color);--DB-box-text-color:var(--DB-text-color);--DB-footer-border-color:var(--DB-border-color);--DB-footer-text-color:var(--DB-service-text-color);--DB-input-bg-color:var(--DB-box-bg-color);--DB-input-border-color:var(--DB-box-border-color);--DB-input-border-size:var(--DB-border-size);--DB-input-text-color:var(--DB-text-color)}body{background:var(--DB-page-bg-color);color:var(--DB-text-color);font-family:var(--DB-font-family-regular);font-size:var(--DB-font-size);line-height:1.42}.page{background:var(--DB-page-bg-color);padding:1.2rem 1rem}@media(min-width:800px){:root{--DB-font-size:20px}body{background:var(--DB-body-bg-color)}.page{margin:auto;max-width:900px;padding:1.5rem 3rem}main{padding:1rem 2rem}}.page-footer{border-top:var(--DB-border-size)solid var(--DB-footer-border-color);color:var(--DB-footer-text-color);padding-top:1rem;text-align:center}.page-footer p:first-of-type{margin-top:0}.page-footer p:last-of-type{margin-bottom:0}a{color:var(--DB-link-color);text-decoration:none}a.link-icon:after{font-size:.75em;padding-left:.15em;vertical-align:text-top}a.link-icon-fragment-id:after{content:"#"}#TOC a.link-icon-fragment-id:after{content:""}a.link-icon-github:after{content:"GH"}a.link-icon-gitlab:after{content:"GL"}a.link-icon-gwern:after{content:"𝔊";font-size:.8em}a.link-icon-hacker-news:after{content:"HN"}a.link-icon-hplovecraft:after{content:"HPL"}a.link-icon-internet-archive:after{content:"IA"}a.link-icon-less-wrong:after{content:"LW"}a.link-icon-overcoming-bias:after{content:"OB"}a.link-icon-reddit:after{content:"R"}a.link-icon-slate-star-codex:after{content:"SSC"}a.link-icon-stack-exchange:after{content:"SE"}a.link-icon-stack-overflow:after{content:"SO"}a.link-icon-tclers-wiki:after{content:"Tcl"}a.link-icon-wikipedia:after{content:"W";font-family:var(--DB-font-family-serif);padding-left:.1em}a.link-icon-wikiwikiweb:after{content:"C2"}a.link-icon-youtube:after{content:"YT"}a:focus,a:hover{color:var(--DB-link-focus-color);text-decoration:underline}blockquote{background-color:var(--DB-box-bg-color);border-left:.3em solid var(--DB-box-border-color);margin:0 0 1.2em;padding:.6em 1.2em}blockquote p:first-child{margin-top:0}blockquote p:last-child{margin-bottom:0}button,input,textarea{border-radius:var(--DB-box-border-radius);padding:.3em}button{background-color:var(--DB-button-bg-color);border:var(--DB-button-border-size)solid var(--DB-button-border-color);color:var(--DB-button-text-color)}button[type=submit]{background-color:var(--DB-button-submit-bg-color)}hr{border:none;border-top:var(--DB-border-size)solid var(--DB-border-color)}input,textarea{background-color:var(--DB-input-bg-color);border:var(--DB-input-border-size)solid var(--DB-input-border-color);display:block;width:100%}textarea.form-control{min-height:8em}code,pre{font-family:var(--DB-font-family-monospace);font-size:1rem;white-space:pre-wrap}code{background-color:var(--DB-code-bg-color);border:var(--DB-border-size)solid var(--DB-box-border-color);color:var(--DB-code-text-color);padding:.12em .3em .15em}h1,h2,h3,h4,h5,h6{line-height:1.2;margin-top:.35em;margin-bottom:.7em}img,video{display:block;height:auto;margin-bottom:.5em;max-inline-size:100%}label{display:inline-block;font-weight:700;padding-bottom:.15em}pre{background-color:var(--DB-box-bg-color);border:var(--DB-border-size)solid var(--DB-box-border-color);border-radius:var(--DB-box-border-radius);overflow-wrap:break-word;padding:var(--DB-box-padding);word-break:break-all}pre code{border:0;padding:0}table{background-color:var(--DB-box-bg-color);border-collapse:collapse;max-width:100%;overflow:scroll}th,td{border-top:var(--DB-border-size)solid var(--DB-border-color);padding:.4em;text-align:left;vertical-align:top}:target{background-color:var(--DB-highlight-color)}.box{background-color:var(--DB-box-bg-color);border:var(--DB-border-size)solid var(--DB-box-border-color);border-radius:var(--DB-box-border-radius);color:var(--DB-box-text-color);margin-bottom:.7rem;padding:var(--DB-box-padding)}.center-block{display:block;margin:0 auto}.dinkus{text-align:center}.embedjs-player-audio{display:block;height:30px;width:100%}.embedjs-player-video{display:block;height:0;overflow:hidden;padding-bottom:56.25%;position:relative;width:100%}.embedjs-audio{width:100%}.embedjs-iframe-audio{height:30px;width:100%}.embedjs-iframe-video,.embedjs-video{height:100%;left:0;position:absolute;top:0;width:100%}.metadata{color:var(--DB-footer-text-color);text-align:center}.pub-date{font-size:.9em;padding:0 .2em;vertical-align:sub}.quote-att{text-align:right}.scroll-link{font-size:.9em;text-align:right;width:100%}.pixelated{image-rendering:pixelated}