Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/uPagge/uBlogger.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoruPagge <git@upagge.ru>2021-07-27 10:49:58 +0300
committeruPagge <git@upagge.ru>2021-07-27 10:49:58 +0300
commite7b1307695a53e74de6ca4f618c244919d46db60 (patch)
tree546f16de79c28f17cb9ea231e709502197772871
parent17abb3f20411c94a69314e35b30a5992484d0212 (diff)
fix ipad toc
-rw-r--r--assets/js/theme.min.js2
-rw-r--r--assets/js/theme.min.js.map2
-rw-r--r--exampleSite/resources/_gen/assets/scss/css/style.scss_d75fd08668b4bae707167bbce4d8ca46.content2
-rw-r--r--src/js/theme.js4
4 files changed, 5 insertions, 5 deletions
diff --git a/assets/js/theme.min.js b/assets/js/theme.min.js
index d6c2f2d..99b4d35 100644
--- a/assets/js/theme.min.js
+++ b/assets/js/theme.min.js
@@ -1,3 +1,3 @@
-"use strict";function _objectDestructuringEmpty(a){if(null==a)throw new TypeError("Cannot destructure undefined")}function _createForOfIteratorHelper(a){if("undefined"==typeof Symbol||null==a[Symbol.iterator]){if(Array.isArray(a)||(a=_unsupportedIterableToArray(a))){var b=0,c=function(){};return{s:c,n:function n(){return b>=a.length?{done:!0}:{done:!1,value:a[b++]}},e:function e(a){throw a},f:c}}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 d,e,f=!0,g=!1;return{s:function s(){d=a[Symbol.iterator]()},n:function n(){var a=d.next();return f=a.done,a},e:function e(a){g=!0,e=a},f:function f(){try{f||null==d.return||d.return()}finally{if(g)throw e}}}}function _toConsumableArray(a){return _arrayWithoutHoles(a)||_iterableToArray(a)||_unsupportedIterableToArray(a)||_nonIterableSpread()}function _nonIterableSpread(){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 _unsupportedIterableToArray(a,b){if(a){if("string"==typeof a)return _arrayLikeToArray(a,b);var c=Object.prototype.toString.call(a).slice(8,-1);return"Object"===c&&a.constructor&&(c=a.constructor.name),"Map"===c||"Set"===c?Array.from(c):"Arguments"===c||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(c)?_arrayLikeToArray(a,b):void 0}}function _iterableToArray(a){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(a))return Array.from(a)}function _arrayWithoutHoles(a){if(Array.isArray(a))return _arrayLikeToArray(a)}function _arrayLikeToArray(a,b){(null==b||b>a.length)&&(b=a.length);for(var c=0,d=Array(b);c<b;c++)d[c]=a[c];return d}function _classCallCheck(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}function _defineProperties(a,b){for(var c,d=0;d<b.length;d++)c=b[d],c.enumerable=c.enumerable||!1,c.configurable=!0,"value"in c&&(c.writable=!0),Object.defineProperty(a,c.key,c)}function _createClass(a,b,c){return b&&_defineProperties(a.prototype,b),c&&_defineProperties(a,c),a}var Util=/*#__PURE__*/function(){function a(){_classCallCheck(this,a)}return _createClass(a,[{key:"forEach",value:function forEach(a,b){a=a||[];for(var c=0;c<a.length;c++)b(a[c])}},{key:"getScrollTop",value:function getScrollTop(){return document.documentElement&&document.documentElement.scrollTop||document.body.scrollTop}},{key:"isMobile",value:function isMobile(){return window.matchMedia("only screen and (max-width: 680px)").matches}},{key:"isTocStatic",value:function isTocStatic(){return window.matchMedia("only screen and (max-width: 960px)").matches}},{key:"animateCSS",value:function animateCSS(a,b,c,d){var e;Array.isArray(b)||(b=[b]),(e=a.classList).add.apply(e,["animated"].concat(_toConsumableArray(b)));var f=function(){var c;(c=a.classList).remove.apply(c,["animated"].concat(_toConsumableArray(b))),a.removeEventListener("animationend",f),"function"==typeof d&&d()};c||a.addEventListener("animationend",f,!1)}}]),a}(),Theme=/*#__PURE__*/function(){function a(){_classCallCheck(this,a),this.config=window.config,this.data=this.config.data,this.isDark="dark"===document.body.getAttribute("theme"),this.util=new Util,this.newScrollTop=this.util.getScrollTop(),this.oldScrollTop=this.newScrollTop,this.scrollEventSet=new Set,this.resizeEventSet=new Set,this.switchThemeEventSet=new Set,this.clickMaskEventSet=new Set,this.tocSelected=-1,window.objectFitImages&&objectFitImages()}return _createClass(a,[{key:"initSVGIcon",value:function initSVGIcon(){this.util.forEach(document.querySelectorAll("[data-svg-src]"),function(a){fetch(a.getAttribute("data-svg-src")).then(function(a){return a.text()}).then(function(b){var c=document.createElement("div");c.insertAdjacentHTML("afterbegin",b);var d=c.firstChild;d.setAttribute("data-svg-src",a.getAttribute("data-svg-src")),d.classList.add("icon");var e=d.getElementsByTagName("title");e.length&&d.removeChild(e[0]),a.parentElement.replaceChild(d,a)}).catch(function(a){console.error(a)})})}},{key:"initTwemoji",value:function initTwemoji(){this.config.twemoji&&twemoji.parse(document.body)}},{key:"initMenuMobile",value:function initMenuMobile(){var a=document.getElementById("menu-toggle-mobile"),b=document.getElementById("menu-mobile");a.addEventListener("click",function(){document.body.classList.toggle("blur"),a.classList.toggle("active"),b.classList.toggle("active")},!1),this._menuMobileOnClickMask=this._menuMobileOnClickMask||function(){a.classList.remove("active"),b.classList.remove("active")},this.clickMaskEventSet.add(this._menuMobileOnClickMask)}},{key:"initSwitchTheme",value:function initSwitchTheme(){var a=this;this.util.forEach(document.getElementsByClassName("theme-switch"),function(b){b.addEventListener("click",function(){"dark"===document.body.getAttribute("theme")?document.body.setAttribute("theme","light"):document.body.setAttribute("theme","dark"),a.isDark=!a.isDark,window.localStorage&&localStorage.setItem("theme",a.isDark?"dark":"light"),window.REMARK42.changeTheme("dark"===document.body.getAttribute("theme")?"dark":"light");var b,c=_createForOfIteratorHelper(a.switchThemeEventSet);try{for(c.s();!(b=c.n()).done;){var d=b.value;d()}}catch(a){c.e(a)}finally{c.f()}},!1)})}},{key:"initSearch",value:function initSearch(){var a=this,b=this.config.search,c=this.util.isMobile();if(!(!b||c&&this._searchMobileOnce||!c&&this._searchDesktopOnce)){var d=b.maxResultLength?b.maxResultLength:10,e=b.snippetLength?b.snippetLength:50,f=b.highlightTag?b.highlightTag:"em",g=c?"mobile":"desktop",h=document.getElementById("header-".concat(g)),i=document.getElementById("search-input-".concat(g)),j=document.getElementById("search-toggle-".concat(g)),k=document.getElementById("search-loading-".concat(g)),l=document.getElementById("search-clear-".concat(g));c?(this._searchMobileOnce=!0,i.addEventListener("focus",function(){document.body.classList.add("blur"),h.classList.add("open")},!1),document.getElementById("search-cancel-mobile").addEventListener("click",function(){h.classList.remove("open"),document.body.classList.remove("blur"),document.getElementById("menu-toggle-mobile").classList.remove("active"),document.getElementById("menu-mobile").classList.remove("active"),k.style.display="none",l.style.display="none",a._searchMobile&&a._searchMobile.autocomplete.setVal("")},!1),l.addEventListener("click",function(){l.style.display="none",a._searchMobile&&a._searchMobile.autocomplete.setVal("")},!1),this._searchMobileOnClickMask=this._searchMobileOnClickMask||function(){h.classList.remove("open"),k.style.display="none",l.style.display="none",a._searchMobile&&a._searchMobile.autocomplete.setVal("")},this.clickMaskEventSet.add(this._searchMobileOnClickMask)):(this._searchDesktopOnce=!0,j.addEventListener("click",function(){document.body.classList.add("blur"),h.classList.add("open"),i.focus()},!1),l.addEventListener("click",function(){l.style.display="none",a._searchDesktop&&a._searchDesktop.autocomplete.setVal("")},!1),this._searchDesktopOnClickMask=this._searchDesktopOnClickMask||function(){h.classList.remove("open"),k.style.display="none",l.style.display="none",a._searchDesktop&&a._searchDesktop.autocomplete.setVal("")},this.clickMaskEventSet.add(this._searchDesktopOnClickMask)),i.addEventListener("input",function(){l.style.display=""===i.value?"none":"inline"},!1);var m=function(){var h=autocomplete("#search-input-".concat(g),{hint:!1,autoselect:!0,dropdownMenuContainer:"#search-dropdown-".concat(g),clearOnSelected:!0,cssClasses:{noPrefix:!0},debug:!0},{name:"search",source:function source(c,g){k.style.display="inline",l.style.display="none";var h=function(a){k.style.display="none",l.style.display="inline",g(a)};if("lunr"===b.type){var i=function(){lunr.queryHandler&&(c=lunr.queryHandler(c));var b={};return a._index.search(c).forEach(function(c){var d=c.ref,g=c.matchData.metadata,h=a._indexData[d],i=h.uri,j=h.title,k=h.content;if(!b[i]){var l=0;Object.values(g).forEach(function(a){var b=a.content;if(b){var c=b.position[0][0];(c<l||0===l)&&(l=c)}}),l-=e/5,0<l?(l+=k.substr(l,20).lastIndexOf(" ")+1,k="..."+k.substr(l,e)):k=k.substr(0,e),Object.keys(g).forEach(function(a){j=j.replace(new RegExp("(".concat(a,")"),"gi"),"<".concat(f,">$1</").concat(f,">")),k=k.replace(new RegExp("(".concat(a,")"),"gi"),"<".concat(f,">$1</").concat(f,">"))}),b[i]={uri:i,title:j,date:h.date,context:k}}}),Object.values(b).slice(0,d)};a._index?h(i()):fetch(b.lunrIndexURL).then(function(a){return a.json()}).then(function(c){var d={};a._index=lunr(function(){var a=this;b.lunrLanguageCode&&this.use(lunr[b.lunrLanguageCode]),this.ref("objectID"),this.field("title",{boost:50}),this.field("tags",{boost:20}),this.field("categories",{boost:20}),this.field("content",{boost:10}),this.metadataWhitelist=["position"],c.forEach(function(b){d[b.objectID]=b,a.add(b)})}),a._indexData=d,h(i())}).catch(function(a){console.error(a),h([])})}else"algolia"===b.type&&(a._algoliaIndex=a._algoliaIndex||algoliasearch(b.algoliaAppID,b.algoliaSearchKey).initIndex(b.algoliaIndex),a._algoliaIndex.search(c,{offset:0,length:8*d,attributesToHighlight:["title"],attributesToSnippet:["content:".concat(e)],highlightPreTag:"<".concat(f,">"),highlightPostTag:"</".concat(f,">")}).then(function(a){var b=a.hits,c={};b.forEach(function(a){var b=a.uri,d=a.date,e=a._highlightResult.title,f=a._snippetResult.content;c[b]&&c[b].context.length>f.value||(c[b]={uri:b,title:e.value,date:d,context:f.value})}),h(Object.values(c).slice(0,d))}).catch(function(a){console.error(a),h([])}))},templates:{suggestion:function suggestion(a){var b=a.title,c=a.date,d=a.context;return"<div><span class=\"suggestion-title\">".concat(b,"</span><span class=\"suggestion-date\">").concat(c,"</span></div><div class=\"suggestion-context\">").concat(d,"</div>")},empty:function empty(a){var c=a.query;return"<div class=\"search-empty\">".concat(b.noResultsFound,": <span class=\"search-query\">\"").concat(c,"\"</span></div>")},footer:function footer(a){_objectDestructuringEmpty(a);var c="algolia"===b.type?{searchType:"algolia",icon:"<i class=\"fab fa-algolia fa-fw\"></i>",href:"https://www.algolia.com/"}:{searchType:"Lunr.js",icon:"",href:"https://lunrjs.com/"},d=c.searchType,e=c.icon,f=c.href;return"<div class=\"search-footer\">Search by <a href=\"".concat(f,"\" rel=\"noopener noreffer\" target=\"_blank\">").concat(e," ").concat(d,"</a></div>")}}});h.on("autocomplete:selected",function(a,b){window.location.assign(b.uri)}),c?a._searchMobile=h:a._searchDesktop=h};if(b.lunrSegmentitURL&&!document.getElementById("lunr-segmentit")){var n=document.createElement("script");n.id="lunr-segmentit",n.type="text/javascript",n.src=b.lunrSegmentitURL,n.async=!0,n.readyState?n.onreadystatechange=function(){("loaded"==n.readyState||"complete"==n.readyState)&&(n.onreadystatechange=null,m())}:n.onload=function(){m()},document.body.appendChild(n)}else m()}}},{key:"initDetails",value:function initDetails(){this.util.forEach(document.getElementsByClassName("details"),function(a){var b=a.getElementsByClassName("details-summary")[0];b.addEventListener("click",function(){a.classList.toggle("open")},!1)})}},{key:"initTable",value:function initTable(){this.util.forEach(document.querySelectorAll(".single table"),function(a){var b=document.createElement("div");b.className="table-wrapper",a.parentElement.replaceChild(b,a),b.appendChild(a)})}},{key:"initShareHeader",value:function initShareHeader(){this.util.forEach(document.querySelectorAll(".content-break h2"),function(a){a.insertAdjacentHTML("afterend","\n<div class=\"header-title-share\">\n<a href=\"".concat(document.URL,"#").concat(a.id,"\" target=\"_blank\">link</a>\n<a href=\"https://t.me/share/url?url=").concat(document.URL,"#").concat(a.id,"\" target=\"_blank\">telegram</a>\n<a href=\"https://vk.com/share.php?url=").concat(document.URL,"#").concat(a.id,"\" target=\"_blank\">vk</a>\n<a href=\"https://twitter.com/intent/tweet?text=").concat(document.URL,"#").concat(a.id,"\" target=\"_blank\">twitter</a>\n<a href=\"https://www.facebook.com/sharer/sharer.php?u=").concat(document.URL,"#").concat(a.id,"\">fb</a>\n</div>"))})}},{key:"initToc",value:function initToc(){var a=this,b=document.getElementById("TableOfContents");if(null!==b)if(document.getElementById("toc-static").getAttribute("data-kept")||this.util.isTocStatic()){var o=document.getElementById("toc-content-static");b.parentElement!==o&&(b.parentElement.removeChild(b),o.appendChild(b)),this._tocOnScroll&&this.scrollEventSet.delete(this._tocOnScroll)}else{var p=document.getElementById("toc-content-auto");b.parentElement!==p&&(b.parentElement.removeChild(b),p.appendChild(b));var c=document.getElementById("toc-auto"),d=document.getElementsByClassName("content-block")[0],e=d.getBoundingClientRect();c.style.left="".concat(e.left+e.width+20,"px"),c.style.maxWidth="".concat(d.getBoundingClientRect().left-20+314,"px"),c.style.visibility="visible";var f=b.querySelectorAll("a:first-child"),g=b.getElementsByTagName("li"),h=document.getElementsByClassName("headerLink"),j="normal"!==document.body.getAttribute("data-header-desktop"),k=document.getElementById("header-desktop").offsetHeight,l=20+(j?k:0),m=c.offsetTop,n=m-l+(j?0:k);this._tocOnScroll=this._tocOnScroll||function(){var d=document.getElementById("toc-final").offsetTop,e=d-c.getBoundingClientRect().height,o=e-l+(j?0:k);a.newScrollTop<n?(c.style.position="absolute",c.style.top="".concat(m,"px")):a.newScrollTop>o?(c.style.position="absolute",c.style.top="".concat(e,"px")):(c.style.position="fixed",c.style.top="".concat(l,"px")),a.util.forEach(f,function(a){a.classList.remove("active")}),a.util.forEach(g,function(a){a.classList.remove("has-active")});for(var p=20+(j?k:0),q=h.length-1,r=0;r<h.length-1;r++){var s=h[r].getBoundingClientRect().top,t=h[r+1].getBoundingClientRect().top;if(0==r&&s>p||s<=p&&t>p){q=r;break}}if(-1!==q){for(var u,v=h[q],w=0;w<f.length;w++)if(f[w].hash.slice(1)===encodeURI(v.id)){u=f[w],w!==a.tocSelected&&(a.tocSelected=w);break}if("undefined"==typeof u&&-1!==a.tocSelected&&(u=f[a.tocSelected]),"undefined"!=typeof u){u.classList.add("active");for(var x=u.parentElement;x!==b;)x.classList.add("has-active"),x=x.parentElement.parentElement}}},this._tocOnScroll(),this.scrollEventSet.add(this._tocOnScroll)}}},{key:"initMath",value:function initMath(){this.config.math&&renderMathInElement(document.body,this.config.math)}},{key:"initMermaid",value:function initMermaid(){var a=this,b=document.getElementsByClassName("mermaid");b.length&&(mermaid.initialize({startOnLoad:!1,theme:"null"}),this.util.forEach(b,function(b){mermaid.mermaidAPI.render("svg-"+b.id,a.data[b.id],function(a){b.insertAdjacentHTML("afterbegin",a)},b)}))}},{key:"initEcharts",value:function initEcharts(){var a=this;this._echartsOnSwitchTheme=this._echartsOnSwitchTheme||function(){a._echartsArr=a._echartsArr||[];for(var b=0;b<a._echartsArr.length;b++)a._echartsArr[b].dispose();a._echartsArr=[],a.util.forEach(document.getElementsByClassName("echarts"),function(b){var c=echarts.init(b,a.isDark?"dark":"macarons",{renderer:"svg"});c.setOption(JSON.parse(a.data[b.id])),a._echartsArr.push(c)})},this.switchThemeEventSet.add(this._echartsOnSwitchTheme),this._echartsOnSwitchTheme(),this._echartsOnResize=this._echartsOnResize||function(){for(var b=0;b<a._echartsArr.length;b++)a._echartsArr[b].resize()},this.resizeEventSet.add(this._echartsOnResize)}},{key:"initMapbox",value:function initMapbox(){var a=this;this.config.mapbox&&(mapboxgl.accessToken=this.config.mapbox.accessToken,mapboxgl.setRTLTextPlugin(this.config.mapbox.RTLTextPlugin),this._mapboxArr=this._mapboxArr||[],this.util.forEach(document.getElementsByClassName("mapbox"),function(b){var c=a.data[b.id],d=c.lng,e=c.lat,f=c.zoom,g=c.lightStyle,h=c.darkStyle,i=c.marked,j=c.navigation,k=c.geolocate,l=c.scale,m=c.fullscreen,n=new mapboxgl.Map({container:b,center:[d,e],zoom:f,minZoom:.2,style:a.isDark?h:g,attributionControl:!1});i&&new mapboxgl.Marker().setLngLat([d,e]).addTo(n),j&&n.addControl(new mapboxgl.NavigationControl,"bottom-right"),k&&n.addControl(new mapboxgl.GeolocateControl({positionOptions:{enableHighAccuracy:!0},showUserLocation:!0,trackUserLocation:!0}),"bottom-right"),l&&n.addControl(new mapboxgl.ScaleControl),m&&n.addControl(new mapboxgl.FullscreenControl),n.addControl(new MapboxLanguage),a._mapboxArr.push(n)}),this._mapboxOnSwitchTheme=this._mapboxOnSwitchTheme||function(){a.util.forEach(a._mapboxArr,function(b){var c=b.getContainer(),d=a.data[c.id],e=d.lightStyle,f=d.darkStyle;b.setStyle(a.isDark?f:e),b.addControl(new MapboxLanguage)})},this.switchThemeEventSet.add(this._mapboxOnSwitchTheme))}},{key:"initComment",value:function initComment(){var a=this;if(this.config.comment){if(this.config.comment.gitalk){this.config.comment.gitalk.body=decodeURI(window.location.href);var d=new Gitalk(this.config.comment.gitalk);d.render("gitalk")}if(this.config.comment.valine&&new Valine(this.config.comment.valine),this.config.comment.utterances){var b=this.config.comment.utterances,c=document.createElement("script");c.src="https://utteranc.es/client.js",c.type="text/javascript",c.setAttribute("repo",b.repo),c.setAttribute("issue-term",b.issueTerm),b.label&&c.setAttribute("label",b.label),c.setAttribute("theme",this.isDark?b.darkTheme:b.lightTheme),c.crossOrigin="anonymous",c.async=!0,document.getElementById("utterances").appendChild(c),this._utterancesOnSwitchTheme=this._utterancesOnSwitchTheme||function(){var c={type:"set-theme",theme:a.isDark?b.darkTheme:b.lightTheme},d=document.querySelector(".utterances-frame");d.contentWindow.postMessage(c,"https://utteranc.es")},this.switchThemeEventSet.add(this._utterancesOnSwitchTheme)}}}},{key:"initSmoothScroll",value:function initSmoothScroll(){SmoothScroll&&new SmoothScroll("[href^=\"#\"]",{speed:300,speedAsDuration:!0,header:"#header-desktop"})}},{key:"initCookieconsent",value:function initCookieconsent(){this.config.cookieconsent&&cookieconsent.initialise(this.config.cookieconsent)}},{key:"onScroll",value:function onScroll(){var a=this,b=[];if("auto"===document.body.getAttribute("data-header-desktop")&&b.push(document.getElementById("header-desktop")),"auto"===document.body.getAttribute("data-header-mobile")&&b.push(document.getElementById("header-mobile")),document.getElementById("comments")){var e=document.getElementById("view-comments");e.href="#comments",e.style.display="block"}var c=document.getElementById("fixed-buttons"),d=20;window.addEventListener("scroll",function(){a.newScrollTop=a.util.getScrollTop();var e=a.newScrollTop-a.oldScrollTop,f=a.util.isMobile();a.util.forEach(b,function(b){e>d?(b.classList.remove("fadeInDown"),a.util.animateCSS(b,["fadeOutUp","faster"],!0)):e<-d&&(b.classList.remove("fadeOutUp"),a.util.animateCSS(b,["fadeInDown","faster"],!0))}),a.newScrollTop>100?f&&e>d?(c.classList.remove("fadeIn"),a.util.animateCSS(c,["fadeOut","faster"],!0)):(!f||e<-d)&&(c.style.display="block",c.classList.remove("fadeOut"),a.util.animateCSS(c,["fadeIn","faster"],!0)):(!f&&(c.classList.remove("fadeIn"),a.util.animateCSS(c,["fadeOut","faster"],!0)),c.style.display="none");var g,h=_createForOfIteratorHelper(a.scrollEventSet);try{for(h.s();!(g=h.n()).done;){var i=g.value;i()}}catch(a){h.e(a)}finally{h.f()}a.oldScrollTop=a.newScrollTop},!1)}},{key:"onResize",value:function onResize(){var a=this;window.addEventListener("resize",function(){a._resizeTimeout||(a._resizeTimeout=window.setTimeout(function(){a._resizeTimeout=null;var b,c=_createForOfIteratorHelper(a.resizeEventSet);try{for(c.s();!(b=c.n()).done;){var d=b.value;d()}}catch(a){c.e(a)}finally{c.f()}a.initToc(),a.initMermaid(),a.initSearch()},100))},!1)}},{key:"onClickMask",value:function onClickMask(){var a=this;document.getElementById("mask").addEventListener("click",function(){var b,c=_createForOfIteratorHelper(a.clickMaskEventSet);try{for(c.s();!(b=c.n()).done;){var d=b.value;d()}}catch(a){c.e(a)}finally{c.f()}document.body.classList.remove("blur")},!1)}},{key:"init",value:function init(){var a=this;try{this.initSVGIcon(),this.initTwemoji(),this.initMenuMobile(),this.initSwitchTheme(),this.initSearch(),this.initDetails(),this.initTable(),this.initShareHeader(),this.initSmoothScroll(),this.initMath(),this.initMermaid(),this.initEcharts(),this.initMapbox(),this.initCookieconsent()}catch(a){console.error(a)}window.setTimeout(function(){a.initToc(),a.initComment(),a.onScroll(),a.onResize(),a.onClickMask()},100)}}]),a}(),themeInit=function(){var a=new Theme;a.init()};"loading"===document.readyState?document.addEventListener("DOMContentLoaded",themeInit,!1):themeInit();
+"use strict";function _objectDestructuringEmpty(a){if(null==a)throw new TypeError("Cannot destructure undefined")}function _createForOfIteratorHelper(a){if("undefined"==typeof Symbol||null==a[Symbol.iterator]){if(Array.isArray(a)||(a=_unsupportedIterableToArray(a))){var b=0,c=function(){};return{s:c,n:function n(){return b>=a.length?{done:!0}:{done:!1,value:a[b++]}},e:function e(a){throw a},f:c}}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 d,e,f=!0,g=!1;return{s:function s(){d=a[Symbol.iterator]()},n:function n(){var a=d.next();return f=a.done,a},e:function e(a){g=!0,e=a},f:function f(){try{f||null==d.return||d.return()}finally{if(g)throw e}}}}function _toConsumableArray(a){return _arrayWithoutHoles(a)||_iterableToArray(a)||_unsupportedIterableToArray(a)||_nonIterableSpread()}function _nonIterableSpread(){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 _unsupportedIterableToArray(a,b){if(a){if("string"==typeof a)return _arrayLikeToArray(a,b);var c=Object.prototype.toString.call(a).slice(8,-1);return"Object"===c&&a.constructor&&(c=a.constructor.name),"Map"===c||"Set"===c?Array.from(c):"Arguments"===c||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(c)?_arrayLikeToArray(a,b):void 0}}function _iterableToArray(a){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(a))return Array.from(a)}function _arrayWithoutHoles(a){if(Array.isArray(a))return _arrayLikeToArray(a)}function _arrayLikeToArray(a,b){(null==b||b>a.length)&&(b=a.length);for(var c=0,d=Array(b);c<b;c++)d[c]=a[c];return d}function _classCallCheck(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}function _defineProperties(a,b){for(var c,d=0;d<b.length;d++)c=b[d],c.enumerable=c.enumerable||!1,c.configurable=!0,"value"in c&&(c.writable=!0),Object.defineProperty(a,c.key,c)}function _createClass(a,b,c){return b&&_defineProperties(a.prototype,b),c&&_defineProperties(a,c),a}var Util=/*#__PURE__*/function(){function a(){_classCallCheck(this,a)}return _createClass(a,[{key:"forEach",value:function forEach(a,b){a=a||[];for(var c=0;c<a.length;c++)b(a[c])}},{key:"getScrollTop",value:function getScrollTop(){return document.documentElement&&document.documentElement.scrollTop||document.body.scrollTop}},{key:"isMobile",value:function isMobile(){return window.matchMedia("only screen and (max-width: 680px)").matches}},{key:"isTocStatic",value:function isTocStatic(){return window.matchMedia("only screen and (max-width: 1200px)").matches}},{key:"animateCSS",value:function animateCSS(a,b,c,d){var e;Array.isArray(b)||(b=[b]),(e=a.classList).add.apply(e,["animated"].concat(_toConsumableArray(b)));var f=function(){var c;(c=a.classList).remove.apply(c,["animated"].concat(_toConsumableArray(b))),a.removeEventListener("animationend",f),"function"==typeof d&&d()};c||a.addEventListener("animationend",f,!1)}}]),a}(),Theme=/*#__PURE__*/function(){function a(){_classCallCheck(this,a),this.config=window.config,this.data=this.config.data,this.isDark="dark"===document.body.getAttribute("theme"),this.util=new Util,this.newScrollTop=this.util.getScrollTop(),this.oldScrollTop=this.newScrollTop,this.scrollEventSet=new Set,this.resizeEventSet=new Set,this.switchThemeEventSet=new Set,this.clickMaskEventSet=new Set,this.tocSelected=-1,window.objectFitImages&&objectFitImages()}return _createClass(a,[{key:"initSVGIcon",value:function initSVGIcon(){this.util.forEach(document.querySelectorAll("[data-svg-src]"),function(a){fetch(a.getAttribute("data-svg-src")).then(function(a){return a.text()}).then(function(b){var c=document.createElement("div");c.insertAdjacentHTML("afterbegin",b);var d=c.firstChild;d.setAttribute("data-svg-src",a.getAttribute("data-svg-src")),d.classList.add("icon");var e=d.getElementsByTagName("title");e.length&&d.removeChild(e[0]),a.parentElement.replaceChild(d,a)}).catch(function(a){console.error(a)})})}},{key:"initTwemoji",value:function initTwemoji(){this.config.twemoji&&twemoji.parse(document.body)}},{key:"initMenuMobile",value:function initMenuMobile(){var a=document.getElementById("menu-toggle-mobile"),b=document.getElementById("menu-mobile");a.addEventListener("click",function(){document.body.classList.toggle("blur"),a.classList.toggle("active"),b.classList.toggle("active")},!1),this._menuMobileOnClickMask=this._menuMobileOnClickMask||function(){a.classList.remove("active"),b.classList.remove("active")},this.clickMaskEventSet.add(this._menuMobileOnClickMask)}},{key:"initSwitchTheme",value:function initSwitchTheme(){var a=this;this.util.forEach(document.getElementsByClassName("theme-switch"),function(b){b.addEventListener("click",function(){"dark"===document.body.getAttribute("theme")?document.body.setAttribute("theme","light"):document.body.setAttribute("theme","dark"),a.isDark=!a.isDark,window.localStorage&&localStorage.setItem("theme",a.isDark?"dark":"light"),window.REMARK42.changeTheme("dark"===document.body.getAttribute("theme")?"dark":"light");var b,c=_createForOfIteratorHelper(a.switchThemeEventSet);try{for(c.s();!(b=c.n()).done;){var d=b.value;d()}}catch(a){c.e(a)}finally{c.f()}},!1)})}},{key:"initSearch",value:function initSearch(){var a=this,b=this.config.search,c=this.util.isMobile();if(!(!b||c&&this._searchMobileOnce||!c&&this._searchDesktopOnce)){var d=b.maxResultLength?b.maxResultLength:10,e=b.snippetLength?b.snippetLength:50,f=b.highlightTag?b.highlightTag:"em",g=c?"mobile":"desktop",h=document.getElementById("header-".concat(g)),i=document.getElementById("search-input-".concat(g)),j=document.getElementById("search-toggle-".concat(g)),k=document.getElementById("search-loading-".concat(g)),l=document.getElementById("search-clear-".concat(g));c?(this._searchMobileOnce=!0,i.addEventListener("focus",function(){document.body.classList.add("blur"),h.classList.add("open")},!1),document.getElementById("search-cancel-mobile").addEventListener("click",function(){h.classList.remove("open"),document.body.classList.remove("blur"),document.getElementById("menu-toggle-mobile").classList.remove("active"),document.getElementById("menu-mobile").classList.remove("active"),k.style.display="none",l.style.display="none",a._searchMobile&&a._searchMobile.autocomplete.setVal("")},!1),l.addEventListener("click",function(){l.style.display="none",a._searchMobile&&a._searchMobile.autocomplete.setVal("")},!1),this._searchMobileOnClickMask=this._searchMobileOnClickMask||function(){h.classList.remove("open"),k.style.display="none",l.style.display="none",a._searchMobile&&a._searchMobile.autocomplete.setVal("")},this.clickMaskEventSet.add(this._searchMobileOnClickMask)):(this._searchDesktopOnce=!0,j.addEventListener("click",function(){document.body.classList.add("blur"),h.classList.add("open"),i.focus()},!1),l.addEventListener("click",function(){l.style.display="none",a._searchDesktop&&a._searchDesktop.autocomplete.setVal("")},!1),this._searchDesktopOnClickMask=this._searchDesktopOnClickMask||function(){h.classList.remove("open"),k.style.display="none",l.style.display="none",a._searchDesktop&&a._searchDesktop.autocomplete.setVal("")},this.clickMaskEventSet.add(this._searchDesktopOnClickMask)),i.addEventListener("input",function(){l.style.display=""===i.value?"none":"inline"},!1);var m=function(){var h=autocomplete("#search-input-".concat(g),{hint:!1,autoselect:!0,dropdownMenuContainer:"#search-dropdown-".concat(g),clearOnSelected:!0,cssClasses:{noPrefix:!0},debug:!0},{name:"search",source:function source(c,g){k.style.display="inline",l.style.display="none";var h=function(a){k.style.display="none",l.style.display="inline",g(a)};if("lunr"===b.type){var i=function(){lunr.queryHandler&&(c=lunr.queryHandler(c));var b={};return a._index.search(c).forEach(function(c){var d=c.ref,g=c.matchData.metadata,h=a._indexData[d],i=h.uri,j=h.title,k=h.content;if(!b[i]){var l=0;Object.values(g).forEach(function(a){var b=a.content;if(b){var c=b.position[0][0];(c<l||0===l)&&(l=c)}}),l-=e/5,0<l?(l+=k.substr(l,20).lastIndexOf(" ")+1,k="..."+k.substr(l,e)):k=k.substr(0,e),Object.keys(g).forEach(function(a){j=j.replace(new RegExp("(".concat(a,")"),"gi"),"<".concat(f,">$1</").concat(f,">")),k=k.replace(new RegExp("(".concat(a,")"),"gi"),"<".concat(f,">$1</").concat(f,">"))}),b[i]={uri:i,title:j,date:h.date,context:k}}}),Object.values(b).slice(0,d)};a._index?h(i()):fetch(b.lunrIndexURL).then(function(a){return a.json()}).then(function(c){var d={};a._index=lunr(function(){var a=this;b.lunrLanguageCode&&this.use(lunr[b.lunrLanguageCode]),this.ref("objectID"),this.field("title",{boost:50}),this.field("tags",{boost:20}),this.field("categories",{boost:20}),this.field("content",{boost:10}),this.metadataWhitelist=["position"],c.forEach(function(b){d[b.objectID]=b,a.add(b)})}),a._indexData=d,h(i())}).catch(function(a){console.error(a),h([])})}else"algolia"===b.type&&(a._algoliaIndex=a._algoliaIndex||algoliasearch(b.algoliaAppID,b.algoliaSearchKey).initIndex(b.algoliaIndex),a._algoliaIndex.search(c,{offset:0,length:8*d,attributesToHighlight:["title"],attributesToSnippet:["content:".concat(e)],highlightPreTag:"<".concat(f,">"),highlightPostTag:"</".concat(f,">")}).then(function(a){var b=a.hits,c={};b.forEach(function(a){var b=a.uri,d=a.date,e=a._highlightResult.title,f=a._snippetResult.content;c[b]&&c[b].context.length>f.value||(c[b]={uri:b,title:e.value,date:d,context:f.value})}),h(Object.values(c).slice(0,d))}).catch(function(a){console.error(a),h([])}))},templates:{suggestion:function suggestion(a){var b=a.title,c=a.date,d=a.context;return"<div><span class=\"suggestion-title\">".concat(b,"</span><span class=\"suggestion-date\">").concat(c,"</span></div><div class=\"suggestion-context\">").concat(d,"</div>")},empty:function empty(a){var c=a.query;return"<div class=\"search-empty\">".concat(b.noResultsFound,": <span class=\"search-query\">\"").concat(c,"\"</span></div>")},footer:function footer(a){_objectDestructuringEmpty(a);var c="algolia"===b.type?{searchType:"algolia",icon:"<i class=\"fab fa-algolia fa-fw\"></i>",href:"https://www.algolia.com/"}:{searchType:"Lunr.js",icon:"",href:"https://lunrjs.com/"},d=c.searchType,e=c.icon,f=c.href;return"<div class=\"search-footer\">Search by <a href=\"".concat(f,"\" rel=\"noopener noreffer\" target=\"_blank\">").concat(e," ").concat(d,"</a></div>")}}});h.on("autocomplete:selected",function(a,b){window.location.assign(b.uri)}),c?a._searchMobile=h:a._searchDesktop=h};if(b.lunrSegmentitURL&&!document.getElementById("lunr-segmentit")){var n=document.createElement("script");n.id="lunr-segmentit",n.type="text/javascript",n.src=b.lunrSegmentitURL,n.async=!0,n.readyState?n.onreadystatechange=function(){("loaded"==n.readyState||"complete"==n.readyState)&&(n.onreadystatechange=null,m())}:n.onload=function(){m()},document.body.appendChild(n)}else m()}}},{key:"initDetails",value:function initDetails(){this.util.forEach(document.getElementsByClassName("details"),function(a){var b=a.getElementsByClassName("details-summary")[0];b.addEventListener("click",function(){a.classList.toggle("open")},!1)})}},{key:"initTable",value:function initTable(){this.util.forEach(document.querySelectorAll(".single table"),function(a){var b=document.createElement("div");b.className="table-wrapper",a.parentElement.replaceChild(b,a),b.appendChild(a)})}},{key:"initShareHeader",value:function initShareHeader(){this.util.forEach(document.querySelectorAll(".content-break h2"),function(a){a.insertAdjacentHTML("afterend","\n<div class=\"header-title-share\">\n<a href=\"".concat(document.URL,"#").concat(a.id,"\" target=\"_blank\">link</a>\n<a href=\"https://t.me/share/url?url=").concat(document.URL,"#").concat(a.id,"\" target=\"_blank\">telegram</a>\n<a href=\"https://vk.com/share.php?url=").concat(document.URL,"#").concat(a.id,"\" target=\"_blank\">vk</a>\n<a href=\"https://twitter.com/intent/tweet?text=").concat(document.URL,"#").concat(a.id,"\" target=\"_blank\">twitter</a>\n<a href=\"https://www.facebook.com/sharer/sharer.php?u=").concat(document.URL,"#").concat(a.id,"\">fb</a>\n</div>"))})}},{key:"initToc",value:function initToc(){var a=this,b=document.getElementById("TableOfContents");if(null!==b)if(document.getElementById("toc-static").getAttribute("data-kept")||this.util.isTocStatic()){var o=document.getElementById("toc-content-static");b.parentElement!==o&&(b.parentElement.removeChild(b),o.appendChild(b)),this._tocOnScroll&&this.scrollEventSet.delete(this._tocOnScroll)}else{var p=document.getElementById("toc-content-auto");b.parentElement!==p&&(b.parentElement.removeChild(b),p.appendChild(b));var c=document.getElementById("toc-auto"),d=document.getElementsByClassName("content-block")[0],e=d.getBoundingClientRect();c.style.left="".concat(e.left+e.width+20,"px"),c.style.maxWidth="".concat(d.getBoundingClientRect().left-20+314,"px"),c.style.visibility="visible";var f=b.querySelectorAll("a:first-child"),g=b.getElementsByTagName("li"),h=document.getElementsByClassName("headerLink"),j="normal"!==document.body.getAttribute("data-header-desktop"),k=document.getElementById("header-desktop").offsetHeight,l=20+(j?k:0),m=c.offsetTop,n=m-l+(j?0:k);this._tocOnScroll=this._tocOnScroll||function(){var d=document.getElementById("toc-final").offsetTop,e=d-c.getBoundingClientRect().height,o=e-l+(j?0:k);a.newScrollTop<n?(c.style.position="absolute",c.style.top="".concat(m,"px")):a.newScrollTop>o?(c.style.position="absolute",c.style.top="".concat(e,"px")):(c.style.position="fixed",c.style.top="".concat(l,"px")),a.util.forEach(f,function(a){a.classList.remove("active")}),a.util.forEach(g,function(a){a.classList.remove("has-active")});for(var p=20+(j?k:0),q=h.length-1,r=0;r<h.length-1;r++){var s=h[r].getBoundingClientRect().top,t=h[r+1].getBoundingClientRect().top;if(0==r&&s>p||s<=p&&t>p){q=r;break}}if(-1!==q){for(var u,v=h[q],w=0;w<f.length;w++)if(f[w].hash.slice(1)===encodeURI(v.id)){u=f[w],w!==a.tocSelected&&(a.tocSelected=w);break}if("undefined"==typeof u&&-1!==a.tocSelected&&(u=f[a.tocSelected]),"undefined"!=typeof u){u.classList.add("active");for(var x=u.parentElement;x!==b;)x.classList.add("has-active"),x=x.parentElement.parentElement}}},this._tocOnScroll(),this.scrollEventSet.add(this._tocOnScroll)}}},{key:"initMath",value:function initMath(){this.config.math&&renderMathInElement(document.body,this.config.math)}},{key:"initMermaid",value:function initMermaid(){var a=this,b=document.getElementsByClassName("mermaid");b.length&&(mermaid.initialize({startOnLoad:!1,theme:"null"}),this.util.forEach(b,function(b){mermaid.mermaidAPI.render("svg-"+b.id,a.data[b.id],function(a){b.insertAdjacentHTML("afterbegin",a)},b)}))}},{key:"initEcharts",value:function initEcharts(){var a=this;this._echartsOnSwitchTheme=this._echartsOnSwitchTheme||function(){a._echartsArr=a._echartsArr||[];for(var b=0;b<a._echartsArr.length;b++)a._echartsArr[b].dispose();a._echartsArr=[],a.util.forEach(document.getElementsByClassName("echarts"),function(b){var c=echarts.init(b,a.isDark?"dark":"macarons",{renderer:"svg"});c.setOption(JSON.parse(a.data[b.id])),a._echartsArr.push(c)})},this.switchThemeEventSet.add(this._echartsOnSwitchTheme),this._echartsOnSwitchTheme(),this._echartsOnResize=this._echartsOnResize||function(){for(var b=0;b<a._echartsArr.length;b++)a._echartsArr[b].resize()},this.resizeEventSet.add(this._echartsOnResize)}},{key:"initMapbox",value:function initMapbox(){var a=this;this.config.mapbox&&(mapboxgl.accessToken=this.config.mapbox.accessToken,mapboxgl.setRTLTextPlugin(this.config.mapbox.RTLTextPlugin),this._mapboxArr=this._mapboxArr||[],this.util.forEach(document.getElementsByClassName("mapbox"),function(b){var c=a.data[b.id],d=c.lng,e=c.lat,f=c.zoom,g=c.lightStyle,h=c.darkStyle,i=c.marked,j=c.navigation,k=c.geolocate,l=c.scale,m=c.fullscreen,n=new mapboxgl.Map({container:b,center:[d,e],zoom:f,minZoom:.2,style:a.isDark?h:g,attributionControl:!1});i&&new mapboxgl.Marker().setLngLat([d,e]).addTo(n),j&&n.addControl(new mapboxgl.NavigationControl,"bottom-right"),k&&n.addControl(new mapboxgl.GeolocateControl({positionOptions:{enableHighAccuracy:!0},showUserLocation:!0,trackUserLocation:!0}),"bottom-right"),l&&n.addControl(new mapboxgl.ScaleControl),m&&n.addControl(new mapboxgl.FullscreenControl),n.addControl(new MapboxLanguage),a._mapboxArr.push(n)}),this._mapboxOnSwitchTheme=this._mapboxOnSwitchTheme||function(){a.util.forEach(a._mapboxArr,function(b){var c=b.getContainer(),d=a.data[c.id],e=d.lightStyle,f=d.darkStyle;b.setStyle(a.isDark?f:e),b.addControl(new MapboxLanguage)})},this.switchThemeEventSet.add(this._mapboxOnSwitchTheme))}},{key:"initComment",value:function initComment(){var a=this;if(this.config.comment){if(this.config.comment.gitalk){this.config.comment.gitalk.body=decodeURI(window.location.href);var d=new Gitalk(this.config.comment.gitalk);d.render("gitalk")}if(this.config.comment.valine&&new Valine(this.config.comment.valine),this.config.comment.utterances){var b=this.config.comment.utterances,c=document.createElement("script");c.src="https://utteranc.es/client.js",c.type="text/javascript",c.setAttribute("repo",b.repo),c.setAttribute("issue-term",b.issueTerm),b.label&&c.setAttribute("label",b.label),c.setAttribute("theme",this.isDark?b.darkTheme:b.lightTheme),c.crossOrigin="anonymous",c.async=!0,document.getElementById("utterances").appendChild(c),this._utterancesOnSwitchTheme=this._utterancesOnSwitchTheme||function(){var c={type:"set-theme",theme:a.isDark?b.darkTheme:b.lightTheme},d=document.querySelector(".utterances-frame");d.contentWindow.postMessage(c,"https://utteranc.es")},this.switchThemeEventSet.add(this._utterancesOnSwitchTheme)}}}},{key:"initSmoothScroll",value:function initSmoothScroll(){SmoothScroll&&new SmoothScroll("[href^=\"#\"]",{speed:300,speedAsDuration:!0,header:"#header-desktop"})}},{key:"initCookieconsent",value:function initCookieconsent(){this.config.cookieconsent&&cookieconsent.initialise(this.config.cookieconsent)}},{key:"onScroll",value:function onScroll(){var a=this,b=[];if("auto"===document.body.getAttribute("data-header-desktop")&&b.push(document.getElementById("header-desktop")),"auto"===document.body.getAttribute("data-header-mobile")&&b.push(document.getElementById("header-mobile")),document.getElementById("comments")){var e=document.getElementById("view-comments");e.href="#comments",e.style.display="block"}var c=document.getElementById("fixed-buttons"),d=20;window.addEventListener("scroll",function(){a.newScrollTop=a.util.getScrollTop();var e=a.newScrollTop-a.oldScrollTop,f=a.util.isMobile();a.util.forEach(b,function(b){e>d?(b.classList.remove("fadeInDown"),a.util.animateCSS(b,["fadeOutUp","faster"],!0)):e<-d&&(b.classList.remove("fadeOutUp"),a.util.animateCSS(b,["fadeInDown","faster"],!0))}),a.newScrollTop>100?f&&e>d?(c.classList.remove("fadeIn"),a.util.animateCSS(c,["fadeOut","faster"],!0)):(!f||e<-d)&&(c.style.display="block",c.classList.remove("fadeOut"),a.util.animateCSS(c,["fadeIn","faster"],!0)):(!f&&(c.classList.remove("fadeIn"),a.util.animateCSS(c,["fadeOut","faster"],!0)),c.style.display="none");var g,h=_createForOfIteratorHelper(a.scrollEventSet);try{for(h.s();!(g=h.n()).done;){var i=g.value;i()}}catch(a){h.e(a)}finally{h.f()}a.oldScrollTop=a.newScrollTop},!1)}},{key:"onResize",value:function onResize(){var a=this;window.addEventListener("resize",function(){a._resizeTimeout||(a._resizeTimeout=window.setTimeout(function(){a._resizeTimeout=null;var b,c=_createForOfIteratorHelper(a.resizeEventSet);try{for(c.s();!(b=c.n()).done;){var d=b.value;d()}}catch(a){c.e(a)}finally{c.f()}a.initToc(),a.initMermaid(),a.initSearch()},100))},!1)}},{key:"onClickMask",value:function onClickMask(){var a=this;document.getElementById("mask").addEventListener("click",function(){var b,c=_createForOfIteratorHelper(a.clickMaskEventSet);try{for(c.s();!(b=c.n()).done;){var d=b.value;d()}}catch(a){c.e(a)}finally{c.f()}document.body.classList.remove("blur")},!1)}},{key:"init",value:function init(){var a=this;try{this.initSVGIcon(),this.initTwemoji(),this.initMenuMobile(),this.initSwitchTheme(),this.initSearch(),this.initDetails(),this.initTable(),this.initShareHeader(),this.initSmoothScroll(),this.initMath(),this.initMermaid(),this.initEcharts(),this.initMapbox(),this.initCookieconsent()}catch(a){console.error(a)}window.setTimeout(function(){a.initToc(),a.initComment(),a.onScroll(),a.onResize(),a.onClickMask()},100)}}]),a}(),themeInit=function(){var a=new Theme;a.init()};"loading"===document.readyState?document.addEventListener("DOMContentLoaded",themeInit,!1):themeInit();
//# sourceMappingURL=theme.min.js.map \ No newline at end of file
diff --git a/assets/js/theme.min.js.map b/assets/js/theme.min.js.map
index 75d5ab7..92ee37a 100644
--- a/assets/js/theme.min.js.map
+++ b/assets/js/theme.min.js.map
@@ -1 +1 @@
-{"version":3,"sources":["../../src/js/theme.js"],"names":[],"mappings":"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","file":"theme.min.js","sourcesContent":["class Util {\n forEach(elements, handler) {\n elements = elements || [];\n for (let i = 0; i < elements.length; i++) handler(elements[i]);\n }\n\n getScrollTop() {\n return (document.documentElement && document.documentElement.scrollTop) || document.body.scrollTop;\n }\n\n isMobile() {\n return window.matchMedia('only screen and (max-width: 680px)').matches;\n }\n\n isTocStatic() {\n return window.matchMedia('only screen and (max-width: 960px)').matches;\n }\n\n animateCSS(element, animation, reserved, callback) {\n if (!Array.isArray(animation)) animation = [animation];\n element.classList.add('animated', ...animation);\n const handler = () => {\n element.classList.remove('animated', ...animation);\n element.removeEventListener('animationend', handler);\n if (typeof callback === 'function') callback();\n };\n if (!reserved) element.addEventListener('animationend', handler, false);\n }\n}\n\nclass Theme {\n constructor() {\n this.config = window.config;\n this.data = this.config.data;\n this.isDark = document.body.getAttribute('theme') === 'dark';\n this.util = new Util();\n this.newScrollTop = this.util.getScrollTop();\n this.oldScrollTop = this.newScrollTop;\n this.scrollEventSet = new Set();\n this.resizeEventSet = new Set();\n this.switchThemeEventSet = new Set();\n this.clickMaskEventSet = new Set();\n this.tocSelected = -1;\n if (window.objectFitImages) objectFitImages();\n }\n\n initSVGIcon() {\n this.util.forEach(document.querySelectorAll('[data-svg-src]'), $icon => {\n fetch($icon.getAttribute('data-svg-src'))\n .then(response => response.text())\n .then(svg => {\n const $temp = document.createElement('div');\n $temp.insertAdjacentHTML('afterbegin', svg);\n const $svg = $temp.firstChild;\n $svg.setAttribute('data-svg-src', $icon.getAttribute('data-svg-src'));\n $svg.classList.add('icon');\n const $titleElements = $svg.getElementsByTagName('title');\n if ($titleElements.length) $svg.removeChild($titleElements[0]);\n $icon.parentElement.replaceChild($svg, $icon);\n })\n .catch(err => {\n console.error(err);\n });\n });\n }\n\n initTwemoji() {\n if (this.config.twemoji) twemoji.parse(document.body);\n }\n\n initMenuMobile() {\n const $menuToggleMobile = document.getElementById('menu-toggle-mobile');\n const $menuMobile = document.getElementById('menu-mobile');\n $menuToggleMobile.addEventListener('click', () => {\n document.body.classList.toggle('blur');\n $menuToggleMobile.classList.toggle('active');\n $menuMobile.classList.toggle('active');\n }, false);\n this._menuMobileOnClickMask = this._menuMobileOnClickMask || (() => {\n $menuToggleMobile.classList.remove('active');\n $menuMobile.classList.remove('active');\n });\n this.clickMaskEventSet.add(this._menuMobileOnClickMask);\n }\n\n initSwitchTheme() {\n this.util.forEach(document.getElementsByClassName('theme-switch'), $themeSwitch => {\n $themeSwitch.addEventListener('click', () => {\n if (document.body.getAttribute('theme') === 'dark') {\n document.body.setAttribute('theme', 'light');\n } else {\n document.body.setAttribute('theme', 'dark');\n }\n this.isDark = !this.isDark;\n window.localStorage && localStorage.setItem('theme', this.isDark ? 'dark' : 'light');\n window.REMARK42.changeTheme(document.body.getAttribute('theme') === 'dark' ? 'dark' : 'light');\n for (let event of this.switchThemeEventSet) event();\n }, false);\n });\n }\n\n initSearch() {\n const searchConfig = this.config.search;\n const isMobile = this.util.isMobile();\n if (!searchConfig || isMobile && this._searchMobileOnce || !isMobile && this._searchDesktopOnce) return;\n\n const maxResultLength = searchConfig.maxResultLength ? searchConfig.maxResultLength : 10;\n const snippetLength = searchConfig.snippetLength ? searchConfig.snippetLength : 50;\n const highlightTag = searchConfig.highlightTag ? searchConfig.highlightTag : 'em';\n\n const suffix = isMobile ? 'mobile' : 'desktop';\n const $header = document.getElementById(`header-${suffix}`);\n const $searchInput = document.getElementById(`search-input-${suffix}`);\n const $searchToggle = document.getElementById(`search-toggle-${suffix}`);\n const $searchLoading = document.getElementById(`search-loading-${suffix}`);\n const $searchClear = document.getElementById(`search-clear-${suffix}`);\n if (isMobile) {\n this._searchMobileOnce = true;\n $searchInput.addEventListener('focus', () => {\n document.body.classList.add('blur');\n $header.classList.add('open');\n }, false);\n document.getElementById('search-cancel-mobile').addEventListener('click', () => {\n $header.classList.remove('open');\n document.body.classList.remove('blur');\n document.getElementById('menu-toggle-mobile').classList.remove('active');\n document.getElementById('menu-mobile').classList.remove('active');\n $searchLoading.style.display = 'none';\n $searchClear.style.display = 'none';\n this._searchMobile && this._searchMobile.autocomplete.setVal('');\n }, false);\n $searchClear.addEventListener('click', () => {\n $searchClear.style.display = 'none';\n this._searchMobile && this._searchMobile.autocomplete.setVal('');\n }, false);\n this._searchMobileOnClickMask = this._searchMobileOnClickMask || (() => {\n $header.classList.remove('open');\n $searchLoading.style.display = 'none';\n $searchClear.style.display = 'none';\n this._searchMobile && this._searchMobile.autocomplete.setVal('');\n });\n this.clickMaskEventSet.add(this._searchMobileOnClickMask);\n } else {\n this._searchDesktopOnce = true;\n $searchToggle.addEventListener('click', () => {\n document.body.classList.add('blur');\n $header.classList.add('open');\n $searchInput.focus();\n }, false);\n $searchClear.addEventListener('click', () => {\n $searchClear.style.display = 'none';\n this._searchDesktop && this._searchDesktop.autocomplete.setVal('');\n }, false);\n this._searchDesktopOnClickMask = this._searchDesktopOnClickMask || (() => {\n $header.classList.remove('open');\n $searchLoading.style.display = 'none';\n $searchClear.style.display = 'none';\n this._searchDesktop && this._searchDesktop.autocomplete.setVal('');\n });\n this.clickMaskEventSet.add(this._searchDesktopOnClickMask);\n }\n $searchInput.addEventListener('input', () => {\n if ($searchInput.value === '') $searchClear.style.display = 'none';\n else $searchClear.style.display = 'inline';\n }, false);\n\n const initAutosearch = () => {\n const autosearch = autocomplete(`#search-input-${suffix}`, {\n hint: false,\n autoselect: true,\n dropdownMenuContainer: `#search-dropdown-${suffix}`,\n clearOnSelected: true,\n cssClasses: {noPrefix: true},\n debug: true,\n }, {\n name: 'search',\n source: (query, callback) => {\n $searchLoading.style.display = 'inline';\n $searchClear.style.display = 'none';\n const finish = (results) => {\n $searchLoading.style.display = 'none';\n $searchClear.style.display = 'inline';\n callback(results);\n };\n if (searchConfig.type === 'lunr') {\n const search = () => {\n if (lunr.queryHandler) query = lunr.queryHandler(query);\n const results = {};\n this._index.search(query).forEach(({ref, matchData: {metadata}}) => {\n const matchData = this._indexData[ref];\n let {uri, title, content: context} = matchData;\n if (results[uri]) return;\n let position = 0;\n Object.values(metadata).forEach(({content}) => {\n if (content) {\n const matchPosition = content.position[0][0];\n if (matchPosition < position || position === 0) position = matchPosition;\n }\n });\n position -= snippetLength / 5;\n if (position > 0) {\n position += context.substr(position, 20).lastIndexOf(' ') + 1;\n context = '...' + context.substr(position, snippetLength);\n } else {\n context = context.substr(0, snippetLength);\n }\n Object.keys(metadata).forEach(key => {\n title = title.replace(new RegExp(`(${key})`, 'gi'), `<${highlightTag}>$1</${highlightTag}>`);\n context = context.replace(new RegExp(`(${key})`, 'gi'), `<${highlightTag}>$1</${highlightTag}>`);\n });\n results[uri] = {\n 'uri': uri,\n 'title': title,\n 'date': matchData.date,\n 'context': context,\n };\n });\n return Object.values(results).slice(0, maxResultLength);\n }\n if (!this._index) {\n fetch(searchConfig.lunrIndexURL)\n .then(response => response.json())\n .then(data => {\n const indexData = {};\n this._index = lunr(function () {\n if (searchConfig.lunrLanguageCode) this.use(lunr[searchConfig.lunrLanguageCode]);\n this.ref('objectID');\n this.field('title', {boost: 50});\n this.field('tags', {boost: 20});\n this.field('categories', {boost: 20});\n this.field('content', {boost: 10});\n this.metadataWhitelist = ['position'];\n data.forEach((record) => {\n indexData[record.objectID] = record;\n this.add(record);\n });\n });\n this._indexData = indexData;\n finish(search());\n }).catch(err => {\n console.error(err);\n finish([]);\n });\n } else finish(search());\n } else if (searchConfig.type === 'algolia') {\n this._algoliaIndex = this._algoliaIndex || algoliasearch(searchConfig.algoliaAppID, searchConfig.algoliaSearchKey).initIndex(searchConfig.algoliaIndex);\n this._algoliaIndex\n .search(query, {\n offset: 0,\n length: maxResultLength * 8,\n attributesToHighlight: ['title'],\n attributesToSnippet: [`content:${snippetLength}`],\n highlightPreTag: `<${highlightTag}>`,\n highlightPostTag: `</${highlightTag}>`,\n })\n .then(({hits}) => {\n const results = {};\n hits.forEach(({uri, date, _highlightResult: {title}, _snippetResult: {content}}) => {\n if (results[uri] && results[uri].context.length > content.value) return;\n results[uri] = {\n uri: uri,\n title: title.value,\n date: date,\n context: content.value,\n };\n });\n finish(Object.values(results).slice(0, maxResultLength));\n })\n .catch(err => {\n console.error(err);\n finish([]);\n });\n }\n },\n templates: {\n suggestion: ({title, date, context}) => `<div><span class=\"suggestion-title\">${title}</span><span class=\"suggestion-date\">${date}</span></div><div class=\"suggestion-context\">${context}</div>`,\n empty: ({query}) => `<div class=\"search-empty\">${searchConfig.noResultsFound}: <span class=\"search-query\">\"${query}\"</span></div>`,\n footer: ({}) => {\n const {searchType, icon, href} = searchConfig.type === 'algolia' ? {\n searchType: 'algolia',\n icon: '<i class=\"fab fa-algolia fa-fw\"></i>',\n href: 'https://www.algolia.com/',\n } : {\n searchType: 'Lunr.js',\n icon: '',\n href: 'https://lunrjs.com/',\n };\n return `<div class=\"search-footer\">Search by <a href=\"${href}\" rel=\"noopener noreffer\" target=\"_blank\">${icon} ${searchType}</a></div>`;\n },\n },\n });\n autosearch.on('autocomplete:selected', (_event, suggestion, _dataset, _context) => {\n window.location.assign(suggestion.uri);\n });\n if (isMobile) this._searchMobile = autosearch;\n else this._searchDesktop = autosearch;\n };\n if (searchConfig.lunrSegmentitURL && !document.getElementById('lunr-segmentit')) {\n const script = document.createElement('script');\n script.id = 'lunr-segmentit';\n script.type = 'text/javascript';\n script.src = searchConfig.lunrSegmentitURL;\n script.async = true;\n if (script.readyState) {\n script.onreadystatechange = () => {\n if (script.readyState == 'loaded' || script.readyState == 'complete') {\n script.onreadystatechange = null;\n initAutosearch();\n }\n };\n } else {\n script.onload = () => {\n initAutosearch();\n };\n }\n document.body.appendChild(script);\n } else initAutosearch();\n }\n\n initDetails() {\n this.util.forEach(document.getElementsByClassName('details'), $details => {\n const $summary = $details.getElementsByClassName('details-summary')[0];\n $summary.addEventListener('click', () => {\n $details.classList.toggle('open');\n }, false);\n });\n }\n\n initTable() {\n this.util.forEach(document.querySelectorAll('.single table'), $table => {\n const $wrapper = document.createElement('div');\n $wrapper.className = 'table-wrapper';\n $table.parentElement.replaceChild($wrapper, $table);\n $wrapper.appendChild($table);\n });\n }\n\n initShareHeader() {\n this.util.forEach(document.querySelectorAll('.content-break h2'), $header => {\n $header.insertAdjacentHTML('afterend', `\n<div class=\"header-title-share\">\n<a href=\"${document.URL}#${$header.id}\" target=\"_blank\">link</a>\n<a href=\"https://t.me/share/url?url=${document.URL}#${$header.id}\" target=\"_blank\">telegram</a>\n<a href=\"https://vk.com/share.php?url=${document.URL}#${$header.id}\" target=\"_blank\">vk</a>\n<a href=\"https://twitter.com/intent/tweet?text=${document.URL}#${$header.id}\" target=\"_blank\">twitter</a>\n<a href=\"https://www.facebook.com/sharer/sharer.php?u=${document.URL}#${$header.id}\">fb</a>\n</div>`);\n });\n }\n\n initToc() {\n const $tocCore = document.getElementById('TableOfContents');\n if ($tocCore === null) return;\n if (document.getElementById('toc-static').getAttribute('data-kept') || this.util.isTocStatic()) {\n const $tocContentStatic = document.getElementById('toc-content-static');\n if ($tocCore.parentElement !== $tocContentStatic) {\n $tocCore.parentElement.removeChild($tocCore);\n $tocContentStatic.appendChild($tocCore);\n }\n if (this._tocOnScroll) this.scrollEventSet.delete(this._tocOnScroll);\n } else {\n const $tocContentAuto = document.getElementById('toc-content-auto');\n if ($tocCore.parentElement !== $tocContentAuto) {\n $tocCore.parentElement.removeChild($tocCore);\n $tocContentAuto.appendChild($tocCore);\n }\n const $toc = document.getElementById('toc-auto');\n const $page = document.getElementsByClassName('content-block')[0];\n const rect = $page.getBoundingClientRect();\n $toc.style.left = `${rect.left + rect.width + 20}px`;\n $toc.style.maxWidth = `${$page.getBoundingClientRect().left - 20 + 314}px`;\n $toc.style.visibility = 'visible';\n const $tocLinkElements = $tocCore.querySelectorAll('a:first-child');\n const $tocLiElements = $tocCore.getElementsByTagName('li');\n const $headerLinkElements = document.getElementsByClassName('headerLink');\n const headerIsFixed = document.body.getAttribute('data-header-desktop') !== 'normal';\n const headerHeight = document.getElementById('header-desktop').offsetHeight;\n const TOP_SPACING = 20 + (headerIsFixed ? headerHeight : 0);\n const minTocTop = $toc.offsetTop;\n const minScrollTop = minTocTop - TOP_SPACING + (headerIsFixed ? 0 : headerHeight);\n this._tocOnScroll = this._tocOnScroll || (() => {\n const footerTop = document.getElementById('toc-final').offsetTop;\n const maxTocTop = footerTop - $toc.getBoundingClientRect().height;\n const maxScrollTop = maxTocTop - TOP_SPACING + (headerIsFixed ? 0 : headerHeight);\n if (this.newScrollTop < minScrollTop) {\n $toc.style.position = 'absolute';\n $toc.style.top = `${minTocTop}px`;\n } else if (this.newScrollTop > maxScrollTop) {\n $toc.style.position = 'absolute';\n $toc.style.top = `${maxTocTop}px`;\n } else {\n $toc.style.position = 'fixed';\n $toc.style.top = `${TOP_SPACING}px`;\n }\n this.util.forEach($tocLinkElements, $tocLink => {\n $tocLink.classList.remove('active');\n });\n this.util.forEach($tocLiElements, $tocLi => {\n $tocLi.classList.remove('has-active');\n });\n const INDEX_SPACING = 20 + (headerIsFixed ? headerHeight : 0);\n let activeTocIndex = $headerLinkElements.length - 1;\n for (let i = 0; i < $headerLinkElements.length - 1; i++) {\n const thisTop = $headerLinkElements[i].getBoundingClientRect().top;\n const nextTop = $headerLinkElements[i + 1].getBoundingClientRect().top;\n if ((i === 0 && thisTop > INDEX_SPACING) || (thisTop <= INDEX_SPACING && nextTop > INDEX_SPACING)) {\n activeTocIndex = i;\n break;\n }\n }\n if (activeTocIndex !== -1) {\n const $selHeader = $headerLinkElements[activeTocIndex];\n let $selectedToC;\n for (let i = 0; i < $tocLinkElements.length; i++) {\n if ($tocLinkElements[i].hash.slice(1) === encodeURI($selHeader.id)) {\n $selectedToC = $tocLinkElements[i];\n if (i !== this.tocSelected) {\n this.tocSelected = i;\n }\n break;\n }\n }\n if (typeof $selectedToC === \"undefined\" && this.tocSelected !== -1) {\n $selectedToC = $tocLinkElements[this.tocSelected];\n }\n if (typeof $selectedToC !== \"undefined\") {\n $selectedToC.classList.add('active');\n let $parent = $selectedToC.parentElement;\n while ($parent !== $tocCore) {\n $parent.classList.add('has-active');\n $parent = $parent.parentElement.parentElement;\n }\n }\n }\n });\n this._tocOnScroll();\n this.scrollEventSet.add(this._tocOnScroll);\n }\n }\n\n initMath() {\n if (this.config.math) renderMathInElement(document.body, this.config.math);\n }\n\n initMermaid() {\n const $mermaidElements = document.getElementsByClassName('mermaid');\n if ($mermaidElements.length) {\n mermaid.initialize({startOnLoad: false, theme: 'null'});\n this.util.forEach($mermaidElements, $mermaid => {\n mermaid.mermaidAPI.render('svg-' + $mermaid.id, this.data[$mermaid.id], svgCode => {\n $mermaid.insertAdjacentHTML('afterbegin', svgCode);\n }, $mermaid);\n });\n }\n }\n\n initEcharts() {\n this._echartsOnSwitchTheme = this._echartsOnSwitchTheme || (() => {\n this._echartsArr = this._echartsArr || [];\n for (let i = 0; i < this._echartsArr.length; i++) {\n this._echartsArr[i].dispose();\n }\n this._echartsArr = [];\n this.util.forEach(document.getElementsByClassName('echarts'), $echarts => {\n const chart = echarts.init($echarts, this.isDark ? 'dark' : 'macarons', {renderer: 'svg'});\n chart.setOption(JSON.parse(this.data[$echarts.id]));\n this._echartsArr.push(chart);\n });\n });\n this.switchThemeEventSet.add(this._echartsOnSwitchTheme);\n this._echartsOnSwitchTheme();\n this._echartsOnResize = this._echartsOnResize || (() => {\n for (let i = 0; i < this._echartsArr.length; i++) {\n this._echartsArr[i].resize();\n }\n });\n this.resizeEventSet.add(this._echartsOnResize);\n }\n\n initMapbox() {\n if (this.config.mapbox) {\n mapboxgl.accessToken = this.config.mapbox.accessToken;\n mapboxgl.setRTLTextPlugin(this.config.mapbox.RTLTextPlugin);\n this._mapboxArr = this._mapboxArr || [];\n this.util.forEach(document.getElementsByClassName('mapbox'), $mapbox => {\n const {lng, lat, zoom, lightStyle, darkStyle, marked, navigation, geolocate, scale, fullscreen} = this.data[$mapbox.id];\n const mapbox = new mapboxgl.Map({\n container: $mapbox,\n center: [lng, lat],\n zoom: zoom,\n minZoom: .2,\n style: this.isDark ? darkStyle : lightStyle,\n attributionControl: false,\n });\n if (marked) {\n new mapboxgl.Marker().setLngLat([lng, lat]).addTo(mapbox);\n }\n if (navigation) {\n mapbox.addControl(new mapboxgl.NavigationControl(), 'bottom-right');\n }\n if (geolocate) {\n mapbox.addControl(new mapboxgl.GeolocateControl({\n positionOptions: {\n enableHighAccuracy: true,\n },\n showUserLocation: true,\n trackUserLocation: true,\n }), 'bottom-right');\n }\n if (scale) {\n mapbox.addControl(new mapboxgl.ScaleControl());\n }\n if (fullscreen) {\n mapbox.addControl(new mapboxgl.FullscreenControl());\n }\n mapbox.addControl(new MapboxLanguage());\n this._mapboxArr.push(mapbox);\n });\n this._mapboxOnSwitchTheme = this._mapboxOnSwitchTheme || (() => {\n this.util.forEach(this._mapboxArr, mapbox => {\n const $mapbox = mapbox.getContainer();\n const {lightStyle, darkStyle} = this.data[$mapbox.id];\n mapbox.setStyle(this.isDark ? darkStyle : lightStyle);\n mapbox.addControl(new MapboxLanguage());\n });\n });\n this.switchThemeEventSet.add(this._mapboxOnSwitchTheme);\n }\n }\n\n initComment() {\n if (this.config.comment) {\n if (this.config.comment.gitalk) {\n this.config.comment.gitalk.body = decodeURI(window.location.href);\n const gitalk = new Gitalk(this.config.comment.gitalk);\n gitalk.render('gitalk');\n }\n if (this.config.comment.valine) new Valine(this.config.comment.valine);\n if (this.config.comment.utterances) {\n const utterancesConfig = this.config.comment.utterances;\n const script = document.createElement('script');\n script.src = 'https://utteranc.es/client.js';\n script.type = 'text/javascript';\n script.setAttribute('repo', utterancesConfig.repo);\n script.setAttribute('issue-term', utterancesConfig.issueTerm);\n if (utterancesConfig.label) script.setAttribute('label', utterancesConfig.label);\n script.setAttribute('theme', this.isDark ? utterancesConfig.darkTheme : utterancesConfig.lightTheme);\n script.crossOrigin = 'anonymous';\n script.async = true;\n document.getElementById('utterances').appendChild(script);\n this._utterancesOnSwitchTheme = this._utterancesOnSwitchTheme || (() => {\n const message = {\n type: 'set-theme',\n theme: this.isDark ? utterancesConfig.darkTheme : utterancesConfig.lightTheme,\n };\n const iframe = document.querySelector('.utterances-frame');\n iframe.contentWindow.postMessage(message, 'https://utteranc.es');\n });\n this.switchThemeEventSet.add(this._utterancesOnSwitchTheme);\n }\n }\n }\n\n initSmoothScroll() {\n if (SmoothScroll) new SmoothScroll('[href^=\"#\"]', {\n speed: 300,\n speedAsDuration: true,\n header: '#header-desktop'\n });\n }\n\n initCookieconsent() {\n if (this.config.cookieconsent) cookieconsent.initialise(this.config.cookieconsent);\n }\n\n onScroll() {\n const $headers = [];\n if (document.body.getAttribute('data-header-desktop') === 'auto') $headers.push(document.getElementById('header-desktop'));\n if (document.body.getAttribute('data-header-mobile') === 'auto') $headers.push(document.getElementById('header-mobile'));\n if (document.getElementById('comments')) {\n const $viewComments = document.getElementById('view-comments');\n $viewComments.href = `#comments`;\n $viewComments.style.display = 'block';\n }\n const $fixedButtons = document.getElementById('fixed-buttons');\n const ACCURACY = 20, MINIMUM = 100;\n window.addEventListener('scroll', () => {\n this.newScrollTop = this.util.getScrollTop();\n const scroll = this.newScrollTop - this.oldScrollTop;\n const isMobile = this.util.isMobile();\n this.util.forEach($headers, $header => {\n if (scroll > ACCURACY) {\n $header.classList.remove('fadeInDown');\n this.util.animateCSS($header, ['fadeOutUp', 'faster'], true);\n } else if (scroll < -ACCURACY) {\n $header.classList.remove('fadeOutUp');\n this.util.animateCSS($header, ['fadeInDown', 'faster'], true);\n }\n });\n if (this.newScrollTop > MINIMUM) {\n if (isMobile && scroll > ACCURACY) {\n $fixedButtons.classList.remove('fadeIn');\n this.util.animateCSS($fixedButtons, ['fadeOut', 'faster'], true);\n } else if (!isMobile || scroll < -ACCURACY) {\n $fixedButtons.style.display = 'block';\n $fixedButtons.classList.remove('fadeOut');\n this.util.animateCSS($fixedButtons, ['fadeIn', 'faster'], true);\n }\n } else {\n if (!isMobile) {\n $fixedButtons.classList.remove('fadeIn');\n this.util.animateCSS($fixedButtons, ['fadeOut', 'faster'], true);\n }\n $fixedButtons.style.display = 'none';\n }\n for (let event of this.scrollEventSet) event();\n this.oldScrollTop = this.newScrollTop;\n }, false);\n }\n\n onResize() {\n window.addEventListener('resize', () => {\n if (!this._resizeTimeout) {\n this._resizeTimeout = window.setTimeout(() => {\n this._resizeTimeout = null;\n for (let event of this.resizeEventSet) event();\n this.initToc();\n this.initMermaid();\n this.initSearch();\n }, 100);\n }\n }, false);\n }\n\n onClickMask() {\n document.getElementById('mask').addEventListener('click', () => {\n for (let event of this.clickMaskEventSet) event();\n document.body.classList.remove('blur');\n }, false);\n }\n\n init() {\n try {\n this.initSVGIcon();\n this.initTwemoji();\n this.initMenuMobile();\n this.initSwitchTheme();\n this.initSearch();\n this.initDetails();\n this.initTable();\n this.initShareHeader();\n this.initSmoothScroll();\n this.initMath();\n this.initMermaid();\n this.initEcharts();\n this.initMapbox();\n this.initCookieconsent();\n } catch (err) {\n console.error(err);\n }\n\n window.setTimeout(() => {\n this.initToc();\n this.initComment();\n\n this.onScroll();\n this.onResize();\n this.onClickMask();\n }, 100);\n }\n}\n\nconst themeInit = () => {\n const theme = new Theme();\n theme.init();\n};\n\nif (document.readyState !== 'loading') {\n themeInit();\n} else {\n document.addEventListener('DOMContentLoaded', themeInit, false);\n}"]} \ No newline at end of file
+{"version":3,"sources":["../../src/js/theme.js"],"names":[],"mappings":"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","file":"theme.min.js","sourcesContent":["class Util {\n forEach(elements, handler) {\n elements = elements || [];\n for (let i = 0; i < elements.length; i++) handler(elements[i]);\n }\n\n getScrollTop() {\n return (document.documentElement && document.documentElement.scrollTop) || document.body.scrollTop;\n }\n\n isMobile() {\n return window.matchMedia('only screen and (max-width: 680px)').matches;\n }\n\n isTocStatic() {\n return window.matchMedia('only screen and (max-width: 1200px)').matches;\n }\n\n animateCSS(element, animation, reserved, callback) {\n if (!Array.isArray(animation)) animation = [animation];\n element.classList.add('animated', ...animation);\n const handler = () => {\n element.classList.remove('animated', ...animation);\n element.removeEventListener('animationend', handler);\n if (typeof callback === 'function') callback();\n };\n if (!reserved) element.addEventListener('animationend', handler, false);\n }\n}\n\nclass Theme {\n constructor() {\n this.config = window.config;\n this.data = this.config.data;\n this.isDark = document.body.getAttribute('theme') === 'dark';\n this.util = new Util();\n this.newScrollTop = this.util.getScrollTop();\n this.oldScrollTop = this.newScrollTop;\n this.scrollEventSet = new Set();\n this.resizeEventSet = new Set();\n this.switchThemeEventSet = new Set();\n this.clickMaskEventSet = new Set();\n this.tocSelected = -1;\n if (window.objectFitImages) objectFitImages();\n }\n\n initSVGIcon() {\n this.util.forEach(document.querySelectorAll('[data-svg-src]'), $icon => {\n fetch($icon.getAttribute('data-svg-src'))\n .then(response => response.text())\n .then(svg => {\n const $temp = document.createElement('div');\n $temp.insertAdjacentHTML('afterbegin', svg);\n const $svg = $temp.firstChild;\n $svg.setAttribute('data-svg-src', $icon.getAttribute('data-svg-src'));\n $svg.classList.add('icon');\n const $titleElements = $svg.getElementsByTagName('title');\n if ($titleElements.length) $svg.removeChild($titleElements[0]);\n $icon.parentElement.replaceChild($svg, $icon);\n })\n .catch(err => {\n console.error(err);\n });\n });\n }\n\n initTwemoji() {\n if (this.config.twemoji) twemoji.parse(document.body);\n }\n\n initMenuMobile() {\n const $menuToggleMobile = document.getElementById('menu-toggle-mobile');\n const $menuMobile = document.getElementById('menu-mobile');\n $menuToggleMobile.addEventListener('click', () => {\n document.body.classList.toggle('blur');\n $menuToggleMobile.classList.toggle('active');\n $menuMobile.classList.toggle('active');\n }, false);\n this._menuMobileOnClickMask = this._menuMobileOnClickMask || (() => {\n $menuToggleMobile.classList.remove('active');\n $menuMobile.classList.remove('active');\n });\n this.clickMaskEventSet.add(this._menuMobileOnClickMask);\n }\n\n initSwitchTheme() {\n this.util.forEach(document.getElementsByClassName('theme-switch'), $themeSwitch => {\n $themeSwitch.addEventListener('click', () => {\n if (document.body.getAttribute('theme') === 'dark') {\n document.body.setAttribute('theme', 'light');\n } else {\n document.body.setAttribute('theme', 'dark');\n }\n this.isDark = !this.isDark;\n window.localStorage && localStorage.setItem('theme', this.isDark ? 'dark' : 'light');\n window.REMARK42.changeTheme(document.body.getAttribute('theme') === 'dark' ? 'dark' : 'light');\n for (let event of this.switchThemeEventSet) event();\n }, false);\n });\n }\n\n initSearch() {\n const searchConfig = this.config.search;\n const isMobile = this.util.isMobile();\n if (!searchConfig || isMobile && this._searchMobileOnce || !isMobile && this._searchDesktopOnce) return;\n\n const maxResultLength = searchConfig.maxResultLength ? searchConfig.maxResultLength : 10;\n const snippetLength = searchConfig.snippetLength ? searchConfig.snippetLength : 50;\n const highlightTag = searchConfig.highlightTag ? searchConfig.highlightTag : 'em';\n\n const suffix = isMobile ? 'mobile' : 'desktop';\n const $header = document.getElementById(`header-${suffix}`);\n const $searchInput = document.getElementById(`search-input-${suffix}`);\n const $searchToggle = document.getElementById(`search-toggle-${suffix}`);\n const $searchLoading = document.getElementById(`search-loading-${suffix}`);\n const $searchClear = document.getElementById(`search-clear-${suffix}`);\n if (isMobile) {\n this._searchMobileOnce = true;\n $searchInput.addEventListener('focus', () => {\n document.body.classList.add('blur');\n $header.classList.add('open');\n }, false);\n document.getElementById('search-cancel-mobile').addEventListener('click', () => {\n $header.classList.remove('open');\n document.body.classList.remove('blur');\n document.getElementById('menu-toggle-mobile').classList.remove('active');\n document.getElementById('menu-mobile').classList.remove('active');\n $searchLoading.style.display = 'none';\n $searchClear.style.display = 'none';\n this._searchMobile && this._searchMobile.autocomplete.setVal('');\n }, false);\n $searchClear.addEventListener('click', () => {\n $searchClear.style.display = 'none';\n this._searchMobile && this._searchMobile.autocomplete.setVal('');\n }, false);\n this._searchMobileOnClickMask = this._searchMobileOnClickMask || (() => {\n $header.classList.remove('open');\n $searchLoading.style.display = 'none';\n $searchClear.style.display = 'none';\n this._searchMobile && this._searchMobile.autocomplete.setVal('');\n });\n this.clickMaskEventSet.add(this._searchMobileOnClickMask);\n } else {\n this._searchDesktopOnce = true;\n $searchToggle.addEventListener('click', () => {\n document.body.classList.add('blur');\n $header.classList.add('open');\n $searchInput.focus();\n }, false);\n $searchClear.addEventListener('click', () => {\n $searchClear.style.display = 'none';\n this._searchDesktop && this._searchDesktop.autocomplete.setVal('');\n }, false);\n this._searchDesktopOnClickMask = this._searchDesktopOnClickMask || (() => {\n $header.classList.remove('open');\n $searchLoading.style.display = 'none';\n $searchClear.style.display = 'none';\n this._searchDesktop && this._searchDesktop.autocomplete.setVal('');\n });\n this.clickMaskEventSet.add(this._searchDesktopOnClickMask);\n }\n $searchInput.addEventListener('input', () => {\n if ($searchInput.value === '') $searchClear.style.display = 'none';\n else $searchClear.style.display = 'inline';\n }, false);\n\n const initAutosearch = () => {\n const autosearch = autocomplete(`#search-input-${suffix}`, {\n hint: false,\n autoselect: true,\n dropdownMenuContainer: `#search-dropdown-${suffix}`,\n clearOnSelected: true,\n cssClasses: {noPrefix: true},\n debug: true,\n }, {\n name: 'search',\n source: (query, callback) => {\n $searchLoading.style.display = 'inline';\n $searchClear.style.display = 'none';\n const finish = (results) => {\n $searchLoading.style.display = 'none';\n $searchClear.style.display = 'inline';\n callback(results);\n };\n if (searchConfig.type === 'lunr') {\n const search = () => {\n if (lunr.queryHandler) query = lunr.queryHandler(query);\n const results = {};\n this._index.search(query).forEach(({ref, matchData: {metadata}}) => {\n const matchData = this._indexData[ref];\n let {uri, title, content: context} = matchData;\n if (results[uri]) return;\n let position = 0;\n Object.values(metadata).forEach(({content}) => {\n if (content) {\n const matchPosition = content.position[0][0];\n if (matchPosition < position || position === 0) position = matchPosition;\n }\n });\n position -= snippetLength / 5;\n if (position > 0) {\n position += context.substr(position, 20).lastIndexOf(' ') + 1;\n context = '...' + context.substr(position, snippetLength);\n } else {\n context = context.substr(0, snippetLength);\n }\n Object.keys(metadata).forEach(key => {\n title = title.replace(new RegExp(`(${key})`, 'gi'), `<${highlightTag}>$1</${highlightTag}>`);\n context = context.replace(new RegExp(`(${key})`, 'gi'), `<${highlightTag}>$1</${highlightTag}>`);\n });\n results[uri] = {\n 'uri': uri,\n 'title': title,\n 'date': matchData.date,\n 'context': context,\n };\n });\n return Object.values(results).slice(0, maxResultLength);\n }\n if (!this._index) {\n fetch(searchConfig.lunrIndexURL)\n .then(response => response.json())\n .then(data => {\n const indexData = {};\n this._index = lunr(function () {\n if (searchConfig.lunrLanguageCode) this.use(lunr[searchConfig.lunrLanguageCode]);\n this.ref('objectID');\n this.field('title', {boost: 50});\n this.field('tags', {boost: 20});\n this.field('categories', {boost: 20});\n this.field('content', {boost: 10});\n this.metadataWhitelist = ['position'];\n data.forEach((record) => {\n indexData[record.objectID] = record;\n this.add(record);\n });\n });\n this._indexData = indexData;\n finish(search());\n }).catch(err => {\n console.error(err);\n finish([]);\n });\n } else finish(search());\n } else if (searchConfig.type === 'algolia') {\n this._algoliaIndex = this._algoliaIndex || algoliasearch(searchConfig.algoliaAppID, searchConfig.algoliaSearchKey).initIndex(searchConfig.algoliaIndex);\n this._algoliaIndex\n .search(query, {\n offset: 0,\n length: maxResultLength * 8,\n attributesToHighlight: ['title'],\n attributesToSnippet: [`content:${snippetLength}`],\n highlightPreTag: `<${highlightTag}>`,\n highlightPostTag: `</${highlightTag}>`,\n })\n .then(({hits}) => {\n const results = {};\n hits.forEach(({uri, date, _highlightResult: {title}, _snippetResult: {content}}) => {\n if (results[uri] && results[uri].context.length > content.value) return;\n results[uri] = {\n uri: uri,\n title: title.value,\n date: date,\n context: content.value,\n };\n });\n finish(Object.values(results).slice(0, maxResultLength));\n })\n .catch(err => {\n console.error(err);\n finish([]);\n });\n }\n },\n templates: {\n suggestion: ({title, date, context}) => `<div><span class=\"suggestion-title\">${title}</span><span class=\"suggestion-date\">${date}</span></div><div class=\"suggestion-context\">${context}</div>`,\n empty: ({query}) => `<div class=\"search-empty\">${searchConfig.noResultsFound}: <span class=\"search-query\">\"${query}\"</span></div>`,\n footer: ({}) => {\n const {searchType, icon, href} = searchConfig.type === 'algolia' ? {\n searchType: 'algolia',\n icon: '<i class=\"fab fa-algolia fa-fw\"></i>',\n href: 'https://www.algolia.com/',\n } : {\n searchType: 'Lunr.js',\n icon: '',\n href: 'https://lunrjs.com/',\n };\n return `<div class=\"search-footer\">Search by <a href=\"${href}\" rel=\"noopener noreffer\" target=\"_blank\">${icon} ${searchType}</a></div>`;\n },\n },\n });\n autosearch.on('autocomplete:selected', (_event, suggestion, _dataset, _context) => {\n window.location.assign(suggestion.uri);\n });\n if (isMobile) this._searchMobile = autosearch;\n else this._searchDesktop = autosearch;\n };\n if (searchConfig.lunrSegmentitURL && !document.getElementById('lunr-segmentit')) {\n const script = document.createElement('script');\n script.id = 'lunr-segmentit';\n script.type = 'text/javascript';\n script.src = searchConfig.lunrSegmentitURL;\n script.async = true;\n if (script.readyState) {\n script.onreadystatechange = () => {\n if (script.readyState == 'loaded' || script.readyState == 'complete') {\n script.onreadystatechange = null;\n initAutosearch();\n }\n };\n } else {\n script.onload = () => {\n initAutosearch();\n };\n }\n document.body.appendChild(script);\n } else initAutosearch();\n }\n\n initDetails() {\n this.util.forEach(document.getElementsByClassName('details'), $details => {\n const $summary = $details.getElementsByClassName('details-summary')[0];\n $summary.addEventListener('click', () => {\n $details.classList.toggle('open');\n }, false);\n });\n }\n\n initTable() {\n this.util.forEach(document.querySelectorAll('.single table'), $table => {\n const $wrapper = document.createElement('div');\n $wrapper.className = 'table-wrapper';\n $table.parentElement.replaceChild($wrapper, $table);\n $wrapper.appendChild($table);\n });\n }\n\n initShareHeader() {\n this.util.forEach(document.querySelectorAll('.content-break h2'), $header => {\n $header.insertAdjacentHTML('afterend', `\n<div class=\"header-title-share\">\n<a href=\"${document.URL}#${$header.id}\" target=\"_blank\">link</a>\n<a href=\"https://t.me/share/url?url=${document.URL}#${$header.id}\" target=\"_blank\">telegram</a>\n<a href=\"https://vk.com/share.php?url=${document.URL}#${$header.id}\" target=\"_blank\">vk</a>\n<a href=\"https://twitter.com/intent/tweet?text=${document.URL}#${$header.id}\" target=\"_blank\">twitter</a>\n<a href=\"https://www.facebook.com/sharer/sharer.php?u=${document.URL}#${$header.id}\">fb</a>\n</div>`);\n });\n }\n\n initToc() {\n const $tocCore = document.getElementById('TableOfContents');\n if ($tocCore === null) return;\n if (document.getElementById('toc-static').getAttribute('data-kept') || this.util.isTocStatic()) {\n const $tocContentStatic = document.getElementById('toc-content-static');\n if ($tocCore.parentElement !== $tocContentStatic) {\n $tocCore.parentElement.removeChild($tocCore);\n $tocContentStatic.appendChild($tocCore);\n }\n if (this._tocOnScroll) this.scrollEventSet.delete(this._tocOnScroll);\n } else {\n const $tocContentAuto = document.getElementById('toc-content-auto');\n if ($tocCore.parentElement !== $tocContentAuto) {\n $tocCore.parentElement.removeChild($tocCore);\n $tocContentAuto.appendChild($tocCore);\n }\n const $toc = document.getElementById('toc-auto');\n const $page = document.getElementsByClassName('content-block')[0];\n const rect = $page.getBoundingClientRect();\n $toc.style.left = `${rect.left + rect.width + 20}px`;\n $toc.style.maxWidth = `${$page.getBoundingClientRect().left - 20 + 314}px`;\n $toc.style.visibility = 'visible';\n const $tocLinkElements = $tocCore.querySelectorAll('a:first-child');\n const $tocLiElements = $tocCore.getElementsByTagName('li');\n const $headerLinkElements = document.getElementsByClassName('headerLink');\n const headerIsFixed = document.body.getAttribute('data-header-desktop') !== 'normal';\n const headerHeight = document.getElementById('header-desktop').offsetHeight;\n const TOP_SPACING = 20 + (headerIsFixed ? headerHeight : 0);\n const minTocTop = $toc.offsetTop;\n const minScrollTop = minTocTop - TOP_SPACING + (headerIsFixed ? 0 : headerHeight);\n this._tocOnScroll = this._tocOnScroll || (() => {\n const footerTop = document.getElementById('toc-final').offsetTop;\n const maxTocTop = footerTop - $toc.getBoundingClientRect().height;\n const maxScrollTop = maxTocTop - TOP_SPACING + (headerIsFixed ? 0 : headerHeight);\n if (this.newScrollTop < minScrollTop) {\n $toc.style.position = 'absolute';\n $toc.style.top = `${minTocTop}px`;\n } else if (this.newScrollTop > maxScrollTop) {\n $toc.style.position = 'absolute';\n $toc.style.top = `${maxTocTop}px`;\n } else {\n $toc.style.position = 'fixed';\n $toc.style.top = `${TOP_SPACING}px`;\n }\n this.util.forEach($tocLinkElements, $tocLink => {\n $tocLink.classList.remove('active');\n });\n this.util.forEach($tocLiElements, $tocLi => {\n $tocLi.classList.remove('has-active');\n });\n const INDEX_SPACING = 20 + (headerIsFixed ? headerHeight : 0);\n let activeTocIndex = $headerLinkElements.length - 1;\n for (let i = 0; i < $headerLinkElements.length - 1; i++) {\n const thisTop = $headerLinkElements[i].getBoundingClientRect().top;\n const nextTop = $headerLinkElements[i + 1].getBoundingClientRect().top;\n if ((i === 0 && thisTop > INDEX_SPACING) || (thisTop <= INDEX_SPACING && nextTop > INDEX_SPACING)) {\n activeTocIndex = i;\n break;\n }\n }\n if (activeTocIndex !== -1) {\n const $selHeader = $headerLinkElements[activeTocIndex];\n let $selectedToC;\n for (let i = 0; i < $tocLinkElements.length; i++) {\n if ($tocLinkElements[i].hash.slice(1) === encodeURI($selHeader.id)) {\n $selectedToC = $tocLinkElements[i];\n if (i !== this.tocSelected) {\n this.tocSelected = i;\n }\n break;\n }\n }\n if (typeof $selectedToC === \"undefined\" && this.tocSelected !== -1) {\n $selectedToC = $tocLinkElements[this.tocSelected];\n }\n if (typeof $selectedToC !== \"undefined\") {\n $selectedToC.classList.add('active');\n let $parent = $selectedToC.parentElement;\n while ($parent !== $tocCore) {\n $parent.classList.add('has-active');\n $parent = $parent.parentElement.parentElement;\n }\n }\n }\n });\n this._tocOnScroll();\n this.scrollEventSet.add(this._tocOnScroll);\n }\n }\n\n initMath() {\n if (this.config.math) renderMathInElement(document.body, this.config.math);\n }\n\n initMermaid() {\n const $mermaidElements = document.getElementsByClassName('mermaid');\n if ($mermaidElements.length) {\n mermaid.initialize({startOnLoad: false, theme: 'null'});\n this.util.forEach($mermaidElements, $mermaid => {\n mermaid.mermaidAPI.render('svg-' + $mermaid.id, this.data[$mermaid.id], svgCode => {\n $mermaid.insertAdjacentHTML('afterbegin', svgCode);\n }, $mermaid);\n });\n }\n }\n\n initEcharts() {\n this._echartsOnSwitchTheme = this._echartsOnSwitchTheme || (() => {\n this._echartsArr = this._echartsArr || [];\n for (let i = 0; i < this._echartsArr.length; i++) {\n this._echartsArr[i].dispose();\n }\n this._echartsArr = [];\n this.util.forEach(document.getElementsByClassName('echarts'), $echarts => {\n const chart = echarts.init($echarts, this.isDark ? 'dark' : 'macarons', {renderer: 'svg'});\n chart.setOption(JSON.parse(this.data[$echarts.id]));\n this._echartsArr.push(chart);\n });\n });\n this.switchThemeEventSet.add(this._echartsOnSwitchTheme);\n this._echartsOnSwitchTheme();\n this._echartsOnResize = this._echartsOnResize || (() => {\n for (let i = 0; i < this._echartsArr.length; i++) {\n this._echartsArr[i].resize();\n }\n });\n this.resizeEventSet.add(this._echartsOnResize);\n }\n\n initMapbox() {\n if (this.config.mapbox) {\n mapboxgl.accessToken = this.config.mapbox.accessToken;\n mapboxgl.setRTLTextPlugin(this.config.mapbox.RTLTextPlugin);\n this._mapboxArr = this._mapboxArr || [];\n this.util.forEach(document.getElementsByClassName('mapbox'), $mapbox => {\n const {lng, lat, zoom, lightStyle, darkStyle, marked, navigation, geolocate, scale, fullscreen} = this.data[$mapbox.id];\n const mapbox = new mapboxgl.Map({\n container: $mapbox,\n center: [lng, lat],\n zoom: zoom,\n minZoom: .2,\n style: this.isDark ? darkStyle : lightStyle,\n attributionControl: false,\n });\n if (marked) {\n new mapboxgl.Marker().setLngLat([lng, lat]).addTo(mapbox);\n }\n if (navigation) {\n mapbox.addControl(new mapboxgl.NavigationControl(), 'bottom-right');\n }\n if (geolocate) {\n mapbox.addControl(new mapboxgl.GeolocateControl({\n positionOptions: {\n enableHighAccuracy: true,\n },\n showUserLocation: true,\n trackUserLocation: true,\n }), 'bottom-right');\n }\n if (scale) {\n mapbox.addControl(new mapboxgl.ScaleControl());\n }\n if (fullscreen) {\n mapbox.addControl(new mapboxgl.FullscreenControl());\n }\n mapbox.addControl(new MapboxLanguage());\n this._mapboxArr.push(mapbox);\n });\n this._mapboxOnSwitchTheme = this._mapboxOnSwitchTheme || (() => {\n this.util.forEach(this._mapboxArr, mapbox => {\n const $mapbox = mapbox.getContainer();\n const {lightStyle, darkStyle} = this.data[$mapbox.id];\n mapbox.setStyle(this.isDark ? darkStyle : lightStyle);\n mapbox.addControl(new MapboxLanguage());\n });\n });\n this.switchThemeEventSet.add(this._mapboxOnSwitchTheme);\n }\n }\n\n initComment() {\n if (this.config.comment) {\n if (this.config.comment.gitalk) {\n this.config.comment.gitalk.body = decodeURI(window.location.href);\n const gitalk = new Gitalk(this.config.comment.gitalk);\n gitalk.render('gitalk');\n }\n if (this.config.comment.valine) new Valine(this.config.comment.valine);\n if (this.config.comment.utterances) {\n const utterancesConfig = this.config.comment.utterances;\n const script = document.createElement('script');\n script.src = 'https://utteranc.es/client.js';\n script.type = 'text/javascript';\n script.setAttribute('repo', utterancesConfig.repo);\n script.setAttribute('issue-term', utterancesConfig.issueTerm);\n if (utterancesConfig.label) script.setAttribute('label', utterancesConfig.label);\n script.setAttribute('theme', this.isDark ? utterancesConfig.darkTheme : utterancesConfig.lightTheme);\n script.crossOrigin = 'anonymous';\n script.async = true;\n document.getElementById('utterances').appendChild(script);\n this._utterancesOnSwitchTheme = this._utterancesOnSwitchTheme || (() => {\n const message = {\n type: 'set-theme',\n theme: this.isDark ? utterancesConfig.darkTheme : utterancesConfig.lightTheme,\n };\n const iframe = document.querySelector('.utterances-frame');\n iframe.contentWindow.postMessage(message, 'https://utteranc.es');\n });\n this.switchThemeEventSet.add(this._utterancesOnSwitchTheme);\n }\n }\n }\n\n initSmoothScroll() {\n if (SmoothScroll) new SmoothScroll('[href^=\"#\"]', {\n speed: 300,\n speedAsDuration: true,\n header: '#header-desktop'\n });\n }\n\n initCookieconsent() {\n if (this.config.cookieconsent) cookieconsent.initialise(this.config.cookieconsent);\n }\n\n onScroll() {\n const $headers = [];\n if (document.body.getAttribute('data-header-desktop') === 'auto') $headers.push(document.getElementById('header-desktop'));\n if (document.body.getAttribute('data-header-mobile') === 'auto') $headers.push(document.getElementById('header-mobile'));\n if (document.getElementById('comments')) {\n const $viewComments = document.getElementById('view-comments');\n $viewComments.href = `#comments`;\n $viewComments.style.display = 'block';\n }\n const $fixedButtons = document.getElementById('fixed-buttons');\n const ACCURACY = 20, MINIMUM = 100;\n window.addEventListener('scroll', () => {\n this.newScrollTop = this.util.getScrollTop();\n const scroll = this.newScrollTop - this.oldScrollTop;\n const isMobile = this.util.isMobile();\n this.util.forEach($headers, $header => {\n if (scroll > ACCURACY) {\n $header.classList.remove('fadeInDown');\n this.util.animateCSS($header, ['fadeOutUp', 'faster'], true);\n } else if (scroll < -ACCURACY) {\n $header.classList.remove('fadeOutUp');\n this.util.animateCSS($header, ['fadeInDown', 'faster'], true);\n }\n });\n if (this.newScrollTop > MINIMUM) {\n if (isMobile && scroll > ACCURACY) {\n $fixedButtons.classList.remove('fadeIn');\n this.util.animateCSS($fixedButtons, ['fadeOut', 'faster'], true);\n } else if (!isMobile || scroll < -ACCURACY) {\n $fixedButtons.style.display = 'block';\n $fixedButtons.classList.remove('fadeOut');\n this.util.animateCSS($fixedButtons, ['fadeIn', 'faster'], true);\n }\n } else {\n if (!isMobile) {\n $fixedButtons.classList.remove('fadeIn');\n this.util.animateCSS($fixedButtons, ['fadeOut', 'faster'], true);\n }\n $fixedButtons.style.display = 'none';\n }\n for (let event of this.scrollEventSet) event();\n this.oldScrollTop = this.newScrollTop;\n }, false);\n }\n\n onResize() {\n window.addEventListener('resize', () => {\n if (!this._resizeTimeout) {\n this._resizeTimeout = window.setTimeout(() => {\n this._resizeTimeout = null;\n for (let event of this.resizeEventSet) event();\n this.initToc();\n this.initMermaid();\n this.initSearch();\n }, 100);\n }\n }, false);\n }\n\n onClickMask() {\n document.getElementById('mask').addEventListener('click', () => {\n for (let event of this.clickMaskEventSet) event();\n document.body.classList.remove('blur');\n }, false);\n }\n\n init() {\n try {\n this.initSVGIcon();\n this.initTwemoji();\n this.initMenuMobile();\n this.initSwitchTheme();\n this.initSearch();\n this.initDetails();\n this.initTable();\n this.initShareHeader();\n this.initSmoothScroll();\n this.initMath();\n this.initMermaid();\n this.initEcharts();\n this.initMapbox();\n this.initCookieconsent();\n } catch (err) {\n console.error(err);\n }\n\n window.setTimeout(() => {\n this.initToc();\n this.initComment();\n\n this.onScroll();\n this.onResize();\n this.onClickMask();\n }, 100);\n }\n}\n\nconst themeInit = () => {\n const theme = new Theme();\n theme.init();\n};\n\nif (document.readyState !== 'loading') {\n themeInit();\n} else {\n document.addEventListener('DOMContentLoaded', themeInit, false);\n}\n"]} \ No newline at end of file
diff --git a/exampleSite/resources/_gen/assets/scss/css/style.scss_d75fd08668b4bae707167bbce4d8ca46.content b/exampleSite/resources/_gen/assets/scss/css/style.scss_d75fd08668b4bae707167bbce4d8ca46.content
index 56cb1cc..fab9d41 100644
--- a/exampleSite/resources/_gen/assets/scss/css/style.scss_d75fd08668b4bae707167bbce4d8ca46.content
+++ b/exampleSite/resources/_gen/assets/scss/css/style.scss_d75fd08668b4bae707167bbce4d8ca46.content
@@ -1,3 +1,3 @@
-html{font-family:system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:400;font-display:swap;font-size:16px;line-height:1.5rem;width:100%}::-webkit-scrollbar{width:.5rem;height:.5rem}::-webkit-scrollbar-thumb{background-color:#87878d}::-webkit-scrollbar-thumb:hover{background-color:#a9a9b3}::selection{background-color:rgba(53,166,247,0.25)}[theme=dark] ::selection{background-color:rgba(50,112,194,0.4)}body{background-color:#fff;color:#161209;word-wrap:break-word;overflow-wrap:break-word;scrollbar-color:auto}body[theme=dark]{color:#DDD;background-color:#282c35}input::-ms-clear{display:none}a,a::before,a::after{text-decoration:none;color:#161209}[theme=dark] a,[theme=dark] a::before,[theme=dark] a::after{color:#a9a9b3}a:active,a:hover{color:#2d96bd}[theme=dark] a:active,[theme=dark] a:hover{color:#ef3982}#mask{background-repeat:no-repeat;background-position:center;position:fixed;top:0;left:0;width:100%;height:100%;z-index:-1;background-color:rgba(0,0,0,0)}.blur #mask{z-index:100;background-color:rgba(0,0,0,0.25)}.svg-icon{display:inline-block;background-repeat:no-repeat;background-image:url(/img/icon/sprite.svg)}[theme=dark] .svg-icon{background-image:url(/img/icon/sprite-dark.svg)}.icon-moon{width:18px;height:24px;background-position:0 0;vertical-align:middle}.icon-search{width:20px;height:24px;background-position:-18px 0;vertical-align:middle}.icon-cancel{width:20px;height:24px;background-position:-39px 0;vertical-align:middle}.icon-loading{width:20px;height:24px;background-position:-60px 0;vertical-align:middle}.icon-arrow-right{width:20px;height:24px;background-position:-80px 0;vertical-align:middle}.icon-arrow-up{width:16px;height:22px;background-position:-100px 0;vertical-align:middle}.icon-comments-fixed{width:16px;height:22px;background-position:-122px 0;vertical-align:middle}.icon-eye{width:14px;height:12px;background-position:-155px 0}.icon-folder{width:14px;height:12px;background-position:-173px 0}.icon-clock{width:12px;height:12px;background-position:-190px 0}.icon-user{width:14px;height:12px;background-position:-205px 0}.icon-comments{width:14px;height:12px;background-position:-220px 0}.icon-pencil{width:11px;height:11.5px;background-position:-235px 0}.icon-stopwatch{width:11px;height:10.8px;background-position:-248px 0}.icon-copyright{width:14px;height:12px;background-position:-263px 0}.icon-eye-big{width:20px;height:24px;background-position:-300px 0;vertical-align:middle}.icon-clock-big{width:20px;height:24px;background-position:-325px 0;vertical-align:middle}.icon-pencil-big{width:20px;height:24px;background-position:-345px 0;vertical-align:middle}.icon-stopwatch-big{width:25px;height:23px;background-position:-362px 0;vertical-align:middle}.icon-copy{width:20px;height:25px;background-position:-390px 0;vertical-align:middle}.icon-ellipsis{width:20px;height:25px;background-position:-415px 0;vertical-align:middle}.icon-code-right{width:20px;height:25px;background-position:-428px 0;vertical-align:middle}img.emoji{height:1em;width:1em;margin:0 .05em 0 .1em;vertical-align:-.1em}.details .details-summary:hover{cursor:pointer}.details i.details-icon{color:#a9a9b3;-webkit-transition:transform 0.2s ease;-moz-transition:transform 0.2s ease;-o-transition:transform 0.2s ease;transition:transform 0.2s ease}[theme=dark] .details i.details-icon{color:#939090}.details .details-content{max-height:0;overflow-y:hidden;-webkit-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;-moz-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;-o-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s}.details.open i.details-icon{-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg)}.details.open .details-content{max-height:12000px;-webkit-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;-moz-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;-o-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s}#fixed-buttons{display:none}.fixed-button{display:none;z-index:100;position:fixed;right:1.5rem;padding:.31rem .75rem;background:#ececec;-webkit-border-radius:2rem;-moz-border-radius:2rem;border-radius:2rem;-webkit-transition:color 0.4s ease;-moz-transition:color 0.4s ease;-o-transition:color 0.4s ease;transition:color 0.4s ease}.blur .fixed-button{-webkit-filter:blur(1.5px);-moz-filter:blur(1.5px);-ms-filter:blur(1.5px);filter:blur(1.5px)}[theme=dark] .fixed-button{background:#252627}#back-to-top{display:block;bottom:1.5rem}#view-comments{bottom:4.5rem}.cc-window.cc-banner .cc-btn{color:#161209}.cc-window.cc-banner .cc-btn:hover,.cc-window.cc-banner .cc-btn:focus{background-color:#ccc}[theme=dark] .cc-window.cc-banner .cc-btn{color:#161209}[theme=dark] .cc-window.cc-banner .cc-btn:hover,[theme=dark] .cc-window.cc-banner .cc-btn:focus{background-color:#fff}img{-o-object-fit:contain;object-fit:contain;font-family:"object-fit: contain;"}.wrapper{display:flex;flex-direction:column;min-height:100vh;width:100%}.wrapper main{flex:1 0 auto}.wrapper main .container{padding:0 1rem}.page,.content-block-position{position:relative;max-width:800px;width:60%;margin:0 auto}.blur .page,.blur .content-block-position{-webkit-filter:blur(1.5px);-moz-filter:blur(1.5px);-ms-filter:blur(1.5px);filter:blur(1.5px)}.toc .toc-title{font-size:1.2rem;font-weight:bold;text-transform:uppercase;border-radius:6px;transition-property:border-radius;transition-duration:1.5s}.toc.open .toc-title{border-radius:6px 6px 0 0}.toc .toc-content{font-size:1rem;border-radius:0 0 6px 6px}.toc .toc-content ol,.toc .toc-content ul{text-indent:-0.85rem;padding-left:.8rem;list-style:none;margin:0}.toc .toc-content ol a,.toc .toc-content ul a{border-bottom:none}.toc .toc-content ol a:first-child::before,.toc .toc-content ul a:first-child::before{content:"|";font-weight:bolder;margin-right:.5rem;color:#2c678d}[theme=dark] .toc .toc-content ol a:first-child::before,[theme=dark] .toc .toc-content ul a:first-child::before{color:#55bde2}.toc .toc-content ol ol,.toc .toc-content ol ul,.toc .toc-content ul ol,.toc .toc-content ul ul{padding-left:1.5rem}.toc ruby{background:#ececf0}.toc ruby rt{color:#a9a9b3}[theme=dark] .toc ruby{background:#272C34}[theme=dark] .toc ruby rt{color:#939090}#toc-auto{display:block;position:absolute;width:12000px;max-width:0;padding:0 .8rem;border-left:4px solid #2c678d;word-wrap:break-word;overflow-wrap:break-word;box-sizing:border-box;top:10rem;left:0;visibility:hidden}[data-header-desktop=normal] #toc-auto{top:5rem}.blur #toc-auto{-webkit-filter:blur(1.5px);-moz-filter:blur(1.5px);-ms-filter:blur(1.5px);filter:blur(1.5px)}[theme=dark] #toc-auto{border-left-color:#a9a9b3}#toc-auto .toc-title{margin:.8rem 0}#toc-auto .toc-content.always-active ol,#toc-auto .toc-content.always-active ul{display:block}#toc-auto .toc-content>nav>ol,#toc-auto .toc-content>nav>ul{margin:.625rem 0}#toc-auto .toc-content ol ol,#toc-auto .toc-content ol ul,#toc-auto .toc-content ul ol,#toc-auto .toc-content ul ul{display:none}#toc-auto .toc-content ol .has-active>ol,#toc-auto .toc-content ol .has-active>ul,#toc-auto .toc-content ul .has-active>ol,#toc-auto .toc-content ul .has-active>ul{display:block}#toc-auto .toc-content a.active{font-weight:bold;color:#2c678d;font-size:0.99rem}[theme=dark] #toc-auto .toc-content a.active{color:#55bde2}#toc-auto .toc-content a.active::before{color:#ef3982}[theme=dark] #toc-auto .toc-content a.active::before{color:#bdebfc}#toc-static{display:none;margin:.8rem 0 .8rem 0}#toc-static[data-kept=true]{display:block}#toc-static .toc-title{display:flex;justify-content:space-between;line-height:2em;padding:0 .75rem;background:#dbdbe3}[theme=dark] #toc-static .toc-title{background:#9999a5}#toc-static .toc-content{background-color:#ececf0}#toc-static .toc-content>nav>ol,#toc-static .toc-content>nav>ul{margin:0;padding:.4rem 1rem .4rem 1.8rem}[theme=dark] #toc-static .toc-content{background-color:#272C34}#toc-static.open .toc-title{background:#e3e3e9}[theme=dark] #toc-static.open .toc-title{background:#20252b}.content-block .single>:first-child{margin-top:0 !important}.content-block .single>section:first-child>:first-child,.content-block .single>article:first-child>:first-child{margin-top:0 !important}.single li ul{margin:0}.single .single-title{margin:1rem 0 .5rem;font-size:1.6rem;font-weight:bold;line-height:140%}.single .featured-image img{display:block;max-width:100%;height:auto;margin:0 auto;overflow:hidden}.single .featured-image img.lazyloaded{width:100%}.single .post-footer{margin-top:3rem}.single .post-footer .post-info{border-bottom:1px solid #2c678d;padding:1rem 0 0.3rem}[theme=dark] .single .post-footer .post-info{border-bottom:1px solid #a9a9b3}.single .post-footer .post-info .post-info-line{display:flex;justify-content:space-between}.single .post-footer .post-info .post-info-line .post-info-mod{font-size:0.8em;color:#a9a9b3}[theme=dark] .single .post-footer .post-info .post-info-line .post-info-mod{color:#939090}.single .post-footer .post-info .post-info-line .post-info-mod a,.single .post-footer .post-info .post-info-line .post-info-mod a::before,.single .post-footer .post-info .post-info-line .post-info-mod a::after{text-decoration:none;color:#2c678d}[theme=dark] .single .post-footer .post-info .post-info-line .post-info-mod a,[theme=dark] .single .post-footer .post-info .post-info-line .post-info-mod a::before,[theme=dark] .single .post-footer .post-info .post-info-line .post-info-mod a::after{color:#55bde2}.single .post-footer .post-info .post-info-line .post-info-mod a:active,.single .post-footer .post-info .post-info-line .post-info-mod a:hover{color:#ef3982}[theme=dark] .single .post-footer .post-info .post-info-line .post-info-mod a:active,[theme=dark] .single .post-footer .post-info .post-info-line .post-info-mod a:hover{color:#ef3982}.single .post-footer .post-info .post-info-line .post-info-license{font-size:0.8em;color:#a9a9b3}[theme=dark] .single .post-footer .post-info .post-info-line .post-info-license{color:#939090}.single .post-footer .post-info .post-info-line .post-info-license a,.single .post-footer .post-info .post-info-line .post-info-license a::before,.single .post-footer .post-info .post-info-line .post-info-license a::after{text-decoration:none;color:#2c678d}[theme=dark] .single .post-footer .post-info .post-info-line .post-info-license a,[theme=dark] .single .post-footer .post-info .post-info-line .post-info-license a::before,[theme=dark] .single .post-footer .post-info .post-info-line .post-info-license a::after{color:#55bde2}.single .post-footer .post-info .post-info-line .post-info-license a:active,.single .post-footer .post-info .post-info-line .post-info-license a:hover{color:#ef3982}[theme=dark] .single .post-footer .post-info .post-info-line .post-info-license a:active,[theme=dark] .single .post-footer .post-info .post-info-line .post-info-license a:hover{color:#ef3982}.single .post-footer .post-info .post-info-line .post-info-md{font-size:0.8rem;width:8rem}.single .post-footer .post-info .post-info-line .post-info-md a,.single .post-footer .post-info .post-info-line .post-info-md a::before,.single .post-footer .post-info .post-info-line .post-info-md a::after{text-decoration:none;color:#2c678d}[theme=dark] .single .post-footer .post-info .post-info-line .post-info-md a,[theme=dark] .single .post-footer .post-info .post-info-line .post-info-md a::before,[theme=dark] .single .post-footer .post-info .post-info-line .post-info-md a::after{color:#55bde2}.single .post-footer .post-info .post-info-line .post-info-md a:active,.single .post-footer .post-info .post-info-line .post-info-md a:hover{color:#ef3982}[theme=dark] .single .post-footer .post-info .post-info-line .post-info-md a:active,[theme=dark] .single .post-footer .post-info .post-info-line .post-info-md a:hover{color:#ef3982}.single .post-footer .post-info .post-info-line .post-info-share a *{vertical-align:text-bottom}.single .post-footer .post-info-more{padding:0.3rem 0 1rem;display:flex;justify-content:space-between;font-size:0.9rem}.single .post-footer .post-tags{max-width:65%}.single .post-footer .post-tags *{display:inline}.single .post-footer .post-nav::before,.single .post-footer .post-nav::after{content:' ';display:table}.single .post-footer .post-nav a.prev,.single .post-footer .post-nav a.next{font-size:1rem;font-weight:600;-webkit-transition:all 0.3s ease-out;-moz-transition:all 0.3s ease-out;-o-transition:all 0.3s ease-out;transition:all 0.3s ease-out}.single .post-footer .post-nav a.prev{float:left}.single .post-footer .post-nav a.prev:hover{-webkit-transform:translateX(-4px);-moz-transform:translateX(-4px);-ms-transform:translateX(-4px);-o-transform:translateX(-4px);transform:translateX(-4px)}.single .post-footer .post-nav a.next{float:right}.single .post-footer .post-nav a.next:hover{-webkit-transform:translateX(4px);-moz-transform:translateX(4px);-ms-transform:translateX(4px);-o-transform:translateX(4px);transform:translateX(4px)}.single #comments{padding:8rem 0 2rem}.single h2{font-size:1.6rem}.single h3{font-size:1.375rem}.single h4{font-size:1.25rem}.single h5{font-size:1.125rem}.single h6{font-size:1rem}.single h2,.single h3,.single h4,.single h5,.single h6{font-weight:bold}[theme=dark] .single h2,[theme=dark] .single h3,[theme=dark] .single h4,[theme=dark] .single h5,[theme=dark] .single h6{font-weight:bolder}.single h2 code,.single h3 code,.single h4 code,.single h5 code,.single h6 code{background:#f5f2f0;padding:.4rem;border-radius:3px}.single h3,.single h4,.single h5,.single h6{font-weight:bold;margin-bottom:1rem;margin-top:3.2rem}.single h3+*,.single h4+*,.single h5+*,.single h6+*{margin-top:0 !important}.single h2{margin-bottom:1.2rem;font-size:2rem;margin-top:7rem}.single h3{font-size:1.6rem}.single h2>.header-mark::before,.single h3>.header-mark::before,.single h4>.header-mark::before,.single h5>.header-mark::before,.single h6>.header-mark::before{content:"|";margin-right:.3125rem;color:#2c678d;margin-left:-0.15rem;font-size:1.7rem}[theme=dark] .single h2>.header-mark::before,[theme=dark] .single h3>.header-mark::before,[theme=dark] .single h4>.header-mark::before,[theme=dark] .single h5>.header-mark::before,[theme=dark] .single h6>.header-mark::before{color:#55bde2}.single h2>.header-mark::before{content:"#";margin-left:-0.1rem}.single p{margin:1.5rem 0}[theme=dark] .single b,[theme=dark] .single strong{color:#ddd}.single a,.single a::before,.single a::after{text-decoration:none;color:#2c678d}[theme=dark] .single a,[theme=dark] .single a::before,[theme=dark] .single a::after{color:#55bde2}.single a:active,.single a:hover{color:#ef3982}[theme=dark] .single a:active,[theme=dark] .single a:hover{color:#ef3982}.single a{word-wrap:break-word;overflow-wrap:break-word;border-bottom:dashed 1px}[theme=dark] .single a b,[theme=dark] .single a strong{color:#55bde2}.single a:visited{color:#70a0b0}[theme=dark] .single a:visited{color:#70a0b0}.single a[class="header-mark"],.single .post-footer a{border-bottom:none}.single [theme=dark] a:hover b,.single [theme=dark] a:hover strong{color:#bdebfc}.single ul,.single ol{margin:1.2rem 0;padding-left:2.5rem}.single ul{list-style-type:disc}.single ruby{background:#ececf0}.single ruby rt{color:#a9a9b3}[theme=dark] .single ruby{background:#272C34}[theme=dark] .single ruby rt{color:#939090}.single .table-wrapper{overflow-x:auto;border-radius:6px 6px 0 0}.single .table-wrapper+.table-wrapper{margin-top:1rem}.single .table-wrapper::-webkit-scrollbar{background-color:#fff}[theme=dark] .single .table-wrapper::-webkit-scrollbar{background-color:#272c34}.single .table-wrapper>table{width:100%;max-width:100%;border-spacing:0;background:#fff}[theme=dark] .single .table-wrapper>table{background:#272c34}.single .table-wrapper>table thead{background:#ededed}[theme=dark] .single .table-wrapper>table thead{background-color:#20252b}.single .table-wrapper>table th,.single .table-wrapper>table td{padding:.18rem 1rem;border:1px solid #e8e8e8}[theme=dark] .single .table-wrapper>table th,[theme=dark] .single .table-wrapper>table td{border-color:#1c2025}.single .table-wrapper>table tr:last-child td:first-child{border-bottom-left-radius:6px}.single .table-wrapper>table tr:last-child td:last-child{border-bottom-right-radius:6px}.single img{max-width:100%;min-height:1em;content-visibility:auto}.single .lazyloading{-o-object-fit:none;object-fit:none;font-family:"object-fit: none;"}.single blockquote{display:block;border-left:0.3rem solid #6bd6fd;background-color:rgba(107,214,253,0.2);padding:.25rem .75rem;margin:1rem 0}[theme=dark] .single blockquote{border-left-color:#59c5ec;background-color:rgba(89,197,236,0.2)}.single .footnotes{color:#a9a9b3}[theme=dark] .single .footnotes{color:#939090}.single .footnotes p{margin:.25rem 0}[theme=dark] .single iframe.instagram-media{border:none !important}.single .admonition{border-radius:6px;position:relative;margin:1.7rem 0;padding:0 .75rem;background-color:rgba(68,138,255,0.1);border-left:0.25rem solid #448aff;overflow:auto}.single .admonition p:first-child,.single .admonition ul:first-child{margin-top:0}.single .admonition p:last-child,.single .admonition ul:last-child{margin-bottom:0}.single .admonition .admonition-title{font-weight:bold;margin:0 -0.75rem;padding:.25rem 1.8rem;border-bottom:1px solid rgba(68,138,255,0.1);background-color:rgba(68,138,255,0.25)}.single .admonition .admonition-title-none{display:none}.single .admonition.open .admonition-title{background-color:rgba(68,138,255,0.1)}.single .admonition .admonition-content{padding:.5rem 0}.single .admonition i.icon{font-size:0.85rem;color:#448aff;position:absolute;top:.6rem;left:.5rem}.single .admonition i.details-icon{color:#448aff;position:absolute;top:.55rem;right:.3rem}.single .admonition .admonition-icon{display:inline-block;background-repeat:no-repeat;width:20px;height:20px;background-image:url(/img/icon/admonition.svg)}.single .admonition .icon-note{background-position:0}.single .admonition .icon-abstract{background-position:-23px 0}.single .admonition .icon-info{background-position:-46px}.single .admonition .icon-tip{background-position:-64px}.single .admonition .icon-success{background-position:-84px}.single .admonition .icon-question{background-position:-106px}.single .admonition .icon-warning{background-position:-129px}.single .admonition .icon-failure{background-position:-152px}.single .admonition .icon-danger{background-position:-170px}.single .admonition .icon-bug{background-position:-190px}.single .admonition .icon-example{background-position:-210px}.single .admonition .icon-quote{background-position:-233px}.single .admonition .admonition-icon-arrow-right{background-position:-253px}.single .admonition.note{border-left-color:#448aff}.single .admonition.note i.icon{color:#448aff}.single .admonition.note i.details-icon{color:#448aff}.single .admonition.abstract{border-left-color:#00b0ff}.single .admonition.abstract i.icon{color:#00b0ff}.single .admonition.abstract i.details-icon{color:#00b0ff}.single .admonition.info{border-left-color:#00b8d4}.single .admonition.info i.icon{color:#00b8d4}.single .admonition.info i.details-icon{color:#00b8d4}.single .admonition.tip{border-left-color:#00bfa5}.single .admonition.tip i.icon{color:#00bfa5}.single .admonition.tip i.details-icon{color:#00bfa5}.single .admonition.success{border-left-color:#00c853}.single .admonition.success i.icon{color:#00c853}.single .admonition.success i.details-icon{color:#00c853}.single .admonition.question{border-left-color:#64dd17}.single .admonition.question i.icon{color:#64dd17}.single .admonition.question i.details-icon{color:#64dd17}.single .admonition.warning{border-left-color:#ff9100}.single .admonition.warning i.icon{color:#ff9100}.single .admonition.warning i.details-icon{color:#ff9100}.single .admonition.failure{border-left-color:#ff5252}.single .admonition.failure i.icon{color:#ff5252}.single .admonition.failure i.details-icon{color:#ff5252}.single .admonition.danger{border-left-color:#ff1744}.single .admonition.danger i.icon{color:#ff1744}.single .admonition.danger i.details-icon{color:#ff1744}.single .admonition.bug{border-left-color:#f50057}.single .admonition.bug i.icon{color:#f50057}.single .admonition.bug i.details-icon{color:#f50057}.single .admonition.example{border-left-color:#651fff}.single .admonition.example i.icon{color:#651fff}.single .admonition.example i.details-icon{color:#651fff}.single .admonition.quote{border-left-color:#9e9e9e}.single .admonition.quote i.icon{color:#9e9e9e}.single .admonition.quote i.details-icon{color:#9e9e9e}.single .admonition.note{background-color:rgba(68,138,255,0.1)}.single .admonition.note .admonition-title{border-bottom-color:rgba(68,138,255,0.1);background-color:rgba(68,138,255,0.25)}.single .admonition.note.open .admonition-title{background-color:rgba(68,138,255,0.1)}.single .admonition.abstract{background-color:rgba(0,176,255,0.1)}.single .admonition.abstract .admonition-title{border-bottom-color:rgba(0,176,255,0.1);background-color:rgba(0,176,255,0.25)}.single .admonition.abstract.open .admonition-title{background-color:rgba(0,176,255,0.1)}.single .admonition.info{background-color:rgba(0,184,212,0.1)}.single .admonition.info .admonition-title{border-bottom-color:rgba(0,184,212,0.1);background-color:rgba(0,184,212,0.25)}.single .admonition.info.open .admonition-title{background-color:rgba(0,184,212,0.1)}.single .admonition.tip{background-color:rgba(0,191,165,0.1)}.single .admonition.tip .admonition-title{border-bottom-color:rgba(0,191,165,0.1);background-color:rgba(0,191,165,0.25)}.single .admonition.tip.open .admonition-title{background-color:rgba(0,191,165,0.1)}.single .admonition.success{background-color:rgba(0,200,83,0.1)}.single .admonition.success .admonition-title{border-bottom-color:rgba(0,200,83,0.1);background-color:rgba(0,200,83,0.25)}.single .admonition.success.open .admonition-title{background-color:rgba(0,200,83,0.1)}.single .admonition.question{background-color:rgba(100,221,23,0.1)}.single .admonition.question .admonition-title{border-bottom-color:rgba(100,221,23,0.1);background-color:rgba(100,221,23,0.25)}.single .admonition.question.open .admonition-title{background-color:rgba(100,221,23,0.1)}.single .admonition.warning{background-color:rgba(255,145,0,0.1)}.single .admonition.warning .admonition-title{border-bottom-color:rgba(255,145,0,0.1);background-color:rgba(255,145,0,0.25)}.single .admonition.warning.open .admonition-title{background-color:rgba(255,145,0,0.1)}.single .admonition.failure{background-color:rgba(255,82,82,0.1)}.single .admonition.failure .admonition-title{border-bottom-color:rgba(255,82,82,0.1);background-color:rgba(255,82,82,0.25)}.single .admonition.failure.open .admonition-title{background-color:rgba(255,82,82,0.1)}.single .admonition.danger{background-color:rgba(255,23,68,0.1)}.single .admonition.danger .admonition-title{border-bottom-color:rgba(255,23,68,0.1);background-color:rgba(255,23,68,0.25)}.single .admonition.danger.open .admonition-title{background-color:rgba(255,23,68,0.1)}.single .admonition.bug{background-color:rgba(245,0,87,0.1)}.single .admonition.bug .admonition-title{border-bottom-color:rgba(245,0,87,0.1);background-color:rgba(245,0,87,0.25)}.single .admonition.bug.open .admonition-title{background-color:rgba(245,0,87,0.1)}.single .admonition.example{background-color:rgba(101,31,255,0.1)}.single .admonition.example .admonition-title{border-bottom-color:rgba(101,31,255,0.1);background-color:rgba(101,31,255,0.25)}.single .admonition.example.open .admonition-title{background-color:rgba(101,31,255,0.1)}.single .admonition.quote{background-color:rgba(159,159,159,0.1)}.single .admonition.quote .admonition-title{border-bottom-color:rgba(159,159,159,0.1);background-color:rgba(159,159,159,0.25)}.single .admonition.quote.open .admonition-title{background-color:rgba(159,159,159,0.1)}.single .admonition:last-child{margin-bottom:.75rem}.single .echarts{margin:.5rem 0;text-align:center}.single .mapbox{margin:.5rem 0;padding:.5rem 0}.single meting-js{margin:.5rem 0}.single .bilibili{position:relative;width:100%;height:0;padding-bottom:75%;margin:3% auto;text-align:center}.single .bilibili iframe{position:absolute;width:100%;height:100%;left:0;top:0}.single hr{margin:1rem 0;position:relative;border-top:4px dashed #2c678d;border-bottom:none}[theme=dark] .single hr{border-top:4px dashed #a9a9b3}.single kbd{display:inline-block;padding:.25rem;background-color:#fff;border:1px solid #2c678d;border-bottom-color:#2c678d;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 #2c678d;box-shadow:inset 0 -1px 0 #2c678d;font-size:.8rem;font-family:Source Code Pro,Menlo,Consolas,Monaco,monospace,system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;color:#c7254e}[theme=dark] .single kbd{background-color:#282c35;border:1px solid #a9a9b3;border-bottom-color:#a9a9b3;-webkit-box-shadow:inset 0 -1px 0 #a9a9b3;box-shadow:inset 0 -1px 0 #a9a9b3;color:#E5BF78}.single .version{height:1.25em;vertical-align:text-bottom}.single .essence{margin:auto;background:none;border:none;display:block;text-align:center;font-size:160%;width:90%;padding:40px 20px;box-sizing:border-box;font-weight:400;line-height:2rem;text-transform:uppercase}[theme="dark"] .single .essence{background:none;border:none}.single .essence .essence{padding:0;width:100%;line-height:3.5rem}.single .essence .essence .essence{width:100%;padding:0;line-height:6rem}.single .essence .essence .essence .essence{width:100%;padding:0;line-height:8rem}.single figure{margin:3rem 0 3rem 0}.lg-toolbar .lg-icon::after{color:#999}.special .single-title,.special .single-subtitle{text-align:right}.archive .single-title{text-align:right}.archive .group-title-year{font-size:30px;font-weight:600;margin-top:2.5rem;margin-bottom:1.5rem}.archive .group-title-month{margin-top:1.5rem;margin-bottom:0.5rem;font-size:20px;font-weight:600}.archive .categories-card{margin:0 auto;margin-top:3rem;display:flex;align-items:center;justify-content:space-between;flex-direction:row;flex-wrap:wrap;line-height:1.6rem}.archive .categories-card .card-item{font-size:.875rem;text-align:left;width:45%;display:flex;align-items:flex-start;margin-top:2rem;min-height:10rem;padding:0 2%;position:relative}.archive .categories-card .card-item .card-item-wrapper{width:100%;overflow:hidden}.archive .categories-card .card-item .card-item-wrapper .card-item-title{font-size:1.2rem;font-weight:bold;display:inline-block;margin-top:1rem;margin-bottom:.75rem}.archive .categories-card .card-item .card-item-wrapper span{float:right;padding-right:1rem}.archive .archive-item{display:flex;justify-content:space-between;align-items:center;box-sizing:border-box;margin:.25rem 0 .25rem 1.5rem}.archive .archive-item-link{min-width:10%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.archive .archive-item-link:hover{color:#2d96bd;background-color:transparent}[theme=dark] .archive .archive-item-link{color:#a9a9b3}[theme=dark] .archive .archive-item-link:hover{color:#fff}.archive .archive-item-date{width:4em;text-align:right;color:#a9a9b3}[theme=dark] .archive .archive-item-date{color:#939090}.archive .more-post{text-align:right}.archive .tag-cloud-tags{margin:10px 0}.archive .tag-cloud-tags a,.archive .tag-cloud-tags a::before,.archive .tag-cloud-tags a::after{text-decoration:none;color:#161209}[theme=dark] .archive .tag-cloud-tags a,[theme=dark] .archive .tag-cloud-tags a::before,[theme=dark] .archive .tag-cloud-tags a::after{color:#a9a9b3}.archive .tag-cloud-tags a:active,.archive .tag-cloud-tags a:hover{color:#2d96bd}[theme=dark] .archive .tag-cloud-tags a:active,[theme=dark] .archive .tag-cloud-tags a:hover{color:#ef3982}.archive .tag-cloud-tags a{display:inline-block;position:relative;margin:5px 10px;word-wrap:break-word;overflow-wrap:break-word;-webkit-transition:all ease-out 0.3s;-moz-transition:all ease-out 0.3s;-o-transition:all ease-out 0.3s;transition:all ease-out 0.3s}.archive .tag-cloud-tags a:active,.archive .tag-cloud-tags a:focus,.archive .tag-cloud-tags a:hover{-webkit-transform:scale(1.2);-moz-transform:scale(1.2);-ms-transform:scale(1.2);-o-transform:scale(1.2);transform:scale(1.2)}.archive .tag-cloud-tags a sup{color:#a9a9b3}[theme=dark] .archive .tag-cloud-tags a sup{color:#939090}.home .home-profile{-webkit-transform:translateY(16vh);-moz-transform:translateY(16vh);-ms-transform:translateY(16vh);-o-transform:translateY(16vh);transform:translateY(16vh);padding:0 0 .5rem;text-align:center}.home .home-profile .home-avatar{padding:.5rem}.home .home-profile .home-avatar img{display:inline-block;width:8rem;height:auto;margin:0 auto;-webkit-border-radius:100%;-moz-border-radius:100%;border-radius:100%;-webkit-box-shadow:0 0 0 0.3618em rgba(0,0,0,0.05);box-shadow:0 0 0 0.3618em rgba(0,0,0,0.05);-webkit-transition:all 0.4s ease;-moz-transition:all 0.4s ease;-o-transition:all 0.4s ease;transition:all 0.4s ease}.home .home-profile .home-avatar img:hover{position:relative;-webkit-transform:translateY(-0.75rem);-moz-transform:translateY(-0.75rem);-ms-transform:translateY(-0.75rem);-o-transform:translateY(-0.75rem);transform:translateY(-0.75rem)}.home .home-profile .home-title{font-size:1.25rem;font-weight:bold;margin:0;padding:0 0.5rem}.home .home-profile .home-subtitle{font-size:1rem;font-weight:normal;margin:0;padding:.5rem}.home .home-profile .links{padding:0 .5rem;font-size:1.5rem}.home .home-profile .links a *{vertical-align:text-bottom;margin-right:6px}.home .home-profile .links img{height:1.5rem;padding:0 .25rem}.home .home-profile .home-disclaimer{font-size:1rem;line-height:1.5rem;font-weight:normal;margin:0;padding:.5rem;color:#a9a9b3}[theme=dark] .home .home-profile .home-disclaimer{color:#939090}.home[data-home=posts] .home-profile{-webkit-transform:translateY(0);-moz-transform:translateY(0);-ms-transform:translateY(0);-o-transform:translateY(0);transform:translateY(0);padding-top:2rem}.home[data-home=posts] .home-avatar img{width:6rem}.home[data-home=posts] .summary{padding-top:1rem;padding-bottom:.8rem;color:#161209;border-bottom:4px dashed #2c678d}[theme=dark] .home[data-home=posts] .summary{color:#DDD;border-bottom:4px dashed #a9a9b3}.home[data-home=posts] .summary .featured-image-preview{width:100%;padding:30% 0 0;position:relative;margin:0.6rem auto;-webkit-transition:transform 0.4s ease;-moz-transition:transform 0.4s ease;-o-transition:transform 0.4s ease;transition:transform 0.4s ease}.home[data-home=posts] .summary .featured-image-preview img{position:absolute;width:100%;height:100%;left:0;top:0}.home[data-home=posts] .summary .featured-image-preview img.lazyloaded{-o-object-fit:cover;object-fit:cover;font-family:"object-fit: cover;"}.home[data-home=posts] .summary .featured-image-preview:hover{-webkit-transform:scale(1.01);-moz-transform:scale(1.01);-ms-transform:scale(1.01);-o-transform:scale(1.01);transform:scale(1.01)}.home[data-home=posts] .summary .single-title{font-size:1.25rem;line-height:140%;margin:0 0}.home[data-home=posts] .summary .single{display:-moz-box;display:-webkit-box;display:box;-webkit-box-orient:vertical;-moz-box-orient:vertical;box-orient:vertical;-webkit-line-clamp:3;margin-top:.3rem;width:100%;overflow:hidden;text-overflow:ellipsis;word-wrap:break-word;overflow-wrap:break-word;color:#a9a9b3}[theme=dark] .home[data-home=posts] .summary .single{color:#939090}.home[data-home=posts] .summary .single h2,.home[data-home=posts] .summary .single h3,.home[data-home=posts] .summary .single h4,.home[data-home=posts] .summary .single h5,.home[data-home=posts] .summary .single h6,.home[data-home=posts] .summary .single p{font-size:1rem;line-height:1.5;display:inline}.home[data-home=posts] .summary .single h2::after,.home[data-home=posts] .summary .single h3::after,.home[data-home=posts] .summary .single h4::after,.home[data-home=posts] .summary .single h5::after,.home[data-home=posts] .summary .single h6::after,.home[data-home=posts] .summary .single p::after{content:"\A";white-space:pre}.home[data-home=posts] .summary .single h2{font-size:1.125rem}.home[data-home=posts] .summary .single a,.home[data-home=posts] .summary .single a::before,.home[data-home=posts] .summary .single a::after{text-decoration:none;color:#2c678d}[theme=dark] .home[data-home=posts] .summary .single a,[theme=dark] .home[data-home=posts] .summary .single a::before,[theme=dark] .home[data-home=posts] .summary .single a::after{color:#a9a9b3}.home[data-home=posts] .summary .single a:active,.home[data-home=posts] .summary .single a:hover{color:#ef3982}[theme=dark] .home[data-home=posts] .summary .single a:active,[theme=dark] .home[data-home=posts] .summary .single a:hover{color:#ef3982}.home[data-home=posts] .summary .single b,.home[data-home=posts] .summary .single strong{color:#a9a9b3}[theme=dark] .home[data-home=posts] .summary .single b,[theme=dark] .home[data-home=posts] .summary .single strong{color:#939090}.home[data-home=posts] .summary .post-footer{margin-top:2rem;display:flex;justify-content:space-between;align-items:center;font-size:.875rem}.home[data-home=posts] .summary .post-footer a,.home[data-home=posts] .summary .post-footer a::before,.home[data-home=posts] .summary .post-footer a::after{text-decoration:none;color:#2c678d}[theme=dark] .home[data-home=posts] .summary .post-footer a,[theme=dark] .home[data-home=posts] .summary .post-footer a::before,[theme=dark] .home[data-home=posts] .summary .post-footer a::after{color:#55bde2}.home[data-home=posts] .summary .post-footer a:active,.home[data-home=posts] .summary .post-footer a:hover{color:#ef3982}[theme=dark] .home[data-home=posts] .summary .post-footer a:active,[theme=dark] .home[data-home=posts] .summary .post-footer a:hover{color:#ef3982}.home[data-home=posts] .summary .post-footer .post-tags{padding:0}.home[data-home=posts] .summary .post-footer .post-tags a,.home[data-home=posts] .summary .post-footer .post-tags a::before,.home[data-home=posts] .summary .post-footer .post-tags a::after{text-decoration:none;color:#161209}[theme=dark] .home[data-home=posts] .summary .post-footer .post-tags a,[theme=dark] .home[data-home=posts] .summary .post-footer .post-tags a::before,[theme=dark] .home[data-home=posts] .summary .post-footer .post-tags a::after{color:#a9a9b3}.home[data-home=posts] .summary .post-footer .post-tags a:active,.home[data-home=posts] .summary .post-footer .post-tags a:hover{color:#2d96bd}[theme=dark] .home[data-home=posts] .summary .post-footer .post-tags a:active,[theme=dark] .home[data-home=posts] .summary .post-footer .post-tags a:hover{color:#ef3982}#content-404{font-size:1.8rem;line-height:3rem;-webkit-transform:translateY(30vh);-moz-transform:translateY(30vh);-ms-transform:translateY(30vh);-o-transform:translateY(30vh);transform:translateY(30vh);text-align:center}.header{width:100%;z-index:150;background-color:#ececec;-webkit-transition:box-shadow 0.3s ease;-moz-transition:box-shadow 0.3s ease;-o-transition:box-shadow 0.3s ease;transition:box-shadow 0.3s ease}[theme=dark] .header{background-color:#252627}.header .logo{min-height:1.5em;height:1.5em;vertical-align:text-bottom}.header .logo,.header .header-title-pre{padding-right:.25rem}.header .header-title-post{padding-left:.25rem}.header:hover{-webkit-box-shadow:0 0 1.5rem 0 rgba(0,0,0,0.1);box-shadow:0 0 1.5rem 0 rgba(0,0,0,0.1)}.header-wrapper{display:flex;justify-content:space-between;align-items:center;box-sizing:border-box;width:100%}.header-title{font-family:system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:bold;margin-right:.5rem;min-width:10%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;-webkit-flex:10;flex:10}.menu .menu-item{position:relative}.language-select{position:absolute;opacity:0;left:0;top:0;width:100%;height:100%}.language-select:hover{cursor:pointer}.search{position:relative}.search input{color:transparent;box-sizing:border-box;height:2.5rem;width:2.5rem;-webkit-border-radius:.5rem;-moz-border-radius:.5rem;border-radius:.5rem;border:none;outline:none;background-color:#ececec;vertical-align:baseline !important;-webkit-transition:width 0.3s ease;-moz-transition:width 0.3s ease;-o-transition:width 0.3s ease;transition:width 0.3s ease}[theme=dark] .search input{background-color:#252627}.search input::-webkit-input-placeholder{color:rgba(0,0,0,0)}.search input:-moz-placeholder{color:rgba(0,0,0,0)}.search input::-moz-placeholder{color:rgba(0,0,0,0)}.search input:-ms-input-placeholder{color:rgba(0,0,0,0)}.search input::placeholder{color:rgba(0,0,0,0)}.search .search-button{margin:0;position:absolute;left:auto;right:1rem}.search .search-toggle{left:.5rem;right:auto}.search .search-loading{display:none}.search .search-clear{display:none}.open .search input,.search.mobile input{color:#161209;background-color:#e9e9e9;padding:0 2rem 0 2rem}[theme=dark] .open .search input,[theme=dark] .search.mobile input{color:#DDD;background-color:#363636}[theme=dark] .open .search input::-webkit-input-placeholder,[theme=dark] .search.mobile input::-webkit-input-placeholder{color:#939090}[theme=dark] .open .search input:-moz-placeholder,[theme=dark] .search.mobile input:-moz-placeholder{color:#939090}[theme=dark] .open .search input::-moz-placeholder,[theme=dark] .search.mobile input::-moz-placeholder{color:#939090}[theme=dark] .open .search input:-ms-input-placeholder,[theme=dark] .search.mobile input:-ms-input-placeholder{color:#939090}[theme=dark] .open .search input::placeholder,[theme=dark] .search.mobile input::placeholder{color:#939090}.open .search input::-webkit-input-placeholder,.search.mobile input::-webkit-input-placeholder{color:#a9a9b3}.open .search input:-moz-placeholder,.search.mobile input:-moz-placeholder{color:#a9a9b3}.open .search input::-moz-placeholder,.search.mobile input::-moz-placeholder{color:#a9a9b3}.open .search input:-ms-input-placeholder,.search.mobile input:-ms-input-placeholder{color:#a9a9b3}.open .search input::placeholder,.search.mobile input::placeholder{color:#a9a9b3}.open .search .search-button,.search.mobile .search-button{color:#a9a9b3}[theme=dark] .open .search .search-button,[theme=dark] .search.mobile .search-button{color:#939090}.open .search .search-clear:hover,.search.mobile .search-clear:hover{color:#ff6b6b}.open .search .search-toggle:hover,.search.mobile .search-toggle:hover{cursor:default}.theme-switch i{-webkit-transform:rotate(225deg);-moz-transform:rotate(225deg);-ms-transform:rotate(225deg);-o-transform:rotate(225deg);transform:rotate(225deg)}#header-desktop{display:block;position:fixed;height:3.5rem;line-height:3.5rem}[data-header-desktop=normal] #header-desktop{position:static}#header-desktop .header-wrapper{padding:0 2rem 0 10vh}#header-desktop .header-wrapper .header-title{font-size:1.5rem}#header-desktop .header-wrapper .menu{overflow:hidden;white-space:nowrap}#header-desktop .header-wrapper .menu nav{display:inline-block}#header-desktop .header-wrapper .menu ul li{list-style:none;display:inline-block}#header-desktop .header-wrapper .menu .menu-inner{margin:0}#header-desktop .header-wrapper .menu .menu-item{margin:0 .5rem}#header-desktop .header-wrapper .menu .menu-item.delimiter{border-left:1.5px solid #161209}[theme=dark] #header-desktop .header-wrapper .menu .menu-item.delimiter{border-left-color:#a9a9b3}#header-desktop .header-wrapper .menu .menu-item.language{margin-right:0}#header-desktop .header-wrapper .menu .menu-item.search{margin:0 -.5rem 0 0}#header-desktop .header-wrapper .menu a.active{font-weight:900;color:#161209}[theme=dark] #header-desktop .header-wrapper .menu a.active{color:#fff}#header-desktop.open .header-wrapper .menu .menu-item.search{margin:0 .25rem 0 .5rem}#header-desktop.open .header-wrapper .menu .menu-item.search input{width:24rem}#header-mobile{display:none;position:fixed;height:3.5rem;line-height:3.5rem}[data-header-mobile=normal] #header-mobile{position:static}#header-mobile .header-container{padding:0;margin:0}#header-mobile .header-container .header-wrapper{padding:0 1rem;font-size:1.125rem;-webkit-transition:margin-top 0.3s ease;-moz-transition:margin-top 0.3s ease;-o-transition:margin-top 0.3s ease;transition:margin-top 0.3s ease}#header-mobile .header-container .header-wrapper .header-title{font-size:1.5rem;max-width:80%}#header-mobile .header-container .header-wrapper .menu-toggle{line-height:4rem;cursor:pointer;-webkit-transition:width 0.3s ease;-moz-transition:width 0.3s ease;-o-transition:width 0.3s ease;transition:width 0.3s ease}#header-mobile .header-container .header-wrapper .menu-toggle span{display:block;background:#161209;width:1.5rem;height:2px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-transition:all 0.3s ease-in-out;-moz-transition:all 0.3s ease-in-out;-o-transition:all 0.3s ease-in-out;transition:all 0.3s ease-in-out}[theme=dark] #header-mobile .header-container .header-wrapper .menu-toggle span{background:#DDD}#header-mobile .header-container .header-wrapper .menu-toggle span:nth-child(1){margin-bottom:.5rem}#header-mobile .header-container .header-wrapper .menu-toggle span:nth-child(3){margin-top:.5rem}#header-mobile .header-container .header-wrapper .menu-toggle.active span:nth-child(1){-webkit-transform:rotate(45deg) translate(0.4rem, 0.5rem);-moz-transform:rotate(45deg) translate(0.4rem, 0.5rem);-ms-transform:rotate(45deg) translate(0.4rem, 0.5rem);-o-transform:rotate(45deg) translate(0.4rem, 0.5rem);transform:rotate(45deg) translate(0.4rem, 0.5rem)}#header-mobile .header-container .header-wrapper .menu-toggle.active span:nth-child(2){opacity:0}#header-mobile .header-container .header-wrapper .menu-toggle.active span:nth-child(3){-webkit-transform:rotate(-45deg) translate(0.4rem, -0.5rem);-moz-transform:rotate(-45deg) translate(0.4rem, -0.5rem);-ms-transform:rotate(-45deg) translate(0.4rem, -0.5rem);-o-transform:rotate(-45deg) translate(0.4rem, -0.5rem);transform:rotate(-45deg) translate(0.4rem, -0.5rem)}#header-mobile .header-container .menu{text-align:center;background:#ececec;border-top:2px solid #2c678d;display:none;padding-top:.5rem;-webkit-box-shadow:0 0.125rem 0.25rem rgba(0,0,0,0.1);box-shadow:0 0.125rem 0.25rem rgba(0,0,0,0.1)}#header-mobile .header-container .menu ul{padding:0}#header-mobile .header-container .menu ul li{list-style:none}#header-mobile .header-container .menu .search-wrapper{display:flex;justify-content:space-between;align-items:center;box-sizing:border-box;padding:.5rem 1rem;line-height:2.5rem}#header-mobile .header-container .menu .search{flex-grow:10}#header-mobile .header-container .menu .search .algolia-autocomplete,#header-mobile .header-container .menu .search input{width:100%}#header-mobile .header-container .menu .search-button{top:0}#header-mobile .header-container .menu .search-cancel{display:none;margin-left:.75rem}#header-mobile .header-container .menu .menu-item{display:block;line-height:2.5rem}#header-mobile .header-container .menu.active{display:block}[theme=dark] #header-mobile .header-container .menu{background:#252627;border-top-color:#a9a9b3}#header-mobile.open .header-wrapper{margin-top:-3.5rem}#header-mobile.open .menu{padding-top:0;border-top:none}#header-mobile.open .menu .menu-item{display:none}#header-mobile.open .menu .search-cancel{display:inline}.search-dropdown{position:fixed;z-index:200;top:3.5rem;-webkit-box-shadow:0 0.125rem 0.25rem rgba(0,0,0,0.1);box-shadow:0 0.125rem 0.25rem rgba(0,0,0,0.1)}.search-dropdown.desktop{right:2rem;width:30rem}.search-dropdown.mobile{right:0;width:100%}.search-dropdown .dropdown-menu{right:0 !important;background-color:#fff}[theme=dark] .search-dropdown .dropdown-menu{background-color:#282c35}.search-dropdown .dropdown-menu .suggestions{overflow-y:auto;max-height:calc(100vh - 3.5rem)}.search-dropdown .dropdown-menu .suggestions .suggestion{padding:.75rem 1rem}.search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-title{display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:1rem;font-weight:bold;max-width:75%}.search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-date{font-size:.875rem;float:right;text-align:right;color:#a9a9b3}[theme=dark] .search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-date{color:#939090}.search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-context{line-height:1.25rem;display:-moz-box;display:-webkit-box;display:box;-webkit-box-orient:vertical;-moz-box-orient:vertical;box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;text-overflow:ellipsis;word-wrap:break-word;overflow-wrap:break-word;color:#a9a9b3}[theme=dark] .search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-context{color:#939090}.search-dropdown .dropdown-menu .suggestions .suggestion em{font-style:normal;background-color:rgba(53,166,247,0.25)}[theme=dark] .search-dropdown .dropdown-menu .suggestions .suggestion em{background-color:rgba(50,112,194,0.4)}.search-dropdown .dropdown-menu .suggestions .suggestion.cursor{background:#dedee5}[theme=dark] .search-dropdown .dropdown-menu .suggestions .suggestion.cursor{background:#323843}.search-dropdown .dropdown-menu .suggestions .suggestion:hover{cursor:pointer}.search-dropdown .dropdown-menu .search-empty{padding:1rem;text-align:center}.search-dropdown .dropdown-menu .search-empty .search-query{font-weight:bold}[theme=dark] .search-dropdown .dropdown-menu .search-empty .search-query{color:#ddd}.search-dropdown .dropdown-menu .search-footer{padding:.5rem 1rem;float:right;font-size:.8rem;color:#a9a9b3}.search-dropdown .dropdown-menu .search-footer [theme=dark]{color:#939090}.search-dropdown .dropdown-menu .search-footer a,.search-dropdown .dropdown-menu .search-footer a::before,.search-dropdown .dropdown-menu .search-footer a::after{text-decoration:none;color:#2c678d}[theme=dark] .search-dropdown .dropdown-menu .search-footer a,[theme=dark] .search-dropdown .dropdown-menu .search-footer a::before,[theme=dark] .search-dropdown .dropdown-menu .search-footer a::after{color:#55bde2}.search-dropdown .dropdown-menu .search-footer a:active,.search-dropdown .dropdown-menu .search-footer a:hover{color:#ef3982}[theme=dark] .search-dropdown .dropdown-menu .search-footer a:active,[theme=dark] .search-dropdown .dropdown-menu .search-footer a:hover{color:#ef3982}.search-dropdown .dropdown-menu .search-footer a{font-size:1rem}.footer{width:100%;text-align:center;line-height:1.25rem;margin:3rem 0 1rem 0}.footer .footer-container{font-size:.875rem}.footer .footer-container .footer-line{width:100%}.footer .footer-container .footer-line .icp-br{display:none}.blur .footer{-webkit-filter:blur(1.5px);-moz-filter:blur(1.5px);-ms-filter:blur(1.5px);filter:blur(1.5px)}.pagination{display:flex;flex-direction:row;justify-content:center;list-style:none;white-space:nowrap;width:100%;padding:1rem 0 0}.pagination a{font-size:.8rem;color:#bfbfbf;letter-spacing:.1rem;font-weight:700;padding:5px 5px;text-decoration:none;-webkit-transition:0.3s;-moz-transition:0.3s;-o-transition:0.3s;transition:0.3s}.pagination li{padding-bottom:3px;margin:0 20px;box-sizing:border-box;position:relative;display:inline}.pagination li.disabled{display:none}.pagination li:hover a{color:#000}[theme=dark] .pagination li:hover a{color:#fff}.pagination li:before,.pagination li:after{position:absolute;content:"";width:0;height:3px;background:#000;-webkit-transition:0.3s;-moz-transition:0.3s;-o-transition:0.3s;transition:0.3s;bottom:0px}[theme=dark] .pagination li:before,[theme=dark] .pagination li:after{background:#fff}.pagination li:before .active,.pagination li:after .active{width:100%}.pagination li:before{left:50%}.pagination li:after{right:50%}.pagination li:hover:before,.pagination li:hover:after{width:50%}.pagination li.active a{color:#000}[theme=dark] .pagination li.active a{color:#fff}.pagination li.active:before,.pagination li.active:after{width:60%}@media only screen and (max-width: 1440px){.page,.content-block-position{width:56%}}@media only screen and (max-width: 1200px){.page,.content-block-position{width:52%}#header-desktop .header-wrapper{padding-right:1rem}.search-dropdown.desktop{right:1rem}}@media only screen and (max-width: 960px){#toc-auto{display:none}#toc-static{display:block}.page,.content-block-position{width:80%}#header-desktop .header-wrapper{padding-left:1rem}}@media only screen and (max-width: 680px){#header-desktop{display:none}#header-mobile{display:block}body.blur{overflow:hidden}.page,.content-block{width:100%}.page .categories-card .card-item,.content-block .categories-card .card-item{width:100%}.copyright .copyright-line .icp-splitter{display:none}.copyright .copyright-line .icp-br{display:block}}body{line-height:1.9rem}.summary-title{margin:0;font-size:1.6em}.summary-content{color:#a9a9b3;display:block}.summary-content p{margin:0}.header{box-shadow:0 0 10px rgba(0,0,0,0.1)}.logo-svg{fill:#2c678d}[theme=dark] .logo-svg{fill:#DDD}.content-block{border-radius:20px;box-shadow:0 0 1.5rem 0 rgba(0,0,0,0.1)}[theme=dark] .content-block{background:#1B1B1C}.article-post .content-block-position:last-child{margin-bottom:0}.article-post .content-break h2{font-size:230%;padding-top:90px;text-align:center;line-height:3rem;margin-bottom:0.5rem;margin-top:7rem}.article-post .content-break h2 a.header-mark:before{content:none}.article-post .content-break h2>.content-block-position:first-child{margin-top:0}.article-post .content-break img{margin-top:40px;border-radius:20px;width:100%;box-shadow:0 0 1.5rem 0 rgba(0,0,0,0.1)}.article-post .str{font-weight:bold}[theme=dark] .article-post .str{color:#ddd}.article-post .marker-text{background:#fff3bc;font-style:inherit;padding:4px 7px 6px;box-decoration-break:clone}[theme=dark] .article-post .marker-text{background:#AE8029}.article-post .featured-image{border-top-left-radius:20px;border-top-right-radius:20px}.article-post a.button{display:inline-block;padding:10px 20px;max-width:90%;box-sizing:border-box;text-decoration:none;border-radius:10px;background-color:#333;border:solid 4px #333;color:#FFF;text-align:center;-webkit-transition:all 0.2s ease;-moz-transition:all 0.2s ease;-o-transition:all 0.2s ease;transition:all 0.2s ease}[theme=dark] .article-post a.button{color:#FFF !important}.article-post a.button:hover{color:#333;background-color:inherit}[theme=dark] .article-post a.button:hover{background:#1B1B1C}.article-post a.button-big{padding:15px 30px;font-size:160%;font-weight:bold}.article-post a.button-white{background-color:inherit;border-color:white;color:#FFF}.article-post a.button-white:hover{color:#333;border-color:#333}.article-post a.button-black{background-color:#000;color:#FFF;border-color:#FFF}.article-post a.button-black:hover{background-color:#FFF;color:#333}.article-post a.button-red{background-color:#fb0021;border:solid 2px #fb0021}.article-post a.button-red:visited{color:#ffffff}.article-post a.button-red:hover{background-color:#FFF;color:#fb0021}.article-post a.big-grey-button{display:inline-block;max-width:90%;box-sizing:border-box;padding:15px 30px;background-color:#666;border:solid 2px #555;color:#FFF;text-align:center;text-decoration:none;font-size:160%;font-weight:bold;border-radius:20px;margin:50px auto 0}.article-post a.big-grey-button:hover{background-color:#FFF;color:#666}.article-mini{border-radius:20px;cursor:pointer}.summary-animation{box-shadow:none;-webkit-transition:all 0.4s ease-out;-moz-transition:all 0.4s ease-out;-o-transition:all 0.4s ease-out;transition:all 0.4s ease-out}.summary-animation:hover{-webkit-box-shadow:0 0 40px 0 rgba(0,0,0,0.1);box-shadow:0 0 40px 0 rgba(0,0,0,0.1);-webkit-transition:all 0.4s ease-out;-moz-transition:all 0.4s ease-out;-o-transition:all 0.4s ease-out;transition:all 0.4s ease-out}[theme=dark] .summary-animation{box-shadow:none}[theme=dark] .summary-animation:hover{border:2px solid #1B1B1C;transform:none;-webkit-transition:all 0.4s ease;-moz-transition:all 0.4s ease;-o-transition:all 0.4s ease;transition:all 0.4s ease;-webkit-box-shadow:0 0 1.5rem rgba(94,104,125,0.3);box-shadow:0 0 1.5rem rgba(94,104,125,0.3)}.post-tags-summary-image{position:absolute;right:13px;top:13px;z-index:1}.post-tags-summary-under-footer{margin-bottom:6rem;margin-top:0.5rem;text-align:right}.post-tags-summary-footer{margin-top:1rem;text-align:right}a.post-tag-summary{background:#2c678d;opacity:0.9;padding:2px 6px 2px 6px;border-radius:5px;margin-right:5px;color:white;font-size:14px;display:inline-block;margin-top:5px}a.post-tag-summary:hover{color:white}.page{max-width:900px;width:100%;min-width:200px;box-sizing:border-box}[data-header-desktop] .page{margin-top:6rem;padding-top:0}.content-block-position{max-width:900px;width:100%;min-width:200px;box-sizing:border-box;margin-top:5rem}.page.home{max-width:800px}.home .home-profile{text-align:left;padding-bottom:4rem}.home .home-profile .home-meta{display:inline-block;width:80%}.home .home-profile .home-title{font-size:30px}.home .home-profile .home-avatar{vertical-align:top;width:120px;display:inline-block;box-sizing:border-box;margin-right:10px}.home .home-profile .home-avatar img{border-radius:10px;width:7rem}.home .home-profile .home-avatar img:hover{box-shadow:0 0 40px rgba(0,0,0,0.1)}[theme=dark] .home .home-profile .home-avatar img{box-shadow:0 0 0 0.3618em #a9a9b3}[theme=dark] .home .home-profile .home-avatar img:hover{position:relative;-webkit-transform:translateY(-0.75rem);-moz-transform:translateY(-0.75rem);-ms-transform:translateY(-0.75rem);-o-transform:translateY(-0.75rem);transform:translateY(-0.75rem);box-shadow:0 0 40px rgba(94,104,125,0.3)}.home[data-home=posts] .summary{padding-top:0;padding-bottom:1rem;margin-bottom:6rem;border:2px solid #DDD;background:#fff;border-radius:20px}[theme=dark] .home[data-home=posts] .summary{border:2px solid #a9a9b3;background:#1B1B1C}.home[data-home=posts] .summary:hover{cursor:pointer}.home[data-home=posts] .summary .featured-image-preview{margin:0 auto}.home[data-home=posts] .summary .featured-image-preview:hover{transform:none}#data-header-desktop{line-height:3.2rem}.img-style{margin:1.5rem 0}.img-center{margin-left:auto;margin-right:auto}.img-size-30{width:30%}.img-size-50{width:50%}.img-right{float:right;margin-left:10px}.img-frame{margin-bottom:1.5rem}.img-frame img{box-shadow:0 0 10px rgba(0,0,0,0.2)}.img-frame p{margin:0}.list-smile ul,.list-smile ol{list-style-type:none;text-indent:-1.5rem}.single p+ul{margin-top:-1.2rem;margin-bottom:1.2rem}.single br+img{margin-top:1.2rem}.single h2[id^=u-]>.header-mark::before,.single h3[id^=u-]>.header-mark::before,.single h4[id^=u-]>.header-mark::before,.single h5[id^=u-]>.header-mark::before,.single h6[id^=u-]>.header-mark::before{content:none}.single #comments{padding:0}.comments{padding:20px 60px 20px;border-radius:30px;background:#eee;margin-top:3rem;box-shadow:0 0 1.5rem 0 rgba(0,0,0,0.1)}[theme=dark] .comments{background:#1B1B1C}.block-author{padding:20px;background-color:#eee;color:black;display:inline-block;width:100%;box-sizing:border-box;border-radius:6px}[theme=dark] .block-author{background-color:#eee}.block-author .author-avatar{width:75px;padding:0 15px 0 0}.block-author .author-info{vertical-align:middle;display:inline-block;box-sizing:border-box;line-height:1.6rem;font-size:16px}.block-author .author-info a{color:black}.block-author .author-info a:hover{color:#2d96bd}.block-author .author-info .name a{border-bottom:none;color:#161209;font-weight:700}.author-avatar{vertical-align:middle;box-sizing:border-box;display:inline-block}.author-avatar img{display:block;width:100%;border-radius:100%}.author-avatar-comment{width:105px;padding:0 25px 0 0}.article-text{padding-top:20px;padding-left:20px;padding-right:20px}.header-post{box-shadow:0 -0.9rem 1.5rem 0 rgba(0,0,0,0.1);margin:6rem 1rem 0;max-width:900px;width:100%;min-width:200px;box-sizing:border-box;border-radius:20px 20px 0 0}[theme=dark] .header-post{background:#1B1B1C}.header-post .single-title{margin:0 !important;border-bottom:1px solid #DDD;font-size:1.6rem;font-weight:bold;line-height:140%}.header-post .featured-image{height:86vh;min-height:200px;position:relative;background-position:center 50%;background-repeat:no-repeat;background-size:cover;border-radius:10px 10px 0px 0px}.header-post .featured-image .post-title{position:absolute;bottom:0;background:#000;opacity:0.85;width:100%;color:#ffffff}.header-post .single-subtitle{margin:.4rem 0;font-size:1.2rem;font-weight:normal;font-style:italic;line-height:100%}.header-post .single-subtitle:before{content:none}.header-post .post-meta-line a{color:#a9a9b3}.header-post .post-meta-line span{margin-right:13px}.header-post .post-meta-line span i.svg-icon{margin-right:1px}.post-all-meta{padding:20px 60px 20px}.donate-link:after{padding-left:6px;content:"\01F37A"}.donate-link:hover::after{content:"\01F37B"}.author-comment{padding:40px 0}.author-comment .name{color:#161209;font-weight:700;font-size:18px;line-height:28px}[theme=dark] .author-comment .name{color:#DDDDDD}.author-comment .author-comment-text{color:#161209;font-size:24px}[theme=dark] .author-comment .author-comment-text{color:#DDDDDD}.post-nav{padding:0.3rem 0 1rem;display:flex;justify-content:space-between;font-size:0.9rem}.post-nav a[rel="next"]{text-align:right}.page-toc{margin:0}.page-toc .header-post{margin:6rem 1rem 0}.page-toc .header-post{margin:6rem 1rem 0}.page-toc .content-block-position{margin-left:1rem}.content-break{max-width:900px}#toc-auto{line-height:1.5rem}.breadcrumbs{font-size:15px;color:#a9a9b3}.breadcrumbs a{color:#a9a9b3}.breadcrumbs ol{margin:0;padding:0}.breadcrumbs ol li{display:inline-block;list-style:none}.breadcrumbs ol li:not(:first-child):before{content:"/";margin:0 3px 0 3px}.theme-full .content-block-first,.theme-classic .content-block-first,.theme-wide .content-block-first{margin-top:0 !important;box-shadow:0 1.2rem 1.2rem 0 rgba(0,0,0,0.1);border-radius:0 0 20px 20px}.theme-full .header-post,.theme-classic .header-post,.theme-wide .header-post{margin-left:auto;margin-right:auto}.theme-mega-full .header-post{height:100vh;max-width:none;border-radius:0;margin:0 !important}.theme-mega-full .header-post h1{font-size:2.1rem !important}.theme-mega-full .header-post .featured-image{height:100vh}.theme-classic .header-post,.theme-wide .header-post,.theme-full .header-post{margin-top:6rem;margin-right:auto;margin-bottom:0;margin-left:auto}.theme-classic .article-post,.theme-wide .article-post,.theme-full .article-post{margin-top:-20px}.theme-classic.page-toc .header-post,.theme-wide.page-toc .header-post,.theme-full.page-toc .header-post{margin-top:6rem;margin-right:auto;margin-bottom:0;margin-left:1rem}.theme-full .post-title a{color:#a9a9b3}.theme-wide .image-theme-wide{margin-right:-60px;margin-left:-60px;margin-bottom:10px}.content-block-first p:first-child{margin-top:0}.theme-mega-full.page-toc .content-block-first{margin-top:2rem}.post-update{border-radius:6px;padding:10px;background-color:#a9a9b3;color:#161209}[theme=dark] .post-update b{color:black !important}.post-navigation{display:flex;margin-bottom:2rem}.post-navigation .post-nav-box{flex:none;width:49%;display:block}.post-navigation .post-nav-box :hover{color:#ef3982}.post-navigation .nav-box-prev{margin-right:16px}.post-navigation .nav-box{justify-content:space-between;align-items:center;display:flex !important;justify-content:space-between;border-radius:6px;box-shadow:0 0 1em 0 rgba(10,10,10,0.1),0 0 0 1px rgba(10,10,10,0.02);color:#2c678d;padding:1.25rem}[theme=dark] .post-navigation .nav-box{background-color:#DDD;box-shadow:0 0 20px 2px rgba(94,104,125,0.3)}.post-navigation .nav-icon{height:2rem;width:2rem}.post-navigation .nav-text-h{font-size:.75rem}.post-share{margin-bottom:10px}.post-tags{box-sizing:border-box;font-size:14px}.post-tags .tag{margin-top:10px;margin-right:8px;padding:1px 10px 1px 10px;border-radius:4px;color:#DDD;display:inline-block;border:2px solid #DDD}[theme=dark] .post-tags .tag{color:#DDD}.post-share-toc{margin:1rem 0}.is-style-explanation{padding:.75rem 1rem .75rem 4rem;font-size:1rem;position:relative;margin:0 0 1.5rem;border-left:1px solid #2c678d;background:linear-gradient(90deg, #2c678d, #eee);background-size:100% 1px;background-repeat:no-repeat;background-position:0 0}[theme=dark] .is-style-explanation{background:linear-gradient(90deg, #2c678d, #1B1B1C);background-size:100% 1px;background-repeat:no-repeat;background-position:0 0}.is-style-explanation :after{content:"";position:absolute;bottom:0;left:0;height:1px;width:25%;background:linear-gradient(90deg, #2c678d, #eee)}[theme=dark] .is-style-explanation :after{background:linear-gradient(90deg, #2c678d, #1B1B1C)}.is-style-explanation :before{content:"Hey!";font-style:italic;font-weight:700;color:#2c678d;position:absolute;top:.75rem;left:1rem}.post-tags-summary-under-footer-display{display:none}.block-media_column{display:inline-block;width:100%}.block-media_column .content-column{display:block;float:left;width:50%;border-right:solid 5px transparent;box-sizing:border-box}.block-media_column .content-column img{width:100%}.block-media_column .content-column :first-child{margin-top:0}.block-media_right{float:right;text-align:right;padding-right:0;margin-left:40px;margin-bottom:10px}.block-media_left{width:50%;float:left;text-align:left;padding-right:0;margin-right:40px}figure{margin:.5rem;text-align:center}figure .image-caption:not(:empty){box-sizing:border-box;border-left:none;width:90%;padding:10px 0 0 0;margin:0 auto;text-align:center;font-weight:500;color:#666;font-size:95%;min-width:20%;max-width:80%;display:inline-block}[theme=dark] figure .image-caption:not(:empty){color:#a9a9b3}figure img{display:block;height:auto;margin:0 auto;overflow:hidden}.post-meta{font-size:.875rem;color:#a9a9b3}.post-meta span{display:inline-block}.post-meta span.svg-icon{margin-right:3px}[theme=dark] .post-meta{color:#939090}.post-meta a,.post-meta a::before,.post-meta a::after{text-decoration:none;color:#2c678d}[theme=dark] .post-meta a,[theme=dark] .post-meta a::before,[theme=dark] .post-meta a::after{color:#a9a9b3}.post-meta a:active,.post-meta a:hover{color:#ef3982}[theme=dark] .post-meta a:active,[theme=dark] .post-meta a:hover{color:#ef3982}.post-meta .author{font-size:1.05rem}.summary-post-meta{font-size:0.8rem}.summary-post-meta .author{font-size:0.8rem}.summary-post-meta .meta-item{margin-right:13px}.summary-post-meta .meta-item i.svg-icon{margin-right:1px}.page.home{padding-top:32px}.wrapper main .container.content-article{padding:0}.split-post{margin-right:-60px;margin-left:-60px}.split-post pre,.split-post .table-wrapper,.split-post .admonition{border-radius:0 !important}.split-post .details-icon{display:none}.split-post img{width:100%;box-shadow:none}.split-post-center .admonition{padding:0 3.4rem}.split-post-center-border .admonition{border-left-width:0;padding:0 3.7rem}.theme-hero .header-post{max-width:none;margin:0 !important;border-bottom:1px solid #CDD2D4;padding-bottom:80px;background-color:#fff;position:relative;display:block;box-sizing:border-box}[theme=dark] .theme-hero .header-post{background-color:#1B1B1C}.post-hero.mobile{display:block;padding-bottom:32px}.post-hero.mobile .post-hero-grid{flex-direction:column}.post-hero-grid{display:flex;flex-direction:row;align-items:center;padding-right:16px;padding-left:16px}.post-hero-grid .post-hero-info{flex:1;display:flex;flex-direction:column;justify-content:center;margin-right:78px}.post-hero-grid .post-hero-logo{flex:1;display:flex;flex-direction:column;justify-content:center}.hero-text-container .hero-text-description{margin-top:24px;margin-bottom:32px}[theme=dark] .hero-text-container .hero-text-description{color:#939090}.hero-text-container span{font-weight:600;font-size:10px;letter-spacing:1px;line-height:16px;text-transform:uppercase;margin-bottom:0}.hero-text-container h1{font-weight:400;color:#000000;letter-spacing:0.2px;line-height:32px}[theme=dark] .hero-text-container h1{color:#DDD}.hero-text-container p{font-weight:400;font-size:16px;color:#333333;letter-spacing:0.1px;text-align:left;line-height:24px}.hero-author .hero-author-profile{display:flex;align-items:center;height:56px;margin-bottom:24px}.hero-author .hero-author-profile .hero-author-profile-name{font-size:16px;color:#242424;letter-spacing:-0.2px;text-align:left;line-height:24px}[theme=dark] .hero-author .hero-author-profile .hero-author-profile-name{color:#DDD}.hero-author .hero-author-profile .hero-author-profile-title{font-size:16px;color:#606060;font-weight:300;letter-spacing:0.1px;text-align:left;line-height:24px}[theme=dark] .hero-author .hero-author-profile .hero-author-profile-title{color:#DDD}.hero-author .hero-author-profile:last-of-type{margin-bottom:0}.hero-author img.hero-author-avatar{height:100%;border-radius:50%;margin-right:16px}.hero-author .profile-text-wrapper{display:flex;flex-direction:column}.hero-author h4{font-weight:500;font-size:13px;color:#333333;letter-spacing:0.08px;text-align:left;line-height:24px;margin:0}.hero-author p{opacity:0.7;font-weight:400;font-size:13px;color:#333333;letter-spacing:0.08px;text-align:left;line-height:24px;margin:0}.rendered{opacity:0.7;font-weight:400;font-size:13px;color:#333333;letter-spacing:0.08px;text-align:left;line-height:24px;margin:32px 1.5rem 0}[theme=dark] .rendered{color:#DDD}.hero-img{margin:0;display:flex;justify-content:center}.hero-img img{align-self:center}.hero-tags{text-align:center;margin-top:3rem}[theme=dark] .hero-tags{color:#DDD}.cat-cit{margin-top:4rem;margin-bottom:4rem;border:2.5px dashed #2c678d;padding:10px}.cat-cit .no-adb{color:black}.header-title-share{text-align:center}.header-title-share a{font-size:12px;display:inline-block;padding:2px 7px;border:solid 2px #555555;border-radius:15px;color:#555555;text-decoration:none;margin-right:4px;line-height:16px}[theme=dark] .header-title-share a{color:#DDD}.home[data-home=posts] .post-pinned .summary{border:3px solid #2c678d}.display-hidden{clip:rect(1px, 1px, 1px, 1px);height:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px;z-index:-1000;user-select:none}code:not([class*="language-"]){background:#f5f2f0;padding:.4rem;border-radius:3px;font-size:0.8em}[theme=dark] code:not([class*="language-"]){color:#161209}pre[class*="language-"]{border-radius:10px}code[class*="language-"],pre[class*="language-"]{line-height:1.4;font-size:1.05rem}code[class*="language-"] marker,pre[class*="language-"] marker{background:rgba(242,201,76,0.35);border-radius:3px;color:inherit;margin:1px 0;padding:3.2px 0}.post-sort{text-align:right;margin-bottom:5px}.post-sort ol li{margin-left:7px;list-style:none;display:inline-block}.see-also{border:4px double #2c6789;padding:15px 20px;margin-top:2em;margin-bottom:2em;border-radius:10px}.see-also .see-title{margin:0 0 0.5em;font-size:1.5rem;font-weight:bold}.see-also ul{margin-bottom:0;list-style:none;padding-left:0}.see-also a{word-wrap:break-word;overflow-wrap:break-word;border-bottom:dashed 1px}[theme=dark] .see-also a b,[theme=dark] .see-also a strong{color:#55bde2}.see-also a:visited{color:#70a0b0}[theme=dark] .see-also a:visited{color:#70a0b0}.see-also a[class="header-mark"],.see-also .post-footer a{border-bottom:none}.see-also [theme=dark] a:hover b,.see-also [theme=dark] a:hover strong{color:#bdebfc}.mermaid{font-weight:400;font-size:16px;line-height:1.5rem}.mermaid p{margin:.5rem 0 !important}.post-info-share{text-align:center;padding:40px 0 40px 0}.post-share a.share-icon{border-bottom:2px solid}.post-share a.share-icon:hover{background:white;-webkit-transition:background 0.2s ease;-moz-transition:background 0.2s ease;-o-transition:background 0.2s ease;transition:background 0.2s ease}.post-share a.share-icon:hover .svg-social-icon{background-image:url(/img/icon/sprite-social-color.svg)}[theme=dark] .post-share a.share-icon:hover{background:#1B1B1C}.share-link{margin-top:15px;margin-right:8px;display:inline-block}.share-link a.share-telegram{background:#2CA5E0;border-color:#2CA5E0}.share-link a.share-twitter{background:#1DA1F2;border-color:#1DA1F2}.share-link a.share-vk{background:#4680C2;border-color:#4680C2}.share-link a.share-facebook{background:#1877F2;border-color:#1877F2}.share-link a.share-whatsapp{background:#25D366;border-color:#25D366}.share-link a.share-pocket{background:#EF3F56;border-color:#EF3F56}.share-link a.share-linkedin{background:#0077B5;border-color:#0077B5}.share-link a.share-viber{background:#665CAC;border-color:#665CAC}.share-link a.share-pinterest{background:#BD081C;border-color:#BD081C}.share-link a.share-tumblr{background:#36465D;border-color:#36465D}.share-link a.share-reddit{background:#FF4500;border-color:#FF4500}.share-link a.share-buffer{background:#168EEA;border-color:#168EEA}.share-link a.share-xing{background:#006567;border-color:#006567}.share-link a.share-line{background:#00C300;border-color:#00C300}.share-link a.share-instapaper{background:#1F1F1F;border-color:#1F1F1F}.share-link a.share-digg{background:#000000;border-color:#000000}.share-link a.share-stumbleupon{background:#FD8235;border-color:#FD8235}.share-link a.share-flipboard{background:#E12828;border-color:#E12828}.share-link a.share-weibo{background:#20B8E5;border-color:#20B8E5}.share-link a.share-renren{background:#217DC6;border-color:#217DC6}.share-link a.share-myspace{background:#030303;border-color:#030303}.share-link a.share-blogger{background:#FF5722;border-color:#FF5722}.share-link a.share-baidu{background:#2319DC;border-color:#2319DC}.share-link a.share-ok{background:#EE8208;border-color:#EE8208}.share-link a.share-evernote{background:#00A82D;border-color:#00A82D}.share-link a.share-skype{background:#00AFF0;border-color:#00AFF0}.share-link a.share-trello{background:#0079BF;border-color:#0079BF}.share-link a.share-mix{background:#FF8126;border-color:#FF8126}.share-link a.share-hackernews{background:#FF8126;border-color:#FF8126}.share-text{font-size:30px;margin-bottom:10px}.share-icon{border-radius:6px;padding:10px 12px 4px 12px;border:2px solid}.svg-social-icon{display:inline-block;background-repeat:no-repeat;background-image:url(/img/icon/sprite-social.svg);width:20px;height:20px}.svg-social-icon-color{display:inline-block;background-repeat:no-repeat;background-image:url(/img/icon/sprite-social-color.svg);width:20px;height:20px}.icon-rss{background-position:0 0}.icon-mail-dot-ru{background-position:-25px 0}.icon-udemy{background-position:-50px 0}.icon-discord{background-position:-75px 0}.icon-docker{background-position:-100px 0}.icon-matrix{background-position:-125px 0}.icon-xmpp{background-position:-150px 0}.icon-gitea{background-position:-175px 0}.icon-mastodon{background-position:-200px 0}.icon-researchgate{background-position:-225px 0}.icon-google{background-position:0 -25px}.icon-vine{background-position:-25px -25px}.icon-wordpress{background-position:-50px -25px}.icon-dribbble{background-position:-75px -25px}.icon-behance{background-position:-100px -25px}.icon-deviantart{background-position:-125px -25px}.icon-jsfiddle{background-position:-150px -25px}.icon-angellist{background-position:-175px -25px}.icon-zhihu{background-position:-200px -25px}.icon-strava{background-position:-225px -25px}.icon-twitch{background-position:0 -50px}.icon-steam{background-position:-25px -50px}.icon-patreon{background-position:-50px -50px}.icon-kickstarter{background-position:-75px -50px}.icon-foursquare{background-position:-100px -50px}.icon-last-dot-fm{background-position:-125px -50px}.icon-goodreads{background-position:-150px -50px}.icon-500px{background-position:-175px -50px}.icon-paypal{background-position:-200px -50px}.icon-bandcamp{background-position:-225px -50px}.icon-spotify{background-position:0 -75px}.icon-soundcloud{background-position:-25px -75px}.icon-snapchat{background-position:-50px -75px}.icon-xing{background-position:-75px -75px}.icon-flickr{background-position:-100px -75px}.icon-stackoverflow{background-position:-125px -75px}.icon-bitbucket{background-position:-150px -75px}.icon-freecodecamp{background-position:-175px -75px}.icon-codepen{background-position:-200px -75px}.icon-pinterest{background-position:-225px -75px}.icon-keybase{background-position:0 -100px}.icon-quora{background-position:-25px -100px}.icon-tumblr{background-position:-50px -100px}.icon-youtube{background-position:-75px -100px}.icon-gitlab{background-position:-100px -100px}.icon-medium{background-position:-125px -100px}.icon-instagram{background-position:-150px -100px}.icon-linkedin{background-position:-175px -100px}.icon-github{background-position:-200px -100px}.icon-mixer{background-position:-225px -100px}.icon-trello{background-position:0 -125px}.icon-skype{background-position:-25px -125px}.icon-evernote{background-position:-50px -125px}.icon-odnoklassniki{background-position:-75px -125px}.icon-baidu{background-position:-100px -125px}.icon-blogger{background-position:-125px -125px}.icon-myspace{background-position:-150px -125px}.icon-renren{background-position:-175px -125px}.icon-sinaweibo{background-position:-200px -125px}.icon-flipboard{background-position:-225px -125px}.icon-digg{background-position:0 -150px}.icon-pocket{background-position:-25px -150px}.icon-instapaper{background-position:-50px -150px}.icon-line{background-position:-75px -150px}.icon-xing1{background-position:-100px -150px}.icon-buffer{background-position:-125px -150px}.icon-reddit{background-position:-150px -150px}.icon-tumblr1{background-position:-175px -150px}.icon-pinterest1{background-position:-200px -150px}.icon-viber{background-position:-225px -150px}.icon-linkedin1{background-position:0 -175px}.icon-telegram{background-position:-25px -175px}.icon-whatsapp{background-position:-50px -175px}.icon-facebook{background-position:-75px -175px}.icon-vk{background-position:-100px -175px}.icon-twitter{background-position:-125px -175px}.icon-leanpub{width:23px;height:20px;background-position:0 -200px}.icon-hacker-news{width:17px;height:20px;background-position:-50px -200px}.icon-stumbleupon{width:21px;height:20px;background-position:-75px -200px}@media only screen and (min-width: 1300px){.page-toc .article-post{margin-right:auto;margin-left:auto}.page-toc .content-block-position{margin:3rem auto 0}.theme-mega-full .content-block-first,.theme-hero .content-block-first{margin:2rem auto}.theme-classic.page-toc .header-post,.theme-wide.page-toc .header-post,.theme-full.page-toc .header-post{margin-right:auto;margin-left:auto}.theme-full .header-post .featured-image{height:40vh}.page,.content-block-position{width:100%}.post-share-toc{margin:1rem auto}}@media only screen and (min-width: 1201px){.page,.content-block-position{width:100%}.article-post{font-size:19px}.article-post .post{padding:45px 60px}.featured-image-preview img,.featured-image img{border-top-left-radius:17px;border-top-right-radius:17px}.padding-article{padding:40px 60px 20px 60px}}@media only screen and (max-width: 1200px){#toc-auto{display:none}#toc-static{display:block}.page,.content-block-position{width:100%}.theme-mega-full.page-toc .content-block-position,.theme-hero.page-toc .content-block-position{margin:2rem auto}.theme-mega-full.page-toc .content-break,.theme-hero.page-toc .content-break{margin-right:auto;margin-bottom:3rem;margin-left:auto}.page-toc .article-post{margin-right:auto;margin-left:auto}.page-toc .content-block-position{margin-left:auto;margin-right:auto}.theme-classic.page-toc .header-post,.theme-wide.page-toc .header-post,.theme-full.page-toc .header-post{margin-top:6rem;margin-right:auto;margin-bottom:0;margin-left:auto}.article-post{font-size:19px}.article-post .post{padding:45px 60px}.featured-image-preview img,.featured-image img{border-radius:30px 30px 0 0}.padding-article{padding:40px 60px 20px 60px}}@media only screen and (max-width: 960px){.page,.content-block-position{width:100%}.article-post{font-size:19px}.article-post .post{padding:45px 60px}.featured-image-preview img,.featured-image img{border-top-left-radius:17px;border-top-right-radius:17px}.padding-article{padding:40px 60px 20px 60px}.img-right{float:none;margin-left:auto;margin-right:auto}.img-size-30,.img-size-50{width:100%}}@media only screen and (max-width: 680px){.home .home-profile .home-avatar{display:none}.article-post{font-size:16px}.article-post .post{padding:10px 10px 30px 10px}.article-post .content-block{border-radius:0}.article-post .featured-image{border-radius:0}.article-post .content-block-position:first-child{margin-top:0}.article-post .content-break h2{margin-top:0}.header-post{border-radius:0;margin-top:0}.comments{padding:10px 10px 10px}.featured-image{height:100vh}.theme-wide .image-theme-wide{margin-right:-10px;margin-left:-10px}.theme-classic .header-post,.theme-wide .header-post,.theme-full .header-post{margin-top:3rem}.theme-classic .article-post,.theme-wide .article-post,.theme-full .article-post,.theme-mega-full .article-post,.theme-hero .article-post{margin-top:0}.single{border-radius:0}.featured-image-preview img,.featured-image img{border-top-left-radius:17px;border-top-right-radius:17px}.padding-article{padding:40px 10px 0 10px}figure.render-image{display:block;margin-left:-10px;margin-right:-10px}.split-post{margin-right:-10px;margin-left:-10px}.post-all-meta{padding:20px 10px 20px}.author-comment-text{font-size:18px}.post-navigation{display:inline-block;width:100%}.post-navigation .nav-box-prev{margin-right:0}.post-navigation .post-nav-box{width:100%;padding-top:10px}.post-tags .tag{padding:2px 5px 2px 5px;font-size:14px}.post-tags-summary-image{display:none}.post-tags-summary-under-footer-display{display:inline-block}.block-media_column .content-column{width:100%;padding-bottom:15px}.block-media_right,.block-media_left{width:100%;text-align:center;float:none;margin-left:0}.cat-cit{padding:0;border:0}[theme=dark] .cat-cit{background:initial}.cat-cit:before{content:"";width:100%;border-bottom:3px dashed #2c678d;margin-bottom:20px;display:block}.cat-cit:after{content:"";width:100%;border-top:3px dashed #2c678d;margin-top:20px;display:block}.breadcrumbs,span.tag-none-display{display:none}}@media only screen and (max-width: 400px){.home .article-post .featured-image-preview{display:none}.rendered{margin-top:15px;margin-left:5px;margin-right:5px}.post-meta .post-meta-views,.post-meta .post-meta-comments{display:none}.block-author .author-avatar{display:none}}@media print{div.menu,.fixed-button,.toc,#toc-auto,.post-info-share,.post-footer,.comments,.post-tags,footer,.breadcrumbs{display:none !important}.content-block-first,.content-block{box-shadow:none}.header-post{box-shadow:none;position:static;height:auto}.header-post .featured-image{height:0}.header-post .post-title{position:static;display:block;top:0}#header-desktop{box-shadow:none;border-bottom:1px solid black;padding-bottom:10px;position:absolute}#header-desktop .header-wrapper{padding:0}.post-all-meta{padding:0}.single .admonition .admonition-title{border-bottom-width:5px}[data-header-desktop] .page,[data-header-desktop] .content-block-position{margin-top:0}.single .post-meta{display:none}.single .post .admonition .details-icon{display:none}.article-post .content-block{box-shadow:none}.article-post .content-block-position:first-child{margin-top:0}.article-post .featured-image{height:0}.theme-full .content-block-first,.theme-classic .content-block-first,.theme-wide .content-block-first{box-shadow:none}}@media screen and (min-width: 900px){.post-hero{display:block}.post-hero.mobile{display:none}.post-hero-grid{max-width:1200px;margin:0 auto;padding:4rem 16px 0}.hero-text-container{padding:0}.hero-text-container span{font-size:13px;letter-spacing:1.35px;line-height:24px}.hero-text-container h1{opacity:0.9;font-weight:500;font-size:40px;letter-spacing:0px;line-height:48px;margin-bottom:24px}.hero-text-container p{font-size:24px;color:#606060;letter-spacing:0.2px;line-height:32px;margin-bottom:16px}.hero-author{padding:0}.hero-author h4{font-size:16px;color:#242424;letter-spacing:-0.2px;line-height:24px}.hero-author p{font-weight:300;font-size:16px;color:#606060;letter-spacing:0.1px}.rendered{font-weight:300;font-size:16px;color:#606060;letter-spacing:0.1px}.hero-img{height:528px;width:528px}}@media screen and (max-width: 900px){.hero-text-container{padding-top:6rem}.post-hero-grid .post-hero-logo{display:none}.post-hero-grid .post-hero-info{margin-right:0}}@media screen and (min-width: 400px){.hero-img{height:450px;width:450px}}@media screen and (min-width: 1200px){.hero-img{width:588px;height:528px}.hero-text-container h1{font-weight:600;font-size:60px;line-height:72px;letter-spacing:-1.35px}}
+html{font-family:system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:400;font-display:swap;font-size:16px;line-height:1.5rem;width:100%}::-webkit-scrollbar{width:.5rem;height:.5rem}::-webkit-scrollbar-thumb{background-color:#87878d}::-webkit-scrollbar-thumb:hover{background-color:#a9a9b3}::selection{background-color:rgba(53,166,247,0.25)}[theme=dark] ::selection{background-color:rgba(50,112,194,0.4)}body{background-color:#fff;color:#161209;word-wrap:break-word;overflow-wrap:break-word;scrollbar-color:auto}body[theme=dark]{color:#DDD;background-color:#282c35}input::-ms-clear{display:none}a,a::before,a::after{text-decoration:none;color:#161209}[theme=dark] a,[theme=dark] a::before,[theme=dark] a::after{color:#a9a9b3}a:active,a:hover{color:#2d96bd}[theme=dark] a:active,[theme=dark] a:hover{color:#ef3982}#mask{background-repeat:no-repeat;background-position:center;position:fixed;top:0;left:0;width:100%;height:100%;z-index:-1;background-color:rgba(0,0,0,0)}.blur #mask{z-index:100;background-color:rgba(0,0,0,0.25)}.svg-icon{display:inline-block;background-repeat:no-repeat;background-image:url(/img/icon/sprite.svg)}[theme=dark] .svg-icon{background-image:url(/img/icon/sprite-dark.svg)}.icon-moon{width:18px;height:24px;background-position:0 0;vertical-align:middle}.icon-search{width:20px;height:24px;background-position:-18px 0;vertical-align:middle}.icon-cancel{width:20px;height:24px;background-position:-39px 0;vertical-align:middle}.icon-loading{width:20px;height:24px;background-position:-60px 0;vertical-align:middle}.icon-arrow-right{width:20px;height:24px;background-position:-80px 0;vertical-align:middle}.icon-arrow-up{width:16px;height:22px;background-position:-100px 0;vertical-align:middle}.icon-comments-fixed{width:16px;height:22px;background-position:-122px 0;vertical-align:middle}.icon-eye{width:14px;height:12px;background-position:-155px 0}.icon-folder{width:14px;height:12px;background-position:-173px 0}.icon-clock{width:12px;height:12px;background-position:-190px 0}.icon-user{width:14px;height:12px;background-position:-205px 0}.icon-comments{width:14px;height:12px;background-position:-220px 0}.icon-pencil{width:11px;height:11.5px;background-position:-235px 0}.icon-stopwatch{width:11px;height:10.8px;background-position:-248px 0}.icon-copyright{width:14px;height:12px;background-position:-263px 0}.icon-eye-big{width:20px;height:24px;background-position:-300px 0;vertical-align:middle}.icon-clock-big{width:20px;height:24px;background-position:-325px 0;vertical-align:middle}.icon-pencil-big{width:20px;height:24px;background-position:-345px 0;vertical-align:middle}.icon-stopwatch-big{width:25px;height:23px;background-position:-362px 0;vertical-align:middle}.icon-copy{width:20px;height:25px;background-position:-390px 0;vertical-align:middle}.icon-ellipsis{width:20px;height:25px;background-position:-415px 0;vertical-align:middle}.icon-code-right{width:20px;height:25px;background-position:-428px 0;vertical-align:middle}img.emoji{height:1em;width:1em;margin:0 .05em 0 .1em;vertical-align:-.1em}.details .details-summary:hover{cursor:pointer}.details i.details-icon{color:#a9a9b3;-webkit-transition:transform 0.2s ease;-moz-transition:transform 0.2s ease;-o-transition:transform 0.2s ease;transition:transform 0.2s ease}[theme=dark] .details i.details-icon{color:#939090}.details .details-content{max-height:0;overflow-y:hidden;-webkit-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;-moz-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;-o-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s}.details.open i.details-icon{-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg)}.details.open .details-content{max-height:12000px;-webkit-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;-moz-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;-o-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s}#fixed-buttons{display:none}.fixed-button{display:none;z-index:100;position:fixed;right:1.5rem;padding:.31rem .75rem;background:#ececec;-webkit-border-radius:2rem;-moz-border-radius:2rem;border-radius:2rem;-webkit-transition:color 0.4s ease;-moz-transition:color 0.4s ease;-o-transition:color 0.4s ease;transition:color 0.4s ease}.blur .fixed-button{-webkit-filter:blur(1.5px);-moz-filter:blur(1.5px);-ms-filter:blur(1.5px);filter:blur(1.5px)}[theme=dark] .fixed-button{background:#252627}#back-to-top{display:block;bottom:1.5rem}#view-comments{bottom:4.5rem}.cc-window.cc-banner .cc-btn{color:#161209}.cc-window.cc-banner .cc-btn:hover,.cc-window.cc-banner .cc-btn:focus{background-color:#ccc}[theme=dark] .cc-window.cc-banner .cc-btn{color:#161209}[theme=dark] .cc-window.cc-banner .cc-btn:hover,[theme=dark] .cc-window.cc-banner .cc-btn:focus{background-color:#fff}img{-o-object-fit:contain;object-fit:contain;font-family:"object-fit: contain;"}.wrapper{display:flex;flex-direction:column;min-height:100vh;width:100%}.wrapper main{flex:1 0 auto}.wrapper main .container{padding:0 1rem}.page,.content-block-position{position:relative;max-width:800px;width:60%;margin:0 auto}.blur .page,.blur .content-block-position{-webkit-filter:blur(1.5px);-moz-filter:blur(1.5px);-ms-filter:blur(1.5px);filter:blur(1.5px)}.toc .toc-title{font-size:1.2rem;font-weight:bold;text-transform:uppercase;border-radius:6px;transition-property:border-radius;transition-duration:1.5s}.toc.open .toc-title{border-radius:6px 6px 0 0}.toc .toc-content{font-size:1rem;border-radius:0 0 6px 6px}.toc .toc-content ol,.toc .toc-content ul{text-indent:-0.85rem;padding-left:.8rem;list-style:none;margin:0}.toc .toc-content ol a,.toc .toc-content ul a{border-bottom:none}.toc .toc-content ol a:first-child::before,.toc .toc-content ul a:first-child::before{content:"|";font-weight:bolder;margin-right:.5rem;color:#2c678d}[theme=dark] .toc .toc-content ol a:first-child::before,[theme=dark] .toc .toc-content ul a:first-child::before{color:#55bde2}.toc .toc-content ol ol,.toc .toc-content ol ul,.toc .toc-content ul ol,.toc .toc-content ul ul{padding-left:1.5rem}.toc ruby{background:#ececf0}.toc ruby rt{color:#a9a9b3}[theme=dark] .toc ruby{background:#272C34}[theme=dark] .toc ruby rt{color:#939090}#toc-auto{display:block;position:absolute;width:12000px;max-width:0;padding:0 .8rem;border-left:4px solid #2c678d;word-wrap:break-word;overflow-wrap:break-word;box-sizing:border-box;top:10rem;left:0;visibility:hidden}[data-header-desktop=normal] #toc-auto{top:5rem}.blur #toc-auto{-webkit-filter:blur(1.5px);-moz-filter:blur(1.5px);-ms-filter:blur(1.5px);filter:blur(1.5px)}[theme=dark] #toc-auto{border-left-color:#a9a9b3}#toc-auto .toc-title{margin:.8rem 0}#toc-auto .toc-content.always-active ol,#toc-auto .toc-content.always-active ul{display:block}#toc-auto .toc-content>nav>ol,#toc-auto .toc-content>nav>ul{margin:.625rem 0}#toc-auto .toc-content ol ol,#toc-auto .toc-content ol ul,#toc-auto .toc-content ul ol,#toc-auto .toc-content ul ul{display:none}#toc-auto .toc-content ol .has-active>ol,#toc-auto .toc-content ol .has-active>ul,#toc-auto .toc-content ul .has-active>ol,#toc-auto .toc-content ul .has-active>ul{display:block}#toc-auto .toc-content a.active{font-weight:bold;color:#2c678d;font-size:0.99rem}[theme=dark] #toc-auto .toc-content a.active{color:#55bde2}#toc-auto .toc-content a.active::before{color:#ef3982}[theme=dark] #toc-auto .toc-content a.active::before{color:#bdebfc}#toc-static{display:none;margin:.8rem 0 .8rem 0}#toc-static[data-kept=true]{display:block}#toc-static .toc-title{display:flex;justify-content:space-between;line-height:2em;padding:0 .75rem;background:#dbdbe3}[theme=dark] #toc-static .toc-title{background:#9999a5}#toc-static .toc-content{background-color:#ececf0}#toc-static .toc-content>nav>ol,#toc-static .toc-content>nav>ul{margin:0;padding:.4rem 1rem .4rem 1.8rem}[theme=dark] #toc-static .toc-content{background-color:#272C34}#toc-static.open .toc-title{background:#e3e3e9}[theme=dark] #toc-static.open .toc-title{background:#20252b}.content-block .single>:first-child{margin-top:0 !important}.content-block .single>section:first-child>:first-child,.content-block .single>article:first-child>:first-child{margin-top:0 !important}.single li ul{margin:0}.single .single-title{margin:1rem 0 .5rem;font-size:1.6rem;font-weight:bold;line-height:140%}.single .featured-image img{display:block;max-width:100%;height:auto;margin:0 auto;overflow:hidden}.single .featured-image img.lazyloaded{width:100%}.single .post-footer{margin-top:3rem}.single .post-footer .post-info{border-bottom:1px solid #2c678d;padding:1rem 0 0.3rem}[theme=dark] .single .post-footer .post-info{border-bottom:1px solid #a9a9b3}.single .post-footer .post-info .post-info-line{display:flex;justify-content:space-between}.single .post-footer .post-info .post-info-line .post-info-mod{font-size:0.8em;color:#a9a9b3}[theme=dark] .single .post-footer .post-info .post-info-line .post-info-mod{color:#939090}.single .post-footer .post-info .post-info-line .post-info-mod a,.single .post-footer .post-info .post-info-line .post-info-mod a::before,.single .post-footer .post-info .post-info-line .post-info-mod a::after{text-decoration:none;color:#2c678d}[theme=dark] .single .post-footer .post-info .post-info-line .post-info-mod a,[theme=dark] .single .post-footer .post-info .post-info-line .post-info-mod a::before,[theme=dark] .single .post-footer .post-info .post-info-line .post-info-mod a::after{color:#55bde2}.single .post-footer .post-info .post-info-line .post-info-mod a:active,.single .post-footer .post-info .post-info-line .post-info-mod a:hover{color:#ef3982}[theme=dark] .single .post-footer .post-info .post-info-line .post-info-mod a:active,[theme=dark] .single .post-footer .post-info .post-info-line .post-info-mod a:hover{color:#ef3982}.single .post-footer .post-info .post-info-line .post-info-license{font-size:0.8em;color:#a9a9b3}[theme=dark] .single .post-footer .post-info .post-info-line .post-info-license{color:#939090}.single .post-footer .post-info .post-info-line .post-info-license a,.single .post-footer .post-info .post-info-line .post-info-license a::before,.single .post-footer .post-info .post-info-line .post-info-license a::after{text-decoration:none;color:#2c678d}[theme=dark] .single .post-footer .post-info .post-info-line .post-info-license a,[theme=dark] .single .post-footer .post-info .post-info-line .post-info-license a::before,[theme=dark] .single .post-footer .post-info .post-info-line .post-info-license a::after{color:#55bde2}.single .post-footer .post-info .post-info-line .post-info-license a:active,.single .post-footer .post-info .post-info-line .post-info-license a:hover{color:#ef3982}[theme=dark] .single .post-footer .post-info .post-info-line .post-info-license a:active,[theme=dark] .single .post-footer .post-info .post-info-line .post-info-license a:hover{color:#ef3982}.single .post-footer .post-info .post-info-line .post-info-md{font-size:0.8rem;width:8rem}.single .post-footer .post-info .post-info-line .post-info-md a,.single .post-footer .post-info .post-info-line .post-info-md a::before,.single .post-footer .post-info .post-info-line .post-info-md a::after{text-decoration:none;color:#2c678d}[theme=dark] .single .post-footer .post-info .post-info-line .post-info-md a,[theme=dark] .single .post-footer .post-info .post-info-line .post-info-md a::before,[theme=dark] .single .post-footer .post-info .post-info-line .post-info-md a::after{color:#55bde2}.single .post-footer .post-info .post-info-line .post-info-md a:active,.single .post-footer .post-info .post-info-line .post-info-md a:hover{color:#ef3982}[theme=dark] .single .post-footer .post-info .post-info-line .post-info-md a:active,[theme=dark] .single .post-footer .post-info .post-info-line .post-info-md a:hover{color:#ef3982}.single .post-footer .post-info .post-info-line .post-info-share a *{vertical-align:text-bottom}.single .post-footer .post-info-more{padding:0.3rem 0 1rem;display:flex;justify-content:space-between;font-size:0.9rem}.single .post-footer .post-tags{max-width:65%}.single .post-footer .post-tags *{display:inline}.single .post-footer .post-nav::before,.single .post-footer .post-nav::after{content:' ';display:table}.single .post-footer .post-nav a.prev,.single .post-footer .post-nav a.next{font-size:1rem;font-weight:600;-webkit-transition:all 0.3s ease-out;-moz-transition:all 0.3s ease-out;-o-transition:all 0.3s ease-out;transition:all 0.3s ease-out}.single .post-footer .post-nav a.prev{float:left}.single .post-footer .post-nav a.prev:hover{-webkit-transform:translateX(-4px);-moz-transform:translateX(-4px);-ms-transform:translateX(-4px);-o-transform:translateX(-4px);transform:translateX(-4px)}.single .post-footer .post-nav a.next{float:right}.single .post-footer .post-nav a.next:hover{-webkit-transform:translateX(4px);-moz-transform:translateX(4px);-ms-transform:translateX(4px);-o-transform:translateX(4px);transform:translateX(4px)}.single #comments{padding:8rem 0 2rem}.single h2{font-size:1.6rem}.single h3{font-size:1.375rem}.single h4{font-size:1.25rem}.single h5{font-size:1.125rem}.single h6{font-size:1rem}.single h2,.single h3,.single h4,.single h5,.single h6{font-weight:bold}[theme=dark] .single h2,[theme=dark] .single h3,[theme=dark] .single h4,[theme=dark] .single h5,[theme=dark] .single h6{font-weight:bolder}.single h2 code,.single h3 code,.single h4 code,.single h5 code,.single h6 code{background:#f5f2f0;padding:.4rem;border-radius:3px}.single h3,.single h4,.single h5,.single h6{font-weight:bold;margin-bottom:1rem;margin-top:3.2rem}.single h3+*,.single h4+*,.single h5+*,.single h6+*{margin-top:0 !important}.single h2{margin-bottom:1.2rem;font-size:2rem;margin-top:7rem}.single h3{font-size:1.6rem}.single h2>.header-mark::before,.single h3>.header-mark::before,.single h4>.header-mark::before,.single h5>.header-mark::before,.single h6>.header-mark::before{content:"|";margin-right:.3125rem;color:#2c678d;margin-left:-0.15rem;font-size:1.7rem}[theme=dark] .single h2>.header-mark::before,[theme=dark] .single h3>.header-mark::before,[theme=dark] .single h4>.header-mark::before,[theme=dark] .single h5>.header-mark::before,[theme=dark] .single h6>.header-mark::before{color:#55bde2}.single h2>.header-mark::before{content:"#";margin-left:-0.1rem}.single p{margin:1.5rem 0}[theme=dark] .single b,[theme=dark] .single strong{color:#ddd}.single a,.single a::before,.single a::after{text-decoration:none;color:#2c678d}[theme=dark] .single a,[theme=dark] .single a::before,[theme=dark] .single a::after{color:#55bde2}.single a:active,.single a:hover{color:#ef3982}[theme=dark] .single a:active,[theme=dark] .single a:hover{color:#ef3982}.single a{word-wrap:break-word;overflow-wrap:break-word;border-bottom:dashed 1px}[theme=dark] .single a b,[theme=dark] .single a strong{color:#55bde2}.single a:visited{color:#70a0b0}[theme=dark] .single a:visited{color:#70a0b0}.single a[class="header-mark"],.single .post-footer a{border-bottom:none}.single [theme=dark] a:hover b,.single [theme=dark] a:hover strong{color:#bdebfc}.single ul,.single ol{margin:1.2rem 0;padding-left:2.5rem}.single ul{list-style-type:disc}.single ruby{background:#ececf0}.single ruby rt{color:#a9a9b3}[theme=dark] .single ruby{background:#272C34}[theme=dark] .single ruby rt{color:#939090}.single .table-wrapper{overflow-x:auto;border-radius:6px 6px 0 0}.single .table-wrapper+.table-wrapper{margin-top:1rem}.single .table-wrapper::-webkit-scrollbar{background-color:#fff}[theme=dark] .single .table-wrapper::-webkit-scrollbar{background-color:#272c34}.single .table-wrapper>table{width:100%;max-width:100%;border-spacing:0;background:#fff}[theme=dark] .single .table-wrapper>table{background:#272c34}.single .table-wrapper>table thead{background:#ededed}[theme=dark] .single .table-wrapper>table thead{background-color:#20252b}.single .table-wrapper>table th,.single .table-wrapper>table td{padding:.18rem 1rem;border:1px solid #e8e8e8}[theme=dark] .single .table-wrapper>table th,[theme=dark] .single .table-wrapper>table td{border-color:#1c2025}.single .table-wrapper>table tr:last-child td:first-child{border-bottom-left-radius:6px}.single .table-wrapper>table tr:last-child td:last-child{border-bottom-right-radius:6px}.single img{max-width:100%;min-height:1em;content-visibility:auto}.single .lazyloading{-o-object-fit:none;object-fit:none;font-family:"object-fit: none;"}.single blockquote{display:block;border-left:0.3rem solid #6bd6fd;background-color:rgba(107,214,253,0.2);padding:.25rem .75rem;margin:1rem 0}[theme=dark] .single blockquote{border-left-color:#59c5ec;background-color:rgba(89,197,236,0.2)}.single .footnotes{color:#a9a9b3}[theme=dark] .single .footnotes{color:#939090}.single .footnotes p{margin:.25rem 0}[theme=dark] .single iframe.instagram-media{border:none !important}.single .admonition{border-radius:6px;position:relative;margin:1.7rem 0;padding:0 .75rem;background-color:rgba(68,138,255,0.1);border-left:0.25rem solid #448aff;overflow:auto}.single .admonition p:first-child,.single .admonition ul:first-child{margin-top:0}.single .admonition p:last-child,.single .admonition ul:last-child{margin-bottom:0}.single .admonition .admonition-title{font-weight:bold;margin:0 -0.75rem;padding:.25rem 1.8rem;border-bottom:1px solid rgba(68,138,255,0.1);background-color:rgba(68,138,255,0.25)}.single .admonition .admonition-title-none{display:none}.single .admonition.open .admonition-title{background-color:rgba(68,138,255,0.1)}.single .admonition .admonition-content{padding:.5rem 0}.single .admonition i.icon{font-size:0.85rem;color:#448aff;position:absolute;top:.6rem;left:.5rem}.single .admonition i.details-icon{color:#448aff;position:absolute;top:.55rem;right:.3rem}.single .admonition .admonition-icon{display:inline-block;background-repeat:no-repeat;width:20px;height:20px;background-image:url(/img/icon/admonition.svg)}.single .admonition .icon-note{background-position:0}.single .admonition .icon-abstract{background-position:-23px 0}.single .admonition .icon-info{background-position:-46px}.single .admonition .icon-tip{background-position:-64px}.single .admonition .icon-success{background-position:-84px}.single .admonition .icon-question{background-position:-106px}.single .admonition .icon-warning{background-position:-129px}.single .admonition .icon-failure{background-position:-152px}.single .admonition .icon-danger{background-position:-170px}.single .admonition .icon-bug{background-position:-190px}.single .admonition .icon-example{background-position:-210px}.single .admonition .icon-quote{background-position:-233px}.single .admonition .admonition-icon-arrow-right{background-position:-253px}.single .admonition.note{border-left-color:#448aff}.single .admonition.note i.icon{color:#448aff}.single .admonition.note i.details-icon{color:#448aff}.single .admonition.abstract{border-left-color:#00b0ff}.single .admonition.abstract i.icon{color:#00b0ff}.single .admonition.abstract i.details-icon{color:#00b0ff}.single .admonition.info{border-left-color:#00b8d4}.single .admonition.info i.icon{color:#00b8d4}.single .admonition.info i.details-icon{color:#00b8d4}.single .admonition.tip{border-left-color:#00bfa5}.single .admonition.tip i.icon{color:#00bfa5}.single .admonition.tip i.details-icon{color:#00bfa5}.single .admonition.success{border-left-color:#00c853}.single .admonition.success i.icon{color:#00c853}.single .admonition.success i.details-icon{color:#00c853}.single .admonition.question{border-left-color:#64dd17}.single .admonition.question i.icon{color:#64dd17}.single .admonition.question i.details-icon{color:#64dd17}.single .admonition.warning{border-left-color:#ff9100}.single .admonition.warning i.icon{color:#ff9100}.single .admonition.warning i.details-icon{color:#ff9100}.single .admonition.failure{border-left-color:#ff5252}.single .admonition.failure i.icon{color:#ff5252}.single .admonition.failure i.details-icon{color:#ff5252}.single .admonition.danger{border-left-color:#ff1744}.single .admonition.danger i.icon{color:#ff1744}.single .admonition.danger i.details-icon{color:#ff1744}.single .admonition.bug{border-left-color:#f50057}.single .admonition.bug i.icon{color:#f50057}.single .admonition.bug i.details-icon{color:#f50057}.single .admonition.example{border-left-color:#651fff}.single .admonition.example i.icon{color:#651fff}.single .admonition.example i.details-icon{color:#651fff}.single .admonition.quote{border-left-color:#9e9e9e}.single .admonition.quote i.icon{color:#9e9e9e}.single .admonition.quote i.details-icon{color:#9e9e9e}.single .admonition.note{background-color:rgba(68,138,255,0.1)}.single .admonition.note .admonition-title{border-bottom-color:rgba(68,138,255,0.1);background-color:rgba(68,138,255,0.25)}.single .admonition.note.open .admonition-title{background-color:rgba(68,138,255,0.1)}.single .admonition.abstract{background-color:rgba(0,176,255,0.1)}.single .admonition.abstract .admonition-title{border-bottom-color:rgba(0,176,255,0.1);background-color:rgba(0,176,255,0.25)}.single .admonition.abstract.open .admonition-title{background-color:rgba(0,176,255,0.1)}.single .admonition.info{background-color:rgba(0,184,212,0.1)}.single .admonition.info .admonition-title{border-bottom-color:rgba(0,184,212,0.1);background-color:rgba(0,184,212,0.25)}.single .admonition.info.open .admonition-title{background-color:rgba(0,184,212,0.1)}.single .admonition.tip{background-color:rgba(0,191,165,0.1)}.single .admonition.tip .admonition-title{border-bottom-color:rgba(0,191,165,0.1);background-color:rgba(0,191,165,0.25)}.single .admonition.tip.open .admonition-title{background-color:rgba(0,191,165,0.1)}.single .admonition.success{background-color:rgba(0,200,83,0.1)}.single .admonition.success .admonition-title{border-bottom-color:rgba(0,200,83,0.1);background-color:rgba(0,200,83,0.25)}.single .admonition.success.open .admonition-title{background-color:rgba(0,200,83,0.1)}.single .admonition.question{background-color:rgba(100,221,23,0.1)}.single .admonition.question .admonition-title{border-bottom-color:rgba(100,221,23,0.1);background-color:rgba(100,221,23,0.25)}.single .admonition.question.open .admonition-title{background-color:rgba(100,221,23,0.1)}.single .admonition.warning{background-color:rgba(255,145,0,0.1)}.single .admonition.warning .admonition-title{border-bottom-color:rgba(255,145,0,0.1);background-color:rgba(255,145,0,0.25)}.single .admonition.warning.open .admonition-title{background-color:rgba(255,145,0,0.1)}.single .admonition.failure{background-color:rgba(255,82,82,0.1)}.single .admonition.failure .admonition-title{border-bottom-color:rgba(255,82,82,0.1);background-color:rgba(255,82,82,0.25)}.single .admonition.failure.open .admonition-title{background-color:rgba(255,82,82,0.1)}.single .admonition.danger{background-color:rgba(255,23,68,0.1)}.single .admonition.danger .admonition-title{border-bottom-color:rgba(255,23,68,0.1);background-color:rgba(255,23,68,0.25)}.single .admonition.danger.open .admonition-title{background-color:rgba(255,23,68,0.1)}.single .admonition.bug{background-color:rgba(245,0,87,0.1)}.single .admonition.bug .admonition-title{border-bottom-color:rgba(245,0,87,0.1);background-color:rgba(245,0,87,0.25)}.single .admonition.bug.open .admonition-title{background-color:rgba(245,0,87,0.1)}.single .admonition.example{background-color:rgba(101,31,255,0.1)}.single .admonition.example .admonition-title{border-bottom-color:rgba(101,31,255,0.1);background-color:rgba(101,31,255,0.25)}.single .admonition.example.open .admonition-title{background-color:rgba(101,31,255,0.1)}.single .admonition.quote{background-color:rgba(159,159,159,0.1)}.single .admonition.quote .admonition-title{border-bottom-color:rgba(159,159,159,0.1);background-color:rgba(159,159,159,0.25)}.single .admonition.quote.open .admonition-title{background-color:rgba(159,159,159,0.1)}.single .admonition:last-child{margin-bottom:.75rem}.single .echarts{margin:.5rem 0;text-align:center}.single .mapbox{margin:.5rem 0;padding:.5rem 0}.single meting-js{margin:.5rem 0}.single .bilibili{position:relative;width:100%;height:0;padding-bottom:75%;margin:3% auto;text-align:center}.single .bilibili iframe{position:absolute;width:100%;height:100%;left:0;top:0}.single hr{margin:1rem 0;position:relative;border-top:4px dashed #2c678d;border-bottom:none}[theme=dark] .single hr{border-top:4px dashed #a9a9b3}.single kbd{display:inline-block;padding:.25rem;background-color:#fff;border:1px solid #2c678d;border-bottom-color:#2c678d;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 #2c678d;box-shadow:inset 0 -1px 0 #2c678d;font-size:.8rem;font-family:Source Code Pro,Menlo,Consolas,Monaco,monospace,system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;color:#c7254e}[theme=dark] .single kbd{background-color:#282c35;border:1px solid #a9a9b3;border-bottom-color:#a9a9b3;-webkit-box-shadow:inset 0 -1px 0 #a9a9b3;box-shadow:inset 0 -1px 0 #a9a9b3;color:#E5BF78}.single .version{height:1.25em;vertical-align:text-bottom}.single .essence{margin:auto;background:none;border:none;display:block;text-align:center;font-size:160%;width:90%;padding:40px 20px;box-sizing:border-box;font-weight:400;line-height:2rem;text-transform:uppercase}[theme="dark"] .single .essence{background:none;border:none}.single .essence .essence{padding:0;width:100%;line-height:3.5rem}.single .essence .essence .essence{width:100%;padding:0;line-height:6rem}.single .essence .essence .essence .essence{width:100%;padding:0;line-height:8rem}.single figure{margin:3rem 0 3rem 0}.lg-toolbar .lg-icon::after{color:#999}.special .single-title,.special .single-subtitle{text-align:right}.archive .single-title{text-align:right}.archive .group-title-year{font-size:30px;font-weight:600;margin-top:2.5rem;margin-bottom:1.5rem}.archive .group-title-month{margin-top:1.5rem;margin-bottom:0.5rem;font-size:20px;font-weight:600}.archive .categories-card{margin:0 auto;margin-top:3rem;display:flex;align-items:center;justify-content:space-between;flex-direction:row;flex-wrap:wrap;line-height:1.6rem}.archive .categories-card .card-item{font-size:.875rem;text-align:left;width:45%;display:flex;align-items:flex-start;margin-top:2rem;min-height:10rem;padding:0 2%;position:relative}.archive .categories-card .card-item .card-item-wrapper{width:100%;overflow:hidden}.archive .categories-card .card-item .card-item-wrapper .card-item-title{font-size:1.2rem;font-weight:bold;display:inline-block;margin-top:1rem;margin-bottom:.75rem}.archive .categories-card .card-item .card-item-wrapper span{float:right;padding-right:1rem}.archive .archive-item{display:flex;justify-content:space-between;align-items:center;box-sizing:border-box;margin:.25rem 0 .25rem 1.5rem}.archive .archive-item-link{min-width:10%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.archive .archive-item-link:hover{color:#2d96bd;background-color:transparent}[theme=dark] .archive .archive-item-link{color:#a9a9b3}[theme=dark] .archive .archive-item-link:hover{color:#fff}.archive .archive-item-date{width:4em;text-align:right;color:#a9a9b3}[theme=dark] .archive .archive-item-date{color:#939090}.archive .more-post{text-align:right}.archive .tag-cloud-tags{margin:10px 0}.archive .tag-cloud-tags a,.archive .tag-cloud-tags a::before,.archive .tag-cloud-tags a::after{text-decoration:none;color:#161209}[theme=dark] .archive .tag-cloud-tags a,[theme=dark] .archive .tag-cloud-tags a::before,[theme=dark] .archive .tag-cloud-tags a::after{color:#a9a9b3}.archive .tag-cloud-tags a:active,.archive .tag-cloud-tags a:hover{color:#2d96bd}[theme=dark] .archive .tag-cloud-tags a:active,[theme=dark] .archive .tag-cloud-tags a:hover{color:#ef3982}.archive .tag-cloud-tags a{display:inline-block;position:relative;margin:5px 10px;word-wrap:break-word;overflow-wrap:break-word;-webkit-transition:all ease-out 0.3s;-moz-transition:all ease-out 0.3s;-o-transition:all ease-out 0.3s;transition:all ease-out 0.3s}.archive .tag-cloud-tags a:active,.archive .tag-cloud-tags a:focus,.archive .tag-cloud-tags a:hover{-webkit-transform:scale(1.2);-moz-transform:scale(1.2);-ms-transform:scale(1.2);-o-transform:scale(1.2);transform:scale(1.2)}.archive .tag-cloud-tags a sup{color:#a9a9b3}[theme=dark] .archive .tag-cloud-tags a sup{color:#939090}.home .home-profile{-webkit-transform:translateY(16vh);-moz-transform:translateY(16vh);-ms-transform:translateY(16vh);-o-transform:translateY(16vh);transform:translateY(16vh);padding:0 0 .5rem;text-align:center}.home .home-profile .home-avatar{padding:.5rem}.home .home-profile .home-avatar img{display:inline-block;width:8rem;height:auto;margin:0 auto;-webkit-border-radius:100%;-moz-border-radius:100%;border-radius:100%;-webkit-box-shadow:0 0 0 0.3618em rgba(0,0,0,0.05);box-shadow:0 0 0 0.3618em rgba(0,0,0,0.05);-webkit-transition:all 0.4s ease;-moz-transition:all 0.4s ease;-o-transition:all 0.4s ease;transition:all 0.4s ease}.home .home-profile .home-avatar img:hover{position:relative;-webkit-transform:translateY(-0.75rem);-moz-transform:translateY(-0.75rem);-ms-transform:translateY(-0.75rem);-o-transform:translateY(-0.75rem);transform:translateY(-0.75rem)}.home .home-profile .home-title{font-size:1.25rem;font-weight:bold;margin:0;padding:0 0.5rem}.home .home-profile .home-subtitle{font-size:1rem;font-weight:normal;margin:0;padding:.5rem}.home .home-profile .links{padding:0 .5rem;font-size:1.5rem}.home .home-profile .links a *{vertical-align:text-bottom;margin-right:6px}.home .home-profile .links img{height:1.5rem;padding:0 .25rem}.home .home-profile .home-disclaimer{font-size:1rem;line-height:1.5rem;font-weight:normal;margin:0;padding:.5rem;color:#a9a9b3}[theme=dark] .home .home-profile .home-disclaimer{color:#939090}.home[data-home=posts] .home-profile{-webkit-transform:translateY(0);-moz-transform:translateY(0);-ms-transform:translateY(0);-o-transform:translateY(0);transform:translateY(0);padding-top:2rem}.home[data-home=posts] .home-avatar img{width:6rem}.home[data-home=posts] .summary{padding-top:1rem;padding-bottom:.8rem;color:#161209;border-bottom:4px dashed #2c678d}[theme=dark] .home[data-home=posts] .summary{color:#DDD;border-bottom:4px dashed #a9a9b3}.home[data-home=posts] .summary .featured-image-preview{width:100%;padding:30% 0 0;position:relative;margin:0.6rem auto;-webkit-transition:transform 0.4s ease;-moz-transition:transform 0.4s ease;-o-transition:transform 0.4s ease;transition:transform 0.4s ease}.home[data-home=posts] .summary .featured-image-preview img{position:absolute;width:100%;height:100%;left:0;top:0}.home[data-home=posts] .summary .featured-image-preview img.lazyloaded{-o-object-fit:cover;object-fit:cover;font-family:"object-fit: cover;"}.home[data-home=posts] .summary .featured-image-preview:hover{-webkit-transform:scale(1.01);-moz-transform:scale(1.01);-ms-transform:scale(1.01);-o-transform:scale(1.01);transform:scale(1.01)}.home[data-home=posts] .summary .single-title{font-size:1.25rem;line-height:140%;margin:0 0}.home[data-home=posts] .summary .single{display:-moz-box;display:-webkit-box;display:box;-webkit-box-orient:vertical;-moz-box-orient:vertical;box-orient:vertical;-webkit-line-clamp:3;margin-top:.3rem;width:100%;overflow:hidden;text-overflow:ellipsis;word-wrap:break-word;overflow-wrap:break-word;color:#a9a9b3}[theme=dark] .home[data-home=posts] .summary .single{color:#939090}.home[data-home=posts] .summary .single h2,.home[data-home=posts] .summary .single h3,.home[data-home=posts] .summary .single h4,.home[data-home=posts] .summary .single h5,.home[data-home=posts] .summary .single h6,.home[data-home=posts] .summary .single p{font-size:1rem;line-height:1.5;display:inline}.home[data-home=posts] .summary .single h2::after,.home[data-home=posts] .summary .single h3::after,.home[data-home=posts] .summary .single h4::after,.home[data-home=posts] .summary .single h5::after,.home[data-home=posts] .summary .single h6::after,.home[data-home=posts] .summary .single p::after{content:"\A";white-space:pre}.home[data-home=posts] .summary .single h2{font-size:1.125rem}.home[data-home=posts] .summary .single a,.home[data-home=posts] .summary .single a::before,.home[data-home=posts] .summary .single a::after{text-decoration:none;color:#2c678d}[theme=dark] .home[data-home=posts] .summary .single a,[theme=dark] .home[data-home=posts] .summary .single a::before,[theme=dark] .home[data-home=posts] .summary .single a::after{color:#a9a9b3}.home[data-home=posts] .summary .single a:active,.home[data-home=posts] .summary .single a:hover{color:#ef3982}[theme=dark] .home[data-home=posts] .summary .single a:active,[theme=dark] .home[data-home=posts] .summary .single a:hover{color:#ef3982}.home[data-home=posts] .summary .single b,.home[data-home=posts] .summary .single strong{color:#a9a9b3}[theme=dark] .home[data-home=posts] .summary .single b,[theme=dark] .home[data-home=posts] .summary .single strong{color:#939090}.home[data-home=posts] .summary .post-footer{margin-top:2rem;display:flex;justify-content:space-between;align-items:center;font-size:.875rem}.home[data-home=posts] .summary .post-footer a,.home[data-home=posts] .summary .post-footer a::before,.home[data-home=posts] .summary .post-footer a::after{text-decoration:none;color:#2c678d}[theme=dark] .home[data-home=posts] .summary .post-footer a,[theme=dark] .home[data-home=posts] .summary .post-footer a::before,[theme=dark] .home[data-home=posts] .summary .post-footer a::after{color:#55bde2}.home[data-home=posts] .summary .post-footer a:active,.home[data-home=posts] .summary .post-footer a:hover{color:#ef3982}[theme=dark] .home[data-home=posts] .summary .post-footer a:active,[theme=dark] .home[data-home=posts] .summary .post-footer a:hover{color:#ef3982}.home[data-home=posts] .summary .post-footer .post-tags{padding:0}.home[data-home=posts] .summary .post-footer .post-tags a,.home[data-home=posts] .summary .post-footer .post-tags a::before,.home[data-home=posts] .summary .post-footer .post-tags a::after{text-decoration:none;color:#161209}[theme=dark] .home[data-home=posts] .summary .post-footer .post-tags a,[theme=dark] .home[data-home=posts] .summary .post-footer .post-tags a::before,[theme=dark] .home[data-home=posts] .summary .post-footer .post-tags a::after{color:#a9a9b3}.home[data-home=posts] .summary .post-footer .post-tags a:active,.home[data-home=posts] .summary .post-footer .post-tags a:hover{color:#2d96bd}[theme=dark] .home[data-home=posts] .summary .post-footer .post-tags a:active,[theme=dark] .home[data-home=posts] .summary .post-footer .post-tags a:hover{color:#ef3982}#content-404{font-size:1.8rem;line-height:3rem;-webkit-transform:translateY(30vh);-moz-transform:translateY(30vh);-ms-transform:translateY(30vh);-o-transform:translateY(30vh);transform:translateY(30vh);text-align:center}.header{width:100%;z-index:150;background-color:#ececec;-webkit-transition:box-shadow 0.3s ease;-moz-transition:box-shadow 0.3s ease;-o-transition:box-shadow 0.3s ease;transition:box-shadow 0.3s ease}[theme=dark] .header{background-color:#252627}.header .logo{min-height:1.5em;height:1.5em;vertical-align:text-bottom}.header .logo,.header .header-title-pre{padding-right:.25rem}.header .header-title-post{padding-left:.25rem}.header:hover{-webkit-box-shadow:0 0 1.5rem 0 rgba(0,0,0,0.1);box-shadow:0 0 1.5rem 0 rgba(0,0,0,0.1)}.header-wrapper{display:flex;justify-content:space-between;align-items:center;box-sizing:border-box;width:100%}.header-title{font-family:system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:bold;margin-right:.5rem;min-width:10%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;-webkit-flex:10;flex:10}.menu .menu-item{position:relative}.language-select{position:absolute;opacity:0;left:0;top:0;width:100%;height:100%}.language-select:hover{cursor:pointer}.search{position:relative}.search input{color:transparent;box-sizing:border-box;height:2.5rem;width:2.5rem;-webkit-border-radius:.5rem;-moz-border-radius:.5rem;border-radius:.5rem;border:none;outline:none;background-color:#ececec;vertical-align:baseline !important;-webkit-transition:width 0.3s ease;-moz-transition:width 0.3s ease;-o-transition:width 0.3s ease;transition:width 0.3s ease}[theme=dark] .search input{background-color:#252627}.search input::-webkit-input-placeholder{color:rgba(0,0,0,0)}.search input:-moz-placeholder{color:rgba(0,0,0,0)}.search input::-moz-placeholder{color:rgba(0,0,0,0)}.search input:-ms-input-placeholder{color:rgba(0,0,0,0)}.search input::placeholder{color:rgba(0,0,0,0)}.search .search-button{margin:0;position:absolute;left:auto;right:1rem}.search .search-toggle{left:.5rem;right:auto}.search .search-loading{display:none}.search .search-clear{display:none}.open .search input,.search.mobile input{color:#161209;background-color:#e9e9e9;padding:0 2rem 0 2rem}[theme=dark] .open .search input,[theme=dark] .search.mobile input{color:#DDD;background-color:#363636}[theme=dark] .open .search input::-webkit-input-placeholder,[theme=dark] .search.mobile input::-webkit-input-placeholder{color:#939090}[theme=dark] .open .search input:-moz-placeholder,[theme=dark] .search.mobile input:-moz-placeholder{color:#939090}[theme=dark] .open .search input::-moz-placeholder,[theme=dark] .search.mobile input::-moz-placeholder{color:#939090}[theme=dark] .open .search input:-ms-input-placeholder,[theme=dark] .search.mobile input:-ms-input-placeholder{color:#939090}[theme=dark] .open .search input::placeholder,[theme=dark] .search.mobile input::placeholder{color:#939090}.open .search input::-webkit-input-placeholder,.search.mobile input::-webkit-input-placeholder{color:#a9a9b3}.open .search input:-moz-placeholder,.search.mobile input:-moz-placeholder{color:#a9a9b3}.open .search input::-moz-placeholder,.search.mobile input::-moz-placeholder{color:#a9a9b3}.open .search input:-ms-input-placeholder,.search.mobile input:-ms-input-placeholder{color:#a9a9b3}.open .search input::placeholder,.search.mobile input::placeholder{color:#a9a9b3}.open .search .search-button,.search.mobile .search-button{color:#a9a9b3}[theme=dark] .open .search .search-button,[theme=dark] .search.mobile .search-button{color:#939090}.open .search .search-clear:hover,.search.mobile .search-clear:hover{color:#ff6b6b}.open .search .search-toggle:hover,.search.mobile .search-toggle:hover{cursor:default}.theme-switch i{-webkit-transform:rotate(225deg);-moz-transform:rotate(225deg);-ms-transform:rotate(225deg);-o-transform:rotate(225deg);transform:rotate(225deg)}#header-desktop{display:block;position:fixed;height:3.5rem;line-height:3.5rem}[data-header-desktop=normal] #header-desktop{position:static}#header-desktop .header-wrapper{padding:0 2rem 0 10vh}#header-desktop .header-wrapper .header-title{font-size:1.5rem}#header-desktop .header-wrapper .menu{overflow:hidden;white-space:nowrap}#header-desktop .header-wrapper .menu nav{display:inline-block}#header-desktop .header-wrapper .menu ul li{list-style:none;display:inline-block}#header-desktop .header-wrapper .menu .menu-inner{margin:0}#header-desktop .header-wrapper .menu .menu-item{margin:0 .5rem}#header-desktop .header-wrapper .menu .menu-item.delimiter{border-left:1.5px solid #161209}[theme=dark] #header-desktop .header-wrapper .menu .menu-item.delimiter{border-left-color:#a9a9b3}#header-desktop .header-wrapper .menu .menu-item.language{margin-right:0}#header-desktop .header-wrapper .menu .menu-item.search{margin:0 -.5rem 0 0}#header-desktop .header-wrapper .menu a.active{font-weight:900;color:#161209}[theme=dark] #header-desktop .header-wrapper .menu a.active{color:#fff}#header-desktop.open .header-wrapper .menu .menu-item.search{margin:0 .25rem 0 .5rem}#header-desktop.open .header-wrapper .menu .menu-item.search input{width:24rem}#header-mobile{display:none;position:fixed;height:3.5rem;line-height:3.5rem}[data-header-mobile=normal] #header-mobile{position:static}#header-mobile .header-container{padding:0;margin:0}#header-mobile .header-container .header-wrapper{padding:0 1rem;font-size:1.125rem;-webkit-transition:margin-top 0.3s ease;-moz-transition:margin-top 0.3s ease;-o-transition:margin-top 0.3s ease;transition:margin-top 0.3s ease}#header-mobile .header-container .header-wrapper .header-title{font-size:1.5rem;max-width:80%}#header-mobile .header-container .header-wrapper .menu-toggle{line-height:4rem;cursor:pointer;-webkit-transition:width 0.3s ease;-moz-transition:width 0.3s ease;-o-transition:width 0.3s ease;transition:width 0.3s ease}#header-mobile .header-container .header-wrapper .menu-toggle span{display:block;background:#161209;width:1.5rem;height:2px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-transition:all 0.3s ease-in-out;-moz-transition:all 0.3s ease-in-out;-o-transition:all 0.3s ease-in-out;transition:all 0.3s ease-in-out}[theme=dark] #header-mobile .header-container .header-wrapper .menu-toggle span{background:#DDD}#header-mobile .header-container .header-wrapper .menu-toggle span:nth-child(1){margin-bottom:.5rem}#header-mobile .header-container .header-wrapper .menu-toggle span:nth-child(3){margin-top:.5rem}#header-mobile .header-container .header-wrapper .menu-toggle.active span:nth-child(1){-webkit-transform:rotate(45deg) translate(0.4rem, 0.5rem);-moz-transform:rotate(45deg) translate(0.4rem, 0.5rem);-ms-transform:rotate(45deg) translate(0.4rem, 0.5rem);-o-transform:rotate(45deg) translate(0.4rem, 0.5rem);transform:rotate(45deg) translate(0.4rem, 0.5rem)}#header-mobile .header-container .header-wrapper .menu-toggle.active span:nth-child(2){opacity:0}#header-mobile .header-container .header-wrapper .menu-toggle.active span:nth-child(3){-webkit-transform:rotate(-45deg) translate(0.4rem, -0.5rem);-moz-transform:rotate(-45deg) translate(0.4rem, -0.5rem);-ms-transform:rotate(-45deg) translate(0.4rem, -0.5rem);-o-transform:rotate(-45deg) translate(0.4rem, -0.5rem);transform:rotate(-45deg) translate(0.4rem, -0.5rem)}#header-mobile .header-container .menu{text-align:center;background:#ececec;border-top:2px solid #2c678d;display:none;padding-top:.5rem;-webkit-box-shadow:0 0.125rem 0.25rem rgba(0,0,0,0.1);box-shadow:0 0.125rem 0.25rem rgba(0,0,0,0.1)}#header-mobile .header-container .menu ul{padding:0}#header-mobile .header-container .menu ul li{list-style:none}#header-mobile .header-container .menu .search-wrapper{display:flex;justify-content:space-between;align-items:center;box-sizing:border-box;padding:.5rem 1rem;line-height:2.5rem}#header-mobile .header-container .menu .search{flex-grow:10}#header-mobile .header-container .menu .search .algolia-autocomplete,#header-mobile .header-container .menu .search input{width:100%}#header-mobile .header-container .menu .search-button{top:0}#header-mobile .header-container .menu .search-cancel{display:none;margin-left:.75rem}#header-mobile .header-container .menu .menu-item{display:block;line-height:2.5rem}#header-mobile .header-container .menu.active{display:block}[theme=dark] #header-mobile .header-container .menu{background:#252627;border-top-color:#a9a9b3}#header-mobile.open .header-wrapper{margin-top:-3.5rem}#header-mobile.open .menu{padding-top:0;border-top:none}#header-mobile.open .menu .menu-item{display:none}#header-mobile.open .menu .search-cancel{display:inline}.search-dropdown{position:fixed;z-index:200;top:3.5rem;-webkit-box-shadow:0 0.125rem 0.25rem rgba(0,0,0,0.1);box-shadow:0 0.125rem 0.25rem rgba(0,0,0,0.1)}.search-dropdown.desktop{right:2rem;width:30rem}.search-dropdown.mobile{right:0;width:100%}.search-dropdown .dropdown-menu{right:0 !important;background-color:#fff}[theme=dark] .search-dropdown .dropdown-menu{background-color:#282c35}.search-dropdown .dropdown-menu .suggestions{overflow-y:auto;max-height:calc(100vh - 3.5rem)}.search-dropdown .dropdown-menu .suggestions .suggestion{padding:.75rem 1rem}.search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-title{display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:1rem;font-weight:bold;max-width:75%}.search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-date{font-size:.875rem;float:right;text-align:right;color:#a9a9b3}[theme=dark] .search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-date{color:#939090}.search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-context{line-height:1.25rem;display:-moz-box;display:-webkit-box;display:box;-webkit-box-orient:vertical;-moz-box-orient:vertical;box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;text-overflow:ellipsis;word-wrap:break-word;overflow-wrap:break-word;color:#a9a9b3}[theme=dark] .search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-context{color:#939090}.search-dropdown .dropdown-menu .suggestions .suggestion em{font-style:normal;background-color:rgba(53,166,247,0.25)}[theme=dark] .search-dropdown .dropdown-menu .suggestions .suggestion em{background-color:rgba(50,112,194,0.4)}.search-dropdown .dropdown-menu .suggestions .suggestion.cursor{background:#dedee5}[theme=dark] .search-dropdown .dropdown-menu .suggestions .suggestion.cursor{background:#323843}.search-dropdown .dropdown-menu .suggestions .suggestion:hover{cursor:pointer}.search-dropdown .dropdown-menu .search-empty{padding:1rem;text-align:center}.search-dropdown .dropdown-menu .search-empty .search-query{font-weight:bold}[theme=dark] .search-dropdown .dropdown-menu .search-empty .search-query{color:#ddd}.search-dropdown .dropdown-menu .search-footer{padding:.5rem 1rem;float:right;font-size:.8rem;color:#a9a9b3}.search-dropdown .dropdown-menu .search-footer [theme=dark]{color:#939090}.search-dropdown .dropdown-menu .search-footer a,.search-dropdown .dropdown-menu .search-footer a::before,.search-dropdown .dropdown-menu .search-footer a::after{text-decoration:none;color:#2c678d}[theme=dark] .search-dropdown .dropdown-menu .search-footer a,[theme=dark] .search-dropdown .dropdown-menu .search-footer a::before,[theme=dark] .search-dropdown .dropdown-menu .search-footer a::after{color:#55bde2}.search-dropdown .dropdown-menu .search-footer a:active,.search-dropdown .dropdown-menu .search-footer a:hover{color:#ef3982}[theme=dark] .search-dropdown .dropdown-menu .search-footer a:active,[theme=dark] .search-dropdown .dropdown-menu .search-footer a:hover{color:#ef3982}.search-dropdown .dropdown-menu .search-footer a{font-size:1rem}.footer{width:100%;text-align:center;line-height:1.25rem;margin:3rem 0 1rem 0}.footer .footer-container{font-size:.875rem}.footer .footer-container .footer-line{width:100%}.footer .footer-container .footer-line .icp-br{display:none}.blur .footer{-webkit-filter:blur(1.5px);-moz-filter:blur(1.5px);-ms-filter:blur(1.5px);filter:blur(1.5px)}.pagination{display:flex;flex-direction:row;justify-content:center;list-style:none;white-space:nowrap;width:100%;padding:1rem 0 0}.pagination a{font-size:.8rem;color:#bfbfbf;letter-spacing:.1rem;font-weight:700;padding:5px 5px;text-decoration:none;-webkit-transition:0.3s;-moz-transition:0.3s;-o-transition:0.3s;transition:0.3s}.pagination li{padding-bottom:3px;margin:0 20px;box-sizing:border-box;position:relative;display:inline}.pagination li.disabled{display:none}.pagination li:hover a{color:#000}[theme=dark] .pagination li:hover a{color:#fff}.pagination li:before,.pagination li:after{position:absolute;content:"";width:0;height:3px;background:#000;-webkit-transition:0.3s;-moz-transition:0.3s;-o-transition:0.3s;transition:0.3s;bottom:0px}[theme=dark] .pagination li:before,[theme=dark] .pagination li:after{background:#fff}.pagination li:before .active,.pagination li:after .active{width:100%}.pagination li:before{left:50%}.pagination li:after{right:50%}.pagination li:hover:before,.pagination li:hover:after{width:50%}.pagination li.active a{color:#000}[theme=dark] .pagination li.active a{color:#fff}.pagination li.active:before,.pagination li.active:after{width:60%}@media only screen and (max-width: 1440px){.page,.content-block-position{width:56%}}@media only screen and (max-width: 1200px){.page,.content-block-position{width:52%}#header-desktop .header-wrapper{padding-right:1rem}.search-dropdown.desktop{right:1rem}}@media only screen and (max-width: 960px){#toc-auto{display:none}#toc-static{display:block}.page,.content-block-position{width:80%}#header-desktop .header-wrapper{padding-left:1rem}}@media only screen and (max-width: 680px){#header-desktop{display:none}#header-mobile{display:block}body.blur{overflow:hidden}.page,.content-block{width:100%}.page .categories-card .card-item,.content-block .categories-card .card-item{width:100%}.copyright .copyright-line .icp-splitter{display:none}.copyright .copyright-line .icp-br{display:block}}body{line-height:1.9rem}.summary-title{margin:0;font-size:1.6em}.summary-content{color:#a9a9b3;display:block}.summary-content p{margin:0}.header{box-shadow:0 0 10px rgba(0,0,0,0.1)}.logo-svg{fill:#2c678d}[theme=dark] .logo-svg{fill:#DDD}.content-block{border-radius:20px;box-shadow:0 0 1.5rem 0 rgba(0,0,0,0.1)}[theme=dark] .content-block{background:#1B1B1C}.article-post .content-block-position:last-child{margin-bottom:0}.article-post .content-break h2{font-size:230%;padding-top:90px;text-align:center;line-height:3rem;margin-bottom:0.5rem;margin-top:7rem}.article-post .content-break h2 a.header-mark:before{content:none}.article-post .content-break h2>.content-block-position:first-child{margin-top:0}.article-post .content-break img{margin-top:40px;border-radius:20px;width:100%;box-shadow:0 0 1.5rem 0 rgba(0,0,0,0.1)}.article-post .str{font-weight:bold}[theme=dark] .article-post .str{color:#ddd}.article-post .marker-text{background:#fff3bc;font-style:inherit;padding:4px 7px 6px;box-decoration-break:clone}[theme=dark] .article-post .marker-text{background:#AE8029}.article-post .featured-image{border-top-left-radius:20px;border-top-right-radius:20px}.article-post a.button{display:inline-block;padding:10px 20px;max-width:90%;box-sizing:border-box;text-decoration:none;border-radius:10px;background-color:#333;border:solid 4px #333;color:#FFF;text-align:center;-webkit-transition:all 0.2s ease;-moz-transition:all 0.2s ease;-o-transition:all 0.2s ease;transition:all 0.2s ease}[theme=dark] .article-post a.button{color:#FFF !important}.article-post a.button:hover{color:#333;background-color:inherit}[theme=dark] .article-post a.button:hover{background:#1B1B1C}.article-post a.button-big{padding:15px 30px;font-size:160%;font-weight:bold}.article-post a.button-white{background-color:inherit;border-color:white;color:#FFF}.article-post a.button-white:hover{color:#333;border-color:#333}.article-post a.button-black{background-color:#000;color:#FFF;border-color:#FFF}.article-post a.button-black:hover{background-color:#FFF;color:#333}.article-post a.button-red{background-color:#fb0021;border:solid 2px #fb0021}.article-post a.button-red:visited{color:#ffffff}.article-post a.button-red:hover{background-color:#FFF;color:#fb0021}.article-post a.big-grey-button{display:inline-block;max-width:90%;box-sizing:border-box;padding:15px 30px;background-color:#666;border:solid 2px #555;color:#FFF;text-align:center;text-decoration:none;font-size:160%;font-weight:bold;border-radius:20px;margin:50px auto 0}.article-post a.big-grey-button:hover{background-color:#FFF;color:#666}.article-mini{border-radius:20px;cursor:pointer}.summary-animation{box-shadow:none;-webkit-transition:all 0.4s ease-out;-moz-transition:all 0.4s ease-out;-o-transition:all 0.4s ease-out;transition:all 0.4s ease-out}.summary-animation:hover{-webkit-box-shadow:0 0 40px 0 rgba(0,0,0,0.1);box-shadow:0 0 40px 0 rgba(0,0,0,0.1);-webkit-transition:all 0.4s ease-out;-moz-transition:all 0.4s ease-out;-o-transition:all 0.4s ease-out;transition:all 0.4s ease-out}[theme=dark] .summary-animation{box-shadow:none}[theme=dark] .summary-animation:hover{border:2px solid #1B1B1C;transform:none;-webkit-transition:all 0.4s ease;-moz-transition:all 0.4s ease;-o-transition:all 0.4s ease;transition:all 0.4s ease;-webkit-box-shadow:0 0 1.5rem rgba(94,104,125,0.3);box-shadow:0 0 1.5rem rgba(94,104,125,0.3)}.post-tags-summary-image{position:absolute;right:13px;top:13px;z-index:1}.post-tags-summary-under-footer{margin-bottom:6rem;margin-top:0.5rem;text-align:right}.post-tags-summary-footer{margin-top:1rem;text-align:right}a.post-tag-summary{background:#2c678d;opacity:0.9;padding:2px 6px 2px 6px;border-radius:5px;margin-right:5px;color:white;font-size:14px;display:inline-block;margin-top:5px}a.post-tag-summary:hover{color:white}.page{max-width:900px;width:100%;min-width:200px;box-sizing:border-box}[data-header-desktop] .page{margin-top:6rem;padding-top:0}.content-block-position{max-width:900px;width:100%;min-width:200px;box-sizing:border-box;margin-top:5rem}.page.home{max-width:800px}.home .home-profile{text-align:left;padding-bottom:4rem}.home .home-profile .home-meta{display:inline-block;width:80%}.home .home-profile .home-title{font-size:30px}.home .home-profile .home-avatar{vertical-align:top;width:120px;display:inline-block;box-sizing:border-box;margin-right:10px}.home .home-profile .home-avatar img{border-radius:10px;width:7rem}.home .home-profile .home-avatar img:hover{box-shadow:0 0 40px rgba(0,0,0,0.1)}[theme=dark] .home .home-profile .home-avatar img{box-shadow:0 0 0 0.3618em #a9a9b3}[theme=dark] .home .home-profile .home-avatar img:hover{position:relative;-webkit-transform:translateY(-0.75rem);-moz-transform:translateY(-0.75rem);-ms-transform:translateY(-0.75rem);-o-transform:translateY(-0.75rem);transform:translateY(-0.75rem);box-shadow:0 0 40px rgba(94,104,125,0.3)}.home[data-home=posts] .summary{padding-top:0;padding-bottom:1rem;margin-bottom:6rem;border:2px solid #DDD;background:#fff;border-radius:20px}[theme=dark] .home[data-home=posts] .summary{border:2px solid #a9a9b3;background:#1B1B1C}.home[data-home=posts] .summary:hover{cursor:pointer}.home[data-home=posts] .summary .featured-image-preview{margin:0 auto}.home[data-home=posts] .summary .featured-image-preview:hover{transform:none}#data-header-desktop{line-height:3.2rem}.img-style{margin:1.5rem 0}.img-center{margin-left:auto;margin-right:auto}.img-size-30{width:30%}.img-size-40{width:40%}.img-size-50{width:50%}.img-right{float:right;margin-left:20px !important}.img-frame{margin-bottom:1.5rem}.img-frame img{box-shadow:0 0 10px rgba(0,0,0,0.2)}.img-frame p{margin:0}.list-smile ul,.list-smile ol{list-style-type:none;text-indent:-1.5rem}.single p+ul{margin-top:-1.2rem;margin-bottom:1.2rem}.single br+img{margin-top:1.2rem}.single h2[id^=u-]>.header-mark::before,.single h3[id^=u-]>.header-mark::before,.single h4[id^=u-]>.header-mark::before,.single h5[id^=u-]>.header-mark::before,.single h6[id^=u-]>.header-mark::before{content:none}.single #comments{padding:0}.comments{padding:20px 60px 20px;border-radius:30px;background:#eee;margin-top:3rem;box-shadow:0 0 1.5rem 0 rgba(0,0,0,0.1)}[theme=dark] .comments{background:#1B1B1C}.block-author{padding:20px;background-color:#eee;color:black;display:inline-block;width:100%;box-sizing:border-box;border-radius:6px}[theme=dark] .block-author{background-color:#eee}.block-author .author-avatar{width:75px;padding:0 15px 0 0}.block-author .author-info{vertical-align:middle;display:inline-block;box-sizing:border-box;line-height:1.6rem;font-size:16px}.block-author .author-info a{color:black}.block-author .author-info a:hover{color:#2d96bd}.block-author .author-info .name a{border-bottom:none;color:#161209;font-weight:700}.author-avatar{vertical-align:middle;box-sizing:border-box;display:inline-block}.author-avatar img{display:block;width:100%;border-radius:100%}.author-avatar-comment{width:105px;padding:0 25px 0 0}.article-text{padding-top:20px;padding-left:20px;padding-right:20px}.header-post{box-shadow:0 -0.9rem 1.5rem 0 rgba(0,0,0,0.1);margin:6rem 1rem 0;max-width:900px;width:100%;min-width:200px;box-sizing:border-box;border-radius:20px 20px 0 0}[theme=dark] .header-post{background:#1B1B1C}.header-post .single-title{margin:0 !important;border-bottom:1px solid #DDD;font-size:1.6rem;font-weight:bold;line-height:140%}.header-post .featured-image{height:86vh;min-height:200px;position:relative;background-position:center 50%;background-repeat:no-repeat;background-size:cover;border-radius:10px 10px 0px 0px}.header-post .featured-image .post-title{position:absolute;bottom:0;background:#000;opacity:0.85;width:100%;color:#ffffff}.header-post .single-subtitle{margin:.4rem 0;font-size:1.2rem;font-weight:normal;font-style:italic;line-height:100%}.header-post .single-subtitle:before{content:none}.header-post .post-meta-line a{color:#a9a9b3}.header-post .post-meta-line span{margin-right:13px}.header-post .post-meta-line span i.svg-icon{margin-right:1px}.post-all-meta{padding:20px 60px 20px}.donate-link:after{padding-left:6px;content:"\01F37A"}.donate-link:hover::after{content:"\01F37B"}.author-comment{padding:40px 0}.author-comment .name{color:#161209;font-weight:700;font-size:18px;line-height:28px}[theme=dark] .author-comment .name{color:#DDDDDD}.author-comment .author-comment-text{color:#161209;font-size:24px}[theme=dark] .author-comment .author-comment-text{color:#DDDDDD}.post-nav{padding:0.3rem 0 1rem;display:flex;justify-content:space-between;font-size:0.9rem}.post-nav a[rel="next"]{text-align:right}.page-toc{margin:0}.page-toc .header-post{margin:6rem 1rem 0}.page-toc .header-post{margin:6rem 1rem 0}.page-toc .content-block-position{margin-left:1rem}.content-break{max-width:900px}#toc-auto{line-height:1.5rem}.breadcrumbs{font-size:15px;color:#a9a9b3}.breadcrumbs a{color:#a9a9b3}.breadcrumbs ol{margin:0;padding:0}.breadcrumbs ol li{display:inline-block;list-style:none}.breadcrumbs ol li:not(:first-child):before{content:"/";margin:0 3px 0 3px}.theme-full .content-block-first,.theme-classic .content-block-first,.theme-wide .content-block-first{margin-top:0 !important;box-shadow:0 1.2rem 1.2rem 0 rgba(0,0,0,0.1);border-radius:0 0 20px 20px}.theme-full .header-post,.theme-classic .header-post,.theme-wide .header-post{margin-left:auto;margin-right:auto}.theme-mega-full .header-post{height:100vh;max-width:none;border-radius:0;margin:0 !important}.theme-mega-full .header-post h1{font-size:2.1rem !important}.theme-mega-full .header-post .featured-image{height:100vh}.theme-classic .header-post,.theme-wide .header-post,.theme-full .header-post{margin-top:6rem;margin-right:auto;margin-bottom:0;margin-left:auto}.theme-classic .article-post,.theme-wide .article-post,.theme-full .article-post{margin-top:-20px}.theme-classic.page-toc .header-post,.theme-wide.page-toc .header-post,.theme-full.page-toc .header-post{margin-top:6rem;margin-right:auto;margin-bottom:0;margin-left:1rem}.theme-full .post-title a{color:#a9a9b3}.theme-wide .image-theme-wide{margin-right:-60px;margin-left:-60px;margin-bottom:10px}.content-block-first p:first-child{margin-top:0}.theme-mega-full.page-toc .content-block-first{margin-top:2rem}.post-update{border-radius:6px;padding:10px;background-color:#a9a9b3;color:#161209}[theme=dark] .post-update b{color:black !important}.post-navigation{display:flex;margin-bottom:2rem}.post-navigation .post-nav-box{flex:none;width:49%;display:block}.post-navigation .post-nav-box :hover{color:#ef3982}.post-navigation .nav-box-prev{margin-right:16px}.post-navigation .nav-box{justify-content:space-between;align-items:center;display:flex !important;justify-content:space-between;border-radius:6px;box-shadow:0 0 1em 0 rgba(10,10,10,0.1),0 0 0 1px rgba(10,10,10,0.02);color:#2c678d;padding:1.25rem}[theme=dark] .post-navigation .nav-box{background-color:#DDD;box-shadow:0 0 20px 2px rgba(94,104,125,0.3)}.post-navigation .nav-icon{height:2rem;width:2rem}.post-navigation .nav-text-h{font-size:.75rem}.post-share{margin-bottom:10px}.post-tags{box-sizing:border-box;font-size:14px}.post-tags .tag{margin-top:10px;margin-right:8px;padding:1px 10px 1px 10px;border-radius:4px;color:#DDD;display:inline-block;border:2px solid #DDD}[theme=dark] .post-tags .tag{color:#DDD}.post-share-toc{margin:1rem 0}.is-style-explanation{padding:.75rem 1rem .75rem 4rem;font-size:1rem;position:relative;margin:0 0 1.5rem;border-left:1px solid #2c678d;background:linear-gradient(90deg, #2c678d, #eee);background-size:100% 1px;background-repeat:no-repeat;background-position:0 0}[theme=dark] .is-style-explanation{background:linear-gradient(90deg, #2c678d, #1B1B1C);background-size:100% 1px;background-repeat:no-repeat;background-position:0 0}.is-style-explanation :after{content:"";position:absolute;bottom:0;left:0;height:1px;width:25%;background:linear-gradient(90deg, #2c678d, #eee)}[theme=dark] .is-style-explanation :after{background:linear-gradient(90deg, #2c678d, #1B1B1C)}.is-style-explanation :before{content:"Hey!";font-style:italic;font-weight:700;color:#2c678d;position:absolute;top:.75rem;left:1rem}.post-tags-summary-under-footer-display{display:none}.block-media_column{display:inline-block;width:100%}.block-media_column .content-column{display:block;float:left;width:50%;border-right:solid 5px transparent;box-sizing:border-box}.block-media_column .content-column img{width:100%}.block-media_column .content-column :first-child{margin-top:0}.block-media_right{float:right;text-align:right;padding-right:0;margin-left:40px;margin-bottom:10px}.block-media_left{width:50%;float:left;text-align:left;padding-right:0;margin-right:40px}figure{margin:.5rem;text-align:center}figure .image-caption:not(:empty){box-sizing:border-box;border-left:none;width:90%;padding:10px 0 0 0;margin:0 auto;text-align:center;font-weight:500;color:#666;font-size:95%;min-width:20%;max-width:80%;display:inline-block}[theme=dark] figure .image-caption:not(:empty){color:#a9a9b3}figure img{display:block;height:auto;margin:0 auto;overflow:hidden}.post-meta{font-size:.875rem;color:#a9a9b3}.post-meta span{display:inline-block}.post-meta span.svg-icon{margin-right:3px}[theme=dark] .post-meta{color:#939090}.post-meta a,.post-meta a::before,.post-meta a::after{text-decoration:none;color:#2c678d}[theme=dark] .post-meta a,[theme=dark] .post-meta a::before,[theme=dark] .post-meta a::after{color:#a9a9b3}.post-meta a:active,.post-meta a:hover{color:#ef3982}[theme=dark] .post-meta a:active,[theme=dark] .post-meta a:hover{color:#ef3982}.post-meta .author{font-size:1.05rem}.summary-post-meta{font-size:0.8rem}.summary-post-meta .author{font-size:0.8rem}.summary-post-meta .meta-item{margin-right:13px}.summary-post-meta .meta-item i.svg-icon{margin-right:1px}.page.home{padding-top:32px}.wrapper main .container.content-article{padding:0}.split-post{margin-right:-60px;margin-left:-60px}.split-post pre,.split-post .table-wrapper,.split-post .admonition{border-radius:0 !important}.split-post .details-icon{display:none}.split-post img{width:100%;box-shadow:none}.split-post-center .admonition{padding:0 3.4rem}.split-post-center-border .admonition{border-left-width:0;padding:0 3.7rem}.theme-hero .header-post{max-width:none;margin:0 !important;border-bottom:1px solid #CDD2D4;padding-bottom:80px;background-color:#fff;position:relative;display:block;box-sizing:border-box}[theme=dark] .theme-hero .header-post{background-color:#1B1B1C}.post-hero.mobile{display:block;padding-bottom:32px}.post-hero.mobile .post-hero-grid{flex-direction:column}.post-hero-grid{display:flex;flex-direction:row;align-items:center;padding-right:16px;padding-left:16px}.post-hero-grid .post-hero-info{flex:1;display:flex;flex-direction:column;justify-content:center;margin-right:78px}.post-hero-grid .post-hero-logo{flex:1;display:flex;flex-direction:column;justify-content:center}.hero-text-container .hero-text-description{margin-top:24px;margin-bottom:32px}[theme=dark] .hero-text-container .hero-text-description{color:#939090}.hero-text-container span{font-weight:600;font-size:10px;letter-spacing:1px;line-height:16px;text-transform:uppercase;margin-bottom:0}.hero-text-container h1{font-weight:400;color:#000000;letter-spacing:0.2px;line-height:32px}[theme=dark] .hero-text-container h1{color:#DDD}.hero-text-container p{font-weight:400;font-size:16px;color:#333333;letter-spacing:0.1px;text-align:left;line-height:24px}.hero-author .hero-author-profile{display:flex;align-items:center;height:56px;margin-bottom:24px}.hero-author .hero-author-profile .hero-author-profile-name{font-size:16px;color:#242424;letter-spacing:-0.2px;text-align:left;line-height:24px}[theme=dark] .hero-author .hero-author-profile .hero-author-profile-name{color:#DDD}.hero-author .hero-author-profile .hero-author-profile-title{font-size:16px;color:#606060;font-weight:300;letter-spacing:0.1px;text-align:left;line-height:24px}[theme=dark] .hero-author .hero-author-profile .hero-author-profile-title{color:#DDD}.hero-author .hero-author-profile:last-of-type{margin-bottom:0}.hero-author img.hero-author-avatar{height:100%;border-radius:50%;margin-right:16px}.hero-author .profile-text-wrapper{display:flex;flex-direction:column}.hero-author h4{font-weight:500;font-size:13px;color:#333333;letter-spacing:0.08px;text-align:left;line-height:24px;margin:0}.hero-author p{opacity:0.7;font-weight:400;font-size:13px;color:#333333;letter-spacing:0.08px;text-align:left;line-height:24px;margin:0}.rendered{opacity:0.7;font-weight:400;font-size:13px;color:#333333;letter-spacing:0.08px;text-align:left;line-height:24px;margin:32px 1.5rem 0}[theme=dark] .rendered{color:#DDD}.hero-img{margin:0;display:flex;justify-content:center}.hero-img img{align-self:center}.hero-tags{text-align:center;margin-top:3rem}[theme=dark] .hero-tags{color:#DDD}.cat-cit{margin-top:4rem;margin-bottom:4rem;border:2.5px dashed #2c678d;padding:10px}.cat-cit .no-adb{color:black}.header-title-share{text-align:center}.header-title-share a{font-size:12px;display:inline-block;padding:2px 7px;border:solid 2px #555555;border-radius:15px;color:#555555;text-decoration:none;margin-right:4px;line-height:16px}[theme=dark] .header-title-share a{color:#DDD}.home[data-home=posts] .post-pinned .summary{border:3px solid #2c678d}.display-hidden{clip:rect(1px, 1px, 1px, 1px);height:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px;z-index:-1000;user-select:none}code:not([class*="language-"]){background:#f5f2f0;padding:.4rem;border-radius:3px;font-size:0.8em}[theme=dark] code:not([class*="language-"]){color:#161209}pre[class*="language-"]{border-radius:10px}code[class*="language-"],pre[class*="language-"]{line-height:1.4;font-size:1.05rem}code[class*="language-"] marker,pre[class*="language-"] marker{background:rgba(242,201,76,0.35);border-radius:3px;color:inherit;margin:1px 0;padding:3.2px 0}.post-sort{text-align:right;margin-bottom:5px}.post-sort ol li{margin-left:7px;list-style:none;display:inline-block}.see-also{border:4px double #2c6789;padding:15px 20px;margin-top:2em;margin-bottom:2em;border-radius:10px}.see-also .see-title{margin:0 0 0.5em;font-size:1.5rem;font-weight:bold}.see-also ul{margin-bottom:0;list-style:none;padding-left:0}.see-also a{word-wrap:break-word;overflow-wrap:break-word;border-bottom:dashed 1px}[theme=dark] .see-also a b,[theme=dark] .see-also a strong{color:#55bde2}.see-also a:visited{color:#70a0b0}[theme=dark] .see-also a:visited{color:#70a0b0}.see-also a[class="header-mark"],.see-also .post-footer a{border-bottom:none}.see-also [theme=dark] a:hover b,.see-also [theme=dark] a:hover strong{color:#bdebfc}.mermaid{font-weight:400;font-size:16px;line-height:1.5rem}.mermaid p{margin:.5rem 0 !important}video{width:100%;height:auto;max-height:100%}.post-info-share{text-align:center;padding:40px 0 40px 0}.post-share a.share-icon{border-bottom:2px solid}.post-share a.share-icon:hover{background:white;-webkit-transition:background 0.2s ease;-moz-transition:background 0.2s ease;-o-transition:background 0.2s ease;transition:background 0.2s ease}.post-share a.share-icon:hover .svg-social-icon{background-image:url(/img/icon/sprite-social-color.svg)}[theme=dark] .post-share a.share-icon:hover{background:#1B1B1C}.share-link{margin-top:15px;margin-right:8px;display:inline-block}.share-link a.share-telegram{background:#2CA5E0;border-color:#2CA5E0}.share-link a.share-twitter{background:#1DA1F2;border-color:#1DA1F2}.share-link a.share-vk{background:#4680C2;border-color:#4680C2}.share-link a.share-facebook{background:#1877F2;border-color:#1877F2}.share-link a.share-whatsapp{background:#25D366;border-color:#25D366}.share-link a.share-pocket{background:#EF3F56;border-color:#EF3F56}.share-link a.share-linkedin{background:#0077B5;border-color:#0077B5}.share-link a.share-viber{background:#665CAC;border-color:#665CAC}.share-link a.share-pinterest{background:#BD081C;border-color:#BD081C}.share-link a.share-tumblr{background:#36465D;border-color:#36465D}.share-link a.share-reddit{background:#FF4500;border-color:#FF4500}.share-link a.share-buffer{background:#168EEA;border-color:#168EEA}.share-link a.share-xing{background:#006567;border-color:#006567}.share-link a.share-line{background:#00C300;border-color:#00C300}.share-link a.share-instapaper{background:#1F1F1F;border-color:#1F1F1F}.share-link a.share-digg{background:#000000;border-color:#000000}.share-link a.share-stumbleupon{background:#FD8235;border-color:#FD8235}.share-link a.share-flipboard{background:#E12828;border-color:#E12828}.share-link a.share-weibo{background:#20B8E5;border-color:#20B8E5}.share-link a.share-renren{background:#217DC6;border-color:#217DC6}.share-link a.share-myspace{background:#030303;border-color:#030303}.share-link a.share-blogger{background:#FF5722;border-color:#FF5722}.share-link a.share-baidu{background:#2319DC;border-color:#2319DC}.share-link a.share-ok{background:#EE8208;border-color:#EE8208}.share-link a.share-evernote{background:#00A82D;border-color:#00A82D}.share-link a.share-skype{background:#00AFF0;border-color:#00AFF0}.share-link a.share-trello{background:#0079BF;border-color:#0079BF}.share-link a.share-mix{background:#FF8126;border-color:#FF8126}.share-link a.share-hackernews{background:#FF8126;border-color:#FF8126}.share-text{font-size:30px;margin-bottom:10px}.share-icon{border-radius:6px;padding:10px 12px 4px 12px;border:2px solid}.svg-social-icon{display:inline-block;background-repeat:no-repeat;background-image:url(/img/icon/sprite-social.svg);width:20px;height:20px}.svg-social-icon-color{display:inline-block;background-repeat:no-repeat;background-image:url(/img/icon/sprite-social-color.svg);width:20px;height:20px}.icon-rss{background-position:0 0}.icon-mail-dot-ru{background-position:-25px 0}.icon-udemy{background-position:-50px 0}.icon-discord{background-position:-75px 0}.icon-docker{background-position:-100px 0}.icon-matrix{background-position:-125px 0}.icon-xmpp{background-position:-150px 0}.icon-gitea{background-position:-175px 0}.icon-mastodon{background-position:-200px 0}.icon-researchgate{background-position:-225px 0}.icon-google{background-position:0 -25px}.icon-vine{background-position:-25px -25px}.icon-wordpress{background-position:-50px -25px}.icon-dribbble{background-position:-75px -25px}.icon-behance{background-position:-100px -25px}.icon-deviantart{background-position:-125px -25px}.icon-jsfiddle{background-position:-150px -25px}.icon-angellist{background-position:-175px -25px}.icon-zhihu{background-position:-200px -25px}.icon-strava{background-position:-225px -25px}.icon-twitch{background-position:0 -50px}.icon-steam{background-position:-25px -50px}.icon-patreon{background-position:-50px -50px}.icon-kickstarter{background-position:-75px -50px}.icon-foursquare{background-position:-100px -50px}.icon-last-dot-fm{background-position:-125px -50px}.icon-goodreads{background-position:-150px -50px}.icon-500px{background-position:-175px -50px}.icon-paypal{background-position:-200px -50px}.icon-bandcamp{background-position:-225px -50px}.icon-spotify{background-position:0 -75px}.icon-soundcloud{background-position:-25px -75px}.icon-snapchat{background-position:-50px -75px}.icon-xing{background-position:-75px -75px}.icon-flickr{background-position:-100px -75px}.icon-stackoverflow{background-position:-125px -75px}.icon-bitbucket{background-position:-150px -75px}.icon-freecodecamp{background-position:-175px -75px}.icon-codepen{background-position:-200px -75px}.icon-pinterest{background-position:-225px -75px}.icon-keybase{background-position:0 -100px}.icon-quora{background-position:-25px -100px}.icon-tumblr{background-position:-50px -100px}.icon-youtube{background-position:-75px -100px}.icon-gitlab{background-position:-100px -100px}.icon-medium{background-position:-125px -100px}.icon-instagram{background-position:-150px -100px}.icon-linkedin{background-position:-175px -100px}.icon-github{background-position:-200px -100px}.icon-mixer{background-position:-225px -100px}.icon-trello{background-position:0 -125px}.icon-skype{background-position:-25px -125px}.icon-evernote{background-position:-50px -125px}.icon-odnoklassniki{background-position:-75px -125px}.icon-baidu{background-position:-100px -125px}.icon-blogger{background-position:-125px -125px}.icon-myspace{background-position:-150px -125px}.icon-renren{background-position:-175px -125px}.icon-sinaweibo{background-position:-200px -125px}.icon-flipboard{background-position:-225px -125px}.icon-digg{background-position:0 -150px}.icon-pocket{background-position:-25px -150px}.icon-instapaper{background-position:-50px -150px}.icon-line{background-position:-75px -150px}.icon-xing1{background-position:-100px -150px}.icon-buffer{background-position:-125px -150px}.icon-reddit{background-position:-150px -150px}.icon-tumblr1{background-position:-175px -150px}.icon-pinterest1{background-position:-200px -150px}.icon-viber{background-position:-225px -150px}.icon-linkedin1{background-position:0 -175px}.icon-telegram{background-position:-25px -175px}.icon-whatsapp{background-position:-50px -175px}.icon-facebook{background-position:-75px -175px}.icon-vk{background-position:-100px -175px}.icon-twitter{background-position:-125px -175px}.icon-leanpub{width:23px;height:20px;background-position:0 -200px}.icon-hacker-news{width:17px;height:20px;background-position:-50px -200px}.icon-stumbleupon{width:21px;height:20px;background-position:-75px -200px}@media only screen and (min-width: 1300px){.page-toc .article-post{margin-right:auto;margin-left:auto}.page-toc .content-block-position{margin:3rem auto 0}.theme-mega-full .content-block-first,.theme-hero .content-block-first{margin:2rem auto}.theme-classic.page-toc .header-post,.theme-wide.page-toc .header-post,.theme-full.page-toc .header-post{margin-right:auto;margin-left:auto}.theme-full .header-post .featured-image{height:40vh}.page,.content-block-position{width:100%}.post-share-toc{margin:1rem auto}}@media only screen and (min-width: 1201px){.page,.content-block-position{width:100%}.article-post{font-size:19px}.article-post .post{padding:45px 60px}.featured-image-preview img,.featured-image img{border-top-left-radius:17px;border-top-right-radius:17px}.padding-article{padding:40px 60px 20px 60px}}@media only screen and (max-width: 1200px){#toc-auto{display:none}#toc-static{display:block}.page,.content-block-position{width:100%}.theme-mega-full.page-toc .content-block-position,.theme-hero.page-toc .content-block-position{margin:2rem auto}.theme-mega-full.page-toc .content-break,.theme-hero.page-toc .content-break{margin-right:auto;margin-bottom:3rem;margin-left:auto}.page-toc .article-post{margin-right:auto;margin-left:auto}.page-toc .content-block-position{margin-left:auto;margin-right:auto}.theme-classic.page-toc .header-post,.theme-wide.page-toc .header-post,.theme-full.page-toc .header-post{margin-top:6rem;margin-right:auto;margin-bottom:0;margin-left:auto}.article-post{font-size:19px}.article-post .post{padding:45px 60px}.featured-image-preview img,.featured-image img{border-radius:30px 30px 0 0}.padding-article{padding:40px 60px 20px 60px}}@media only screen and (max-width: 960px){.page,.content-block-position{width:100%}.article-post{font-size:19px}.article-post .post{padding:45px 60px}.featured-image-preview img,.featured-image img{border-top-left-radius:17px;border-top-right-radius:17px}.padding-article{padding:40px 60px 20px 60px}.img-right{float:none;margin-left:auto;margin-right:auto}.img-size-30,.img-size-50,.img-size-40{width:100%}}@media only screen and (max-width: 680px){.home .home-profile .home-avatar{display:none}.article-post{font-size:16px}.article-post .post{padding:10px 10px 30px 10px}.article-post .content-block{border-radius:0}.article-post .featured-image{border-radius:0}.article-post .content-block-position:first-child{margin-top:0}.article-post .content-break h2{margin-top:0}.header-post{border-radius:0;margin-top:0}.comments{padding:10px 10px 10px}.featured-image{height:100vh}.theme-wide .image-theme-wide{margin-right:-10px;margin-left:-10px}.theme-classic .header-post,.theme-wide .header-post,.theme-full .header-post{margin-top:3rem}.theme-classic .article-post,.theme-wide .article-post,.theme-full .article-post,.theme-mega-full .article-post,.theme-hero .article-post{margin-top:0}.single{border-radius:0}.featured-image-preview img,.featured-image img{border-top-left-radius:17px;border-top-right-radius:17px}.padding-article{padding:40px 10px 0 10px}figure.render-image{display:block;margin-left:-10px;margin-right:-10px}.split-post{margin-right:-10px;margin-left:-10px}.post-all-meta{padding:20px 10px 20px}.author-comment-text{font-size:18px}.post-navigation{display:inline-block;width:100%}.post-navigation .nav-box-prev{margin-right:0}.post-navigation .post-nav-box{width:100%;padding-top:10px}.post-tags .tag{padding:2px 5px 2px 5px;font-size:14px}.post-tags-summary-image{display:none}.post-tags-summary-under-footer-display{display:inline-block}.block-media_column .content-column{width:100%;padding-bottom:15px}.block-media_right,.block-media_left{width:100%;text-align:center;float:none;margin-left:0}.cat-cit{padding:0;border:0}[theme=dark] .cat-cit{background:initial}.cat-cit:before{content:"";width:100%;border-bottom:3px dashed #2c678d;margin-bottom:20px;display:block}.cat-cit:after{content:"";width:100%;border-top:3px dashed #2c678d;margin-top:20px;display:block}.breadcrumbs,span.tag-none-display{display:none}}@media only screen and (max-width: 400px){.home .article-post .featured-image-preview{display:none}.rendered{margin-top:15px;margin-left:5px;margin-right:5px}.post-meta .post-meta-views,.post-meta .post-meta-comments{display:none}.block-author .author-avatar{display:none}}@media print{div.menu,.fixed-button,.toc,#toc-auto,.post-info-share,.post-footer,.comments,.post-tags,footer,.breadcrumbs{display:none !important}.content-block-first,.content-block{box-shadow:none}.header-post{box-shadow:none;position:static;height:auto}.header-post .featured-image{height:0}.header-post .post-title{position:static;display:block;top:0}#header-desktop{box-shadow:none;border-bottom:1px solid black;padding-bottom:10px;position:absolute}#header-desktop .header-wrapper{padding:0}.post-all-meta{padding:0}.single .admonition .admonition-title{border-bottom-width:5px}[data-header-desktop] .page,[data-header-desktop] .content-block-position{margin-top:0}.single .post-meta{display:none}.single .post .admonition .details-icon{display:none}.article-post .content-block{box-shadow:none}.article-post .content-block-position:first-child{margin-top:0}.article-post .featured-image{height:0}.theme-full .content-block-first,.theme-classic .content-block-first,.theme-wide .content-block-first{box-shadow:none}}@media screen and (min-width: 900px){.post-hero{display:block}.post-hero.mobile{display:none}.post-hero-grid{max-width:1200px;margin:0 auto;padding:4rem 16px 0}.hero-text-container{padding:0}.hero-text-container span{font-size:13px;letter-spacing:1.35px;line-height:24px}.hero-text-container h1{opacity:0.9;font-weight:500;font-size:40px;letter-spacing:0px;line-height:48px;margin-bottom:24px}.hero-text-container p{font-size:24px;color:#606060;letter-spacing:0.2px;line-height:32px;margin-bottom:16px}.hero-author{padding:0}.hero-author h4{font-size:16px;color:#242424;letter-spacing:-0.2px;line-height:24px}.hero-author p{font-weight:300;font-size:16px;color:#606060;letter-spacing:0.1px}.rendered{font-weight:300;font-size:16px;color:#606060;letter-spacing:0.1px}.hero-img{height:528px;width:528px}}@media screen and (max-width: 900px){.hero-text-container{padding-top:6rem}.post-hero-grid .post-hero-logo{display:none}.post-hero-grid .post-hero-info{margin-right:0}}@media screen and (min-width: 400px){.hero-img{height:450px;width:450px}}@media screen and (min-width: 1200px){.hero-img{width:588px;height:528px}.hero-text-container h1{font-weight:600;font-size:60px;line-height:72px;letter-spacing:-1.35px}}
/*# sourceMappingURL=style.min.css.map */ \ No newline at end of file
diff --git a/src/js/theme.js b/src/js/theme.js
index 0282b75..a664027 100644
--- a/src/js/theme.js
+++ b/src/js/theme.js
@@ -13,7 +13,7 @@ class Util {
}
isTocStatic() {
- return window.matchMedia('only screen and (max-width: 960px)').matches;
+ return window.matchMedia('only screen and (max-width: 1200px)').matches;
}
animateCSS(element, animation, reserved, callback) {
@@ -679,4 +679,4 @@ if (document.readyState !== 'loading') {
themeInit();
} else {
document.addEventListener('DOMContentLoaded', themeInit, false);
-} \ No newline at end of file
+}