// customized script, so not to be updated to original vendor version
!function(t){"use strict";!function(t,e,s,i){var o=".tocify-header",n=".tocify-subheader";t.widget("toc.tocify",{version:"1.9.0",options:{context:"body",ignoreSelector:null,selectors:"h1, h2, h3",showAndHide:!1,showEffect:"slideDown",showEffectSpeed:"medium",hideEffect:"slideUp",hideEffectSpeed:"medium",smoothScroll:!0,smoothScrollSpeed:"medium",scrollTo:0,showAndHideOnScroll:!0,highlightOnScroll:!0,highlightOffset:40,theme:"uikit",extendPage:!1,extendPageOffset:100,history:!1,scrollHistory:!1,hashGenerator:"compact",highlightDefault:!0},_create:function(){var s=this;s.extendPageScroll=!0,s.items=[],s._generateToc(),s._addCSSClasses(),s.webkit=function(){for(var t in e)if(t&&-1!==t.toLowerCase().indexOf("webkit"))return!0;return!1}(),s._setEventHandlers(),t(e).on("load",(function(){s._setActiveElement(!0),t("html, body").promise().done((function(){setTimeout((function(){s.extendPageScroll=!1}),0)}))}))},_generateToc:function(){var e,s,i=this,o=i.options.ignoreSelector;if((e=-1!==this.options.selectors.indexOf(",")?t(this.options.context).find(this.options.selectors.replace(/ /g,"").substr(0,this.options.selectors.indexOf(","))):t(this.options.context).find(this.options.selectors.replace(/ /g,""))).length){i.element.addClass("tocify");var n=t(this.options.context).find(this.options.selectors),a=0;e.each((function(e){if(!t(this).is(o)){for(s=t("
",{id:"tocify-header"+e,class:"tocify-header"}).append(i._nestElements(t(this),e)),i.element.append(s);n[a]!==this;)a+=1;for(var l=a+1;l",{class:"tocify-item","data-unique":n}).append(t("",{text:e.text()})),e.before(t("",{name:n,"data-unique":n})),o},_generateHashValue:function(t,e,s){var i="",o=this.options.hashGenerator;if("pretty"===o){for(i=e.text().toLowerCase().replace(/\s/g,"-");i.indexOf("--")>-1;)i=i.replace(/--/g,"-");for(;i.indexOf(":-")>-1;)i=i.replace(/:-/g,"-")}else i="function"==typeof o?o(e.text(),e):e.text().replace(/\s/g,"");return t.length&&(i+=""+s),i},_appendSubheaders:function(e,s){var i=t(this).index(e.options.selectors),o=t(e.options.selectors).eq(i-1),a=+t(this).prop("tagName").charAt(1),l=+o.prop("tagName").charAt(1);a",{class:"tocify-subheader","data-tag":a})).next(n).append(e._nestElements(t(this),i))},_setEventHandlers:function(){var i=this;this.element.on("click.tocify","li",(function(s){if(i.options.history&&(e.location.hash=t(this).attr("data-unique")),i.element.find("."+i.focusClass).removeClass(i.focusClass),t(this).addClass(i.focusClass),i.options.showAndHide){i._lastTocClickTime=Date.now();var o=t('li[data-unique="'+t(this).attr("data-unique")+'"]');i._triggerShow(o)}i._scrollTo(t(this))})),this.element.find("li").on({"mouseenter.tocify":function(){t(this).addClass(i.hoverClass),t(this).css("cursor","pointer")},"mouseleave.tocify":function(){"uikit"!==i.options.theme&&t(this).removeClass(i.hoverClass)}}),(i.options.extendPage||i.options.highlightOnScroll||i.options.scrollHistory||i.options.showAndHideOnScroll)&&t(e).on("scroll.tocify",(function(){t("html, body").promise().done((function(){var o,n,a,l,h=t(e).scrollTop(),r=t(e).height(),d=t(s).height(),c=t("body")[0].scrollHeight;if(i.options.extendPage&&(i.webkit&&h>=c-r-i.options.extendPageOffset||!i.webkit&&r+h>d-i.options.extendPageOffset)&&!t(".tocify-extend-page").length){if(!(n=t('div[data-unique="'+t(".tocify-item").last().attr("data-unique")+'"]')).length)return;a=n.offset().top,t(i.options.context).append(t("",{class:"tocify-extend-page",height:Math.abs(a-h)+"px","data-unique":"tocify-extend-page"})),i.extendPageScroll&&(l=i.element.find("li.active"),i._scrollTo(t('div[data-unique="'+l.attr("data-unique")+'"]')))}setTimeout((function(){var s,n=null,a=null,l=t(i.options.context).find("div[data-unique]");l.each((function(e){var s=Math.abs((t(this).next().length?t(this).next():t(this)).offset().top-h-i.options.highlightOffset);if(!(null==n||s1200)&&(i.element.find("."+i.focusClass).removeClass(i.focusClass),o.addClass(i.focusClass)),i.options.scrollHistory&&e.location.hash!=="#"+s&&e.location.replace("#"+s),i.options.showAndHideOnScroll&&i.options.showAndHide&&(!i._lastTocClickTime||Date.now()-i._lastTocClickTime>1200)&&i._triggerShow(o,!0)}),0)}))}))},show:function(e,s){if(!e.is(":visible"))switch(e.find(n).length||e.parent().is(o)||e.parent().is(":visible")?e.children(n).length||e.parent().is(o)||(e=e.closest(n)):e=e.parents(n).add(e),this.options.showEffect){case"none":e.show();break;case"show":e.show(this.options.showEffectSpeed);break;case"slideDown":e.slideDown(this.options.showEffectSpeed);break;case"fadeIn":e.fadeIn(this.options.showEffectSpeed);break;default:e.show()}return e.parent().is(o)?this.hide(t(n).not(e)):this.hide(t(n).not(e.closest(o).find(n).not(e.siblings()))),this},hide:function(t){switch(this.options.hideEffect){case"none":t.hide();break;case"hide":t.hide(this.options.hideEffectSpeed);break;case"slideUp":t.slideUp(this.options.hideEffectSpeed);break;case"fadeOut":t.fadeOut(this.options.hideEffectSpeed);break;default:t.hide()}return this},_triggerShow:function(t,e){return t.parent().is(o)||t.next().is(n)?this.show(t.next(n),e):t.parent().is(n)&&this.show(t.parent(),e),this},_addCSSClasses:function(){return"uikit"===this.options.theme?(this.element.find(o+","+n).addClass("bdt-nav bdt-nav-default"),this.focusClass="bdt-active"):(this.focusClass="tocify-focus",this.hoverClass="tocify-hover"),this},setOption:function(){t.Widget.prototype._setOption.apply(this,arguments)},setOptions:function(){t.Widget.prototype._setOptions.apply(this,arguments)},_scrollTo:function(e){var s=this.options.smoothScroll||0,i=this.options.scrollTo,o=t('div[data-unique="'+e.attr("data-unique")+'"]');return o.length?(t("html, body").promise().done((function(){t("html, body").animate({scrollTop:o.offset().top-(t.isFunction(i)?i.call():i)+"px"},{duration:s})})),this):this}})}(window.jQuery,window,document)}();