j1-template 2021.1.7 → 2021.1.8

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: dd99f44d9770cafc797059b8bb2dd7b2c60b54e460737d3fdcddaaac0702b52f
4
- data.tar.gz: a1f080e81e48ec5ec902a7559ebf2555e33b648d3f385dcf99767b981a5d1636
3
+ metadata.gz: 15a82a38a067b98bdaa129c447b54600af007da3f8c9b2efae185c9b02c8d6e5
4
+ data.tar.gz: 1a0e0fec2e12234a751f7fedbd90e6a58fb1689912065ecd71ef6525b119550a
5
5
  SHA512:
6
- metadata.gz: 8faefc3ade2153c53a3edef1576b42cced5ef8ed77ef560799a779e155bfb00e86fe2f8d95e3774203bcefcaea3d23b780223a3235b1b824b21bf24e7eb4dbe3
7
- data.tar.gz: 8d928351b119f2b3288218844a586abda950e7acc100384ddd262f7746eda189b4db7bbc3f60071ea6ea8ae8bf3f15c33c14e8c92c932549edb7b58886c311e3
6
+ metadata.gz: 7e357cd4d5e304310dad833b2e09e15e160dcda2c02d96322226268ab235097005b1d5c0657eea5f0c9a4c0e190aa6558f134954b1c840950a038529f43c5b46
7
+ data.tar.gz: d3f01f37ce3706818f700d0262601f1b9d6cb5c455894e3d7023ced9d25df22bc49e6605be195a5acb99c82c8ff94e86475f7a347d77d1a420b9dd46c9738ba5
@@ -8,7 +8,7 @@
8
8
  * J1 Core
9
9
  * Copyright (C) 2021 Juergen Adams
10
10
  * Licensed under MIT License.
11
- */e.exports=function(e){$.extend({foo:"foo_option",bar:"bar_option"},void 0);return{_init_:function(e){},getState:function(){return"loaded"},isMobile:function(e){var n,t=!1;return n=navigator.userAgent||navigator.vendor||window.opera,(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(n)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw-(n|u)|c55\/|capi|ccwa|cdm|cell|chtm|cldc|cmd|co(mp|nd)|craw|da(it|ll|ng)|dbte|dcs|devi|dica|dmob|do(c|p)o|ds(12|d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(|_)|g1 u|g560|gene|gf5|gmo|go(\.w|od)|gr(ad|un)|haie|hcit|hd(m|p|t)|hei|hi(pt|ta)|hp( i|ip)|hsc|ht(c(| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i(20|go|ma)|i230|iac( ||\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|[a-w])|libw|lynx|m1w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|mcr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|([1-8]|c))|phil|pire|pl(ay|uc)|pn2|po(ck|rt|se)|prox|psio|ptg|qaa|qc(07|12|21|32|60|[2-7]|i)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h|oo|p)|sdk\/|se(c(|0|1)|47|mc|nd|ri)|sgh|shar|sie(|m)|sk0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h|v|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl|tdg|tel(i|m)|tim|tmo|to(pl|sh)|ts(70|m|m3|m5)|tx9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas|your|zeto|zte/i.test(n.substr(0,4)))&&(t=!0),t},bsFormClearButton:function(){$(":input").on("keydown focus change mouseover",(function(){$(this).val().length>0&&$(this).nextAll(".form-clear").removeClass("d-none")})).on("keydown keyup blur",(function(){0===$(this).val().length&&$(this).nextAll(".form-clear").addClass("d-none")}))}}}()},function(e,n){e.exports=function(e){var n,t,r={};$.extend({foo:"bar",bar:"foo"},e);return{init:function(e,o){return n=log4javascript.getLogger("j1.core.navigator"),t="core is being initialized",n.info(t),this.manageDropdownMenu(e,o),this.navbarSticky(),r.type="command",r.action="module_initialized",r.text="navigator core initialized successfully",j1.sendMessage("j1.core.navigator","j1.adapter.navigator",r),!0},eventHandler:function(){var e=log4javascript.getLogger("j1.core.navigator.eventHandler"),n=$("nav.navbar.navigator");if($('a[href="#"]').click((function(n){n.preventDefault?n.preventDefault():n.returnValue=!1,e.info('bound click event to "#", suppress default action')})),n.hasClass("navbar-sticky")&&n.wrap("<div class='wrap-sticky'></div>"),n.hasClass("brand-center")){var t=new Array,r=$("nav.brand-center"),o=r.find("ul.navbar-nav");r.find("ul.navbar-nav > li").each((function(){t.push($(this).html())}));var a=t.splice(0,Math.round(t.length/2)),i=t,s="",l=function(e){s="";for(var n=0;n<e.length;n++)s+="<li>"+e[n]+"</li>"};l(a),o.html(s),r.find("ul.nav").first().addClass("navbar-left"),l(i),o.after('<ul class="nav navbar-nav"></ul>').next().html(s),r.find("ul.nav").last().addClass("navbar-right"),r.find("ul.nav.navbar-left").wrap("<div class='col_half left'></div>"),r.find("ul.nav.navbar-right").wrap("<div class='col_half right'></div>"),r.find("ul.navbar-nav > li").each((function(){var e=$("ul.dropdown-menu",this),n=$("ul.megamenu-content",this);e.closest("li").addClass("dropdown"),n.closest("li").addClass("megamenu-fw")}))}n.find("ul.nav").hasClass("navbar-center")&&n.addClass("menu-center"),n.hasClass("navbar-full")?($("nav.navbar.navigator").find("ul.nav").wrap("<div class='wrap-full-menu'></div>"),$(".wrap-full-menu").wrap("<div class='nav-full'></div>"),$("ul.nav.navbar-nav").prepend("<li class='close-full-menu'><a href='#'><i class='mdi mdi-close'></i></a></li>")):n.hasClass("navbar-mobile")?n.removeClass("no-full"):n.addClass("no-full"),n.hasClass("no-background")&&$(window).on("scroll",(function(){var e=$("nav.navbar").outerHeight();$(window).scrollTop()>e?$(".navbar-fixed").removeClass("no-background"):$(".navbar-fixed").addClass("no-background")})),n.hasClass("navbar-transparent")&&$(window).on("scroll",(function(){var e=$("nav.navbar").outerHeight();$(window).scrollTop()>e?($(".navbar-fixed").removeClass("navbar-transparent"),$(".navbar-fixed").addClass("navbar-scrolled")):($(".navbar-fixed").removeClass("navbar-scrolled"),$(".navbar-fixed").addClass("navbar-transparent"))})),$("nav.navbar.navigator .attr-nav").each((function(){e.debug("register OPEN event|s for QuickSearch"),$("li.search > a",this).on("click",(function(n){e.debug("manage search action OPEN"),$("html,body").animate({scrollTop:0},0),$(".top-search").slideToggle("slow","swing",(function(){$(".top-search").is(":visible")?($("body").addClass("stop-scrolling"),$("body").bind("touchmove",(function(e){e.preventDefault()}))):($("body").removeClass("stop-scrolling"),$("body").unbind("touchmove"))}))}))})),e.debug("register CLOSE event|s for QuickSearch"),$(".input-group-addon.close-search").on("click",(function(n){n.preventDefault(),e.debug("manage search action CLOSE"),$(".top-search").slideUp("slow","swing"),$("html,body").animate({scrollTop:0},0),$("body").removeClass("stop-scrolling"),$("body").unbind("touchmove"),n.stopPropagation()})),$("nav.navbar.navigator .attr-nav").each((function(){e.debug("register SHOW|HIDE event|s for J1 Translator"),$("li.translator > a",this).on("click",(function(n){e.debug("toggle translator icon SHOW|HIDE"),$("#google_translate_element").toggle(),"none"!==$("#google_translate_element").css("display")&&$("html,body").animate({scrollTop:0},"slow")}))})),$("body").wrapInner("<div class='wrapper'></div>")},manageDropdownMenu:function(e,n){var t,r,o,a,i=e,s=n,l=$("nav.navbar.navigator"),c=(window.matchMedia("(orientation: landscape)").matches,$(window).width()),u=($("nav").width(),l.find("ul.nav").data("in")),d=l.find("ul.nav").data("out"),f="#"+s.xhr_container_id+".collapse",p=s.delay_menu_open;if(c<=(r="lg"===i.nav_bar.media_breakpoint?992:"md"===i.nav_bar.media_breakpoint?768:"sm"===i.nav_bar.media_breakpoint?576:992)?($(f).addClass("navbar-collapse"),$(f).removeClass("show"),$("#navigator_nav_quicklinks").addClass("show"),$("nav.navbar.navigator .attr-nav").each((function(){$(".dropdown-menu",this).removeClass("animated"),$("li.dropdown",this).off("mouseenter"),$("li.dropdown",this).off("mouseleave"),$("a.dropdown-toggle",this).off("click"),$("a.dropdown-toggle",this).on("click",(function(e){$(this).closest("li.dropdown").find(".dropdown-menu").first().stop().fadeToggle(),$(".navbar-toggle").each((function(){$(".mdi",this).removeClass("mdi-close"),$(".mdi",this).addClass("mdi-menu"),$(".navbar-collapse").removeClass("in"),$(".navbar-collapse").removeClass("open")}))})),$(this).on("mouseleave",(function(){$(".dropdown-menu",this).stop().fadeOut(),$("li.dropdown",this).removeClass("open")}))})),$("#desktop_menu").hide()):c>r&&($("#navigator_nav_quicklinks").removeClass("show"),$("#desktop_menu").show(),$(".dropdown-menu > li").on("mouseenter",(function(){if($("body").hasClass("stop-scrolling"))return!1;$("body").addClass("stop-scrolling")})),$(".dropdown-menu > li").on("mouseleave",(function(){$("body").hasClass("stop-scrolling")&&$("body").removeClass("stop-scrolling")})),$(".dropdown-menu > li").hover((function(){var e=$(this).find("ul");1==e.length&&e.addClass("scrollable-menu")})),$(f).removeClass("navbar-collapse"),$(f).addClass("show"),$("nav.navbar.navigator ul.nav").each((function(){$("a.dropdown-toggle",this).off("click"),$("a.dropdown-toggle",this).on("click",(function(e){})),$(".megamenu-fw",this).each((function(){$(".title",this).off("click"),$("a.dropdown-toggle",this).off("click"),$(".content").removeClass("animated")})),$(".dropdown-menu",this).addClass("animated"),$("li.dropdown",this).on("mouseenter",(function(){t=$(".dropdown-menu",this).eq(0),o=$(this),t.removeClass(d),t.removeClass("open"),o.addClass("open"),a=window.setTimeout((function(){o.hasClass("open")&&(t.stop().fadeIn().addClass(u),t.addClass("open"),o.addClass("open"))}),p)})),$("li.dropdown",this).on("mouseleave",(function(){window.clearTimeout(a),$(this).removeClass("open").removeClass("open"),$(".dropdown-menu",this).removeClass("open"),$(".dropdown-menu",this).eq(0).removeClass(u),$(".dropdown-menu",this).eq(0).stop().fadeOut().addClass(d)})),$(this).on("mouseleave",(function(){window.clearTimeout(a),$("li.dropdown",this).removeClass("open"),$(".dropdown-menu",this).removeClass("open"),$(".dropdown-menu",this).removeClass(u),$(".dropdown-menu",this).eq(0).stop().fadeOut().addClass(d)}))}))),$("nav.navbar.navigator .attr-nav").each((function(){$("a.dropdown-toggle",this).off("click"),$("a.dropdown-toggle",this).on("click",(function(e){})),$(".dropdown-menu",this).addClass("animated"),$("li.dropdown",this).on("mouseenter",(function(){$(".dropdown-menu",this).eq(0).removeClass(d),$(".dropdown-menu",this).eq(0).stop().fadeIn().addClass(u),$(this).addClass("open")})),$("li.dropdown",this).on("mouseleave",(function(){$(".dropdown-menu",this).eq(0).removeClass(u),$(".dropdown-menu",this).eq(0).stop().fadeOut().addClass(d),$(this).removeClass("open")})),$(this).on("mouseleave",(function(){$(".dropdown-menu",this).removeClass(u),$(".dropdown-menu",this).eq(0).stop().fadeOut().addClass(d),$("li.dropdown",this).removeClass("open")}))})),l.hasClass("navbar-full")){var m=$(window).height(),v=$(window).width();$(".nav-full").css("height",m+"px"),$(".wrap-full-menu").css("height",m+"px"),$(".wrap-full-menu").css("width",v+"px"),$(".navbar-collapse").addClass("animated"),$(".navbar-toggle").each((function(){var e=$(this).data("target");$(this).off("click"),$(this).on("click",(function(n){n.preventDefault(),$(e).removeClass(d),$(e).addClass("in"),$(e).addClass(u)})),$("li.close-full-menu").on("click",(function(n){n.preventDefault(),$(e).addClass(d),setTimeout((function(){$(e).removeClass("in"),$(e).removeClass(u)}),500)}))}))}},navbarSticky:function(){var e=$("nav.navbar.navigator");if(e.hasClass("navbar-sticky")){var n=e.height();$(".wrap-sticky").height(n);var t=$(".wrap-sticky").offset().top;$(window).on("scroll",(function(){$(window).scrollTop()>t?e.addClass("sticked"):e.removeClass("sticked")}))}},updateSidebar:function(e){var n,r=log4javascript.getLogger("j1.core.navigator.updateSidebar");return n=JSON.stringify(e),t="user state data: "+n,r.debug(t),j1.resolveMacros(e),j1.updateMacros(e),!0}}}(jQuery)},function(e,n){
11
+ */e.exports=function(e){$.extend({foo:"foo_option",bar:"bar_option"},void 0);return{_init_:function(e){},getState:function(){return"loaded"},isMobile:function(e){var n,t=!1;return n=navigator.userAgent||navigator.vendor||window.opera,(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(n)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw-(n|u)|c55\/|capi|ccwa|cdm|cell|chtm|cldc|cmd|co(mp|nd)|craw|da(it|ll|ng)|dbte|dcs|devi|dica|dmob|do(c|p)o|ds(12|d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(|_)|g1 u|g560|gene|gf5|gmo|go(\.w|od)|gr(ad|un)|haie|hcit|hd(m|p|t)|hei|hi(pt|ta)|hp( i|ip)|hsc|ht(c(| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i(20|go|ma)|i230|iac( ||\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|[a-w])|libw|lynx|m1w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|mcr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|([1-8]|c))|phil|pire|pl(ay|uc)|pn2|po(ck|rt|se)|prox|psio|ptg|qaa|qc(07|12|21|32|60|[2-7]|i)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h|oo|p)|sdk\/|se(c(|0|1)|47|mc|nd|ri)|sgh|shar|sie(|m)|sk0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h|v|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl|tdg|tel(i|m)|tim|tmo|to(pl|sh)|ts(70|m|m3|m5)|tx9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas|your|zeto|zte/i.test(n.substr(0,4)))&&(t=!0),t},bsFormClearButton:function(){$(":input").on("keydown focus change mouseover",(function(){$(this).val().length>0&&$(this).nextAll(".form-clear").removeClass("d-none")})).on("keydown keyup blur",(function(){0===$(this).val().length&&$(this).nextAll(".form-clear").addClass("d-none")}))}}}()},function(e,n){e.exports=function(e){var n,t,r={};$.extend({foo:"bar",bar:"foo"},e);return{init:function(e,o){return n=log4javascript.getLogger("j1.core.navigator"),t="core is being initialized",n.info(t),this.manageDropdownMenu(e,o),this.navbarSticky(),this.eventHandler(),r.type="command",r.action="core_initialized",r.text="navigator core initialized",j1.sendMessage("j1.core.navigator","j1.adapter.navigator",r),!0},eventHandler:function(){var e=log4javascript.getLogger("j1.core.navigator.eventHandler"),n=$("nav.navbar.navigator");if($('a[href="#"]').click((function(n){n.preventDefault?n.preventDefault():n.returnValue=!1,e.info('bound click event to "#", suppress default action')})),n.hasClass("navbar-sticky")&&n.wrap("<div class='wrap-sticky'></div>"),n.hasClass("brand-center")){var t=new Array,r=$("nav.brand-center"),o=r.find("ul.navbar-nav");r.find("ul.navbar-nav > li").each((function(){t.push($(this).html())}));var a=t.splice(0,Math.round(t.length/2)),i=t,s="",l=function(e){s="";for(var n=0;n<e.length;n++)s+="<li>"+e[n]+"</li>"};l(a),o.html(s),r.find("ul.nav").first().addClass("navbar-left"),l(i),o.after('<ul class="nav navbar-nav"></ul>').next().html(s),r.find("ul.nav").last().addClass("navbar-right"),r.find("ul.nav.navbar-left").wrap("<div class='col_half left'></div>"),r.find("ul.nav.navbar-right").wrap("<div class='col_half right'></div>"),r.find("ul.navbar-nav > li").each((function(){var e=$("ul.dropdown-menu",this),n=$("ul.megamenu-content",this);e.closest("li").addClass("dropdown"),n.closest("li").addClass("megamenu-fw")}))}n.find("ul.nav").hasClass("navbar-center")&&n.addClass("menu-center"),n.hasClass("navbar-full")?($("nav.navbar.navigator").find("ul.nav").wrap("<div class='wrap-full-menu'></div>"),$(".wrap-full-menu").wrap("<div class='nav-full'></div>"),$("ul.nav.navbar-nav").prepend("<li class='close-full-menu'><a href='#'><i class='mdi mdi-close'></i></a></li>")):n.hasClass("navbar-mobile")?n.removeClass("no-full"):n.addClass("no-full"),n.hasClass("no-background")&&$(window).on("scroll",(function(){var e=$("nav.navbar").outerHeight();$(window).scrollTop()>e?$(".navbar-fixed").removeClass("no-background"):$(".navbar-fixed").addClass("no-background")})),n.hasClass("navbar-transparent")&&$(window).on("scroll",(function(){var e=$("nav.navbar").outerHeight();$(window).scrollTop()>e?($(".navbar-fixed").removeClass("navbar-transparent"),$(".navbar-fixed").addClass("navbar-scrolled")):($(".navbar-fixed").removeClass("navbar-scrolled"),$(".navbar-fixed").addClass("navbar-transparent"))})),$(".attr-nav").each((function(){e.debug("register OPEN event|s for QuickSearch"),$("li.search > a",this).on("click",(function(n){e.debug("manage search action OPEN"),$("html,body").animate({scrollTop:0},0),$(".top-search").slideToggle("slow","swing",(function(){$(".top-search").is(":visible")?($("body").addClass("stop-scrolling"),$("body").bind("touchmove",(function(e){e.preventDefault()}))):($("body").removeClass("stop-scrolling"),$("body").unbind("touchmove"))}))}))})),e.debug("register CLOSE event|s for QuickSearch"),$(".input-group-addon.close-search").on("click",(function(n){n.preventDefault(),e.debug("manage search action CLOSE"),$(".top-search").slideUp("slow","swing"),$("html,body").animate({scrollTop:0},0),$("body").removeClass("stop-scrolling"),$("body").unbind("touchmove"),n.stopPropagation()})),$("nav.navbar.navigator .attr-nav").each((function(){e.debug("register SHOW|HIDE event|s for J1 Translator"),$("li.translator > a",this).on("click",(function(n){e.debug("toggle translator icon SHOW|HIDE"),$("#google_translate_element").toggle(),"none"!==$("#google_translate_element").css("display")&&$("html,body").animate({scrollTop:0},"slow")}))})),$("body").wrapInner("<div class='wrapper'></div>")},manageDropdownMenu:function(e,n){var t,r,o,a,i=e,s=n,l=$("nav.navbar.navigator"),c=(window.matchMedia("(orientation: landscape)").matches,$(window).width()),u=($("nav").width(),l.find("ul.nav").data("in")),d=l.find("ul.nav").data("out"),f="#"+s.xhr_container_id+".collapse",p=s.delay_menu_open;if(c<=(r="lg"===i.nav_bar.media_breakpoint?992:"md"===i.nav_bar.media_breakpoint?768:"sm"===i.nav_bar.media_breakpoint?576:992)?($(f).addClass("navbar-collapse"),$(f).removeClass("show"),$("#navigator_nav_quicklinks").addClass("show"),$("nav.navbar.navigator .attr-nav").each((function(){$(".dropdown-menu",this).removeClass("animated"),$("li.dropdown",this).off("mouseenter"),$("li.dropdown",this).off("mouseleave"),$("a.dropdown-toggle",this).off("click"),$("a.dropdown-toggle",this).on("click",(function(e){$(this).closest("li.dropdown").find(".dropdown-menu").first().stop().fadeToggle(),$(".navbar-toggle").each((function(){$(".mdi",this).removeClass("mdi-close"),$(".mdi",this).addClass("mdi-menu"),$(".navbar-collapse").removeClass("in"),$(".navbar-collapse").removeClass("open")}))})),$(this).on("mouseleave",(function(){$(".dropdown-menu",this).stop().fadeOut(),$("li.dropdown",this).removeClass("open")}))})),$("#desktop_menu").hide()):c>r&&($("#navigator_nav_quicklinks").removeClass("show"),$("#desktop_menu").show(),$(".dropdown-menu > li").on("mouseenter",(function(){if($("body").hasClass("stop-scrolling"))return!1;$("body").addClass("stop-scrolling")})),$(".dropdown-menu > li").on("mouseleave",(function(){$("body").hasClass("stop-scrolling")&&$("body").removeClass("stop-scrolling")})),$(".dropdown-menu > li").hover((function(){var e=$(this).find("ul");1==e.length&&e.addClass("scrollable-menu")})),$(f).removeClass("navbar-collapse"),$(f).addClass("show"),$("nav.navbar.navigator ul.nav").each((function(){$("a.dropdown-toggle",this).off("click"),$("a.dropdown-toggle",this).on("click",(function(e){})),$(".megamenu-fw",this).each((function(){$(".title",this).off("click"),$("a.dropdown-toggle",this).off("click"),$(".content").removeClass("animated")})),$(".dropdown-menu",this).addClass("animated"),$("li.dropdown",this).on("mouseenter",(function(){t=$(".dropdown-menu",this).eq(0),o=$(this),t.removeClass(d),t.removeClass("open"),o.addClass("open"),a=window.setTimeout((function(){o.hasClass("open")&&(t.stop().fadeIn().addClass(u),t.addClass("open"),o.addClass("open"))}),p)})),$("li.dropdown",this).on("mouseleave",(function(){window.clearTimeout(a),$(this).removeClass("open").removeClass("open"),$(".dropdown-menu",this).removeClass("open"),$(".dropdown-menu",this).eq(0).removeClass(u),$(".dropdown-menu",this).eq(0).stop().fadeOut().addClass(d)})),$(this).on("mouseleave",(function(){window.clearTimeout(a),$("li.dropdown",this).removeClass("open"),$(".dropdown-menu",this).removeClass("open"),$(".dropdown-menu",this).removeClass(u),$(".dropdown-menu",this).eq(0).stop().fadeOut().addClass(d)}))}))),$("nav.navbar.navigator .attr-nav").each((function(){$("a.dropdown-toggle",this).off("click"),$("a.dropdown-toggle",this).on("click",(function(e){})),$(".dropdown-menu",this).addClass("animated"),$("li.dropdown",this).on("mouseenter",(function(){$(".dropdown-menu",this).eq(0).removeClass(d),$(".dropdown-menu",this).eq(0).stop().fadeIn().addClass(u),$(this).addClass("open")})),$("li.dropdown",this).on("mouseleave",(function(){$(".dropdown-menu",this).eq(0).removeClass(u),$(".dropdown-menu",this).eq(0).stop().fadeOut().addClass(d),$(this).removeClass("open")})),$(this).on("mouseleave",(function(){$(".dropdown-menu",this).removeClass(u),$(".dropdown-menu",this).eq(0).stop().fadeOut().addClass(d),$("li.dropdown",this).removeClass("open")}))})),l.hasClass("navbar-full")){var m=$(window).height(),v=$(window).width();$(".nav-full").css("height",m+"px"),$(".wrap-full-menu").css("height",m+"px"),$(".wrap-full-menu").css("width",v+"px"),$(".navbar-collapse").addClass("animated"),$(".navbar-toggle").each((function(){var e=$(this).data("target");$(this).off("click"),$(this).on("click",(function(n){n.preventDefault(),$(e).removeClass(d),$(e).addClass("in"),$(e).addClass(u)})),$("li.close-full-menu").on("click",(function(n){n.preventDefault(),$(e).addClass(d),setTimeout((function(){$(e).removeClass("in"),$(e).removeClass(u)}),500)}))}))}},navbarSticky:function(){var e=$("nav.navbar.navigator");if(e.hasClass("navbar-sticky")){var n=e.height();$(".wrap-sticky").height(n);var t=$(".wrap-sticky").offset().top;$(window).on("scroll",(function(){$(window).scrollTop()>t?e.addClass("sticked"):e.removeClass("sticked")}))}},updateSidebar:function(e){var n,r=log4javascript.getLogger("j1.core.navigator.updateSidebar");return n=JSON.stringify(e),t="user state data: "+n,r.debug(t),j1.resolveMacros(e),j1.updateMacros(e),!0}}}(jQuery)},function(e,n){
12
12
  /*!
13
13
  * J1 Asciidoctor
14
14
  * Copyright (C) 2021 Juergen Adams
@@ -1 +1 @@
1
- {"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./template.js","webpack:///./js/adapter/adapter.js","webpack:///./js/core/core.js","webpack:///./js/navigator/navigator.js","webpack:///./js/asciidoctor/asciidoctor.js","webpack:///./js/scroll-smooth/scroll-smooth.js","webpack:///./js/anime/anime.js","webpack:///./js/tocbot/tocbot.js","webpack:///(webpack)/buildin/global.js","webpack:///./js/tocbot/default-options.js","webpack:///./js/tocbot/build-html.js","webpack:///./js/tocbot/parse-content.js","webpack:///./js/tocbot/update-toc-scroll.js","webpack:///./js/tocbot/scroll-smooth/index.js","webpack:///./js/adoc_result_viewer/view_results.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","window","j1","adapter","require","core","navigator","asciidoctor","scrollSmooth","anime","_init_","options","$","extend","foo","bar","getState","isMobile","ua_name","a","mobile","userAgent","vendor","opera","test","substr","bsFormClearButton","on","this","val","length","nextAll","removeClass","addClass","logger","logText","message","init","defaultOptions","menuOptions","log4javascript","getLogger","info","manageDropdownMenu","navbarSticky","type","action","text","sendMessage","eventHandler","$getNav","click","e","preventDefault","returnValue","hasClass","wrap","postsArr","Array","index","$postsList","find","each","push","html","firstList","splice","Math","round","secondList","ListHTML","createHTML","list","first","after","next","last","dropDown","megaMenu","closest","prepend","navbarHeighth","outerHeight","scrollTop","debug","animate","slideToggle","is","unbind","slideUp","stopPropagation","toggle","css","wrapInner","$menu","breakPoint","$dropDown","timeoutHandle","navDefaultOptions","navMenuOptions","$getWindow","matchMedia","matches","width","$getIn","data","$getOut","menuSelector","xhr_container_id","delayMenuOpen","delay_menu_open","nav_bar","media_breakpoint","off","stop","fadeToggle","fadeOut","hide","show","hover","$list","eq","setTimeout","fadeIn","clearTimeout","windowHeight","height","windowWidth","getId","$getHeight","getOffset","offset","top","updateSidebar","user_data","json_message","JSON","stringify","resolveMacros","updateMacros","jQuery","moduleOptions","dummyOption","callouts","colgroupList","conums","dependencies_met_page_finished","setInterval","clearInterval","scroll","target","duration","scrollTo","callback","timeStart","timeElapsed","start","pageYOffset","opt","easing","b","tgt","document","querySelector","decodeURI","split","join","distance","getBoundingClientRect","documentElement","body","loop","time","requestAnimationFrame","defaultInstanceSettings","update","begin","loopBegin","changeBegin","change","changeComplete","loopComplete","complete","direction","autoplay","timelineOffset","defaultTweenSettings","delay","endDelay","validTransforms","cache","CSS","springs","minMax","min","max","stringContains","str","indexOf","applyArguments","func","args","apply","arr","isArray","obj","toString","pth","svg","SVGElement","inp","HTMLInputElement","dom","nodeType","fnc","und","hex","rgb","hsl","col","parseEasingParameters","string","match","exec","map","parseFloat","spring","params","mass","stiffness","damping","velocity","w0","sqrt","zeta","wd","solver","progress","exp","cos","sin","cached","elapsed","rest","steps","ceil","eases","functionEasings","bezier","A","aA1","aA2","B","C","calcBezier","aT","getSlope","mX1","mY1","mX2","mY2","sampleValues","Float32Array","x","getTForX","aX","intervalStart","currentSample","kSplineTableSize","guessForT","initialSlope","aGuessT","currentSlope","newtonRaphsonIterate","aA","aB","currentX","currentT","abs","binarySubdivide","penner","linear","Sine","PI","Circ","Back","Bounce","pow2","pow","Elastic","amplitude","period","asin","forEach","keys","easeIn","parseEasings","ease","selectString","querySelectorAll","filterArray","len","thisArg","arguments","result","flattenArray","reduce","concat","toArray","NodeList","HTMLCollection","slice","arrayContains","some","cloneObject","clone","replaceObjectProps","o1","o2","mergeObjects","colorToRgb","rgbValue","hexValue","replace","g","parseInt","hexToRgba","hslValue","h","hue2rgb","q","hslToRgba","getUnit","getFunctionValue","animatable","id","total","getAttribute","el","prop","convertPxToUnit","unit","tempEl","createElement","tagName","parentEl","parentNode","appendChild","style","position","factor","offsetWidth","removeChild","convertedUnit","getCSSValue","uppercasePropName","toLowerCase","getComputedStyle","getPropertyValue","getAnimationType","getElementTransforms","transform","reg","transforms","Map","set","getTransformValue","propName","defaultVal","getTransformUnit","getOriginalTargetValue","getRelativeValue","to","from","operator","u","y","validateValue","originalUnit","unitLess","getDistance","p1","p2","getPolylineLength","previousPos","points","totalLength","numberOfItems","currentPos","getItem","getTotalLength","getCircleLength","getRectLength","getLineLength","getPolygonLength","getParentSvg","pathEl","svgData","parentSvgEl","getParentSvgEl","rect","viewBoxAttr","viewBox","w","getPathProgress","path","point","getPointAtLength","p0","atan2","decomposeValue","rgx","original","numbers","Number","strings","parseTargets","targets","item","pos","self","getAnimatables","parsed","normalizePropertyTweens","tweenSettings","settings","propArray","v","k","getProperties","properties","keyframes","propertyNames","newKey","flattenKeyframes","tweens","normalizeTweens","previousTween","tween","normalizeTweenValues","tweenValue","toUnit","originalValue","previousValue","fromUnit","end","isPath","isColor","setProgressValue","attribute","setAttribute","manual","setTargetsValue","valueUnit","animType","getAnimations","animatables","lastTween","createAnimation","getInstanceTimings","animations","animLength","getTlOffset","anim","timings","instanceID","raf","activeInstances","pausedInstances","engine","play","step","activeInstancesLength","activeInstance","paused","instanceIndex","tick","cancelAnimationFrame","children","startTime","lastTime","now","childrenLength","resolve","makePromise","instance","promise","Promise","_resolve","finished","instanceSettings","createNewInstance","toggleInstanceDirection","reversed","child","adjustTime","resetTime","currentTime","speed","seekChild","seek","setAnimationsProgress","insTime","animationsLength","tweenLength","eased","isNaN","toNumbersLength","toNumber","fromNumber","stringsLength","n$1","currentValue","setCallback","cb","passThrough","setInstanceProgress","engineTime","insDuration","insDelay","insEndDelay","reversePlayback","i$1","syncInstanceChildren","began","loopBegan","changeBegan","changeCompleted","remaining","completed","reset","pause","reverse","restart","removeTargetsFromAnimations","targetsArray","addEventListener","hidden","ins","running","version","remove","childAnimations","convertPx","percent","setDashoffset","pathLength","stagger","grid","axis","fromIndex","fromFirst","fromCenter","fromLast","isRange","val1","val2","values","maxValue","fromX","fromY","floor","distanceX","distanceY","timeline","tl","add","instanceParams","tlIndex","insParams","tlDuration","random","root","global","define","buildHtml","parseContent","headingsArray","tocbot","BuildHtml","ParseContent","updateTocScroll","supports","destroy","skipRendering","tocSelector","innerHTML","console","warn","scrollContainer","removeEventListener","_scrollListener","_clickListener","customOptions","source","state","scrollSmoothDuration","scrollSmoothOffset","initSmoothScrolling","_buildHtml","_parseContent","selectHeadings","contentSelector","headingSelector","nestedHeadings","nestHeadingsArray","nest","render","throttle","updateToc","disableTocScrollSync","isTop","scrollingElement","eventPhase","currentTarget","scrollEndCallback","throttleTimeout","timeout","event","disableTocAnimation","enableTocAnimation","refresh","fn","threshold","scope","deferTimer","context","Date","Function","ignoreSelector","hasInnerContainers","linkClass","extraLinkClasses","activeLinkClass","listClass","extraListClasses","isCollapsedClass","collapsibleClass","listItemClass","activeListItemClass","collapseDepth","headingsOffset","positionFixedSelector","positionFixedClass","fixedSidebarOffset","includeHtml","onClick","orderedList","headingLabelCallback","ignoreHiddenElements","headingObjectCallback","basePath","currentlyHighlighting","createEl","container","link","onclick","childNodes","node","cloneNode","textContent","nodeName","createLink","createList","isCollapsed","listElement","classes","srcElement","className","selector","parent","firstChild","posFixedEl","offsetTop","updateFixedSidebarClass","topHeader","headings","heading","getHeadingTopPos","offsetParent","tocLinks","tocLink","tocLis","tocLi","activeTocLink","li","tocLists","nextSibling","removeCollapsedFromParents","element","getLastItem","array","getHeadingLevel","getHeadingObject","HTMLElement","offsetHeight","headingLevel","String","trim","prev","curr","currentHeading","level","lastItem","counter","undefined","addNode","selectors","toc","scrollHeight","clientHeight","activeItem","pageUrl","location","hash","stripHash","href","url","lastIndexOf","charAt","jump","getElementById","substring","tabIndex","focus","idx","result_block","title_div","view_result_link","append","toggleClass","toggle_result_block"],"mappings":"aACE,IAAIA,EAAmB,GAGvB,SAASC,EAAoBC,GAG5B,GAAGF,EAAiBE,GACnB,OAAOF,EAAiBE,GAAUC,QAGnC,IAAIC,EAASJ,EAAiBE,GAAY,CACzCG,EAAGH,EACHI,GAAG,EACHH,QAAS,IAUV,OANAI,EAAQL,GAAUM,KAAKJ,EAAOD,QAASC,EAAQA,EAAOD,QAASF,GAG/DG,EAAOE,GAAI,EAGJF,EAAOD,QAKfF,EAAoBQ,EAAIF,EAGxBN,EAAoBS,EAAIV,EAGxBC,EAAoBU,EAAI,SAASR,EAASS,EAAMC,GAC3CZ,EAAoBa,EAAEX,EAASS,IAClCG,OAAOC,eAAeb,EAASS,EAAM,CAAEK,YAAY,EAAMC,IAAKL,KAKhEZ,EAAoBkB,EAAI,SAAShB,GACX,oBAAXiB,QAA0BA,OAAOC,aAC1CN,OAAOC,eAAeb,EAASiB,OAAOC,YAAa,CAAEC,MAAO,WAE7DP,OAAOC,eAAeb,EAAS,aAAc,CAAEmB,OAAO,KAQvDrB,EAAoBsB,EAAI,SAASD,EAAOE,GAEvC,GADU,EAAPA,IAAUF,EAAQrB,EAAoBqB,IAC/B,EAAPE,EAAU,OAAOF,EACpB,GAAW,EAAPE,GAA8B,iBAAVF,GAAsBA,GAASA,EAAMG,WAAY,OAAOH,EAChF,IAAII,EAAKX,OAAOY,OAAO,MAGvB,GAFA1B,EAAoBkB,EAAEO,GACtBX,OAAOC,eAAeU,EAAI,UAAW,CAAET,YAAY,EAAMK,MAAOA,IACtD,EAAPE,GAA4B,iBAATF,EAAmB,IAAI,IAAIM,KAAON,EAAOrB,EAAoBU,EAAEe,EAAIE,EAAK,SAASA,GAAO,OAAON,EAAMM,IAAQC,KAAK,KAAMD,IAC9I,OAAOF,GAIRzB,EAAoB6B,EAAI,SAAS1B,GAChC,IAAIS,EAAST,GAAUA,EAAOqB,WAC7B,WAAwB,OAAOrB,EAAgB,SAC/C,WAA8B,OAAOA,GAEtC,OADAH,EAAoBU,EAAEE,EAAQ,IAAKA,GAC5BA,GAIRZ,EAAoBa,EAAI,SAASiB,EAAQC,GAAY,OAAOjB,OAAOkB,UAAUC,eAAe1B,KAAKuB,EAAQC,IAGzG/B,EAAoBkC,EAAI,4BAIjBlC,EAAoBA,EAAoBmC,EAAI,G,kBC1BrDC,OAAOC,GAAGC,QAAgCC,EAAQ,GAClDH,OAAOC,GAAGG,KAAgCD,EAAQ,GAClDH,OAAOC,GAAGG,KAAKC,UAA2BF,EAAQ,GAGlDH,OAAOC,GAAGG,KAAKE,YAA2BH,EAAQ,GAClDH,OAAOC,GAAGG,KAAKG,aAA2BJ,EAAQ,GAClDH,OAAOC,GAAGO,MAAgCL,EAAQ,GAQNA,EAAQ,GAyCVA,EAAQ,K;;;;;GCnFlDpC,EAAOD,SAaHmC,GAAID,OAZC,CAMLS,OAAQ,gB;;;;;GCLZ1C,EAAOD,QAAW,SAAU4C,GAaXC,EAAEC,OAAO,CACtBC,IAAK,aACLC,IAAK,mBAfS,GAoBhB,MAAO,CAMLL,OAAQ,SAAUC,KAYlBK,SAAU,WACR,MArBQ,UA4BVC,SAAU,SAAUC,GAClB,IACUC,EADNC,GAAS,EAEb,OADUD,EAAi2Db,UAAUe,WAAWf,UAAUgB,QAAQrB,OAAOsB,OAAz4D,2TAA2TC,KAAKL,IAAI,i/CAAi/CK,KAAKL,EAAEM,OAAO,EAAE,OAAKL,GAAS,GAC51DA,GAMTM,kBAAmB,WAEjBd,EAAE,UAAUe,GAAG,kCAAkC,WAC3Cf,EAAEgB,MAAMC,MAAMC,OAAS,GACzBlB,EAAEgB,MAAMG,QAAQ,eAAeC,YAAY,aAE5CL,GAAG,sBAAsB,WACG,IAAzBf,EAAEgB,MAAMC,MAAMC,QAChBlB,EAAEgB,MAAMG,QAAQ,eAAeE,SAAS,eA/DhC,I,cCSlBjE,EAAOD,QAAU,SAAqB4C,GAQpC,IAEIuB,EACAC,EAHAC,EAA4B,GAQjBxB,EAAEC,OAAQ,CACvBC,IAAK,MACLC,IAAK,OACJJ,GAKH,MAAO,CAKL0B,KAAM,SAAUC,EAAgBC,GAe9B,OAdAL,EAAUM,eAAeC,UAAU,qBACnCN,EAAU,4BAEVD,EAAOQ,KAAKP,GACZP,KAAKe,mBAAmBL,EAAgBC,GACxCX,KAAKgB,eAILR,EAAQS,KAAU,UAClBT,EAAQU,OAAU,qBAClBV,EAAQW,KAAU,0CAClB7C,GAAG8C,YAAa,oBAAqB,uBAAwBZ,IAEtD,GAMTa,aAAc,WACZ,IAAIf,EAAoBM,eAAeC,UAAU,kCAC7CS,EAAoBtC,EAAE,wBAwD1B,GAjBAA,EAAE,eAAeuC,OAAM,SAASC,GAC9BA,EAAEC,eAAiBD,EAAEC,iBAAmBD,EAAEE,aAAc,EACxDpB,EAAOQ,KAAK,wDAMEQ,EAAQK,SAAS,kBAG/BL,EAAQM,KAAK,mCAMXN,EAAQK,SAAS,gBAAiB,CACpC,IAAIE,EAAc,IAAIC,MAClBC,EAAc/C,EAAE,oBAChBgD,EAAcD,EAAME,KAAK,iBAG7BF,EAAME,KAAK,sBAAsBC,MAAK,WACpCL,EAASM,KAAKnD,EAAEgB,MAAMoC,WAIxB,IAAIC,EAAcR,EAASS,OAAO,EAAGC,KAAKC,MAAMX,EAAS3B,OAAS,IAC9DuC,EAAcZ,EACda,EAAc,GAEdC,EAAa,SAASC,GACxBF,EAAW,GACX,IAAK,IAAIrG,EAAI,EAAGA,EAAIuG,EAAK1C,OAAQ7D,IAC/BqG,GAAY,OAASE,EAAKvG,GAAK,SAKnCsG,EAAWN,GACXL,EAAWI,KAAKM,GAChBX,EAAME,KAAK,UAAUY,QAAQxC,SAAS,eAGtCsC,EAAWF,GAEXT,EAAWc,MAAM,oCAAoCC,OAAOX,KAAKM,GACjEX,EAAME,KAAK,UAAUe,OAAO3C,SAAS,gBAGrC0B,EAAME,KAAK,sBAAsBL,KAAK,qCACtCG,EAAME,KAAK,uBAAuBL,KAAK,sCAGvCG,EAAME,KAAK,sBAAsBC,MAAK,WACpC,IAAIe,EAAWjE,EAAE,mBAAoBgB,MACnCkD,EAAWlE,EAAE,sBAAuBgB,MACtCiD,EAASE,QAAQ,MAAM9C,SAAS,YAChC6C,EAASC,QAAQ,MAAM9C,SAAS,kBAkBhCiB,EAAQW,KAAK,UAAUN,SAAS,kBAClCL,EAAQjB,SAAS,eAMfiB,EAAQK,SAAS,gBAEnB3C,EAAE,wBAAwBiD,KAAK,UAAUL,KAAK,sCAC9C5C,EAAE,mBAAmB4C,KAAK,gCAC1B5C,EAAE,qBAAqBoE,QAAQ,mFACtB9B,EAAQK,SAAS,iBAC1BL,EAAQlB,YAAY,WAEpBkB,EAAQjB,SAAS,WAuBfiB,EAAQK,SAAS,kBACnB3C,EAAEX,QAAQ0B,GAAG,UAAU,WACrB,IAAIsD,EAAgBrE,EAAE,cAAcsE,cAChBtE,EAAEX,QAAQkF,YAEdF,EACdrE,EAAE,iBAAiBoB,YAAY,iBAE/BpB,EAAE,iBAAiBqB,SAAS,oBAK9BiB,EAAQK,SAAS,uBACnB3C,EAAEX,QAAQ0B,GAAG,UAAU,WACrB,IAAIsD,EAAgBrE,EAAE,cAAcsE,cAChBtE,EAAEX,QAAQkF,YAEdF,GACdrE,EAAE,iBAAiBoB,YAAY,sBAC/BpB,EAAE,iBAAiBqB,SAAS,qBAE5BrB,EAAE,iBAAiBoB,YAAY,mBAC/BpB,EAAE,iBAAiBqB,SAAS,0BAWlCrB,EAAE,kCAAkCkD,MAAK,WACvC5B,EAAOkD,MAAM,yCACbxE,EAAE,gBAAiBgB,MAAMD,GAAG,SAAS,SAASyB,GAE5ClB,EAAOkD,MAAM,6BACbxE,EAAE,aAAayE,QAAQ,CAACF,UAAW,GAAI,GACvCvE,EAAE,eAAe0E,YAAY,OAAQ,SAAS,WACvC1E,EAAE,eAAe2E,GAAG,aAEvB3E,EAAE,QAAQqB,SAAS,kBAEnBrB,EAAE,QAAQnB,KAAK,aAAa,SAAS2D,GAAGA,EAAEC,sBAG1CzC,EAAE,QAAQoB,YAAY,kBAEtBpB,EAAE,QAAQ4E,OAAO,uBAMzBtD,EAAOkD,MAAM,0CACbxE,EAAE,mCAAmCe,GAAG,SAAS,SAASyB,GACxDA,EAAEC,iBACFnB,EAAOkD,MAAM,8BACbxE,EAAE,eAAe6E,QAAQ,OAAQ,SACjC7E,EAAE,aAAayE,QAAQ,CAACF,UAAW,GAAI,GAEvCvE,EAAE,QAAQoB,YAAY,kBAEtBpB,EAAE,QAAQ4E,OAAO,aACjBpC,EAAEsC,qBAMJ9E,EAAE,kCAAkCkD,MAAK,WACvC5B,EAAOkD,MAAM,gDACbxE,EAAE,oBAAqBgB,MAAMD,GAAG,SAAS,SAASyB,GAGhDlB,EAAOkD,MAAM,oCAGbxE,EAAE,6BAA6B+E,SACuB,SAAlD/E,EAAE,6BAA6BgF,IAAI,YACrChF,EAAE,aAAayE,QAAQ,CAACF,UAAW,GAAI,cAmC7CvE,EAAE,QAAQiF,UAAW,gCAOvBlD,mBAAqB,SAAUL,EAAgBC,GAE7C,IAaIuD,EACAC,EACAC,EACAC,EAhBAC,EAAsB5D,EACtB6D,EAAsB5D,EAEtBW,EAAsBtC,EAAE,wBAExBwF,GADsBnG,OAAOoG,WAAW,4BAA4BC,QAC9C1F,EAAEX,QAAQsG,SAEhCC,GADsB5F,EAAE,OAAO2F,QACTrD,EAAQW,KAAK,UAAU4C,KAAK,OAClDC,EAAsBxD,EAAQW,KAAK,UAAU4C,KAAK,OAElDE,EAAsB,IAAKR,EAAeS,iBAAkB,YAC5DC,EAAsBV,EAAeW,gBA2NzC,GA1KKV,IAjBHL,EADkD,OAA/CG,EAAkBa,QAAQC,iBArBP,IAuBmC,OAA/Cd,EAAkBa,QAAQC,iBAtBd,IAwBmC,OAA/Cd,EAAkBa,QAAQC,iBAvBd,IAFA,MA0CtBpG,EAAE+F,GAAc1E,SAAS,mBACzBrB,EAAE+F,GAAc3E,YAAY,QAC5BpB,EAAE,6BAA6BqB,SAAS,QAGxCrB,EAAE,kCAAkCkD,MAAK,WACvClD,EAAE,iBAAkBgB,MAAMI,YAAY,YACtCpB,EAAE,cAAegB,MAAMqF,IAAI,cAC3BrG,EAAE,cAAegB,MAAMqF,IAAI,cAC3BrG,EAAE,oBAAqBgB,MAAMqF,IAAI,SACjCrG,EAAE,oBAAqBgB,MAAMD,GAAG,SAAS,SAAUyB,GAEjDxC,EAAEgB,MAAMmD,QAAQ,eAAelB,KAAK,kBAAkBY,QAAQyC,OAAOC,aACrEvG,EAAE,kBAAkBkD,MAAK,WACvBlD,EAAE,OAAQgB,MAAMI,YAAY,aAC5BpB,EAAE,OAAQgB,MAAMK,SAAS,YACzBrB,EAAE,oBAAoBoB,YAAY,MAClCpB,EAAE,oBAAoBoB,YAAY,cAItCpB,EAAEgB,MAAMD,GAAG,cAAc,WACvBf,EAAE,iBAAkBgB,MAAMsF,OAAOE,UACjCxG,EAAE,cAAegB,MAAMI,YAAY,cAKvCpB,EAAE,iBAAiByG,QAOTjB,EAAaL,IAIvBnF,EAAE,6BAA6BoB,YAAY,QAC3CpB,EAAE,iBAAiB0G,OAKnB1G,EAAE,uBAAuBe,GAAG,cAAc,WACxC,GAAIf,EAAE,QAAQ2C,SAAS,kBACrB,OAAO,EAEP3C,EAAE,QAAQqB,SAAS,qBAIvBrB,EAAE,uBAAuBe,GAAG,cAAc,WAEpCf,EAAE,QAAQ2C,SAAS,mBACrB3C,EAAE,QAAQoB,YAAY,qBAK1BpB,EAAE,uBAAuB2G,OAAM,WAC7B,IACIC,EADc5G,EAAEgB,MACSiC,KAAK,MAIb,GAAhB2D,EAAM1F,QACT0F,EAAMvF,SAAS,sBAMnBrB,EAAE+F,GAAc3E,YAAY,mBAC5BpB,EAAE+F,GAAc1E,SAAS,QAOzBrB,EAAE,+BAA+BkD,MAAK,WACpClD,EAAE,oBAAqBgB,MAAMqF,IAAI,SACjCrG,EAAE,oBAAqBgB,MAAMD,GAAG,SAAS,SAAUyB,OAInDxC,EAAE,eAAgBgB,MAAMkC,MAAK,WAC3BlD,EAAE,SAAUgB,MAAMqF,IAAI,SACtBrG,EAAE,oBAAqBgB,MAAMqF,IAAI,SACjCrG,EAAE,YAAYoB,YAAY,eAE5BpB,EAAE,iBAAkBgB,MAAMK,SAAS,YAEnCrB,EAAE,cAAegB,MAAMD,GAAG,cAAc,WACtCmE,EAAYlF,EAAE,iBAAkBgB,MAAM6F,GAAG,GACzCzB,EAAYpF,EAAEgB,MAEdkE,EAAM9D,YAAY0E,GAClBZ,EAAM9D,YAAY,QAClBgE,EAAU/D,SAAS,QAEnBgE,EAAgBhG,OAAOyH,YAAW,WAC5B1B,EAAUzC,SAAS,UACrBuC,EAAMoB,OAAOS,SAAS1F,SAASuE,GAC/BV,EAAM7D,SAAS,QACf+D,EAAU/D,SAAS,WAEpB4E,MAGLjG,EAAE,cAAegB,MAAMD,GAAG,cAAc,WACtC1B,OAAO2H,aAAa3B,GACpBrF,EAAEgB,MAAMI,YAAY,QAAQA,YAAY,QAExCpB,EAAE,iBAAkBgB,MAAMI,YAAY,QACtCpB,EAAE,iBAAkBgB,MAAM6F,GAAG,GAAGzF,YAAYwE,GAC5C5F,EAAE,iBAAkBgB,MAAM6F,GAAG,GAAGP,OAAOE,UAAUnF,SAASyE,MAG5D9F,EAAEgB,MAAMD,GAAG,cAAc,WACvB1B,OAAO2H,aAAa3B,GACpBrF,EAAE,cAAegB,MAAMI,YAAY,QACnCpB,EAAE,iBAAkBgB,MAAMI,YAAY,QACtCpB,EAAE,iBAAkBgB,MAAMI,YAAYwE,GACtC5F,EAAE,iBAAkBgB,MAAM6F,GAAG,GAAGP,OAAOE,UAAUnF,SAASyE,UAShE9F,EAAE,kCAAkCkD,MAAK,WAEvClD,EAAE,oBAAqBgB,MAAMqF,IAAI,SACjCrG,EAAE,oBAAqBgB,MAAMD,GAAG,SAAS,SAAUyB,OAInDxC,EAAE,iBAAkBgB,MAAMK,SAAS,YACnCrB,EAAE,cAAegB,MAAMD,GAAG,cAAc,WACtCf,EAAE,iBAAkBgB,MAAM6F,GAAG,GAAGzF,YAAY0E,GAC5C9F,EAAE,iBAAkBgB,MAAM6F,GAAG,GAAGP,OAAOS,SAAS1F,SAASuE,GACzD5F,EAAEgB,MAAMK,SAAS,WAInBrB,EAAE,cAAegB,MAAMD,GAAG,cAAc,WACtCf,EAAE,iBAAkBgB,MAAM6F,GAAG,GAAGzF,YAAYwE,GAC5C5F,EAAE,iBAAkBgB,MAAM6F,GAAG,GAAGP,OAAOE,UAAUnF,SAASyE,GAC1D9F,EAAEgB,MAAMI,YAAY,WAGtBpB,EAAEgB,MAAMD,GAAG,cAAc,WACvBf,EAAE,iBAAkBgB,MAAMI,YAAYwE,GACtC5F,EAAE,iBAAkBgB,MAAM6F,GAAG,GAAGP,OAAOE,UAAUnF,SAASyE,GAC1D9F,EAAE,cAAegB,MAAMI,YAAY,cAQnCkB,EAAQK,SAAS,eAAe,CAClC,IAAIsE,EAAejH,EAAEX,QAAQ6H,SAC3BC,EAAenH,EAAEX,QAAQsG,QAE3B3F,EAAE,aAAagF,IAAI,SAAUiC,EAAe,MAC5CjH,EAAE,mBAAmBgF,IAAI,SAAUiC,EAAe,MAClDjH,EAAE,mBAAmBgF,IAAI,QAASmC,EAAc,MAEhDnH,EAAE,oBAAoBqB,SAAS,YAC/BrB,EAAE,kBAAkBkD,MAAK,WACvB,IAAIkE,EAAQpH,EAAEgB,MAAM6E,KAAK,UACzB7F,EAAEgB,MAAMqF,IAAI,SACZrG,EAAEgB,MAAMD,GAAG,SAAS,SAASyB,GAC3BA,EAAEC,iBACFzC,EAAEoH,GAAOhG,YAAY0E,GACrB9F,EAAEoH,GAAO/F,SAAS,MAClBrB,EAAEoH,GAAO/F,SAASuE,MAKpB5F,EAAE,sBAAsBe,GAAG,SAAS,SAASyB,GAC3CA,EAAEC,iBACFzC,EAAEoH,GAAO/F,SAASyE,GAClBgB,YAAW,WACT9G,EAAEoH,GAAOhG,YAAY,MACrBpB,EAAEoH,GAAOhG,YAAYwE,KACpB,aAWX5D,aAAe,WACb,IAAIM,EAAUtC,EAAE,wBAGhB,GAFcsC,EAAQK,SAAS,iBAEhB,CAEb,IAAI0E,EAAa/E,EAAQ4E,SACzBlH,EAAE,gBAAgBkH,OAAOG,GAGzB,IAAIC,EAAYtH,EAAE,gBAAgBuH,SAASC,IAC3CxH,EAAEX,QAAQ0B,GAAG,UAAU,WACLf,EAAEX,QAAQkF,YACX+C,EACbhF,EAAQjB,SAAS,WAEjBiB,EAAQlB,YAAY,gBAgF5BqG,cAAe,SAAUC,GACvB,IACIC,EADArG,EAASM,eAAeC,UAAU,mCAatC,OATA8F,EAAeC,KAAKC,UAAUH,GAC9BnG,EAAe,oBAAsBoG,EACrCrG,EAAOkD,MAAMjD,GAGbjC,GAAGwI,cAAcJ,GAEjBpI,GAAGyI,aAAaL,IAET,IAtsBI,CA2sBdM,S;;;;;;AChtBH5K,EAAOD,SA6DJ6K,OA3DM,CAKLvG,KAAM,SAAU1B,GAEd,IAAIkI,EAAsBlI,EACtBuB,EAAsBM,eAAeC,UAAU,uBAK/C9B,EAAUC,EAAEC,OAHK,CACnBiI,aAAmB,GAEiBD,GAEtC1G,QAAU,sCACVD,EAAOQ,KAAKP,SAEZP,KAAKmH,YAQPA,SAAU,SAAUpI,GAClB,IAAIqI,EAAe,GAIyB,GAA1CpI,EAAE,8BAA8BkB,SAChCkH,GAAgB,0FAChBA,GAAgB,4EAClBpI,EAAE,mBAAmBoE,QAAQgE,KAQ/BC,OAAQ,SAAUtI,GAChB,IAAIuI,EAAiCC,aAAY,WAC1B,YAAjBjJ,GAAGc,YAEuC,GAA1CJ,EAAE,8BAA8BkB,SAKlClB,EAAE,mBAAmBoE,QAFnBgE,6EAGAI,cAAcF,W,6BC5D1BlL,EAAOD,QAAU,SAAwB4C,GAGxBC,EAAEC,OAAO,CACtBC,IAAK,aACLC,IAAK,cACJJ,GAaH,MAAO,CAIL0I,OAAQ,SAAWC,EAAQ3I,GAEzB,IAAIuB,EACAC,EAOJA,EAAU,2BALVD,EAASM,eAAeC,UAAU,yBAM3BC,KAAKP,GAEZ,IAAIoH,EAAY5I,EAAQ4I,SACpBpB,EAAYxH,EAAQwH,OAMxBvG,KAAK4H,SAASF,EAAQ,CACpBC,SAAUA,EACVpB,OAAQA,EACRsB,SAAU,OAGZtH,EAAU,wBACVD,EAAOQ,KAAKP,IAMdqH,SAAU,SAAWF,EAAQ3I,GAC3B,IAqBI+I,EACAC,EAtBAC,EAAQ3J,OAAO4J,YACfC,EAAM,CACRP,SAAU5I,EAAQ4I,SAClBpB,OAAQxH,EAAQwH,QAAU,EAC1BsB,SAAU9I,EAAQ8I,SAClBM,OAAQpJ,EAAQoJ,QA+ClB,SAAwB5K,EAAG6K,EAAG1L,EAAGC,GAE/B,OADAY,GAAKZ,EAAI,GACD,EAAUD,EAAI,EAAIa,EAAIA,EAAI6K,GAClC7K,KACQb,EAAI,GAAKa,GAAKA,EAAI,GAAK,GAAK6K,KA7ClCC,EAAMC,SAASC,cAAc,QAAUC,UAAUd,GAAQe,MAAM,KAAKC,KAAK,IAAM,MAC/EC,EAA6B,iBAAXjB,EAClBQ,EAAI3B,QACJmB,EACKW,GAAOA,EAAIO,wBAAwBpC,KAAQ,IAC1C8B,SAASO,gBAAgBtF,WAAa+E,SAASQ,KAAKvF,YAC1DmE,EACAC,EAAmC,mBAAjBO,EAAIP,SACtBO,EAAIP,SAASgB,GACbT,EAAIP,SAKR,SAASoB,EAAMC,GACbjB,EAAciB,EAAOlB,EAErBzJ,OAAOuJ,SAAS,EAAGM,EAAIC,OAAOJ,EAAaC,EAAOW,EAAUhB,IAExDI,EAAcJ,EAAYsB,sBAAsBF,IAIpD1K,OAAOuJ,SAAS,EAAGI,EAAQW,GAW3B3J,EAAEX,QAAQkF,UAAUvE,EAAEX,QAAQkF,YAAY,GAC1CvE,EAAEX,QAAQkF,UAAUvE,EAAEX,QAAQkF,YAAY,GAEd,mBAAjB2E,EAAIL,UAA2BK,EAAIL,YAxBhDoB,uBAAsB,SAAUD,GAAQlB,EAAYkB,EAAMD,EAAKC,QAjFpD,CAsHdhC,S,6BCxIH,IAAIkC,EAA0B,CAC5BC,OAAQ,KACRC,MAAO,KACPC,UAAW,KACXC,YAAa,KACbC,OAAQ,KACRC,eAAgB,KAChBC,aAAc,KACdC,SAAU,KACVX,KAAM,EACNY,UAAW,SACXC,UAAU,EACVC,eAAgB,GAGdC,EAAuB,CACzBnC,SAAU,IACVoC,MAAO,EACPC,SAAU,EACV7B,OAAQ,wBACR3F,MAAO,GAGLyH,EAAkB,CAAC,aAAc,aAAc,aAAc,SAAU,UAAW,UAAW,UAAW,QAAS,SAAU,SAAU,SAAU,OAAQ,QAAS,QAAS,cAAe,SAAU,YAIlMC,EAAQ,CACVC,IAAK,GACLC,QAAS,IAKX,SAASC,EAAOpK,EAAKqK,EAAKC,GACxB,OAAOhI,KAAK+H,IAAI/H,KAAKgI,IAAItK,EAAKqK,GAAMC,GAGtC,SAASC,EAAeC,EAAKtJ,GAC3B,OAAOsJ,EAAIC,QAAQvJ,IAAS,EAG9B,SAASwJ,EAAeC,EAAMC,GAC5B,OAAOD,EAAKE,MAAM,KAAMD,GAG1B,IAAIlH,EAAK,CACPoH,IAAK,SAAUxL,GAAK,OAAOuC,MAAMkJ,QAAQzL,IACzC0L,IAAK,SAAU1L,GAAK,OAAOiL,EAAezN,OAAOkB,UAAUiN,SAAS1O,KAAK+C,GAAI,WAC7E4L,IAAK,SAAU5L,GAAK,OAAOoE,EAAGsH,IAAI1L,IAAMA,EAAErB,eAAe,gBACzDkN,IAAK,SAAU7L,GAAK,OAAOA,aAAa8L,YACxCC,IAAK,SAAU/L,GAAK,OAAOA,aAAagM,kBACxCC,IAAK,SAAUjM,GAAK,OAAOA,EAAEkM,UAAY9H,EAAGyH,IAAI7L,IAChDkL,IAAK,SAAUlL,GAAK,MAAoB,iBAANA,GAClCmM,IAAK,SAAUnM,GAAK,MAAoB,mBAANA,GAClCoM,IAAK,SAAUpM,GAAK,YAAoB,IAANA,GAClCqM,IAAK,SAAUrM,GAAK,MAAO,qCAAqCK,KAAKL,IACrEsM,IAAK,SAAUtM,GAAK,MAAO,OAAOK,KAAKL,IACvCuM,IAAK,SAAUvM,GAAK,MAAO,OAAOK,KAAKL,IACvCwM,IAAK,SAAUxM,GAAK,OAAQoE,EAAGiI,IAAIrM,IAAMoE,EAAGkI,IAAItM,IAAMoE,EAAGmI,IAAIvM,IAC7D3B,IAAK,SAAU2B,GAAK,OAAQ2J,EAAwBhL,eAAeqB,KAAOuK,EAAqB5L,eAAeqB,IAAY,YAANA,GAAyB,cAANA,IAKzI,SAASyM,EAAsBC,GAC7B,IAAIC,EAAQ,cAAcC,KAAKF,GAC/B,OAAOC,EAAQA,EAAM,GAAGzD,MAAM,KAAK2D,KAAI,SAAUjO,GAAK,OAAOkO,WAAWlO,MAAS,GAKnF,SAASmO,EAAOL,EAAQtE,GAEtB,IAAI4E,EAASP,EAAsBC,GAC/BO,EAAOnC,EAAO1G,EAAGgI,IAAIY,EAAO,IAAM,EAAIA,EAAO,GAAI,GAAI,KACrDE,EAAYpC,EAAO1G,EAAGgI,IAAIY,EAAO,IAAM,IAAMA,EAAO,GAAI,GAAI,KAC5DG,EAAUrC,EAAO1G,EAAGgI,IAAIY,EAAO,IAAM,GAAKA,EAAO,GAAI,GAAI,KACzDI,EAAYtC,EAAO1G,EAAGgI,IAAIY,EAAO,IAAM,EAAIA,EAAO,GAAI,GAAI,KAC1DK,EAAKrK,KAAKsK,KAAKJ,EAAYD,GAC3BM,EAAOJ,GAAW,EAAInK,KAAKsK,KAAKJ,EAAYD,IAC5CO,EAAKD,EAAO,EAAIF,EAAKrK,KAAKsK,KAAK,EAAIC,EAAOA,GAAQ,EAElD1E,EAAI0E,EAAO,GAAKA,EAAOF,EAAMD,GAAYI,GAAMJ,EAAWC,EAE9D,SAASI,EAAOzP,GACd,IAAI0P,EAAWtF,EAAYA,EAAWpK,EAAK,IAAOA,EAMlD,OAJE0P,EADEH,EAAO,EACEvK,KAAK2K,KAAKD,EAAWH,EAAOF,IANnC,EAM8CrK,KAAK4K,IAAIJ,EAAKE,GAAY7E,EAAI7F,KAAK6K,IAAIL,EAAKE,KAN1F,EAQY7E,EAAI6E,GAAY1K,KAAK2K,KAAKD,EAAWL,GAE7C,IAANrP,GAAiB,IAANA,EAAkBA,EAC1B,EAAI0P,EAuBb,OAAOtF,EAAWqF,EApBlB,WACE,IAAIK,EAASnD,EAAME,QAAQ6B,GAC3B,GAAIoB,EAAU,OAAOA,EAIrB,IAHA,IACIC,EAAU,EACVC,EAAO,IAGT,GAAwB,IAApBP,EADJM,GAJU,EAAE,IAOV,KADAC,GACY,GAAM,WAElBA,EAAO,EAGX,IAAI5F,EAAW2F,GAZH,EAAE,GAYmB,IAEjC,OADApD,EAAME,QAAQ6B,GAAUtE,EACjBA,GASX,SAAS6F,EAAMA,GAGb,YAFe,IAAVA,IAAmBA,EAAQ,IAEzB,SAAUjQ,GAAK,OAAOgF,KAAKkL,KAAMpD,EAAO9M,EAAG,KAAU,GAAMiQ,IAAU,EAAIA,IAKlF,IAqFME,EAEAC,EAvFFC,EAAU,WAKZ,SAASC,EAAEC,EAAKC,GAAO,OAAO,EAAM,EAAMA,EAAM,EAAMD,EACtD,SAASE,EAAEF,EAAKC,GAAO,OAAO,EAAMA,EAAM,EAAMD,EAChD,SAASG,EAAEH,GAAY,OAAO,EAAMA,EAEpC,SAASI,EAAWC,EAAIL,EAAKC,GAAO,QAASF,EAAEC,EAAKC,GAAOI,EAAKH,EAAEF,EAAKC,IAAQI,EAAKF,EAAEH,IAAQK,EAC9F,SAASC,EAASD,EAAIL,EAAKC,GAAO,OAAO,EAAMF,EAAEC,EAAKC,GAAOI,EAAKA,EAAK,EAAMH,EAAEF,EAAKC,GAAOI,EAAKF,EAAEH,GAmElG,OA7CA,SAAgBO,EAAKC,EAAKC,EAAKC,GAE7B,GAAM,GAAKH,GAAOA,GAAO,GAAK,GAAKE,GAAOA,GAAO,EAAjD,CACA,IAAIE,EAAe,IAAIC,aAjCF,IAmCrB,GAAIL,IAAQC,GAAOC,IAAQC,EACzB,IAAK,IAAInS,EAAI,EAAGA,EApCG,KAoCqBA,EACtCoS,EAAapS,GAAK6R,EApCF,GAoCa7R,EAAqBgS,EAAKE,GA8B3D,OAAO,SAAUI,GACf,OAAIN,IAAQC,GAAOC,IAAQC,GACjB,IAANG,GAAiB,IAANA,EAD0BA,EAElCT,EAAWU,EAASD,GAAIL,EAAKE,IA7BtC,SAASI,EAASC,GAMhB,IAJA,IAAIC,EAAgB,EAChBC,EAAgB,EACHC,KAEVD,GAAgCN,EAAaM,IAAkBF,IAAME,EAC1ED,GA/CgB,KAkDhBC,EAEF,IACIE,EAAYH,EArDE,KAoDND,EAAKJ,EAAaM,KAAmBN,EAAaM,EAAgB,GAAKN,EAAaM,KAE5FG,EAAed,EAASa,EAAWZ,EAAKE,GAE5C,OAAIW,GAAgB,KArCxB,SAA8BL,EAAIM,EAASd,EAAKE,GAC9C,IAAK,IAAIlS,EAAI,EAAGA,EAAI,IAAKA,EAAG,CAC1B,IAAI+S,EAAehB,EAASe,EAASd,EAAKE,GAC1C,GAAqB,IAAjBa,EAAwB,OAAOD,EAEnCA,IADejB,EAAWiB,EAASd,EAAKE,GAAOM,GACzBO,EAExB,OAAOD,EA+BIE,CAAqBR,EAAII,EAAWZ,EAAKE,GACtB,IAAjBW,EACFD,EAlDb,SAAyBJ,EAAIS,EAAIC,EAAIlB,EAAKE,GACxC,IAAIiB,EAAUC,EAAUpT,EAAI,EAC5B,IAEEmT,EAAWtB,EADXuB,EAAWH,GAAMC,EAAKD,GAAM,EACIjB,EAAKE,GAAOM,GAC7B,EAAOU,EAAKE,EAAmBH,EAAKG,QAC5ClN,KAAKmN,IAAIF,GAAY,QAAenT,EAAI,IACjD,OAAOoT,EA6CIE,CAAgBd,EAAIC,EAAeA,EA7D1B,GA6D2DT,EAAKE,KAhE1E,GAiFVqB,GAIElC,EAAQ,CAAEmC,OAAQ,WAAc,OAAO,SAAUtS,GAAK,OAAOA,KAE7DoQ,EAAkB,CACpBmC,KAAM,WAAc,OAAO,SAAUvS,GAAK,OAAO,EAAIgF,KAAK4K,IAAI5P,EAAIgF,KAAKwN,GAAK,KAC5EC,KAAM,WAAc,OAAO,SAAUzS,GAAK,OAAO,EAAIgF,KAAKsK,KAAK,EAAItP,EAAIA,KACvE0S,KAAM,WAAc,OAAO,SAAU1S,GAAK,OAAOA,EAAIA,GAAK,EAAIA,EAAI,KAClE2S,OAAQ,WAAc,OAAO,SAAU3S,GAErC,IADA,IAAI4S,EAAM/H,EAAI,EACP7K,IAAO4S,EAAO5N,KAAK6N,IAAI,IAAKhI,IAAM,GAAK,KAC9C,OAAO,EAAI7F,KAAK6N,IAAI,EAAG,EAAIhI,GAAK,OAAS7F,KAAK6N,KAAa,EAAPD,EAAW,GAAM,GAAK5S,EAAG,KAE/E8S,QAAS,SAAUC,EAAWC,QACT,IAAdD,IAAuBA,EAAY,QACxB,IAAXC,IAAoBA,EAAS,IAElC,IAAIhR,EAAI8K,EAAOiG,EAAW,EAAG,IACzBnS,EAAIkM,EAAOkG,EAAQ,GAAI,GAC3B,OAAO,SAAUhT,GACf,OAAc,IAANA,GAAiB,IAANA,EAAWA,GAC3BgC,EAAIgD,KAAK6N,IAAI,EAAG,IAAM7S,EAAI,IAAMgF,KAAK6K,KAAO7P,EAAI,EAAMY,GAAe,EAAVoE,KAAKwN,IAAUxN,KAAKiO,KAAK,EAAIjR,KAAkB,EAAVgD,KAAKwN,IAAW5R,MAKvG,CAAC,OAAQ,QAAS,QAAS,QAAS,QAE1CsS,SAAQ,SAAU7T,EAAMP,GAClCsR,EAAgB/Q,GAAQ,WAAc,OAAO,SAAUW,GAAK,OAAOgF,KAAK6N,IAAI7S,EAAGlB,EAAI,QAGrFU,OAAO2T,KAAK/C,GAAiB8C,SAAQ,SAAU7T,GAC7C,IAAI+T,EAAShD,EAAgB/Q,GAC7B8Q,EAAM,SAAW9Q,GAAQ+T,EACzBjD,EAAM,UAAY9Q,GAAQ,SAAU2C,EAAG6I,GAAK,OAAO,SAAU7K,GAAK,OAAO,EAAIoT,EAAOpR,EAAG6I,EAAVuI,CAAa,EAAIpT,KAC9FmQ,EAAM,YAAc9Q,GAAQ,SAAU2C,EAAG6I,GAAK,OAAO,SAAU7K,GAAK,OAAOA,EAAI,GAAMoT,EAAOpR,EAAG6I,EAAVuI,CAAiB,EAAJpT,GAAS,EACzG,EAAIoT,EAAOpR,EAAG6I,EAAVuI,EAAkB,EAALpT,EAAS,GAAK,OAG5BmQ,GAIT,SAASkD,EAAazI,EAAQR,GAC5B,GAAIhE,EAAG+H,IAAIvD,GAAW,OAAOA,EAC7B,IAAIvL,EAAOuL,EAAOM,MAAM,KAAK,GACzBoI,EAAOjB,EAAOhT,GACdiO,EAAOmB,EAAsB7D,GACjC,OAAQvL,GACN,IAAK,SAAW,OAAO0P,EAAOnE,EAAQR,GACtC,IAAK,cAAgB,OAAOgD,EAAeiD,EAAQ/C,GACnD,IAAK,QAAU,OAAOF,EAAe6C,EAAO3C,GAC5C,QAAU,OAAOF,EAAekG,EAAMhG,IAM1C,SAASiG,EAAarG,GACpB,IAEE,OADYnC,SAASyI,iBAAiBtG,GAEtC,MAAMjJ,GACN,QAMJ,SAASwP,EAAYjG,EAAKlD,GAIxB,IAHA,IAAIoJ,EAAMlG,EAAI7K,OACVgR,EAAUC,UAAUjR,QAAU,EAAIiR,UAAU,QAAK,EACjDC,EAAS,GACJ/U,EAAI,EAAGA,EAAI4U,EAAK5U,IACvB,GAAIA,KAAK0O,EAAK,CACZ,IAAI9K,EAAM8K,EAAI1O,GACVwL,EAASrL,KAAK0U,EAASjR,EAAK5D,EAAG0O,IACjCqG,EAAOjP,KAAKlC,GAIlB,OAAOmR,EAGT,SAASC,EAAatG,GACpB,OAAOA,EAAIuG,QAAO,SAAU/R,EAAG6I,GAAK,OAAO7I,EAAEgS,OAAO5N,EAAGoH,IAAI3C,GAAKiJ,EAAajJ,GAAKA,KAAO,IAG3F,SAASoJ,EAAQ1U,GACf,OAAI6G,EAAGoH,IAAIjO,GAAaA,GACpB6G,EAAG8G,IAAI3N,KAAMA,EAAIgU,EAAahU,IAAMA,GACpCA,aAAa2U,UAAY3U,aAAa4U,eAAyB,GAAGC,MAAMnV,KAAKM,GAC1E,CAACA,IAGV,SAAS8U,EAAc7G,EAAK9K,GAC1B,OAAO8K,EAAI8G,MAAK,SAAUtS,GAAK,OAAOA,IAAMU,KAK9C,SAAS6R,EAAYhV,GACnB,IAAIiV,EAAQ,GACZ,IAAK,IAAI5T,KAAKrB,EAAKiV,EAAM5T,GAAKrB,EAAEqB,GAChC,OAAO4T,EAGT,SAASC,EAAmBC,EAAIC,GAC9B,IAAIpV,EAAIgV,EAAYG,GACpB,IAAK,IAAI9T,KAAK8T,EAAMnV,EAAEqB,GAAK+T,EAAGhU,eAAeC,GAAK+T,EAAG/T,GAAK8T,EAAG9T,GAC7D,OAAOrB,EAGT,SAASqV,EAAaF,EAAIC,GACxB,IAAIpV,EAAIgV,EAAYG,GACpB,IAAK,IAAI9T,KAAK+T,EAAMpV,EAAEqB,GAAKwF,EAAGgI,IAAIsG,EAAG9T,IAAM+T,EAAG/T,GAAK8T,EAAG9T,GACtD,OAAOrB,EA+CT,SAASsV,EAAWnS,GAClB,OAAI0D,EAAGkI,IAAI5L,IA1CP4L,EAAM,kCAAkCM,KAD3BkG,EA2CmBpS,IAzCtB,QAAW4L,EAAI,GAAM,MAASwG,EA0CxC1O,EAAGiI,IAAI3L,GAvCb,SAAmBqS,GACjB,IACI1G,EAAM0G,EAASC,QADT,oCACsB,SAAU9V,EAAGU,EAAGqV,EAAGpK,GAAK,OAAOjL,EAAIA,EAAIqV,EAAIA,EAAIpK,EAAIA,KAC/EyD,EAAM,4CAA4CM,KAAKP,GAI3D,MAAQ,QAHA6G,SAAS5G,EAAI,GAAI,IAGH,IAFd4G,SAAS5G,EAAI,GAAI,IAEO,IADxB4G,SAAS5G,EAAI,GAAI,IACiB,MAgChB6G,CAAUzS,GAChC0D,EAAGmI,IAAI7L,GA9Bb,SAAmB0S,GACjB,IAaIxV,EAAGqV,EAAGpK,EAbN0D,EAAM,0CAA0CK,KAAKwG,IAAa,uDAAuDxG,KAAKwG,GAC9HC,EAAIH,SAAS3G,EAAI,GAAI,IAAM,IAC3B1N,EAAIqU,SAAS3G,EAAI,GAAI,IAAM,IAC3BxP,EAAImW,SAAS3G,EAAI,GAAI,IAAM,IAC3BvM,EAAIuM,EAAI,IAAM,EAClB,SAAS+G,EAAQ1U,EAAG2U,EAAGvV,GAGrB,OAFIA,EAAI,IAAKA,GAAK,GACdA,EAAI,IAAKA,GAAK,GACdA,EAAI,EAAE,EAAYY,EAAc,GAAT2U,EAAI3U,GAASZ,EACpCA,EAAI,GAAcuV,EAClBvV,EAAI,EAAE,EAAYY,GAAK2U,EAAI3U,IAAM,EAAE,EAAIZ,GAAK,EACzCY,EAGT,GAAS,GAALC,EACFjB,EAAIqV,EAAIpK,EAAI9L,MACP,CACL,IAAIwW,EAAIxW,EAAI,GAAMA,GAAK,EAAI8B,GAAK9B,EAAI8B,EAAI9B,EAAI8B,EACxCD,EAAI,EAAI7B,EAAIwW,EAChB3V,EAAI0V,EAAQ1U,EAAG2U,EAAGF,EAAI,EAAE,GACxBJ,EAAIK,EAAQ1U,EAAG2U,EAAGF,GAClBxK,EAAIyK,EAAQ1U,EAAG2U,EAAGF,EAAI,EAAE,GAE1B,MAAQ,QAAe,IAAJzV,EAAW,IAAW,IAAJqV,EAAW,IAAW,IAAJpK,EAAW,IAAM7I,EAAI,IAMlDwT,CAAU9S,QAApC,EA7CF,IAAmBoS,EACbxG,EAiDN,SAASmH,EAAQ/S,GACf,IAAIwI,EAAQ,6GAA6G0D,KAAKlM,GAC9H,GAAIwI,EAAS,OAAOA,EAAM,GAU5B,SAASwK,EAAiBhT,EAAKiT,GAC7B,OAAKvP,EAAG+H,IAAIzL,GACLA,EAAIiT,EAAWxL,OAAQwL,EAAWC,GAAID,EAAWE,OAD7BnT,EAI7B,SAASoT,EAAaC,EAAIC,GACxB,OAAOD,EAAGD,aAAaE,GAGzB,SAASC,EAAgBF,EAAIhW,EAAOmW,GAElC,GAAI7B,EAAc,CAAC6B,EAAM,MAAO,MAAO,QADvBT,EAAQ1V,IACsC,OAAOA,EACrE,IAAI+P,EAASnD,EAAMC,IAAI7M,EAAQmW,GAC/B,IAAK9P,EAAGgI,IAAI0B,GAAW,OAAOA,EAC9B,IACIqG,EAASpL,SAASqL,cAAcL,EAAGM,SACnCC,EAAYP,EAAGQ,YAAeR,EAAGQ,aAAexL,SAAagL,EAAGQ,WAAaxL,SAASQ,KAC1F+K,EAASE,YAAYL,GACrBA,EAAOM,MAAMC,SAAW,WACxBP,EAAOM,MAAMrP,MALE,IAKiB8O,EAChC,IAAIS,EANW,IAMSR,EAAOS,YAC/BN,EAASO,YAAYV,GACrB,IAAIW,EAAgBH,EAAS7H,WAAW/O,GAExC,OADA4M,EAAMC,IAAI7M,EAAQmW,GAAQY,EACnBA,EAGT,SAASC,EAAYhB,EAAIC,EAAME,GAC7B,GAAIF,KAAQD,EAAGU,MAAO,CACpB,IAAIO,EAAoBhB,EAAKhB,QAAQ,kBAAmB,SAASiC,cAC7DlX,EAAQgW,EAAGU,MAAMT,IAASkB,iBAAiBnB,GAAIoB,iBAAiBH,IAAsB,IAC1F,OAAOd,EAAOD,EAAgBF,EAAIhW,EAAOmW,GAAQnW,GAIrD,SAASqX,EAAiBrB,EAAIC,GAC5B,OAAI5P,EAAG6H,IAAI8H,KAAQ3P,EAAG2H,IAAIgI,KAAQD,EAAaC,EAAIC,IAAU5P,EAAGyH,IAAIkI,IAAOA,EAAGC,IAAkB,YAC5F5P,EAAG6H,IAAI8H,IAAO1B,EAAc3H,EAAiBsJ,GAAgB,YAC7D5P,EAAG6H,IAAI8H,IAAiB,cAATC,GAAwBe,EAAYhB,EAAIC,GAAiB,MAC5D,MAAZD,EAAGC,GAAwB,cAA/B,EAGF,SAASqB,EAAqBtB,GAC5B,GAAK3P,EAAG6H,IAAI8H,GAAZ,CAIO,IAHP,IAGI7W,EAHAgO,EAAM6I,EAAGU,MAAMa,WAAa,GAC5BC,EAAO,oBACPC,EAAa,IAAIC,IACPvY,EAAIqY,EAAI3I,KAAK1B,IAAQsK,EAAWE,IAAIxY,EAAE,GAAIA,EAAE,IAC1D,OAAOsY,GAGT,SAASG,EAAkB5B,EAAI6B,EAAUjC,EAAYO,GACnD,IAAI2B,EAAa5K,EAAe2K,EAAU,SAAW,EAAI,EA3D3D,SAA0BA,GACxB,OAAI3K,EAAe2K,EAAU,cAA6B,gBAAbA,EAAqC,KAC9E3K,EAAe2K,EAAU,WAAa3K,EAAe2K,EAAU,QAAkB,WAArF,EAyD6DE,CAAiBF,GAC1E7X,EAAQsX,EAAqBtB,GAAIpW,IAAIiY,IAAaC,EAKtD,OAJIlC,IACFA,EAAW6B,WAAWnS,KAAKqS,IAAIE,EAAU7X,GACzC4V,EAAW6B,WAAX,KAAgCI,GAE3B1B,EAAOD,EAAgBF,EAAIhW,EAAOmW,GAAQnW,EAGnD,SAASgY,EAAuB5N,EAAQyN,EAAU1B,EAAMP,GACtD,OAAQyB,EAAiBjN,EAAQyN,IAC/B,IAAK,YAAa,OAAOD,EAAkBxN,EAAQyN,EAAUjC,EAAYO,GACzE,IAAK,MAAO,OAAOa,EAAY5M,EAAQyN,EAAU1B,GACjD,IAAK,YAAa,OAAOJ,EAAa3L,EAAQyN,GAC9C,QAAS,OAAOzN,EAAOyN,IAAa,GAIxC,SAASI,EAAiBC,EAAIC,GAC5B,IAAIC,EAAW,gBAAgBvJ,KAAKqJ,GACpC,IAAKE,EAAY,OAAOF,EACxB,IAAIG,EAAI3C,EAAQwC,IAAO,EACnB7G,EAAItC,WAAWoJ,GACfG,EAAIvJ,WAAWmJ,EAAGjD,QAAQmD,EAAS,GAAI,KAC3C,OAAQA,EAAS,GAAG,IAClB,IAAK,IAAK,OAAO/G,EAAIiH,EAAID,EACzB,IAAK,IAAK,OAAOhH,EAAIiH,EAAID,EACzB,IAAK,IAAK,OAAOhH,EAAIiH,EAAID,GAI7B,SAASE,EAAc5V,EAAKwT,GAC1B,GAAI9P,EAAGoI,IAAI9L,GAAQ,OAAOmS,EAAWnS,GACrC,GAAI,MAAML,KAAKK,GAAQ,OAAOA,EAC9B,IAAI6V,EAAe9C,EAAQ/S,GACvB8V,EAAWD,EAAe7V,EAAIJ,OAAO,EAAGI,EAAIC,OAAS4V,EAAa5V,QAAUD,EAChF,OAAIwT,EAAesC,EAAWtC,EACvBsC,EAMT,SAASC,EAAYC,EAAIC,GACvB,OAAO3T,KAAKsK,KAAKtK,KAAK6N,IAAI8F,EAAGvH,EAAIsH,EAAGtH,EAAG,GAAKpM,KAAK6N,IAAI8F,EAAGN,EAAIK,EAAGL,EAAG,IAkBpE,SAASO,EAAkB7C,GAIzB,IAHA,IAEI8C,EAFAC,EAAS/C,EAAG+C,OACZC,EAAc,EAETja,EAAI,EAAIA,EAAIga,EAAOE,cAAela,IAAK,CAC9C,IAAIma,EAAaH,EAAOI,QAAQpa,GAC5BA,EAAI,IAAKia,GAAeN,EAAYI,EAAaI,IACrDJ,EAAcI,EAEhB,OAAOF,EAUT,SAASI,EAAepD,GACtB,GAAIA,EAAGoD,eAAkB,OAAOpD,EAAGoD,iBACnC,OAAOpD,EAAGM,QAAQY,eAChB,IAAK,SAAU,OArCnB,SAAyBlB,GACvB,OAAiB,EAAV/Q,KAAKwN,GAASsD,EAAaC,EAAI,KAoCdqD,CAAgBrD,GACtC,IAAK,OAAQ,OAlCjB,SAAuBA,GACrB,OAAoC,EAA5BD,EAAaC,EAAI,SAA8C,EAA7BD,EAAaC,EAAI,UAiCrCsD,CAActD,GAClC,IAAK,OAAQ,OA/BjB,SAAuBA,GACrB,OAAO0C,EACL,CAACrH,EAAG0E,EAAaC,EAAI,MAAOsC,EAAGvC,EAAaC,EAAI,OAChD,CAAC3E,EAAG0E,EAAaC,EAAI,MAAOsC,EAAGvC,EAAaC,EAAI,QA4B5BuD,CAAcvD,GAClC,IAAK,WAAY,OAAO6C,EAAkB7C,GAC1C,IAAK,UAAW,OAdpB,SAA0BA,GACxB,IAAI+C,EAAS/C,EAAG+C,OAChB,OAAOF,EAAkB7C,GAAM0C,EAAYK,EAAOI,QAAQJ,EAAOE,cAAgB,GAAIF,EAAOI,QAAQ,IAY3EK,CAAiBxD,IAqB5C,SAASyD,EAAaC,EAAQC,GAC5B,IAAI7L,EAAM6L,GAAW,GACjBC,EAAc9L,EAAIkI,IAXxB,SAAwBA,GAEtB,IADA,IAAIO,EAAWP,EAAGQ,WACXnQ,EAAGyH,IAAIyI,IACPlQ,EAAGyH,IAAIyI,EAASC,aACrBD,EAAWA,EAASC,WAEtB,OAAOD,EAKqBsD,CAAeH,GACvCI,EAAOF,EAAYtO,wBACnByO,EAAchE,EAAa6D,EAAa,WACxCvS,EAAQyS,EAAKzS,MACbuB,EAASkR,EAAKlR,OACdoR,EAAUlM,EAAIkM,UAAYD,EAAcA,EAAY5O,MAAM,KAAO,CAAC,EAAG,EAAG9D,EAAOuB,IACnF,MAAO,CACLoN,GAAI4D,EACJI,QAASA,EACT3I,EAAG2I,EAAQ,GAAK,EAChB1B,EAAG0B,EAAQ,GAAK,EAChBC,EAAG5S,EAAQ2S,EAAQ,GACnB1E,EAAG1M,EAASoR,EAAQ,IAiBxB,SAASE,EAAgBC,EAAMxK,GAC7B,SAASyK,EAAMnR,QACG,IAAXA,IAAoBA,EAAS,GAElC,IAAIjK,EAAI2Q,EAAW1G,GAAU,EAAI0G,EAAW1G,EAAS,EACrD,OAAOkR,EAAKnE,GAAGqE,iBAAiBrb,GAElC,IAAI8O,EAAM2L,EAAaU,EAAKnE,GAAImE,EAAKrM,KACjCjN,EAAIuZ,IACJE,EAAKF,GAAO,GACZzB,EAAKyB,EAAM,GACf,OAAQD,EAAKzZ,UACX,IAAK,IAAK,OAAQG,EAAEwQ,EAAIvD,EAAIuD,GAAKvD,EAAImM,EACrC,IAAK,IAAK,OAAQpZ,EAAEyX,EAAIxK,EAAIwK,GAAKxK,EAAIwH,EACrC,IAAK,QAAS,OAA8C,IAAvCrQ,KAAKsV,MAAM5B,EAAGL,EAAIgC,EAAGhC,EAAGK,EAAGtH,EAAIiJ,EAAGjJ,GAAWpM,KAAKwN,IAM3E,SAAS+H,EAAe7X,EAAKwT,GAG3B,IAAIsE,EAAM,6CACNza,EAAQuY,EAAelS,EAAGwH,IAAIlL,GAAOA,EAAIqW,YAAcrW,EAAMwT,GAAQ,GACzE,MAAO,CACLuE,SAAU1a,EACV2a,QAAS3a,EAAM4O,MAAM6L,GAAOza,EAAM4O,MAAM6L,GAAK3L,IAAI8L,QAAU,CAAC,GAC5DC,QAAUxU,EAAG8G,IAAIxK,IAAQwT,EAAQnW,EAAMmL,MAAMsP,GAAO,IAMxD,SAASK,EAAaC,GAEpB,OAAOrH,EADYqH,EAAWhH,EAAa1N,EAAGoH,IAAIsN,GAAWA,EAAQjM,IAAIoF,GAAWA,EAAQ6G,IAAa,IACxE,SAAUC,EAAMC,EAAKC,GAAQ,OAAOA,EAAK9N,QAAQ4N,KAAUC,KAG9F,SAASE,EAAeJ,GACtB,IAAIK,EAASN,EAAaC,GAC1B,OAAOK,EAAOtM,KAAI,SAAU7O,EAAGlB,GAC7B,MAAO,CAACqL,OAAQnK,EAAG4V,GAAI9W,EAAG+W,MAAOsF,EAAOxY,OAAQ6U,WAAY,CAAEnS,KAAMgS,EAAqBrX,QAM7F,SAASob,EAAwBpF,EAAMqF,GACrC,IAAIC,EAAW/G,EAAY8G,GAG3B,GADI,UAAUhZ,KAAKiZ,EAAS1Q,UAAW0Q,EAASlR,SAAW2E,EAAOuM,EAAS1Q,SACvExE,EAAGoH,IAAIwI,GAAO,CAChB,IAAIjX,EAAIiX,EAAKrT,OACS,IAAN5D,IAAYqH,EAAGsH,IAAIsI,EAAK,IAMtCA,EAAO,CAACjW,MAAOiW,GAHV5P,EAAG+H,IAAIkN,EAAcjR,YAAakR,EAASlR,SAAWiR,EAAcjR,SAAWrL,GAMxF,IAAIwc,EAAYnV,EAAGoH,IAAIwI,GAAQA,EAAO,CAACA,GACvC,OAAOuF,EAAU1M,KAAI,SAAU2M,EAAG1c,GAChC,IAAI4O,EAAOtH,EAAGsH,IAAI8N,KAAOpV,EAAGwH,IAAI4N,GAAMA,EAAI,CAACzb,MAAOyb,GAKlD,OAHIpV,EAAGgI,IAAIV,EAAIlB,SAAUkB,EAAIlB,MAAS1N,EAA0B,EAAtBuc,EAAc7O,OAEpDpG,EAAGgI,IAAIV,EAAIjB,YAAaiB,EAAIjB,SAAW3N,IAAMyc,EAAU5Y,OAAS,EAAI0Y,EAAc5O,SAAW,GAC1FiB,KACNmB,KAAI,SAAU4M,GAAK,OAAO7G,EAAa6G,EAAGH,MA2B/C,SAASI,EAAcL,EAAerM,GACpC,IAAI2M,EAAa,GACbC,EAAY5M,EAAO4M,UAEvB,IAAK,IAAIhb,KADLgb,IAAa5M,EAAS4F,EA1B5B,SAA0BgH,GAmBxB,IAlBA,IAAIC,EAAgBpI,EAAYK,EAAa8H,EAAU/M,KAAI,SAAUxO,GAAO,OAAOb,OAAO2T,KAAK9S,QAAW,SAAUO,GAAK,OAAOwF,EAAG/F,IAAIO,MACtImT,QAAO,SAAU/R,EAAE6I,GAA0C,OAAjC7I,EAAEmL,QAAQtC,GAAK,GAAK7I,EAAE4C,KAAKiG,GAAa7I,IAAM,IACvE2Z,EAAa,GACbnQ,EAAO,SAAW1M,GACpB,IAAI8Y,EAAWiE,EAAc/c,GAC7B6c,EAAW/D,GAAYgE,EAAU/M,KAAI,SAAUxO,GAC7C,IAAIyb,EAAS,GACb,IAAK,IAAIlb,KAAKP,EACR+F,EAAG/F,IAAIO,GACLA,GAAKgX,IAAYkE,EAAO/b,MAAQM,EAAIO,IAExCkb,EAAOlb,GAAKP,EAAIO,GAGpB,OAAOkb,MAIFhd,EAAI,EAAGA,EAAI+c,EAAclZ,OAAQ7D,IAAK0M,EAAM1M,GACrD,OAAO6c,EAMgCI,CAAiBH,GAAY5M,IACtDA,EACR5I,EAAG/F,IAAIO,IACT+a,EAAW/W,KAAK,CACdvF,KAAMuB,EACNob,OAAQZ,EAAwBpM,EAAOpO,GAAIya,KAIjD,OAAOM,EAoBT,SAASM,EAAgBjG,EAAML,GAC7B,IAAIuG,EACJ,OAAOlG,EAAKgG,OAAOnN,KAAI,SAAU7O,GAC/B,IAAImc,EAlBR,SAA8BA,EAAOxG,GACnC,IAAI3V,EAAI,GACR,IAAK,IAAIY,KAAKub,EAAO,CACnB,IAAIpc,EAAQ2V,EAAiByG,EAAMvb,GAAI+U,GACnCvP,EAAGoH,IAAIzN,IAEY,KADrBA,EAAQA,EAAM8O,KAAI,SAAU2M,GAAK,OAAO9F,EAAiB8F,EAAG7F,OAClDhT,SAAgB5C,EAAQA,EAAM,IAE1CC,EAAEY,GAAKb,EAIT,OAFAC,EAAEoK,SAAW0E,WAAW9O,EAAEoK,UAC1BpK,EAAEwM,MAAQsC,WAAW9O,EAAEwM,OAChBxM,EAMOoc,CAAqBpc,EAAG2V,GAChC0G,EAAaF,EAAMpc,MACnBkY,EAAK7R,EAAGoH,IAAI6O,GAAcA,EAAW,GAAKA,EAC1CC,EAAS7G,EAAQwC,GACjBsE,EAAgBxE,EAAuBpC,EAAWxL,OAAQ6L,EAAK3W,KAAMid,EAAQ3G,GAC7E6G,EAAgBN,EAAgBA,EAAcjE,GAAGwC,SAAW8B,EAC5DrE,EAAO9R,EAAGoH,IAAI6O,GAAcA,EAAW,GAAKG,EAC5CC,EAAWhH,EAAQyC,IAASzC,EAAQ8G,GACpCrG,EAAOoG,GAAUG,EAWrB,OAVIrW,EAAGgI,IAAI6J,KAAOA,EAAKuE,GACvBL,EAAMjE,KAAOqC,EAAerC,EAAMhC,GAClCiG,EAAMlE,GAAKsC,EAAevC,EAAiBC,EAAIC,GAAOhC,GACtDiG,EAAM1R,MAAQyR,EAAgBA,EAAcQ,IAAM,EAClDP,EAAMO,IAAMP,EAAM1R,MAAQ0R,EAAM3P,MAAQ2P,EAAM/R,SAAW+R,EAAM1P,SAC/D0P,EAAMvR,OAASyI,EAAa8I,EAAMvR,OAAQuR,EAAM/R,UAChD+R,EAAMQ,OAASvW,EAAGwH,IAAIyO,GACtBF,EAAMS,QAAUxW,EAAGoI,IAAI2N,EAAMjE,KAAKuC,UAC9B0B,EAAMS,UAAWT,EAAMlX,MAAQ,GACnCiX,EAAgBC,EACTA,KAMX,IAAIU,EAAmB,CACrBpW,IAAK,SAAUzG,EAAGY,EAAG4a,GAAK,OAAOxb,EAAEyW,MAAM7V,GAAK4a,GAC9CsB,UAAW,SAAU9c,EAAGY,EAAG4a,GAAK,OAAOxb,EAAE+c,aAAanc,EAAG4a,IACzDhb,OAAQ,SAAUR,EAAGY,EAAG4a,GAAK,OAAOxb,EAAEY,GAAK4a,GAC3ClE,UAAW,SAAUtX,EAAGY,EAAG4a,EAAGhE,EAAYwF,GAExC,GADAxF,EAAWnS,KAAKqS,IAAI9W,EAAG4a,GACnB5a,IAAM4W,EAAW/R,MAAQuX,EAAQ,CACnC,IAAI9P,EAAM,GACVsK,EAAWnS,KAAK6N,SAAQ,SAAUnT,EAAOiW,GAAQ9I,GAAO8I,EAAO,IAAMjW,EAAQ,QAC7EC,EAAEyW,MAAMa,UAAYpK,KAO1B,SAAS+P,EAAgBnC,EAASa,GACdT,EAAeJ,GACrB5H,SAAQ,SAAUyC,GAC5B,IAAK,IAAIlV,KAAYkb,EAAY,CAC/B,IAAI5b,EAAQ2V,EAAiBiG,EAAWlb,GAAWkV,GAC/CxL,EAASwL,EAAWxL,OACpB+S,EAAYzH,EAAQ1V,GACpBwc,EAAgBxE,EAAuB5N,EAAQ1J,EAAUyc,EAAWvH,GAEpEsC,EAAKD,EAAiBM,EAAcvY,EAD7Bmd,GAAazH,EAAQ8G,IACsBA,GAClDY,EAAW/F,EAAiBjN,EAAQ1J,GACxCoc,EAAiBM,GAAUhT,EAAQ1J,EAAUwX,EAAItC,EAAW6B,YAAY,OAwB9E,SAAS4F,EAAcC,EAAa1B,GAClC,OAAOlI,EAAYK,EAAauJ,EAAYxO,KAAI,SAAU8G,GACxD,OAAOgG,EAAW9M,KAAI,SAAUmH,GAC9B,OApBN,SAAyBL,EAAYK,GACnC,IAAImH,EAAW/F,EAAiBzB,EAAWxL,OAAQ6L,EAAK3W,MACxD,GAAI8d,EAAU,CACZ,IAAInB,EAASC,EAAgBjG,EAAML,GAC/B2H,EAAYtB,EAAOA,EAAOrZ,OAAS,GACvC,MAAO,CACLe,KAAMyZ,EACN1c,SAAUuV,EAAK3W,KACfsW,WAAYA,EACZqG,OAAQA,EACR5R,SAAUkT,EAAUZ,IACpBlQ,MAAOwP,EAAO,GAAGxP,MACjBC,SAAU6Q,EAAU7Q,WAQb8Q,CAAgB5H,EAAYK,WAElC,SAAUhU,GAAK,OAAQoE,EAAGgI,IAAIpM,MAKrC,SAASwb,EAAmBC,EAAYpC,GACtC,IAAIqC,EAAaD,EAAW9a,OACxBgb,EAAc,SAAUC,GAAQ,OAAOA,EAAKtR,eAAiBsR,EAAKtR,eAAiB,GACnFuR,EAAU,GAId,OAHAA,EAAQzT,SAAWsT,EAAa1Y,KAAKgI,IAAIO,MAAMvI,KAAMyY,EAAW5O,KAAI,SAAU+O,GAAQ,OAAOD,EAAYC,GAAQA,EAAKxT,aAAgBiR,EAAcjR,SACpJyT,EAAQrR,MAAQkR,EAAa1Y,KAAK+H,IAAIQ,MAAMvI,KAAMyY,EAAW5O,KAAI,SAAU+O,GAAQ,OAAOD,EAAYC,GAAQA,EAAKpR,UAAa6O,EAAc7O,MAC9IqR,EAAQpR,SAAWiR,EAAaG,EAAQzT,SAAWpF,KAAKgI,IAAIO,MAAMvI,KAAMyY,EAAW5O,KAAI,SAAU+O,GAAQ,OAAOD,EAAYC,GAAQA,EAAKxT,SAAWwT,EAAKnR,aAAgB4O,EAAc5O,SAChLoR,EAGT,IAAIC,GAAa,EAwBjB,IAEIC,GAFAC,GAAkB,GAClBC,GAAkB,GAGlBC,GAAU,WACZ,SAASC,IACPJ,GAAMrS,sBAAsB0S,GAE9B,SAASA,EAAKpe,GACZ,IAAIqe,EAAwBL,GAAgBrb,OAC5C,GAAI0b,EAAuB,CAEzB,IADA,IAAIvf,EAAI,EACDA,EAAIuf,GAAuB,CAChC,IAAIC,EAAiBN,GAAgBlf,GACrC,GAAKwf,EAAeC,OAEb,CACL,IAAIC,EAAgBR,GAAgB7Q,QAAQmR,GACxCE,GAAiB,IACnBR,GAAgBjZ,OAAOyZ,EAAe,GACtCH,EAAwBL,GAAgBrb,aAL1C2b,EAAeG,KAAKze,GAQtBlB,IAEFqf,SAEAJ,GAAMW,qBAAqBX,IAG/B,OAAOI,EA1BK,GA6Cd,SAAS7c,GAAM0N,QACG,IAAXA,IAAoBA,EAAS,IAGlC,IACI2P,EADAC,EAAY,EAAGC,EAAW,EAAGC,EAAM,EACzBC,EAAiB,EAC3BC,EAAU,KAEd,SAASC,EAAYC,GACnB,IAAIC,EAAUre,OAAOse,SAAW,IAAIA,SAAQ,SAAUC,GAAY,OAAOL,EAAUK,KAEnF,OADAH,EAASI,SAAWH,EACbA,EAGT,IAAID,EArFN,SAA2BlQ,GACzB,IAAIuQ,EAAmB9K,EAAmB9I,EAAyBqD,GAC/DqM,EAAgB5G,EAAmBlI,EAAsByC,GACzD2M,EAAaD,EAAcL,EAAerM,GAC1CqO,EAAcnC,EAAelM,EAAO8L,SACpC2C,EAAaL,EAAcC,EAAa1B,GACxCkC,EAAUL,EAAmBC,EAAYpC,GACzCzF,EAAKkI,GAET,OADAA,KACOlJ,EAAa2K,EAAkB,CACpC3J,GAAIA,EACJ+I,SAAU,GACVtB,YAAaA,EACbI,WAAYA,EACZrT,SAAUyT,EAAQzT,SAClBoC,MAAOqR,EAAQrR,MACfC,SAAUoR,EAAQpR,WAqEL+S,CAAkBxQ,GACnBiQ,EAAYC,GAE1B,SAASO,IACP,IAAIrT,EAAY8S,EAAS9S,UACP,cAAdA,IACF8S,EAAS9S,UAA0B,WAAdA,EAAyB,SAAW,WAE3D8S,EAASQ,UAAYR,EAASQ,SAC9Bf,EAASzL,SAAQ,SAAUyM,GAAS,OAAOA,EAAMD,SAAWR,EAASQ,YAGvE,SAASE,EAAWnU,GAClB,OAAOyT,EAASQ,SAAWR,EAAS9U,SAAWqB,EAAOA,EAGxD,SAASoU,IACPjB,EAAY,EACZC,EAAWe,EAAWV,EAASY,cAAgB,EAAIxe,GAAMye,OAG3D,SAASC,EAAUvU,EAAMkU,GACnBA,GAASA,EAAMM,KAAKxU,EAAOkU,EAAMrT,gBAWvC,SAAS4T,EAAsBC,GAI7B,IAHA,IAAIrhB,EAAI,EACJ2e,EAAayB,EAASzB,WACtB2C,EAAmB3C,EAAW9a,OAC3B7D,EAAIshB,GAAkB,CAC3B,IAAIxC,EAAOH,EAAW3e,GAClB6W,EAAaiI,EAAKjI,WAClBqG,EAAS4B,EAAK5B,OACdqE,EAAcrE,EAAOrZ,OAAS,EAC9BwZ,EAAQH,EAAOqE,GAEfA,IAAelE,EAAQ1I,EAAYuI,GAAQ,SAAUhc,GAAK,OAAQmgB,EAAUngB,EAAE0c,OAAS,IAAMP,GAQjG,IAPA,IAAIpM,EAAUjD,EAAOqT,EAAUhE,EAAM1R,MAAQ0R,EAAM3P,MAAO,EAAG2P,EAAM/R,UAAY+R,EAAM/R,SACjFkW,EAAQC,MAAMxQ,GAAW,EAAIoM,EAAMvR,OAAOmF,GAC1C6K,EAAUuB,EAAMlE,GAAG2C,QACnB3V,EAAQkX,EAAMlX,MACdyV,EAAU,GACV8F,EAAkBrE,EAAMlE,GAAGyC,QAAQ/X,OACnC+M,OAAY,EACPnP,EAAI,EAAGA,EAAIigB,EAAiBjgB,IAAK,CACxC,IAAIR,OAAS,EACT0gB,EAAWtE,EAAMlE,GAAGyC,QAAQna,GAC5BmgB,EAAavE,EAAMjE,KAAKwC,QAAQna,IAAM,EAIxCR,EAHGoc,EAAMQ,OAGD1C,EAAgBkC,EAAMpc,MAAOugB,EAAQG,GAFrCC,EAAcJ,GAASG,EAAWC,GAIxCzb,IACIkX,EAAMS,SAAWrc,EAAI,IACzBR,EAAQiF,KAAKC,MAAMlF,EAAQkF,GAASA,IAGxCyV,EAAQ9V,KAAK7E,GAGf,IAAI4gB,EAAgB/F,EAAQjY,OAC5B,GAAKge,EAEE,CACLjR,EAAWkL,EAAQ,GACnB,IAAK,IAAI/Z,EAAI,EAAGA,EAAI8f,EAAe9f,IAAK,CAC9B+Z,EAAQ/Z,GAAhB,IACIgK,EAAI+P,EAAQ/Z,EAAI,GAChB+f,EAAMlG,EAAQ7Z,GACb0f,MAAMK,KAIPlR,GAHG7E,EAGS+V,EAAM/V,EAFN+V,EAAM,WATxBlR,EAAWgL,EAAQ,GAgBrBmC,EAAiBe,EAAKla,MAAMiS,EAAWxL,OAAQyT,EAAKnd,SAAUiP,EAAUiG,EAAW6B,YACnFoG,EAAKiD,aAAenR,EACpB5Q,KAIJ,SAASgiB,EAAYC,GACf7B,EAAS6B,KAAQ7B,EAAS8B,aAAe9B,EAAS6B,GAAI7B,GAS5D,SAAS+B,EAAoBC,GAC3B,IAAIC,EAAcjC,EAAS9U,SACvBgX,EAAWlC,EAAS1S,MACpB6U,EAAcF,EAAcjC,EAASzS,SACrC0T,EAAUP,EAAWsB,GACzBhC,EAASxP,SAAW5C,EAAQqT,EAAUgB,EAAe,IAAK,EAAG,KAC7DjC,EAASoC,gBAAkBnB,EAAUjB,EAASY,YAC1CnB,GArFN,SAA8BlT,GAC5B,GAAKyT,EAASoC,gBAGZ,IAAK,IAAIC,EAAMxC,EAAgBwC,KAAUvB,EAAUvU,EAAMkT,EAAS4C,SAFlE,IAAK,IAAIziB,EAAI,EAAGA,EAAIigB,EAAgBjgB,IAAOkhB,EAAUvU,EAAMkT,EAAS7f,IAmFtD0iB,CAAqBrB,IAChCjB,EAASuC,OAASvC,EAASY,YAAc,IAC5CZ,EAASuC,OAAQ,EACjBX,EAAY,WAET5B,EAASwC,WAAaxC,EAASY,YAAc,IAChDZ,EAASwC,WAAY,EACrBZ,EAAY,cAEVX,GAAWiB,GAAqC,IAAzBlC,EAASY,aAClCI,EAAsB,IAEnBC,GAAWkB,GAAenC,EAASY,cAAgBqB,IAAiBA,IACvEjB,EAAsBiB,GAEpBhB,EAAUiB,GAAYjB,EAAUkB,GAC7BnC,EAASyC,cACZzC,EAASyC,aAAc,EACvBzC,EAAS0C,iBAAkB,EAC3Bd,EAAY,gBAEdA,EAAY,UACZZ,EAAsBC,IAElBjB,EAASyC,cACXzC,EAAS0C,iBAAkB,EAC3B1C,EAASyC,aAAc,EACvBb,EAAY,mBAGhB5B,EAASY,YAAchT,EAAOqT,EAAS,EAAGgB,GACtCjC,EAASuC,OAASX,EAAY,UAC9BI,GAAcC,IAChBtC,EAAW,EA7CTK,EAAS2C,YAAoC,IAAvB3C,EAAS2C,WACjC3C,EAAS2C,YA8CJ3C,EAAS2C,WAYZjD,EAAYE,EACZgC,EAAY,gBACZ5B,EAASwC,WAAY,EACM,cAAvBxC,EAAS9S,WACXqT,MAfFP,EAASX,QAAS,EACbW,EAAS4C,YACZ5C,EAAS4C,WAAY,EACrBhB,EAAY,gBACZA,EAAY,aACP5B,EAAS8B,aAAe,YAAalgB,SACxCke,IACUC,EAAYC,OAiFhC,OAnEAA,EAAS6C,MAAQ,WACf,IAAI3V,EAAY8S,EAAS9S,UACzB8S,EAAS8B,aAAc,EACvB9B,EAASY,YAAc,EACvBZ,EAASxP,SAAW,EACpBwP,EAASX,QAAS,EAClBW,EAASuC,OAAQ,EACjBvC,EAASwC,WAAY,EACrBxC,EAASyC,aAAc,EACvBzC,EAAS4C,WAAY,EACrB5C,EAAS0C,iBAAkB,EAC3B1C,EAASoC,iBAAkB,EAC3BpC,EAASQ,SAAyB,YAAdtT,EACpB8S,EAAS2C,UAAY3C,EAAS1T,KAC9BmT,EAAWO,EAASP,SAEpB,IAAK,IAAI7f,EADTigB,EAAiBJ,EAAShc,OACG7D,KAAQogB,EAASP,SAAS7f,GAAGijB,SACtD7C,EAASQ,WAA8B,IAAlBR,EAAS1T,MAAgC,cAAdY,GAA+C,IAAlB8S,EAAS1T,OAAe0T,EAAS2C,YAClH3B,EAAsBhB,EAASQ,SAAWR,EAAS9U,SAAW,IAKhE8U,EAASxH,IAAM,SAASoD,EAASa,GAE/B,OADAsB,EAAgBnC,EAASa,GAClBuD,GAGTA,EAAST,KAAO,SAASze,GACvB8e,EAAM9e,EACD4e,IAAaA,EAAYE,GAC9BmC,GAAqBnC,GAAOD,EAAWD,IAActd,GAAMye,QAG7Db,EAASe,KAAO,SAASxU,GACvBwV,EAAoBrB,EAAWnU,KAGjCyT,EAAS8C,MAAQ,WACf9C,EAASX,QAAS,EAClBsB,KAGFX,EAASf,KAAO,WACTe,EAASX,SACVW,EAAS4C,WAAa5C,EAAS6C,QACnC7C,EAASX,QAAS,EAClBP,GAAgBpZ,KAAKsa,GACrBW,IACK9B,IAAOG,OAGdgB,EAAS+C,QAAU,WACjBxC,IACAP,EAAS4C,WAAY5C,EAASQ,SAC9BG,KAGFX,EAASgD,QAAU,WACjBhD,EAAS6C,QACT7C,EAASf,QAGXe,EAAS6C,QAEL7C,EAAS7S,UAAY6S,EAASf,OAE3Be,EAMT,SAASiD,GAA4BC,EAAc3E,GACjD,IAAK,IAAIzb,EAAIyb,EAAW9a,OAAQX,KAC1BqS,EAAc+N,EAAc3E,EAAWzb,GAAG2T,WAAWxL,SACvDsT,EAAW1Y,OAAO/C,EAAG,GAvQH,oBAAb+I,UACTA,SAASsX,iBAAiB,oBAX5B,WACMtX,SAASuX,QACXtE,GAAgB9K,SAAQ,SAAUqP,GAAO,OAAOA,EAAIP,WACpD/D,GAAkBD,GAAgB5J,MAAM,GACxC9S,GAAMkhB,QAAUxE,GAAkB,IAElCC,GAAgB/K,SAAQ,SAAUqP,GAAO,OAAOA,EAAIpE,aAuXxD7c,GAAMmhB,QAAU,QAChBnhB,GAAMye,MAAQ,EACdze,GAAMkhB,QAAUxE,GAChB1c,GAAMohB,OA1GN,SAAuB5H,GAErB,IADA,IAAIsH,EAAevH,EAAaC,GACvBhc,EAAIkf,GAAgBrb,OAAQ7D,KAAM,CACzC,IAAIogB,EAAWlB,GAAgBlf,GAC3B2e,EAAayB,EAASzB,WACtBkB,EAAWO,EAASP,SACxBwD,GAA4BC,EAAc3E,GAC1C,IAAK,IAAIte,EAAIwf,EAAShc,OAAQxD,KAAM,CAClC,IAAIwgB,EAAQhB,EAASxf,GACjBwjB,EAAkBhD,EAAMlC,WAC5B0E,GAA4BC,EAAcO,GACrCA,EAAgBhgB,QAAWgd,EAAMhB,SAAShc,QAAUgc,EAAS5Z,OAAO5F,EAAG,GAEzEse,EAAW9a,QAAWgc,EAAShc,QAAUuc,EAAS8C,UA8F3D1gB,GAAM3B,IAAMoY,EACZzW,GAAMoW,IAAMuF,EACZ3b,GAAMshB,UAAY3M,EAClB3U,GAAM4Y,KA/qBN,SAAiBA,EAAM2I,GACrB,IAAIpJ,EAASrT,EAAG8G,IAAIgN,GAAQ3G,EAAa2G,GAAM,GAAKA,EAChDtZ,EAAIiiB,GAAW,IACnB,OAAO,SAASpiB,GACd,MAAO,CACLA,SAAUA,EACVsV,GAAI0D,EACJ5L,IAAK2L,EAAaC,GAClBV,YAAaI,EAAeM,IAAW7Y,EAAI,QAwqBjDU,GAAMwhB,cAntBN,SAAuB/M,GACrB,IAAIgN,EAAa5J,EAAepD,GAEhC,OADAA,EAAGgH,aAAa,mBAAoBgG,GAC7BA,GAitBTzhB,GAAM0hB,QA7FN,SAAiBtgB,EAAKsM,QACJ,IAAXA,IAAoBA,EAAS,IAElC,IAAI5C,EAAY4C,EAAO5C,WAAa,SAChCxB,EAASoE,EAAOpE,OAASyI,EAAarE,EAAOpE,QAAU,KACvDqY,EAAOjU,EAAOiU,KACdC,EAAOlU,EAAOkU,KACdC,EAAYnU,EAAOkJ,MAAQ,EAC3BkL,EAA0B,UAAdD,EACZE,EAA2B,WAAdF,EACbG,EAAyB,SAAdH,EACXI,EAAUnd,EAAGoH,IAAI9K,GACjB8gB,EAAOD,EAAUzU,WAAWpM,EAAI,IAAMoM,WAAWpM,GACjD+gB,EAAOF,EAAUzU,WAAWpM,EAAI,IAAM,EACtCwT,EAAOT,EAAQ8N,EAAU7gB,EAAI,GAAKA,IAAQ,EAC1C+H,EAAQuE,EAAOvE,OAAS,GAAK8Y,EAAUC,EAAO,GAC9CE,EAAS,GACTC,EAAW,EACf,OAAO,SAAU5N,EAAIjX,EAAGkB,GAItB,GAHIojB,IAAaD,EAAY,GACzBE,IAAcF,GAAanjB,EAAI,GAAK,GACpCsjB,IAAYH,EAAYnjB,EAAI,IAC3B0jB,EAAO/gB,OAAQ,CAClB,IAAK,IAAI6B,EAAQ,EAAGA,EAAQxE,EAAGwE,IAAS,CACtC,GAAKye,EAEE,CACL,IAAIW,EAASP,GAAkCJ,EAAK,GAAG,GAAG,EAAhCE,EAAUF,EAAK,GACrCY,EAASR,GAA8CJ,EAAK,GAAG,GAAG,EAA5Cje,KAAK8e,MAAMX,EAAUF,EAAK,IAGhDc,EAAYH,EAFNpf,EAAMye,EAAK,GAGjBe,EAAYH,EAFN7e,KAAK8e,MAAMtf,EAAMye,EAAK,IAG5BljB,EAAQiF,KAAKsK,KAAKyU,EAAYA,EAAYC,EAAYA,GAC7C,MAATd,IAAgBnjB,GAASgkB,GAChB,MAATb,IAAgBnjB,GAASikB,GAC7BN,EAAO9e,KAAK7E,QAXZ2jB,EAAO9e,KAAKI,KAAKmN,IAAIgR,EAAY3e,IAanCmf,EAAW3e,KAAKgI,IAAIO,MAAMvI,KAAM0e,GAE9B9Y,IAAU8Y,EAASA,EAAO7U,KAAI,SAAUnM,GAAO,OAAOkI,EAAOlI,EAAMihB,GAAYA,MACjE,YAAdvX,IAA2BsX,EAASA,EAAO7U,KAAI,SAAUnM,GAAO,OAAOwgB,EAAQxgB,EAAM,GAAY,EAAPA,GAAYA,EAAMsC,KAAKmN,IAAIwR,EAAWjhB,OAGtI,OAAO+H,GADO8Y,GAAWE,EAAOD,GAAQG,EAAWH,IACxBxe,KAAKC,MAAkB,IAAZye,EAAO5kB,IAAY,KAAQoX,IAkDrE5U,GAAM2iB,SA5CN,SAAkBjV,QACA,IAAXA,IAAoBA,EAAS,IAElC,IAAIkV,EAAK5iB,GAAM0N,GA4Bf,OA3BAkV,EAAG9Z,SAAW,EACd8Z,EAAGC,IAAM,SAASC,EAAgB9X,GAChC,IAAI+X,EAAUrG,GAAgB7Q,QAAQ+W,GAClCvF,EAAWuF,EAAGvF,SAElB,SAASqC,EAAYuB,GAAOA,EAAIvB,aAAc,EAD1CqD,GAAW,GAAKrG,GAAgBjZ,OAAOsf,EAAS,GAEpD,IAAK,IAAIvlB,EAAI,EAAGA,EAAI6f,EAAShc,OAAQ7D,IAAOkiB,EAAYrC,EAAS7f,IACjE,IAAIwlB,EAAY1P,EAAawP,EAAgB3P,EAAmBlI,EAAsByC,IACtFsV,EAAUxJ,QAAUwJ,EAAUxJ,SAAW9L,EAAO8L,QAChD,IAAIyJ,EAAaL,EAAG9Z,SACpBka,EAAUjY,UAAW,EACrBiY,EAAUlY,UAAY8X,EAAG9X,UACzBkY,EAAUhY,eAAiBlG,EAAGgI,IAAI9B,GAAkBiY,EAAavM,EAAiB1L,EAAgBiY,GAClGvD,EAAYkD,GACZA,EAAGjE,KAAKqE,EAAUhY,gBAClB,IAAIiW,EAAMjhB,GAAMgjB,GAChBtD,EAAYuB,GACZ5D,EAAS/Z,KAAK2d,GACd,IAAI1E,EAAUL,EAAmBmB,EAAU3P,GAO3C,OANAkV,EAAG1X,MAAQqR,EAAQrR,MACnB0X,EAAGzX,SAAWoR,EAAQpR,SACtByX,EAAG9Z,SAAWyT,EAAQzT,SACtB8Z,EAAGjE,KAAK,GACRiE,EAAGnC,QACCmC,EAAG7X,UAAY6X,EAAG/F,OACf+F,GAEFA,GAcT5iB,GAAMsJ,OAASyI,EACf/R,GAAM+Q,OAASA,EACf/Q,GAAMkjB,OAAS,SAAUzX,EAAKC,GAAO,OAAOhI,KAAK8e,MAAM9e,KAAKwf,UAAYxX,EAAMD,EAAM,IAAMA,GAE1FlO,EAAOD,QAAU0C,I,uCCvtCNmjB,SAQU,IAAXC,EAAyBA,EAASjiB,KAAK3B,QAAU2B,KAAKiiB,OAN5DC,EAAO,GAAD,EAM8D,SAAUF,GAChF,aAGA,IAUIG,EACAC,EAOAC,EAlBA3hB,EAAiBlC,EAAQ,GAEzBO,EAAU,GAEVujB,EAAS,GAETC,EAAY/jB,EAAQ,IACpBgkB,EAAehkB,EAAQ,IACvBikB,EAAkBjkB,EAAQ,IAM1BkkB,KAAaV,GAAUA,EAAK1Z,UAAc0Z,EAAK1Z,SAASC,eAAmByZ,EAAKpC,kBACpF,GAAsB,oBAAXvhB,QAA2BqkB,EAAtC,CAMA,IAAIxkB,EAAiBnB,OAAOkB,UAAUC,eA2KtC,OAnIAokB,EAAOK,QAAU,WACf,IAAK5jB,EAAQ6jB,cAEX,IACEta,SAASC,cAAcxJ,EAAQ8jB,aAAaC,UAAY,GACxD,MAAOthB,GACPuhB,QAAQC,KAAK,sBAAwBjkB,EAAQ8jB,aAK7C9jB,EAAQkkB,iBAAmB3a,SAASC,cAAcxJ,EAAQkkB,kBAC5D3a,SAASC,cAAcxJ,EAAQkkB,iBAAiBC,oBAAoB,SAAUljB,KAAKmjB,iBAAiB,GACpG7a,SAASC,cAAcxJ,EAAQkkB,iBAAiBC,oBAAoB,SAAUljB,KAAKmjB,iBAAiB,GAChGhB,GACF7Z,SAASC,cAAcxJ,EAAQkkB,iBAAiBC,oBAAoB,QAASljB,KAAKojB,gBAAgB,KAGpG9a,SAAS4a,oBAAoB,SAAUljB,KAAKmjB,iBAAiB,GAC7D7a,SAAS4a,oBAAoB,SAAUljB,KAAKmjB,iBAAiB,GACzDhB,GACF7Z,SAAS4a,oBAAoB,QAASljB,KAAKojB,gBAAgB,KASjEd,EAAO7hB,KAAO,SAAU4iB,GAEtB,GAAKX,IAML3jB,EA7EF,WAEE,IADA,IAAI2I,EAAS,GACJrL,EAAI,EAAGA,EAAI8U,UAAUjR,OAAQ7D,IAAK,CACzC,IAAIinB,EAASnS,UAAU9U,GACvB,IAAK,IAAIuB,KAAO0lB,EACVplB,EAAe1B,KAAK8mB,EAAQ1lB,KAC9B8J,EAAO9J,GAAO0lB,EAAO1lB,IAI3B,OAAO8J,EAmEGzI,CAAOyB,EAAgB2iB,GAAiB,IAClDrjB,KAAKjB,QAAUA,EACfiB,KAAKujB,MAAQ,GAGTxkB,EAAQH,eACVG,EAAQ4I,SAAW5I,EAAQykB,qBAC3BzkB,EAAQwH,OAASxH,EAAQ0kB,mBACzBnB,EAAO1jB,aAAeJ,EAAQ,IAAmBklB,oBAAoB3kB,IAIvEojB,EAAYI,EAAUxjB,GACtBqjB,EAAeI,EAAazjB,GAG5BiB,KAAK2jB,WAAaxB,EAClBniB,KAAK4jB,cAAgBxB,EAGrBE,EAAOK,UAKe,QAFtBN,EAAgBD,EAAayB,eAAe9kB,EAAQ+kB,gBAAiB/kB,EAAQglB,mBAE7E,CAKA,IACIC,EADoB5B,EAAa6B,kBAAkB5B,GAChB6B,KAGlCnlB,EAAQ6jB,eACXT,EAAUgC,OAAOplB,EAAQ8jB,YAAamB,GAIxChkB,KAAKmjB,gBAAkBiB,GAAS,SAAU5iB,GACxC2gB,EAAUkC,UAAUhC,IACnBtjB,EAAQulB,sBAAwB7B,EAAgB1jB,GACjD,IAAIwlB,EAAQ/iB,GAAKA,EAAEkG,QAAUlG,EAAEkG,OAAO8c,kBAA4D,IAAxChjB,EAAEkG,OAAO8c,iBAAiBjhB,WAC/E/B,IAAuB,IAAjBA,EAAEijB,YAAwC,OAApBjjB,EAAEkjB,gBAA4BH,KAC7DpC,EAAUkC,UAAUhC,GAChBtjB,EAAQ4lB,mBACV5lB,EAAQ4lB,kBAAkBnjB,MAG7BzC,EAAQ6lB,iBACX5kB,KAAKmjB,kBACDpkB,EAAQkkB,iBAAmB3a,SAASC,cAAcxJ,EAAQkkB,kBAC5D3a,SAASC,cAAcxJ,EAAQkkB,iBAAiBrD,iBAAiB,SAAU5f,KAAKmjB,iBAAiB,GACjG7a,SAASC,cAAcxJ,EAAQkkB,iBAAiBrD,iBAAiB,SAAU5f,KAAKmjB,iBAAiB,KAEjG7a,SAASsX,iBAAiB,SAAU5f,KAAKmjB,iBAAiB,GAC1D7a,SAASsX,iBAAiB,SAAU5f,KAAKmjB,iBAAiB,IAI5D,IAAI0B,EAAU,KAmBd,OAlBA7kB,KAAKojB,eAAiBgB,GAAS,SAAUU,GACnC/lB,EAAQH,cACVujB,EAAU4C,oBAAoBD,GAEhC3C,EAAUkC,UAAUhC,GAEpBwC,GAAW7e,aAAa6e,GACxBA,EAAU/e,YAAW,WACnBqc,EAAU6C,uBACTjmB,EAAQykB,wBACVzkB,EAAQ6lB,iBAEP7lB,EAAQkkB,iBAAmB3a,SAASC,cAAcxJ,EAAQkkB,iBAC5D3a,SAASC,cAAcxJ,EAAQkkB,iBAAiBrD,iBAAiB,QAAS5f,KAAKojB,gBAAgB,GAE/F9a,SAASsX,iBAAiB,QAAS5f,KAAKojB,gBAAgB,GAGnDpjB,OAMTsiB,EAAO2C,QAAU,SAAU5B,GACzBf,EAAOK,UACPL,EAAO7hB,KAAK4iB,GAAiBrjB,KAAKjB,UAIpCijB,EAAKM,OAASA,EAEPA,EA5JP,SAAS8B,EAAUc,EAAIC,EAAWC,GAEhC,IAAIpiB,EACAqiB,EACJ,OAHAF,IAAcA,EAAY,KAGnB,WACL,IAAIG,EAAUF,GAASplB,KACnBqc,GAAO,IAAIkJ,KACX1a,EAAOsG,UACPnO,GAAQqZ,EAAMrZ,EAAOmiB,GAEvBnf,aAAaqf,GACbA,EAAavf,YAAW,WACtB9C,EAAOqZ,EACP6I,EAAGpa,MAAMwa,EAASza,KACjBsa,KAEHniB,EAAOqZ,EACP6I,EAAGpa,MAAMwa,EAASza,MA/DhB,CAAamX,QAAb,6D,+BC7CV,IAAIxP,EAGJA,EAAI,WACH,OAAOxS,KADJ,GAIJ,IAECwS,EAAIA,GAAK,IAAIgT,SAAS,cAAb,GACR,MAAOhkB,GAEc,iBAAXnD,SAAqBmU,EAAInU,QAOrCjC,EAAOD,QAAUqW,G,cCXjBpW,EAAOD,QAAU,CAEf0mB,YAAa,UAEbiB,gBAAiB,kBAEjBC,gBAAiB,aAEjB0B,eAAgB,iBAEhBC,oBAAoB,EAEpBC,UAAW,WAEXC,iBAAkB,GAGlBC,gBAAiB,iBAEjBC,UAAW,WAEXC,iBAAkB,GAElBC,iBAAkB,eAGlBC,iBAAkB,iBAElBC,cAAe,gBAEfC,oBAAqB,eAMrBC,cAAe,EAEfxnB,cAAc,EAEd4kB,qBAAsB,IAEtBC,mBAAoB,EAEpBkB,kBAAmB,SAAUnjB,KAE7B6kB,eAAgB,EAGhBzB,gBAAiB,GAEjB0B,sBAAuB,KAGvBC,mBAAoB,oBAIpBC,mBAAoB,OAGpBC,aAAa,EAIbC,QAAS,SAAUllB,KAGnBmlB,aAAa,EAEb1D,gBAAiB,KAEjBL,eAAe,EAKfgE,sBAAsB,EAEtBC,sBAAsB,EAMtBC,sBAAuB,KAEvBC,SAAU,GAGVzC,sBAAsB,I,cCpFxBloB,EAAOD,QAAU,SAAU4C,GACzB,IAAI0R,EAAU,GAAGA,QACboB,EAAO,GAAGA,KACV/I,EAAOR,SAASQ,KAChBke,GAAwB,EAS5B,SAASC,EAAUtqB,EAAGuqB,GACpB,IAAIC,EAAOD,EAAUnT,YAkDvB,SAAqBlP,GACnB,IAAIyT,EAAOhQ,SAASqL,cAAc,MAC9BpU,EAAI+I,SAASqL,cAAc,KAC3B5U,EAAQmnB,eACV5N,EAAKgC,aAAa,QAASvb,EAAQmnB,eAGjCnnB,EAAQ2nB,UACVnnB,EAAE6nB,QAAUroB,EAAQ2nB,SAGlB3nB,EAAQ0nB,aAAe5hB,EAAKwiB,WAAWnnB,OACzCuQ,EAAQjU,KAAKqI,EAAKwiB,YAAY,SAAUC,GACtC/nB,EAAEwU,YAAYuT,EAAKC,WAAU,OAI/BhoB,EAAEioB,YAAc3iB,EAAK2iB,YAOvB,OALAjoB,EAAE+a,aAAa,OAAQvb,EAAQgoB,SAAW,IAAMliB,EAAKsO,IACrD5T,EAAE+a,aAAa,QAASvb,EAAQ4mB,UAAR5mB,eACO8F,EAAK4iB,SAhFrB,IAiFA1oB,EAAQ6mB,kBACvBtN,EAAKvE,YAAYxU,GACV+Y,EA1E0BoP,CAAW/qB,IAC5C,GAAIA,EAAEuf,SAAShc,OAAQ,CACrB,IAAI0C,EAAO+kB,EAAWhrB,EAAEirB,aACxBjrB,EAAEuf,SAASzL,SAAQ,SAAUyM,GAC3B+J,EAAS/J,EAAOta,MAElBukB,EAAKpT,YAAYnR,IA4ErB,SAAS+kB,EAAYC,GACnB,IAAIC,EAAe9oB,EAAQ4nB,YAAe,KAAO,KAC7C/jB,EAAO0F,SAASqL,cAAckU,GAC9BC,EAAU/oB,EAAQ+mB,UA9FP,IA+FA/mB,EAAQgnB,iBAMvB,OALI6B,IACFE,GAjGa,IAiGW/oB,EAAQknB,iBAChC6B,GAlGa,IAkGW/oB,EAAQinB,kBAElCpjB,EAAK0X,aAAa,QAASwN,GACpBllB,EAmKT,MAAO,CACLoiB,mBALF,WACEgC,GAAwB,GAKxBjC,oBAnBF,SAA8BD,GAC5B,IAAIpd,EAASod,EAAMpd,QAAUod,EAAMiD,WACH,iBAArBrgB,EAAOsgB,YAA2E,IAAjDtgB,EAAOsgB,UAAUtd,QAAQ3L,EAAQ4mB,aAK7EqB,GAAwB,IAaxB7C,OAlPF,SAAiB8D,EAAUpjB,GACzB,IACIqiB,EAAYS,GADA,GAGhB9iB,EAAK4L,SAAQ,SAAU9T,GACrBsqB,EAAStqB,EAAGuqB,MAGd,IAAIgB,EAAS5f,SAASC,cAAc0f,GAGpC,GAAe,OAAXC,EAUJ,OALIA,EAAOC,YACTD,EAAO9T,YAAY8T,EAAOC,YAIR,IAAhBtjB,EAAK3E,OACAgoB,EAIFA,EAAOnU,YAAYmT,IAyN1B7C,UAzHF,SAAoBhC,GAGhB,IAAI7b,EACJA,EAFEzH,EAAQkkB,iBAAmB3a,SAASC,cAAcxJ,EAAQkkB,iBAEtD3a,SAASC,cAAcxJ,EAAQkkB,iBAAiB1f,UAEhD+E,SAASO,gBAAgBtF,WAAauF,EAAKvF,UAI/CxE,EAAQunB,uBAjDd,WAEI,IAAI9f,EACJA,EAFEzH,EAAQkkB,iBAAmB3a,SAASC,cAAcxJ,EAAQkkB,iBAEtD3a,SAASC,cAAcxJ,EAAQkkB,iBAAiB1f,UAEhD+E,SAASO,gBAAgBtF,WAAauF,EAAKvF,UAEnD,IAAI6kB,EAAa9f,SAASC,cAAcxJ,EAAQunB,uBAEb,SAA/BvnB,EAAQynB,qBACVznB,EAAQynB,mBAAqBle,SAASC,cAAcxJ,EAAQ8jB,aAAawF,WAGvE7hB,EAAMzH,EAAQynB,oBACkD,IAA9D4B,EAAWJ,UAAUtd,QAAQ3L,EAAQwnB,sBACvC6B,EAAWJ,WA3HA,IA2H0BjpB,EAAQwnB,oBAG/C6B,EAAWJ,UAAYI,EAAWJ,UAAUvf,MA9H/B,IA8HkD1J,EAAQwnB,oBAAoB7d,KAAK,IAgChG4f,GAKF,IACIC,EADAC,EAAWnG,EAKf,GAAI2E,GAC8C,OAAhD1e,SAASC,cAAcxJ,EAAQ8jB,cAC/B2F,EAAStoB,OAAS,EAAG,CACrB2R,EAAKrV,KAAKgsB,GAAU,SAAUC,EAASpsB,GAErC,OAtCN,SAASqsB,EAAkBzd,GACzB,IAAIgJ,EAAW,EAKf,OAJIhJ,IAAQ3C,SAASC,cAAcxJ,EAAQ+kB,iBAA0B,MAAP7Y,KAC5DgJ,EAAWhJ,EAAIod,UACXtpB,EAAQ2mB,qBAAsBzR,GAAYyU,EAAiBzd,EAAI0d,gBAE9D1U,EA+BayU,CAAiBD,GACbjiB,EAAMzH,EAAQsnB,eAAiB,IAKjDkC,EAAYC,EAASnsB,IACd,GACEA,IAAMmsB,EAAStoB,OAAS,GAEjCqoB,EAAYC,EAASA,EAAStoB,OAAS,IAChC,QAHF,KAQT,IAAI0oB,EAAWtgB,SAASC,cAAcxJ,EAAQ8jB,aAC3C9R,iBAAiB,IAAMhS,EAAQ4mB,WAClClV,EAAQjU,KAAKosB,GAAU,SAAUC,GAC/BA,EAAQb,UAAYa,EAAQb,UAAUvf,MA/L3B,IA+L8C1J,EAAQ8mB,iBAAiBnd,KAAK,OAEzF,IAAIogB,EAASxgB,SAASC,cAAcxJ,EAAQ8jB,aACzC9R,iBAAiB,IAAMhS,EAAQmnB,eAClCzV,EAAQjU,KAAKssB,GAAQ,SAAUC,GAC7BA,EAAMf,UAAYe,EAAMf,UAAUvf,MApMvB,IAoM0C1J,EAAQonB,qBAAqBzd,KAAK,OAIzF,IAAIsgB,EAAgB1gB,SAASC,cAAcxJ,EAAQ8jB,aAChDta,cAAc,IAAMxJ,EAAQ4mB,UAC3B,eAAiB4C,EAAUd,SAC3B,UAAY1oB,EAAQgoB,SAAW,IAAMwB,EAAUpV,GAAGZ,QAAQ,iCAAkC,QAAU,OACxC,IAA9DyW,EAAchB,UAAUtd,QAAQ3L,EAAQ8mB,mBAC1CmD,EAAchB,WA7MH,IA6M6BjpB,EAAQ8mB,iBAElD,IAAIoD,EAAKD,EAAclV,WACnBmV,IAA6D,IAAvDA,EAAGjB,UAAUtd,QAAQ3L,EAAQonB,uBACrC8C,EAAGjB,WAjNQ,IAiNkBjpB,EAAQonB,qBAGvC,IAAI+C,EAAW5gB,SAASC,cAAcxJ,EAAQ8jB,aAC3C9R,iBAAiB,IAAMhS,EAAQ+mB,UAAY,IAAM/mB,EAAQknB,kBAG5DxV,EAAQjU,KAAK0sB,GAAU,SAAUtmB,IAC2B,IAAtDA,EAAKolB,UAAUtd,QAAQ3L,EAAQinB,oBACjCpjB,EAAKolB,WA1NI,IA0NsBjpB,EAAQinB,qBAKvCgD,EAAcG,cAA0F,IAA3EH,EAAcG,YAAYnB,UAAUtd,QAAQ3L,EAAQinB,oBACnFgD,EAAcG,YAAYnB,UAAYgB,EAAcG,YAAYnB,UAAUvf,MAhO/D,IAgOkF1J,EAAQinB,kBAAkBtd,KAAK,KAWlI,SAAS0gB,EAA4BC,GACnC,IAA6D,IAAzDA,EAAQrB,UAAUtd,QAAQ3L,EAAQknB,oBAAqF,IAAzDoD,EAAQrB,UAAUtd,QAAQ3L,EAAQinB,kBAElG,OADAqD,EAAQrB,UAAYqB,EAAQrB,UAAUvf,MA7OzB,IA6O4C1J,EAAQinB,kBAAkBtd,KAAK,IACjF0gB,EAA2BC,EAAQvV,WAAWA,YAEvD,OAAOuV,EAdLD,CAA2BJ,EAAclV,WAAWA,iB,cCtO1D1X,EAAOD,QAAU,SAAuB4C,GACtC,IAAIuS,EAAS,GAAGA,OAOhB,SAASgY,EAAaC,GACpB,OAAOA,EAAMA,EAAMrpB,OAAS,GAQ9B,SAASspB,EAAiBf,GACxB,OAAQA,EAAQhB,SAAShf,MAAM,KAAKC,KAAK,IAQ3C,SAAS+gB,EAAkBhB,GAIzB,KAAMA,aAAmBpqB,OAAOqrB,aAAc,OAAOjB,EAErD,GAAI1pB,EAAQ8nB,wBAA0B4B,EAAQkB,eAAiBlB,EAAQE,cACrE,OAAO,KAGT,IAAI1d,EAAM,CACRkI,GAAIsV,EAAQtV,GACZ+I,SAAU,GACVuL,SAAUgB,EAAQhB,SAClBmC,aAAcJ,EAAgBf,GAC9BjB,YAAazoB,EAAQ6nB,qBAAuBiD,OAAO9qB,EAAQ6nB,qBAAqB6B,EAAQjB,cAAgBiB,EAAQjB,YAAYsC,QAO9H,OAJI/qB,EAAQ0nB,cACVxb,EAAIoc,WAAaoB,EAAQpB,YAGvBtoB,EAAQ+nB,sBACH/nB,EAAQ+nB,sBAAsB7b,EAAKwd,GAGrCxd,EA2ET,MAAO,CACLgZ,kBAbF,SAA4B5B,GAC1B,OAAO/Q,EAAO9U,KAAK6lB,GAAe,SAAkB0H,EAAMC,GACxD,IAAIC,EAAiBR,EAAiBO,GAItC,OAHIC,GAzDR,SAAkB3C,EAAMpD,GAUtB,IATA,IAAIjZ,EAAMwe,EAAiBnC,GACvB4C,EAAQjf,EAAI2e,aACZL,EAAQrF,EACRiG,EAAWb,EAAYC,GAIvBa,EAAUF,GAHMC,EAChBA,EAASP,aACT,GAGGQ,EAAU,IACfD,EAAWb,EAAYC,UACec,IAAtBF,EAASjO,WACvBqN,EAAQY,EAASjO,UAEnBkO,IAGEF,GAASnrB,EAAQqnB,gBACnBnb,EAAI2c,aAAc,GAGpB2B,EAAMpnB,KAAK8I,GAoCPqf,CAAQL,EAAgBF,EAAK7F,MAExB6F,IACN,CACD7F,KAAM,MAMRL,eApCF,SAAyBC,EAAiBC,GACxC,IAAIwG,EAAYxG,EACZhlB,EAAQ0mB,iBACV8E,EAAYxG,EAAgBtb,MAAM,KAC/B2D,KAAI,SAAuB6b,GAC1B,OAAOA,EAAS6B,OAAS,QAAU/qB,EAAQ0mB,eAAiB,QAGlE,IACE,OAAOnd,SAASC,cAAcub,GAC3B/S,iBAAiBwZ,GACpB,MAAO/oB,GAEP,OADAuhB,QAAQC,KAAK,sBAAwBc,GAC9B,U,cCjHb1nB,EAAOD,QAAU,SAAyB4C,GACxC,IAAIyrB,EAAMliB,SAASC,cAAcxJ,EAAQ8jB,aACzC,GAAI2H,GAAOA,EAAIC,aAAeD,EAAIE,aAAc,CAC9C,IAAIC,EAAaH,EAAIjiB,cAAc,IAAMxJ,EAAQonB,qBAC7CwE,IACFH,EAAIjnB,UAAYonB,EAAWtC,c,cCiBjClsB,EAAQunB,oBAER,SAA8B3kB,GAiDCuJ,SAASO,gBAAgBmL,MA9CtD,IAAIrM,EAAW5I,EAAQ4I,SACnBpB,EAASxH,EAAQwH,OAEjBqkB,EAAUC,SAASC,KACnBC,EAAUF,SAASG,MACnBH,SAASG,KAoCb,SAASD,EAAWE,GAClB,OAAOA,EAAItZ,MAAM,EAAGsZ,EAAIC,YAAY,MAhCpC5iB,SAASQ,KAAK8W,iBAAiB,SAE/B,SAAkBpe,GAuBpB,IAAuB1D,EACc,OADdA,EArBH0D,EAAEkG,QAsBXkM,QAAQY,iBACd1W,EAAEgtB,KAAK5qB,OAAS,GAA0C,MAArCpC,EAAEktB,KAAKG,OAAOrtB,EAAEktB,KAAK9qB,OAAS,KACnD6qB,EAAUjtB,EAAEktB,QAAUJ,GAAWG,EAAUjtB,EAAEktB,MAAQ,MAAQJ,GAvB5DppB,EAAEkG,OAAOsgB,UAAUtd,QAAQ,qBAAuB,GACE,MAAnDlJ,EAAEkG,OAAOsjB,KAAKG,OAAO3pB,EAAEkG,OAAOsjB,KAAK9qB,OAAS,IACM,MAAnDsB,EAAEkG,OAAOsjB,KAAKG,OAAO3pB,EAAEkG,OAAOsjB,KAAK9qB,OAAS,KACO,IAAnDsB,EAAEkG,OAAOsgB,UAAUtd,QAAQ3L,EAAQ4mB,YA8C3C,SAAeje,EAAQ3I,GACrB,IAoBI+I,EACAC,EArBAC,EAAQ3J,OAAO4J,YACfC,EAAM,CACRP,SAAU5I,EAAQ4I,SAClBpB,OAAQxH,EAAQwH,QAAU,EAC1BsB,SAAU9I,EAAQ8I,SAClBM,OAAQpJ,EAAQoJ,QAkClB,SAAwB5K,EAAG6K,EAAG1L,EAAGC,GAE/B,OADAY,GAAKZ,EAAI,GACD,EAAUD,EAAI,EAAIa,EAAIA,EAAI6K,GAClC7K,KACQb,EAAI,GAAKa,GAAKA,EAAI,GAAK,GAAK6K,KAjClCC,EAAMC,SAASC,cAAc,QAAUC,UAAUd,GAAQe,MAAM,KAAKC,KAAK,IAAM,MAC/EC,EAA6B,iBAAXjB,EAClBQ,EAAI3B,QACJmB,EACKW,GAAOA,EAAIO,wBAAwBpC,KAAQ,IAC1C8B,SAASO,gBAAgBtF,WAAa+E,SAASQ,KAAKvF,YAC1DmE,EACAC,EAAmC,mBAAjBO,EAAIP,SACtBO,EAAIP,SAASgB,GACbT,EAAIP,SAKR,SAASoB,EAAMC,GACbjB,EAAciB,EAAOlB,EAErBzJ,OAAOuJ,SAAS,EAAGM,EAAIC,OAAOJ,EAAaC,EAAOW,EAAUhB,IAExDI,EAAcJ,EAAYsB,sBAAsBF,IAIpD1K,OAAOuJ,SAAS,EAAGI,EAAQW,GAEC,mBAAjBT,EAAIL,UAA2BK,EAAIL,YAZhDoB,uBAAsB,SAAUD,GAAQlB,EAAYkB,EAAMD,EAAKC,MA/D3DoiB,CAAK5pB,EAAEkG,OAAOojB,KAAM,CAClBnjB,SAAUA,EACVpB,OAAQA,EACRsB,SAAU,WAuBhB,IAAmBijB,EACbzB,EADayB,EAtBFtpB,EAAEkG,OAAOojB,MAuBpBzB,EAAU/gB,SAAS+iB,eAAeP,EAAKQ,UAAU,OAG9C,wCAAwC1rB,KAAKypB,EAAQzV,WACxDyV,EAAQkC,UAAY,GAGtBlC,EAAQmC,eAjDuC,K,cCQrDxsB,GAbA,WACEA,EAAE,WAAWkD,MAAK,SAASupB,EAAKnE,GAC9B,IAAIoE,EAAe1sB,EAAEsoB,GACjBqE,EAAYD,EAAa3B,OAAO9nB,KAAK,UACrC2pB,EAAmB5sB,EAAE,oMACzB2sB,EAAUE,OAAOD,GACjBA,EAAiB7rB,GAAG,SAAS,SAAS+kB,GACpCA,EAAMrjB,iBAhBZ,SAA6BiqB,GAC3BrtB,OAAO2H,kBAHL3B,GAIFqnB,EAAa3B,OAAO+B,YAAY,WAChCJ,EAAa3nB,SAcTgoB,CAAoBL","file":"template.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/assets/themes/j1/core/js\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 0);\n","/*\n # -----------------------------------------------------------------------------\n # ~/src/template.js\n # J1 Template Javascript Core library\n #\n # Product/Info:\n # https://jekyll.one\n #\n # Copyright (C) 2021 Juergen Adams\n #\n # J1 Template is licensed under the MIT License.\n # See: https://github.com/jekyll-one-org/J1 Template/blob/master/LICENSE\n #\n # -----------------------------------------------------------------------------\n*/\n\n// -----------------------------------------------------------------------------\n// ESLint shimming\n// -----------------------------------------------------------------------------\n/* eslint-disable no-unused-vars */\n/* global window */\n\n// -----------------------------------------------------------------------------\n// Import SASS sources for HMR\n// -----------------------------------------------------------------------------\n// import '../100_template_css/scss/theme_uno/components/_footer.scss';\n// import '../100_template_css/theme_uno.css'; // <-- yes, also require (s)css. This is a Webpack thing\n\n// Core Libraries - imported|required from NODE|NPM modules\n// -----------------------------------------------------------------------------\n//\n// Following objects (framework modules) are *conditionaly* forced to be\n// exposed for run-time to the global namespace (window) by WP config\n// file (expose-loader):\n// jQuery\n// Popper ('popper.js/dist/umd/popper', https://github.com/twbs/bootstrap/issues/23381)\n// -----------------------------------------------------------------------------\n\n// Core Utilities (moved to modules)\n// -----------------------------------------------------------------------------\n// Following objects (native node modules) are *explicitely* forced to be\n// exposed for run-time to the global namespace (window).\n// -----------------------------------------------------------------------------\n// window.Cookies = require('js-cookie');\n// window.log4javascript = require('log4javascript');\n// window.parseURL = require('lite-url');\n// window.platform = require('platform');\n// window.yaml = require('js-yaml');\n// window.uuid = require('uuid/v4');\n\n// Core Libraries - build|required from SOURCE\n// -----------------------------------------------------------------------------\n\n// Following source objects|modules are *explicitely* forced to be\n// exposed for run-time to the global namespace (window).\n// -----------------------------------------------------------------------------\nwindow.j1.adapter = require('./js/adapter/adapter.js');\nwindow.j1.core = require('./js/core/core.js');\nwindow.j1.core.navigator = require('./js/navigator/navigator.js');\n// window.j1.core.cookiebar = require('./js/cookiebar/cookiebar.js');\n// window.j1.core.cookieconsent = require('./js/cookieconsent/cookieconsent.js');\nwindow.j1.core.asciidoctor = require('./js/asciidoctor/asciidoctor.js');\nwindow.j1.core.scrollSmooth = require('./js/scroll-smooth/scroll-smooth.js');\nwindow.j1.anime = require('./js/anime/anime.js'); // added for fam\n// window.j1.fam = require('./js/fam/fam.js'); // cannot used until NOT rewritten to jQuery\n\n// Following source objects|modules are *implicetly* forced to be\n// exposed for run-time to the global namespace (window).\n// -----------------------------------------------------------------------------\n//const Bootstrap = require('./js/bootstrap/bootstrap.js');\n//const J1JekyllSearch = require('./js/jekyll_search/jekyll_search.js');\nconst J1Tocbot = require('./js/tocbot/tocbot.js');\n//const J1ThemeSwitcher = require('./js/bs_theme_switcher/switcher.js');\n// const J1MmenuLight = require('./js/mmenu-light/mmenu.js');\n\n// Passing log data over Internet|SeeMe (currently NOT used)\n// -----------------------------------------------------------------------------\n// window.j1.core.log4javascript = require('./js/logger/client/webhook.js');\n\n// BMD Libraries (moved to modules)\n// -----------------------------------------------------------------------------\n// window.bootstrapMaterialDesign = require('./js/bmd/js/bmd.js');\n\n// Github Webhooks (currently NOT used)\n// -----------------------------------------------------------------------------\n// window.j1.core.webhooks = require('./js/webhooks/octokit/client.js');\n\n\n// Test|Custom modules (currently NOT used)\n// -----------------------------------------------------------------------------\n// window.j1promiseTest = require('./js/custom/test_promises.js');\n// window.j1Example = require('./js/custom/example_module.js');\n\n// BS Libraries (moved to modules)\n// -----------------------------------------------------------------------------\n// Following source objects|modules are *implicetly* forced to be\n// exposed for run-time to the global namespace (window).\n// -----------------------------------------------------------------------------\n// const Bootstrap = require('./js/bootstrap/bootstrap.js');\n\n// const J1JekyllSearch = require('./js/jekyll_search/jekyll_search.js'); // Buffer Kack\n// const J1Tocbot = require('./js/tocbot/tocbot.js');\n\n// Backstretch (moved to modules)\n// -----------------------------------------------------------------------------\n// Following source objects|modules are *implicetly* forced to be\n// exposed for run-time to the namespace of jQuery ($).\n// -----------------------------------------------------------------------------\n// const J1Attics = require('./js/backstretch/backstretch.js');\n\n// Additional Vanilla JS helpers\n// -----------------------------------------------------------------------------\nconst J1AdocResultViewer = require('./js/adoc_result_viewer/view_results.js');\n// const MSIEPolyfills = require('./js/polyfills/ms-ie.js');\n\n// HMR messages (currently NOT used)\n// -----------------------------------------------------------------------------\n// if (module.hot) {\n// var logtext;\n// var stat;\n// var stat=module.hot.status();\n//\n// logtext='[INFO ] [HMR ] [Hot Module Replacement enabled]';\n// console.log(logtext);\n// logtext='[INFO ] [HMR ] [Status: ' + stat + ']';\n// console.log(logtext);\n//\n// module.hot.accept('./template.js', function() {\n// console.log('[HMR] Accepting the updated template.js module!');\n// });\n//\n// module.hot.accept('../100_template_css/theme_uno.scss', function () {\n// console.log('[HMR] Accepting the updated style.css module!');\n// require('../100_template_css/theme_uno.scss')\n// })\n//\n// React to the current status...\n// module.hot.addStatusHandler(status => {\n// stat=module.hot.status();\n// logtext='[INFO ] [HMR ] [Status: ' + stat + ']';\n// console.log(logtext);\n// });\n//}\n\n// -----------------------------------------------------------------------------\n// END\n","/*\n # -----------------------------------------------------------------------------\n # ~/js/adapter/adapter.js\n # Provides an empty object for later loaded adapter objects\n #\n # Product/Info:\n # https://jekyll.one\n #\n # Copyright (C) 2021 Juergen Adams\n #\n # J1 Template is licensed under MIT License.\n # See: https://github.com/jekyll-one-org/J1 Template/blob/master/LICENSE\n # -----------------------------------------------------------------------------\n*/\n'use strict';\n\n// -----------------------------------------------------------------------------\n// ESLint shimming\n// -----------------------------------------------------------------------------\n/* eslint indent: \"off\" */\n/* eslint no-unused-vars: \"off\" */\n/* eslint no-undef: \"off\" */\n// -----------------------------------------------------------------------------\n\n/*!\n * J1 Adapter\n * Copyright (C) 2021 Juergen Adams\n * Licensed under MIT License.\n */\nmodule.exports = (function ( j1, window ) {\n return {\n\n // -------------------------------------------------------------------------\n // _init_\n // Global initializer for the adapter object\n // -------------------------------------------------------------------------\n _init_: function () {\n return;\n } // END _init_\n\n }; // END return\n\n})( j1, window );\n","/*\n # -----------------------------------------------------------------------------\n # ~/js/j1_template/core.js\n # Provides an empty object for later loaded core objects\n #\n # Product/Info:\n # https://jekyll.one\n # http://getbootstrap.com/\n #\n # Copyright (C) 2021 Juergen Adams\n #\n # J1 Template is licensed under MIT License.\n # See: https://github.com/jekyll-one-org/J1 Template/blob/master/LICENSE\n # -----------------------------------------------------------------------------\n*/\n'use strict';\n\n// -----------------------------------------------------------------------------\n// ESLint shimming\n// -----------------------------------------------------------------------------\n/* eslint indent: \"off\" */\n/* eslint no-unused-vars: \"off\" */\n/* eslint no-undef: \"off\" */\n// -----------------------------------------------------------------------------\n\n// module.exports = function core ( options ) {\n/*!\n * J1 Core\n * Copyright (C) 2021 Juergen Adams\n * Licensed under MIT License.\n */\nmodule.exports = (function (options) {\n\n // ---------------------------------------------------------------------------\n // Global variables\n // ---------------------------------------------------------------------------\n // var messageCatalog = {};\n // var state;\n // var logger;\n // var logText;\n\n // ---------------------------------------------------------------------------\n // Default settings\n // ---------------------------------------------------------------------------\n var settings = $.extend({\n foo: 'foo_option',\n bar: 'bar_option'\n }, options );\n\n var state = 'loaded';\n\n return {\n\n // -------------------------------------------------------------------------\n // _init_\n // Global initializer for the core object\n // -------------------------------------------------------------------------\n _init_: function (options) {\n\n //\n // Place handling of options here\n //\n\n return;\n }, // END _init_\n\n // -------------------------------------------------------------------------\n // Returns the current (processing) state of the module\n // -------------------------------------------------------------------------\n getState: function () {\n return state;\n }, // END state\n\n // -------------------------------------------------------------------------\n // isMobile\n // Return true if the current platform is a mobile device\n // -------------------------------------------------------------------------\n isMobile: function (ua_name) {\n var mobile = false;\n (function(a){if(/(android|bb\\d+|meego).+mobile|avantgo|bada\\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(a)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw-(n|u)|c55\\/|capi|ccwa|cdm|cell|chtm|cldc|cmd|co(mp|nd)|craw|da(it|ll|ng)|dbte|dcs|devi|dica|dmob|do(c|p)o|ds(12|d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(|_)|g1 u|g560|gene|gf5|gmo|go(\\.w|od)|gr(ad|un)|haie|hcit|hd(m|p|t)|hei|hi(pt|ta)|hp( i|ip)|hsc|ht(c(| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i(20|go|ma)|i230|iac( ||\\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\\/)|klon|kpt |kwc|kyo(c|k)|le(no|xi)|lg( g|\\/(k|l|u)|50|54|[a-w])|libw|lynx|m1w|m3ga|m50\\/|ma(te|ui|xo)|mc(01|21|ca)|mcr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|([1-8]|c))|phil|pire|pl(ay|uc)|pn2|po(ck|rt|se)|prox|psio|ptg|qaa|qc(07|12|21|32|60|[2-7]|i)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h|oo|p)|sdk\\/|se(c(|0|1)|47|mc|nd|ri)|sgh|shar|sie(|m)|sk0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h|v|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl|tdg|tel(i|m)|tim|tmo|to(pl|sh)|ts(70|m|m3|m5)|tx9|up(\\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas|your|zeto|zte/i.test(a.substr(0,4))) mobile = true;})(navigator.userAgent||navigator.vendor||window.opera);\n return mobile;\n }, // END isMobile\n\n // -------------------------------------------------------------------------\n // Clear button for input fields (forms)\n // -------------------------------------------------------------------------\n bsFormClearButton: function () {\n// $('.position-relative :input').on('keydown focus', function() {\n $(':input').on('keydown focus change mouseover', function() {\n if ($(this).val().length > 0) {\n $(this).nextAll('.form-clear').removeClass('d-none');\n }\n }).on('keydown keyup blur', function() {\n if ($(this).val().length === 0) {\n $(this).nextAll('.form-clear').addClass('d-none');\n }\n });\n\n // $('.form-clear').on('click', function() {\n // $(this).addClass('d-none').prevAll(':input').val('');\n // // hide|clear results from top search\n // $('#search-results').hide();\n // $('#search-results').html('');\n // });\n }\n\n }; // end return (object)\n\n//})( jQuery, window );\n})(); // END IFFE\n","/*\n # -----------------------------------------------------------------------------\n # ~/js/navigator/navigator.js\n # Provides all JavaScript core functions for J1 Navigator\n #\n # Product/Info:\n # https://jekyll.one\n # https://github.com/adamnurdin01/navigator\n #\n # Copyright (C) 2021 Juergen Adams\n # Copyright (C) 2016 adamnurdin01\n #\n # J1 Template is licensed under MIT License.\n # See: https://github.com/jekyll-one-org/J1 Template/blob/master/LICENSE\n # Bootsnav is licensed under MIT License.\n # See: https://github.com/adamnurdin01/navigator\n #\n # -----------------------------------------------------------------------------\n # NOTE:\n # jadams, 2020-06-21:\n # J1 Navigator needs a general revision on BS4 code and functionalities\n # Current, only base function are tested with BS4 (was coded for BS3)\n # -----------------------------------------------------------------------------\n*/\n\n// -----------------------------------------------------------------------------\n// ESLint shimming\n// -----------------------------------------------------------------------------\n/* eslint indent: \"off\" */\n/* eslint no-unused-vars: \"off\" */\n/* eslint no-undef: \"off\" */\n// -----------------------------------------------------------------------------\n\n// -----------------------------------------------------------------------------\n// TODO: Height of dropdowns are to be limited in general\n\n// -----------------------------------------------------------------------------\n// Navigator core registered as 'j1.core.navigator'\n// -----------------------------------------------------------------------------\n\nmodule.exports = function navigator ( options ) {\n\n // ---------------------------------------------------------------------------\n // global vars\n // ---------------------------------------------------------------------------\n // var cookie_names = j1.getCookieNames();\n // var cookie_consent_name = cookie_names.cookie_consent;\n // var cookie_user_session_name = cookie_names.user_session;\n var message = {};\n var state;\n var logger;\n var logText;\n\n // -----------------------------------------------------------------------\n // default settings\n // -----------------------------------------------------------------------\n var settings = $.extend ({\n foo: 'bar',\n bar: 'foo',\n }, options );\n\n // ---------------------------------------------------------------------------\n // main object\n // ---------------------------------------------------------------------------\n return {\n\n // -------------------------------------------------------------------------\n // module initializer\n // -------------------------------------------------------------------------\n init: function( defaultOptions, menuOptions ) {\n logger = log4javascript.getLogger('j1.core.navigator');\n logText = 'core is being initialized';\n\n logger.info(logText);\n this.manageDropdownMenu(defaultOptions, menuOptions);\n this.navbarSticky();\n\n// this.navbarScrollspy();\n\n message.type = 'command';\n message.action = 'module_initialized';\n message.text = 'navigator core initialized successfully';\n j1.sendMessage( 'j1.core.navigator', 'j1.adapter.navigator', message );\n\n return true;\n },\n\n // -------------------------------------------------------------------------\n // event handler\n // -------------------------------------------------------------------------\n eventHandler: function() {\n var logger = log4javascript.getLogger('j1.core.navigator.eventHandler');\n var $getNav = $('nav.navbar.navigator');\n var json_data;\n // const seeMe = 'https://smee.io/wlNIFNiJN0GClm2';\n // const middleware = 'localhost:5000/state';\n // const web_server_dev = 'http://localhost:41000/status';\n // const utility_server = 'http://localhost:41001/git?request=pull';\n // var sender = seeMe;\n // var payload;\n\n // if (j1.checkUserAgent('IE') || j1.checkUserAgent('Edge')) {\n // logger.warn('HTML5 server side events (SSE) not supported for: ' + userAgent);\n // logger.warn('Middleware messages disabled');\n // } else {\n // const middleware_status = new EventSource(sender);\n //\n // // -----------------------------------------------------------------------\n // // middleware event handler ( SSE currently NOT used)\n // // -----------------------------------------------------------------------\n // middleware_status.onmessage = (event) => {\n // const payload = JSON.parse(event.data);\n //\n // logger.debug('middleware: event received');\n //\n // json_data = JSON.stringify(payload, undefined, 2);\n // logText = 'payload: ' + json_data;\n // logger.debug(logText);\n //\n // message.type = 'command';\n // message.action = 'status';\n // message.text = payload;\n // j1.sendMessage( 'j1.core.navigator', 'j1.adapter.navigator', message );\n //\n // return true;\n // }; // END event onMessage\n // }\n\n // bind click event to all links with \"#\" to suppress default action\n // See: https://stackoverflow.com/questions/134845/which-href-value-should-i-use-for-javascript-links-or-javascriptvoid0\n //\n $('a[href=\"#\"]').click(function(e) {\n e.preventDefault ? e.preventDefault() : e.returnValue = false;\n logger.info('bound click event to \"#\", suppress default action');\n });\n\n // -----------------------------------------------------------------------\n // Navbar Sticky\n // -----------------------------------------------------------------------\n var navSticky = $getNav.hasClass('navbar-sticky');\n if( navSticky ){\n // Wraped navigation\n $getNav.wrap('<div class=\\'wrap-sticky\\'></div>');\n }\n\n // -----------------------------------------------------------------------\n // Navbar Center\n // -----------------------------------------------------------------------\n if( $getNav.hasClass('brand-center') ){\n var postsArr = new Array();\n var index = $('nav.brand-center');\n var $postsList = index.find('ul.navbar-nav');\n\n //Create array of all posts in lists\n index.find('ul.navbar-nav > li').each(function(){\n postsArr.push($(this).html());\n });\n\n // Split the array at this point. The original array is altered.\n var firstList = postsArr.splice(0, Math.round(postsArr.length / 2));\n var secondList = postsArr;\n var ListHTML = '';\n\n var createHTML = function(list) {\n ListHTML = '';\n for (var i = 0; i < list.length; i++) {\n ListHTML += '<li>' + list[i] + '</li>';\n }\n };\n\n // Generate HTML for first list\n createHTML(firstList);\n $postsList.html(ListHTML);\n index.find('ul.nav').first().addClass('navbar-left');\n\n // Generate HTML for second list\n createHTML(secondList);\n //Create new list after original one\n $postsList.after('<ul class=\"nav navbar-nav\"></ul>').next().html(ListHTML);\n index.find('ul.nav').last().addClass('navbar-right');\n\n // Wrap navigation menu\n index.find('ul.nav.navbar-left').wrap('<div class=\\'col_half left\\'></div>');\n index.find('ul.nav.navbar-right').wrap('<div class=\\'col_half right\\'></div>');\n\n // Selection Class\n index.find('ul.navbar-nav > li').each(function() {\n var dropDown = $('ul.dropdown-menu', this),\n megaMenu = $('ul.megamenu-content', this);\n dropDown.closest('li').addClass('dropdown');\n megaMenu.closest('li').addClass('megamenu-fw');\n });\n }\n\n // -----------------------------------------------------------------------\n // Navbar Sidebar\n // -----------------------------------------------------------------------\n // if( $getNav.hasClass('navbar-sidebar')) {\n // // Add Class to body\n // $('body').addClass('wrap-nav-sidebar');\n // $getNav.wrapInner('<div class=\\'scroller\\'></div>');\n // } else {\n // $('.navigator').addClass('on');\n // }\n\n // -----------------------------------------------------------------------\n // Menu Center\n // -----------------------------------------------------------------------\n if( $getNav.find('ul.nav').hasClass('navbar-center')) {\n $getNav.addClass('menu-center');\n }\n\n // -----------------------------------------------------------------------\n // Navbar Full\n // -----------------------------------------------------------------------\n if( $getNav.hasClass('navbar-full')) {\n // Add Class to body\n $('nav.navbar.navigator').find('ul.nav').wrap('<div class=\\'wrap-full-menu\\'></div>');\n $('.wrap-full-menu').wrap('<div class=\\'nav-full\\'></div>');\n $('ul.nav.navbar-nav').prepend('<li class=\\'close-full-menu\\'><a href=\\'#\\'><i class=\\'mdi mdi-close\\'></i></a></li>');\n } else if( $getNav.hasClass('navbar-mobile') ) {\n $getNav.removeClass('no-full');\n } else {\n $getNav.addClass('no-full');\n }\n\n // -----------------------------------------------------------------------\n // Navbar Mobile\n // -----------------------------------------------------------------------\n // if( $getNav.hasClass('navbar-mobile')) {\n // // Add Class to body\n // $('.navbar-collapse').on('shown.bs.collapse', function() {\n // $('body').addClass('side-right');\n // });\n // $('.navbar-collapse').on('hide.bs.collapse', function() {\n // $('body').removeClass('side-right');\n // });\n //\n // $(window).on('resize', function() {\n // $('body').removeClass('side-right');\n // });\n // }\n\n // -----------------------------------------------------------------------\n // Navbar Fixed\n // -----------------------------------------------------------------------\n if( $getNav.hasClass('no-background') ) {\n $(window).on('scroll', function() {\n var navbarHeighth = $('nav.navbar').outerHeight();\n var scrollPos = $(window).scrollTop();\n\n if (scrollPos > navbarHeighth) {\n $('.navbar-fixed').removeClass('no-background');\n } else {\n $('.navbar-fixed').addClass('no-background');\n }\n });\n }\n\n if( $getNav.hasClass('navbar-transparent') ) {\n $(window).on('scroll', function() {\n var navbarHeighth = $('nav.navbar').outerHeight();\n var scrollPos = $(window).scrollTop();\n\n if (scrollPos > navbarHeighth) {\n $('.navbar-fixed').removeClass('navbar-transparent');\n $('.navbar-fixed').addClass('navbar-scrolled');\n } else {\n $('.navbar-fixed').removeClass('navbar-scrolled');\n $('.navbar-fixed').addClass('navbar-transparent');\n }\n });\n }\n\n // -----------------------------------------------------------------------\n // Toggle Search\n // https://stackoverflow.com/questions/178325/how-do-i-check-if-an-element-is-hidden-in-jquery\n // https://stackoverflow.com/questions/4770025/how-to-disable-scrolling-temporarily\n // https://stackoverflow.com/questions/5963669/whats-the-difference-between-event-stoppropagation-and-event-preventdefault\n // -----------------------------------------------------------------------\n $('nav.navbar.navigator .attr-nav').each(function() {\n logger.debug('register OPEN event|s for QuickSearch');\n $('li.search > a', this).on('click', function(e) {\n // e.preventDefault(); // don't do the default browser action\n logger.debug('manage search action OPEN');\n $('html,body').animate({scrollTop: 0}, 0);\n $('.top-search').slideToggle('slow', 'swing', function() {\n if ( $('.top-search').is(':visible') ) {\n // disable scrolling (desktop)\n $('body').addClass('stop-scrolling');\n // disable scrolling (mobile)\n $('body').bind('touchmove', function(e){e.preventDefault();});\n } else {\n // enable scrolling (desktop)\n $('body').removeClass('stop-scrolling');\n // enable scrolling (mobile)\n $('body').unbind('touchmove');\n }\n });\n // e.stopPropagation(); // don't bubble up the event\n });\n });\n logger.debug('register CLOSE event|s for QuickSearch');\n $('.input-group-addon.close-search').on('click', function(e) {\n e.preventDefault(); // don't do the default browser action\n logger.debug('manage search action CLOSE');\n $('.top-search').slideUp('slow', 'swing');\n $('html,body').animate({scrollTop: 0}, 0);\n // enable scrolling (desktop)\n $('body').removeClass('stop-scrolling');\n // enable scrolling (mobile)\n $('body').unbind('touchmove');\n e.stopPropagation(); // don't bubble up the event\n });\n\n // -----------------------------------------------------------------------\n // Toggle Translator SHOW|HIDE\n // -----------------------------------------------------------------------\n $('nav.navbar.navigator .attr-nav').each(function() {\n logger.debug('register SHOW|HIDE event|s for J1 Translator');\n $('li.translator > a', this).on('click', function(e) {\n // e.preventDefault(); // don't do the default browser action\n // window.location.reload(true);\n logger.debug('toggle translator icon SHOW|HIDE');\n // See: https://api.jquery.com/toggle/\n // With no parameters, the .toggle() method simply toggles the visibility of elements\n $('#google_translate_element').toggle();\n if ($('#google_translate_element').css('display') !== 'none') {\n $('html,body').animate({scrollTop: 0}, 'slow');\n }\n // e.stopPropagation(); // don't bubble up the event\n });\n });\n\n // Navbar Sidebar\n // jadams, 2021-03-05: Sidebar NOT used anymore\n\n // -----------------------------------------------------------------------\n // Toggle Side Menu\n // -----------------------------------------------------------------------\n // $('nav.navbar.navigator .attr-nav').each(function() {\n // logger.debug('register OPEN event|s for SideBar');\n // $('li.side-menu > a', this).on('click', function(e) {\n // // e.preventDefault(); // don't do the default browser action\n // logger.debug('manage sidebar action OPEN');\n // // e.stopPropagation(); // don't bubble up the event\n // $('nav.navbar.navigator > .side').toggleClass('on');\n // $('body').toggleClass('on-side');\n // // e.stopPropagation(); // don't bubble up the event\n // });\n // });\n // logger.debug('register CLOSE event|s for SideBar');\n // $('.side .close-side').on('click', function(e) {\n // e.preventDefault(); // don't do the default browser action\n // logger.debug('manage sidebar action CLOSE');\n // $('nav.navbar.navigator > .side').removeClass('on');\n // $('body').removeClass('on-side');\n // // e.stopPropagation(); // don't bubble up the event\n // });\n\n // -----------------------------------------------------------------------\n // Wrapper\n // -----------------------------------------------------------------------\n $('body').wrapInner( '<div class=\\'wrapper\\'></div>');\n\n }, // end event\n\n // -------------------------------------------------------------------------\n // Manage the Menu Dropdowns for Desktop|Mobile\n // -------------------------------------------------------------------------\n manageDropdownMenu : function( defaultOptions, menuOptions ) {\n\n var navDefaultOptions = defaultOptions;\n var navMenuOptions = menuOptions;\n\n var $getNav = $('nav.navbar.navigator');\n var $windowOrientation = window.matchMedia('(orientation: landscape)').matches ? 'landscape' : 'portrait';\n var $getWindow = $(window).width();\n var $getNavWidth = $('nav').width();\n var $getIn = $getNav.find('ul.nav').data('in');\n var $getOut = $getNav.find('ul.nav').data('out');\n\n var menuSelector = '#' +navMenuOptions.xhr_container_id+ '.collapse';\n var delayMenuOpen = navMenuOptions.delay_menu_open;\n\n var $menu;\n var breakPoint;\n var $dropDown;\n var timeoutHandle;\n\n // BS4 @media MAX breakpoints\n // NOTE: a media query is always a range\n // -----------------------------------------------------------------------\n var gridBreakpoint_lg = 992; // bs-breakpoint-lg\n var gridBreakpoint_md = 768; // bs-breakpoint-md\n var gridBreakpoint_sm = 576; // bs-breakpoint-sm\n\n // BS4 @media MIN breakpoints\n // -----------------------------------------------------------------------\n // NOTE: a media query is always a range\n // var gridBreakpoint_lg = 991;\n // var gridBreakpoint_md = 767;\n // var gridBreakpoint_sm = 575;\n\n // @media ranges\n // -----------------------------------------------------------------------\n var small_range = {min: '0em', max: '40em'}; /* 0, 640px */\n var medium_range = {min: '40.063em', max: '64em'}; /* 641px, 1024px */\n var large_range = {min: '64.063em', max: '90em'}; /* 1025px, 1440px */\n var xlarge_range = {min: '90.063em', max: '120em'}; /* 1441px, 1920px */\n var xxlarge_range = {min: '120.063em'}; /* 1921px */\n\n\n // jadams, 2019-05-01: Set Media Breakpoint for Desktop|Mobile Navigation\n if ( navDefaultOptions.nav_bar.media_breakpoint === 'lg' ) {\n breakPoint = gridBreakpoint_lg;\n } else if ( navDefaultOptions.nav_bar.media_breakpoint === 'md' ) {\n breakPoint = gridBreakpoint_md;\n } else if ( navDefaultOptions.nav_bar.media_breakpoint === 'sm' ) {\n breakPoint = gridBreakpoint_sm;\n } else{\n breakPoint = gridBreakpoint_lg;\n }\n\n // -----------------------------------------------------------------------\n // Tablet or Mobile\n // NOTE:\n // Managing the mobile menu is moved to MMenu Plugin\n // Only base functions like QuickLinks are managed by\n // J1 Navigator\n // -----------------------------------------------------------------------\n // MIN media breakpoint\n if ( $getWindow <= breakPoint ) {\n\n // Collapse Navbar\n $(menuSelector).addClass('navbar-collapse');\n $(menuSelector).removeClass('show'); //\n $('#navigator_nav_quicklinks').addClass('show');\n\n // Enable click Quicklink Navigation\n $('nav.navbar.navigator .attr-nav').each(function() {\n $('.dropdown-menu', this).removeClass('animated');\n $('li.dropdown', this).off('mouseenter');\n $('li.dropdown', this).off('mouseleave');\n $('a.dropdown-toggle', this).off('click');\n $('a.dropdown-toggle', this).on('click', function (e) {\n // e.stopPropagation(); // don't bubble up the event\n $(this).closest('li.dropdown').find('.dropdown-menu').first().stop().fadeToggle();\n $('.navbar-toggle').each(function(){\n $('.mdi', this).removeClass('mdi-close');\n $('.mdi', this).addClass('mdi-menu');\n $('.navbar-collapse').removeClass('in');\n $('.navbar-collapse').removeClass('open');\n });\n });\n\n $(this).on('mouseleave', function(){\n $('.dropdown-menu', this).stop().fadeOut();\n $('li.dropdown', this).removeClass('open');\n // return false;\n });\n });\n\n $('#desktop_menu').hide();\n\n // -----------------------------------------------------------------------\n // Desktop Navigation does NOT work on physical devices like iPad|Pro\n // Config DISABLED\n //\n// } else if ( $getWindow > breakPoint || $getWindow <= 1024 && $windowOrientation == 'portrait' ) {\n } else if ( $getWindow > breakPoint ) {\n // -----------------------------------------------------------------------\n // Desktop\n // -----------------------------------------------------------------------\n $('#navigator_nav_quicklinks').removeClass('show');\n $('#desktop_menu').show();\n\n // jadams, 2021-03-05: manage dropdown menus\n // ---------------------------------------------------------------------\n\n $('.dropdown-menu > li').on('mouseenter', function(){\n if ($('body').hasClass('stop-scrolling')){\n return false;\n } else {\n $('body').addClass('stop-scrolling');\n }\n });\n\n $('.dropdown-menu > li').on('mouseleave', function(){\n // stop scrolling if top search or any (mmenu) drawer is opened\n if ($('body').hasClass('stop-scrolling')){\n $('body').removeClass('stop-scrolling');\n }\n });\n\n // limit the dropdown menu lenght if needed\n $('.dropdown-menu > li').hover(function() {\n var $container = $(this);\n var $list = $container.find('ul');\n\n // limit LAST menu ONLY\n //\n if ( $list.length == 1 ) {\n $list.addClass('scrollable-menu');\n }\n });\n\n // jadams, 2021-03-06: Enable|Show Desktop Menu|s\n //\n $(menuSelector).removeClass('navbar-collapse');\n $(menuSelector).addClass('show');\n\n // Navbar Sidebar\n // jadams, 2021-03-05: Sidebar NOT used anymore\n\n // Open Desktop Menu|s on hover\n //\n $('nav.navbar.navigator ul.nav').each(function() {\n $('a.dropdown-toggle', this).off('click');\n $('a.dropdown-toggle', this).on('click', function (e) {\n // e.stopPropagation(); // don't bubble up the event\n });\n\n $('.megamenu-fw', this).each(function(){\n $('.title', this).off('click');\n $('a.dropdown-toggle', this).off('click');\n $('.content').removeClass('animated');\n });\n $('.dropdown-menu', this).addClass('animated');\n\n $('li.dropdown', this).on('mouseenter', function(){\n $menu = $('.dropdown-menu', this).eq(0);\n $dropDown = $(this);\n\n $menu.removeClass($getOut);\n $menu.removeClass('open');\n $dropDown.addClass('open');\n // Get|Set the timeout object to delay the dropdown open\n timeoutHandle = window.setTimeout(function () {\n if ($dropDown.hasClass('open')){\n $menu.stop().fadeIn().addClass($getIn);\n $menu.addClass('open');\n $dropDown.addClass('open');\n }\n }, delayMenuOpen);\n });\n\n $('li.dropdown', this).on('mouseleave', function(){\n window.clearTimeout(timeoutHandle); // Clear the timeout object\n $(this).removeClass('open').removeClass('open');\n\n $('.dropdown-menu', this).removeClass('open');\n $('.dropdown-menu', this).eq(0).removeClass($getIn);\n $('.dropdown-menu', this).eq(0).stop().fadeOut().addClass($getOut);\n });\n\n $(this).on('mouseleave', function(){\n window.clearTimeout(timeoutHandle);\n $('li.dropdown', this).removeClass('open');\n $('.dropdown-menu', this).removeClass('open');\n $('.dropdown-menu', this).removeClass($getIn);\n $('.dropdown-menu', this).eq(0).stop().fadeOut().addClass($getOut);\n });\n }); // END Desktop Menu\n\n } // end Desktop\n\n // -----------------------------------------------------------------------\n // Hover Open on Quicklink Navigation\n // -----------------------------------------------------------------------\n $('nav.navbar.navigator .attr-nav').each(function() {\n\n $('a.dropdown-toggle', this).off('click');\n $('a.dropdown-toggle', this).on('click', function (e) {\n // e.stopPropagation(); // don't bubble up the event\n });\n\n $('.dropdown-menu', this).addClass('animated');\n $('li.dropdown', this).on('mouseenter', function(){\n $('.dropdown-menu', this).eq(0).removeClass($getOut);\n $('.dropdown-menu', this).eq(0).stop().fadeIn().addClass($getIn);\n $(this).addClass('open');\n //return false;\n });\n\n $('li.dropdown', this).on('mouseleave', function(){\n $('.dropdown-menu', this).eq(0).removeClass($getIn);\n $('.dropdown-menu', this).eq(0).stop().fadeOut().addClass($getOut);\n $(this).removeClass('open');\n });\n\n $(this).on('mouseleave', function(){\n $('.dropdown-menu', this).removeClass($getIn);\n $('.dropdown-menu', this).eq(0).stop().fadeOut().addClass($getOut);\n $('li.dropdown', this).removeClass('open');\n //return false;\n });\n });\n\n // -----------------------------------------------------------------------\n // Fullscreen Menu\n // -----------------------------------------------------------------------\n if( $getNav.hasClass('navbar-full')){\n var windowHeight = $(window).height(),\n windowWidth = $(window).width();\n\n $('.nav-full').css('height', windowHeight + 'px');\n $('.wrap-full-menu').css('height', windowHeight + 'px');\n $('.wrap-full-menu').css('width', windowWidth + 'px');\n\n $('.navbar-collapse').addClass('animated');\n $('.navbar-toggle').each(function(){\n var getId = $(this).data('target');\n $(this).off('click');\n $(this).on('click', function(e){\n e.preventDefault();\n $(getId).removeClass($getOut);\n $(getId).addClass('in');\n $(getId).addClass($getIn);\n // e.stopPropagation(); // don't bubble up the event\n // return false;\n });\n\n $('li.close-full-menu').on('click', function(e){\n e.preventDefault();\n $(getId).addClass($getOut);\n setTimeout(function(){\n $(getId).removeClass('in');\n $(getId).removeClass($getIn);\n }, 500);\n //e.stopPropagation(); // don't bubble up the event\n // return false;\n });\n });\n }\n }, // end manageDropdownMenu\n\n // -------------------------------------------------------------------------\n // Sticky Navbar\n // -------------------------------------------------------------------------\n navbarSticky : function() {\n var $getNav = $('nav.navbar.navigator'),\n navSticky = $getNav.hasClass('navbar-sticky');\n\n if (navSticky) {\n // Set Height Navigation\n var $getHeight = $getNav.height();\n $('.wrap-sticky').height($getHeight);\n\n // Windown on scroll\n var getOffset = $('.wrap-sticky').offset().top;\n $(window).on('scroll', function(){\n var scrollTop = $(window).scrollTop();\n if(scrollTop > getOffset){\n $getNav.addClass('sticked');\n }else {\n $getNav.removeClass('sticked');\n }\n });\n }\n }, // end navbarSticky\n\n // -------------------------------------------------------------------------\n // Navbar Scrollspy\n // -------------------------------------------------------------------------\n // navbarScrollspy : function() {\n // var navScrollSpy = $('.navbar-scrollspy'),\n // $body = $('body'),\n // $getNav = $('nav.navbar.navigator'),\n // offset = $getNav.outerHeight();\n //\n // if( navScrollSpy.length ){\n // $body.scrollspy({target: '.navbar', offset: offset });\n //\n // // Animation Scrollspy\n // $('.scroll').on('click', function(event) {\n // event.preventDefault();\n //\n // // Active link\n // $('.scroll').removeClass('active');\n // $(this).addClass('active');\n //\n // // Remove navbar collapse\n // $('.navbar-collapse').removeClass('in');\n //\n // // Toggle Bars\n // $('.navbar-toggle').each(function(){\n // $('.mdi', this).removeClass('mdi-close');\n // $('.mdi', this).addClass('mdi-menu');\n // });\n //\n // // Scroll\n // var scrollTop = $(window).scrollTop(),\n // $anchor = $(this).find('a'),\n // $section = $($anchor.attr('href')).offset().top,\n // $window = $(window).width(),\n // $minusDesktop = $getNav.data('minus-value-desktop'),\n // $minusMobile = $getNav.data('minus-value-mobile'),\n // $speed = $getNav.data('speed'),\n // $position;\n //\n // if( $window > 992 ){\n // $position = $section - $minusDesktop;\n // }else{\n // $position = $section - $minusMobile;\n // }\n //\n // $('html, body').stop().animate({\n // scrollTop: $position\n // }, $speed);\n // });\n //\n // // Activate Navigation\n // var fixSpy = function() {\n // var data = $body.data('bs.scrollspy');\n // if (data) {\n // offset = $getNav.outerHeight();\n // data.options.offset = offset;\n // $body.data('bs.scrollspy', data);\n // $body.scrollspy('refresh');\n // }\n // };\n //\n // // Activate Navigation on resize\n // var resizeTimer;\n // $(window).on('resize', function() {\n // clearTimeout(resizeTimer);\n // var resizeTimer = setTimeout(fixSpy, 200);\n // });\n // }\n // }, // end navbarScrollspy\n\n // -------------------------------------------------------------------------\n // updateSidebar\n // Note:\n // -------------------------------------------------------------------------\n updateSidebar: function (user_data) {\n var logger = log4javascript.getLogger('j1.core.navigator.updateSidebar');\n var json_message;\n\n// json_message = JSON.stringify(user_data, undefined, 2); // multiline\n json_message = JSON.stringify(user_data);\n logText = 'user state data: ' + json_message;\n logger.debug(logText);\n\n // Replace Macro placeholders to values\n j1.resolveMacros(user_data);\n // Replace Macro values only\n j1.updateMacros(user_data);\n\n return true;\n\n }, // END updateSidebar\n\n }; // end return (object)\n}( jQuery );\n","/*\n # -----------------------------------------------------------------------------\n # ~200_template_js/js/asciidoctor/asciidoctor.js\n # Provides JS functions to (dynamically) modify Asciidoctor HTML elements\n #\n # Product/Info:\n # http://jekyll.one\n #\n # Copyright (C) 2021 Juergen Adams\n #\n # J1 Template is licensed under MIT License.\n # See: https://github.com/jekyll-one/J1 Template/blob/master/LICENSE\n # -----------------------------------------------------------------------------\n # NOTE:\n # -----------------------------------------------------------------------------\n*/\n\n// -----------------------------------------------------------------------------\n// ESLint shimming\n// -----------------------------------------------------------------------------\n/* eslint no-unused-vars: \"off\" */\n/* eslint no-undef: \"off\" */\n/* eslint no-redeclare: \"off\" */\n/* global window */\n\n// TODO:\n\n// -----------------------------------------------------------------------------\n// J1 Asciidoctor registered as \"asciidoctor\"\n// -----------------------------------------------------------------------------\n/*!\n * J1 Asciidoctor\n * Copyright (C) 2021 Juergen Adams\n * Licensed under MIT License.\n */\nmodule.exports = function asciidoctor (options) {\n\n return {\n\n // -------------------------------------------------------------------------\n // module initializer\n // -------------------------------------------------------------------------\n init: function (options) {\n\n var moduleOptions = options;\n var logger = log4javascript.getLogger('j1.core.asciidoctor');\n\n var moduleDefaults = {\n dummyOption: false, // placeholder\n };\n var options = $.extend(moduleDefaults,moduleOptions);\n\n logText = 'J1 Asciidoctor is being initialized';\n logger.info(logText);\n\n this.callouts();\n\n }, // end initializer\n\n // -------------------------------------------------------------------------\n // manage callouts (HTML)\n // -------------------------------------------------------------------------\n // see: https://stackoverflow.com/questions/19393493/add-colgroup-for-each-table-column\n callouts: function( options ) {\n var colgroupList = '';\n\n // If the colist does not have a <colgroup> structure\n //\n \tif($('.colist > table > colgroup').length == 0) {\n colgroupList += '<!-- [INFO ] [j1.core.asciidoctor ] [ place a colgroup dynamically ] -->' + '\\n';\n colgroupList += '<colgroup> <col style=\"width: 5%;\"> <col style=\"width: 95%;\"> </colgroup>';\n \t\t$(\".colist > table\").prepend(colgroupList);\n }\n\n }, // end callouts\n\n // -------------------------------------------------------------------------\n // manage callouts (HTML)\n // -------------------------------------------------------------------------\n conums: function( options ) {\n var dependencies_met_page_finished = setInterval(function() {\n if (j1.getState() == 'finished') {\n // If the colist does not have a <colgroup> structure\n \tif($('.colist > table > colgroup').length == 0) {\n\n \t\tvar colgroupList = '';\n colgroupList += '<colgroup> <col style=\"width: 5%;\"> <col style=\"width: 95%;\"> </colgroup>';\n\n \t\t$(\".colist > table\").prepend(colgroupList);\n clearInterval(dependencies_met_page_finished);\n \t}\n }\n });\n }, // end conums\n\n }; // END return\n}( jQuery );\n","/*\n # -----------------------------------------------------------------------------\n # ~/js/scroll-smooth/scroll-smooth.js\n # Provides Javascript functions for smooth scrolling\n #\n # Product/Info:\n # http://jekyll.one\n #\n # Copyright (C) 2020 Juergen Adams\n #\n # J1 Template is licensed under the MIT License.\n # See: https://github.com/jekyll-one-org/J1 Template/blob/master/LICENSE\n # -----------------------------------------------------------------------------\n*/\n'use strict';\n\n// -----------------------------------------------------------------------------\n// ESLint shimming\n// -----------------------------------------------------------------------------\n/* eslint indent: \"off\" */\n/* eslint no-unused-vars: \"off\" */\n/* eslint no-undef: \"off\" */\n/* eslint no-redeclare: \"off\" */\n/* eslint indent: \"off\" */\n// -----------------------------------------------------------------------------\n\n// -----------------------------------------------------------------------------\n// scrollSmooth core registered as \"scrollSmooth\"\n// -----------------------------------------------------------------------------\nmodule.exports = function scrollSmooth ( options ) {\n\n // Default settings\n var settings = $.extend({\n foo: 'foo_option',\n bar: 'bar_option'\n }, options );\n\n // -----------------------------------------------------------------------\n // Helper functions\n // -----------------------------------------------------------------------\n function stripHash (url) {\n return url.slice(0, url.lastIndexOf('#'));\n }\n\n function isCssSmoothScrollSupported () {\n return 'scrollBehavior' in document.documentElement.style;\n }\n\n return {\n // -------------------------------------------------------------------------\n // Initialize scrollSmooth\n // -------------------------------------------------------------------------\n scroll: function ( target, options ) {\n\n var logger;\n var logText;\n\n logger = log4javascript.getLogger('j1.core.scrollSmooth');\n\n // indicator|check currently NOT used\n // if (isCssSmoothScrollSupported()) { }\n\n logText = 'run module scrollSmooth';\n logger.info(logText);\n\n var duration = options.duration;\n var offset = options.offset;\n\n // var pageUrl = options.location.hash\n // ? stripHash(options.location.href)\n // : options.location.href;\n\n this.scrollTo(target, {\n duration: duration,\n offset: offset,\n callback: null\n });\n\n logText = 'scrollSmooth finished';\n logger.info(logText);\n },\n\n // -------------------------------------------------------------------------\n // scrollTo\n // -------------------------------------------------------------------------\n scrollTo: function ( target, options ) {\n var start = window.pageYOffset;\n var opt = {\n duration: options.duration,\n offset: options.offset || 0,\n callback: options.callback,\n easing: options.easing || easeInOutQuad\n };\n\n // This makes ids that start with a number work: ('[id=\"' + decodeURI(target).split('#').join('') + '\"]')\n // DecodeURI for nonASCII hashes, they was encoded, but id was not encoded, it lead to not finding the tgt element by id.\n // And this is for IE: document.body.scrollTop\n var tgt = document.querySelector('[id=\"' + decodeURI(target).split('#').join('') + '\"]');\n var distance = typeof target === 'string'\n ? opt.offset + (\n target\n ? (tgt && tgt.getBoundingClientRect().top) || 0 // handle non-existent links better.\n : -(document.documentElement.scrollTop || document.body.scrollTop))\n : target;\n var duration = typeof opt.duration === 'function'\n ? opt.duration(distance)\n : opt.duration;\n var timeStart;\n var timeElapsed;\n\n requestAnimationFrame(function (time) { timeStart = time; loop(time); });\n function loop (time) {\n timeElapsed = time - timeStart;\n\n window.scrollTo(0, opt.easing(timeElapsed, start, distance, duration));\n\n if (timeElapsed < duration) { requestAnimationFrame(loop); } else { end(); }\n }\n\n function end () {\n window.scrollTo(0, start + distance);\n\n // jadams, 2020-07-04: on (some?) mobile devices, the navbar\n // background is NOT switched (always?) correctly on a\n // page RELOAD.\n //\n // Solution: scroll the page one pixel back and forth (trigger)\n // to get the right position for the Toccer and adjust the\n // Navigator to display the (tranparent) navbar correctly based\n // on their onscroll events registered.\n //\n $(window).scrollTop($(window).scrollTop()+1);\n $(window).scrollTop($(window).scrollTop()-1);\n\n if (typeof opt.callback === 'function') { opt.callback(); }\n }\n\n // Robert Penner's easeInOutQuad - http://robertpenner.com/easing/\n function easeInOutQuad (t, b, c, d) {\n t /= d / 2;\n if (t < 1) return c / 2 * t * t + b;\n t--;\n return -c / 2 * (t * (t - 2) - 1) + b;\n }\n } // END scrollTo\n\n }; // END return\n}( jQuery );\n","/*\n * anime.js v3.2.0\n * (c) 2020 Julian Garnier\n * Released under the MIT license\n * animejs.com\n */\n\n'use strict';\n\n// Defaults\n\nvar defaultInstanceSettings = {\n update: null,\n begin: null,\n loopBegin: null,\n changeBegin: null,\n change: null,\n changeComplete: null,\n loopComplete: null,\n complete: null,\n loop: 1,\n direction: 'normal',\n autoplay: true,\n timelineOffset: 0\n};\n\nvar defaultTweenSettings = {\n duration: 1000,\n delay: 0,\n endDelay: 0,\n easing: 'easeOutElastic(1, .5)',\n round: 0\n};\n\nvar validTransforms = ['translateX', 'translateY', 'translateZ', 'rotate', 'rotateX', 'rotateY', 'rotateZ', 'scale', 'scaleX', 'scaleY', 'scaleZ', 'skew', 'skewX', 'skewY', 'perspective', 'matrix', 'matrix3d'];\n\n// Caching\n\nvar cache = {\n CSS: {},\n springs: {}\n};\n\n// Utils\n\nfunction minMax(val, min, max) {\n return Math.min(Math.max(val, min), max);\n}\n\nfunction stringContains(str, text) {\n return str.indexOf(text) > -1;\n}\n\nfunction applyArguments(func, args) {\n return func.apply(null, args);\n}\n\nvar is = {\n arr: function (a) { return Array.isArray(a); },\n obj: function (a) { return stringContains(Object.prototype.toString.call(a), 'Object'); },\n pth: function (a) { return is.obj(a) && a.hasOwnProperty('totalLength'); },\n svg: function (a) { return a instanceof SVGElement; },\n inp: function (a) { return a instanceof HTMLInputElement; },\n dom: function (a) { return a.nodeType || is.svg(a); },\n str: function (a) { return typeof a === 'string'; },\n fnc: function (a) { return typeof a === 'function'; },\n und: function (a) { return typeof a === 'undefined'; },\n hex: function (a) { return /(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(a); },\n rgb: function (a) { return /^rgb/.test(a); },\n hsl: function (a) { return /^hsl/.test(a); },\n col: function (a) { return (is.hex(a) || is.rgb(a) || is.hsl(a)); },\n key: function (a) { return !defaultInstanceSettings.hasOwnProperty(a) && !defaultTweenSettings.hasOwnProperty(a) && a !== 'targets' && a !== 'keyframes'; }\n};\n\n// Easings\n\nfunction parseEasingParameters(string) {\n var match = /\\(([^)]+)\\)/.exec(string);\n return match ? match[1].split(',').map(function (p) { return parseFloat(p); }) : [];\n}\n\n// Spring solver inspired by Webkit Copyright © 2016 Apple Inc. All rights reserved. https://webkit.org/demos/spring/spring.js\n\nfunction spring(string, duration) {\n\n var params = parseEasingParameters(string);\n var mass = minMax(is.und(params[0]) ? 1 : params[0], .1, 100);\n var stiffness = minMax(is.und(params[1]) ? 100 : params[1], .1, 100);\n var damping = minMax(is.und(params[2]) ? 10 : params[2], .1, 100);\n var velocity = minMax(is.und(params[3]) ? 0 : params[3], .1, 100);\n var w0 = Math.sqrt(stiffness / mass);\n var zeta = damping / (2 * Math.sqrt(stiffness * mass));\n var wd = zeta < 1 ? w0 * Math.sqrt(1 - zeta * zeta) : 0;\n var a = 1;\n var b = zeta < 1 ? (zeta * w0 + -velocity) / wd : -velocity + w0;\n\n function solver(t) {\n var progress = duration ? (duration * t) / 1000 : t;\n if (zeta < 1) {\n progress = Math.exp(-progress * zeta * w0) * (a * Math.cos(wd * progress) + b * Math.sin(wd * progress));\n } else {\n progress = (a + b * progress) * Math.exp(-progress * w0);\n }\n if (t === 0 || t === 1) { return t; }\n return 1 - progress;\n }\n\n function getDuration() {\n var cached = cache.springs[string];\n if (cached) { return cached; }\n var frame = 1/6;\n var elapsed = 0;\n var rest = 0;\n while(true) {\n elapsed += frame;\n if (solver(elapsed) === 1) {\n rest++;\n if (rest >= 16) { break; }\n } else {\n rest = 0;\n }\n }\n var duration = elapsed * frame * 1000;\n cache.springs[string] = duration;\n return duration;\n }\n\n return duration ? solver : getDuration;\n\n}\n\n// Basic steps easing implementation https://developer.mozilla.org/fr/docs/Web/CSS/transition-timing-function\n\nfunction steps(steps) {\n if ( steps === void 0 ) steps = 10;\n\n return function (t) { return Math.ceil((minMax(t, 0.000001, 1)) * steps) * (1 / steps); };\n}\n\n// BezierEasing https://github.com/gre/bezier-easing\n\nvar bezier = (function () {\n\n var kSplineTableSize = 11;\n var kSampleStepSize = 1.0 / (kSplineTableSize - 1.0);\n\n function A(aA1, aA2) { return 1.0 - 3.0 * aA2 + 3.0 * aA1 }\n function B(aA1, aA2) { return 3.0 * aA2 - 6.0 * aA1 }\n function C(aA1) { return 3.0 * aA1 }\n\n function calcBezier(aT, aA1, aA2) { return ((A(aA1, aA2) * aT + B(aA1, aA2)) * aT + C(aA1)) * aT }\n function getSlope(aT, aA1, aA2) { return 3.0 * A(aA1, aA2) * aT * aT + 2.0 * B(aA1, aA2) * aT + C(aA1) }\n\n function binarySubdivide(aX, aA, aB, mX1, mX2) {\n var currentX, currentT, i = 0;\n do {\n currentT = aA + (aB - aA) / 2.0;\n currentX = calcBezier(currentT, mX1, mX2) - aX;\n if (currentX > 0.0) { aB = currentT; } else { aA = currentT; }\n } while (Math.abs(currentX) > 0.0000001 && ++i < 10);\n return currentT;\n }\n\n function newtonRaphsonIterate(aX, aGuessT, mX1, mX2) {\n for (var i = 0; i < 4; ++i) {\n var currentSlope = getSlope(aGuessT, mX1, mX2);\n if (currentSlope === 0.0) { return aGuessT; }\n var currentX = calcBezier(aGuessT, mX1, mX2) - aX;\n aGuessT -= currentX / currentSlope;\n }\n return aGuessT;\n }\n\n function bezier(mX1, mY1, mX2, mY2) {\n\n if (!(0 <= mX1 && mX1 <= 1 && 0 <= mX2 && mX2 <= 1)) { return; }\n var sampleValues = new Float32Array(kSplineTableSize);\n\n if (mX1 !== mY1 || mX2 !== mY2) {\n for (var i = 0; i < kSplineTableSize; ++i) {\n sampleValues[i] = calcBezier(i * kSampleStepSize, mX1, mX2);\n }\n }\n\n function getTForX(aX) {\n\n var intervalStart = 0;\n var currentSample = 1;\n var lastSample = kSplineTableSize - 1;\n\n for (; currentSample !== lastSample && sampleValues[currentSample] <= aX; ++currentSample) {\n intervalStart += kSampleStepSize;\n }\n\n --currentSample;\n\n var dist = (aX - sampleValues[currentSample]) / (sampleValues[currentSample + 1] - sampleValues[currentSample]);\n var guessForT = intervalStart + dist * kSampleStepSize;\n var initialSlope = getSlope(guessForT, mX1, mX2);\n\n if (initialSlope >= 0.001) {\n return newtonRaphsonIterate(aX, guessForT, mX1, mX2);\n } else if (initialSlope === 0.0) {\n return guessForT;\n } else {\n return binarySubdivide(aX, intervalStart, intervalStart + kSampleStepSize, mX1, mX2);\n }\n\n }\n\n return function (x) {\n if (mX1 === mY1 && mX2 === mY2) { return x; }\n if (x === 0 || x === 1) { return x; }\n return calcBezier(getTForX(x), mY1, mY2);\n }\n\n }\n\n return bezier;\n\n})();\n\nvar penner = (function () {\n\n // Based on jQuery UI's implemenation of easing equations from Robert Penner (http://www.robertpenner.com/easing)\n\n var eases = { linear: function () { return function (t) { return t; }; } };\n\n var functionEasings = {\n Sine: function () { return function (t) { return 1 - Math.cos(t * Math.PI / 2); }; },\n Circ: function () { return function (t) { return 1 - Math.sqrt(1 - t * t); }; },\n Back: function () { return function (t) { return t * t * (3 * t - 2); }; },\n Bounce: function () { return function (t) {\n var pow2, b = 4;\n while (t < (( pow2 = Math.pow(2, --b)) - 1) / 11) {}\n return 1 / Math.pow(4, 3 - b) - 7.5625 * Math.pow(( pow2 * 3 - 2 ) / 22 - t, 2)\n }; },\n Elastic: function (amplitude, period) {\n if ( amplitude === void 0 ) amplitude = 1;\n if ( period === void 0 ) period = .5;\n\n var a = minMax(amplitude, 1, 10);\n var p = minMax(period, .1, 2);\n return function (t) {\n return (t === 0 || t === 1) ? t : \n -a * Math.pow(2, 10 * (t - 1)) * Math.sin((((t - 1) - (p / (Math.PI * 2) * Math.asin(1 / a))) * (Math.PI * 2)) / p);\n }\n }\n };\n\n var baseEasings = ['Quad', 'Cubic', 'Quart', 'Quint', 'Expo'];\n\n baseEasings.forEach(function (name, i) {\n functionEasings[name] = function () { return function (t) { return Math.pow(t, i + 2); }; };\n });\n\n Object.keys(functionEasings).forEach(function (name) {\n var easeIn = functionEasings[name];\n eases['easeIn' + name] = easeIn;\n eases['easeOut' + name] = function (a, b) { return function (t) { return 1 - easeIn(a, b)(1 - t); }; };\n eases['easeInOut' + name] = function (a, b) { return function (t) { return t < 0.5 ? easeIn(a, b)(t * 2) / 2 : \n 1 - easeIn(a, b)(t * -2 + 2) / 2; }; };\n });\n\n return eases;\n\n})();\n\nfunction parseEasings(easing, duration) {\n if (is.fnc(easing)) { return easing; }\n var name = easing.split('(')[0];\n var ease = penner[name];\n var args = parseEasingParameters(easing);\n switch (name) {\n case 'spring' : return spring(easing, duration);\n case 'cubicBezier' : return applyArguments(bezier, args);\n case 'steps' : return applyArguments(steps, args);\n default : return applyArguments(ease, args);\n }\n}\n\n// Strings\n\nfunction selectString(str) {\n try {\n var nodes = document.querySelectorAll(str);\n return nodes;\n } catch(e) {\n return;\n }\n}\n\n// Arrays\n\nfunction filterArray(arr, callback) {\n var len = arr.length;\n var thisArg = arguments.length >= 2 ? arguments[1] : void 0;\n var result = [];\n for (var i = 0; i < len; i++) {\n if (i in arr) {\n var val = arr[i];\n if (callback.call(thisArg, val, i, arr)) {\n result.push(val);\n }\n }\n }\n return result;\n}\n\nfunction flattenArray(arr) {\n return arr.reduce(function (a, b) { return a.concat(is.arr(b) ? flattenArray(b) : b); }, []);\n}\n\nfunction toArray(o) {\n if (is.arr(o)) { return o; }\n if (is.str(o)) { o = selectString(o) || o; }\n if (o instanceof NodeList || o instanceof HTMLCollection) { return [].slice.call(o); }\n return [o];\n}\n\nfunction arrayContains(arr, val) {\n return arr.some(function (a) { return a === val; });\n}\n\n// Objects\n\nfunction cloneObject(o) {\n var clone = {};\n for (var p in o) { clone[p] = o[p]; }\n return clone;\n}\n\nfunction replaceObjectProps(o1, o2) {\n var o = cloneObject(o1);\n for (var p in o1) { o[p] = o2.hasOwnProperty(p) ? o2[p] : o1[p]; }\n return o;\n}\n\nfunction mergeObjects(o1, o2) {\n var o = cloneObject(o1);\n for (var p in o2) { o[p] = is.und(o1[p]) ? o2[p] : o1[p]; }\n return o;\n}\n\n// Colors\n\nfunction rgbToRgba(rgbValue) {\n var rgb = /rgb\\((\\d+,\\s*[\\d]+,\\s*[\\d]+)\\)/g.exec(rgbValue);\n return rgb ? (\"rgba(\" + (rgb[1]) + \",1)\") : rgbValue;\n}\n\nfunction hexToRgba(hexValue) {\n var rgx = /^#?([a-f\\d])([a-f\\d])([a-f\\d])$/i;\n var hex = hexValue.replace(rgx, function (m, r, g, b) { return r + r + g + g + b + b; } );\n var rgb = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex);\n var r = parseInt(rgb[1], 16);\n var g = parseInt(rgb[2], 16);\n var b = parseInt(rgb[3], 16);\n return (\"rgba(\" + r + \",\" + g + \",\" + b + \",1)\");\n}\n\nfunction hslToRgba(hslValue) {\n var hsl = /hsl\\((\\d+),\\s*([\\d.]+)%,\\s*([\\d.]+)%\\)/g.exec(hslValue) || /hsla\\((\\d+),\\s*([\\d.]+)%,\\s*([\\d.]+)%,\\s*([\\d.]+)\\)/g.exec(hslValue);\n var h = parseInt(hsl[1], 10) / 360;\n var s = parseInt(hsl[2], 10) / 100;\n var l = parseInt(hsl[3], 10) / 100;\n var a = hsl[4] || 1;\n function hue2rgb(p, q, t) {\n if (t < 0) { t += 1; }\n if (t > 1) { t -= 1; }\n if (t < 1/6) { return p + (q - p) * 6 * t; }\n if (t < 1/2) { return q; }\n if (t < 2/3) { return p + (q - p) * (2/3 - t) * 6; }\n return p;\n }\n var r, g, b;\n if (s == 0) {\n r = g = b = l;\n } else {\n var q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n var p = 2 * l - q;\n r = hue2rgb(p, q, h + 1/3);\n g = hue2rgb(p, q, h);\n b = hue2rgb(p, q, h - 1/3);\n }\n return (\"rgba(\" + (r * 255) + \",\" + (g * 255) + \",\" + (b * 255) + \",\" + a + \")\");\n}\n\nfunction colorToRgb(val) {\n if (is.rgb(val)) { return rgbToRgba(val); }\n if (is.hex(val)) { return hexToRgba(val); }\n if (is.hsl(val)) { return hslToRgba(val); }\n}\n\n// Units\n\nfunction getUnit(val) {\n var split = /[+-]?\\d*\\.?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?(%|px|pt|em|rem|in|cm|mm|ex|ch|pc|vw|vh|vmin|vmax|deg|rad|turn)?$/.exec(val);\n if (split) { return split[1]; }\n}\n\nfunction getTransformUnit(propName) {\n if (stringContains(propName, 'translate') || propName === 'perspective') { return 'px'; }\n if (stringContains(propName, 'rotate') || stringContains(propName, 'skew')) { return 'deg'; }\n}\n\n// Values\n\nfunction getFunctionValue(val, animatable) {\n if (!is.fnc(val)) { return val; }\n return val(animatable.target, animatable.id, animatable.total);\n}\n\nfunction getAttribute(el, prop) {\n return el.getAttribute(prop);\n}\n\nfunction convertPxToUnit(el, value, unit) {\n var valueUnit = getUnit(value);\n if (arrayContains([unit, 'deg', 'rad', 'turn'], valueUnit)) { return value; }\n var cached = cache.CSS[value + unit];\n if (!is.und(cached)) { return cached; }\n var baseline = 100;\n var tempEl = document.createElement(el.tagName);\n var parentEl = (el.parentNode && (el.parentNode !== document)) ? el.parentNode : document.body;\n parentEl.appendChild(tempEl);\n tempEl.style.position = 'absolute';\n tempEl.style.width = baseline + unit;\n var factor = baseline / tempEl.offsetWidth;\n parentEl.removeChild(tempEl);\n var convertedUnit = factor * parseFloat(value);\n cache.CSS[value + unit] = convertedUnit;\n return convertedUnit;\n}\n\nfunction getCSSValue(el, prop, unit) {\n if (prop in el.style) {\n var uppercasePropName = prop.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase();\n var value = el.style[prop] || getComputedStyle(el).getPropertyValue(uppercasePropName) || '0';\n return unit ? convertPxToUnit(el, value, unit) : value;\n }\n}\n\nfunction getAnimationType(el, prop) {\n if (is.dom(el) && !is.inp(el) && (getAttribute(el, prop) || (is.svg(el) && el[prop]))) { return 'attribute'; }\n if (is.dom(el) && arrayContains(validTransforms, prop)) { return 'transform'; }\n if (is.dom(el) && (prop !== 'transform' && getCSSValue(el, prop))) { return 'css'; }\n if (el[prop] != null) { return 'object'; }\n}\n\nfunction getElementTransforms(el) {\n if (!is.dom(el)) { return; }\n var str = el.style.transform || '';\n var reg = /(\\w+)\\(([^)]*)\\)/g;\n var transforms = new Map();\n var m; while (m = reg.exec(str)) { transforms.set(m[1], m[2]); }\n return transforms;\n}\n\nfunction getTransformValue(el, propName, animatable, unit) {\n var defaultVal = stringContains(propName, 'scale') ? 1 : 0 + getTransformUnit(propName);\n var value = getElementTransforms(el).get(propName) || defaultVal;\n if (animatable) {\n animatable.transforms.list.set(propName, value);\n animatable.transforms['last'] = propName;\n }\n return unit ? convertPxToUnit(el, value, unit) : value;\n}\n\nfunction getOriginalTargetValue(target, propName, unit, animatable) {\n switch (getAnimationType(target, propName)) {\n case 'transform': return getTransformValue(target, propName, animatable, unit);\n case 'css': return getCSSValue(target, propName, unit);\n case 'attribute': return getAttribute(target, propName);\n default: return target[propName] || 0;\n }\n}\n\nfunction getRelativeValue(to, from) {\n var operator = /^(\\*=|\\+=|-=)/.exec(to);\n if (!operator) { return to; }\n var u = getUnit(to) || 0;\n var x = parseFloat(from);\n var y = parseFloat(to.replace(operator[0], ''));\n switch (operator[0][0]) {\n case '+': return x + y + u;\n case '-': return x - y + u;\n case '*': return x * y + u;\n }\n}\n\nfunction validateValue(val, unit) {\n if (is.col(val)) { return colorToRgb(val); }\n if (/\\s/g.test(val)) { return val; }\n var originalUnit = getUnit(val);\n var unitLess = originalUnit ? val.substr(0, val.length - originalUnit.length) : val;\n if (unit) { return unitLess + unit; }\n return unitLess;\n}\n\n// getTotalLength() equivalent for circle, rect, polyline, polygon and line shapes\n// adapted from https://gist.github.com/SebLambla/3e0550c496c236709744\n\nfunction getDistance(p1, p2) {\n return Math.sqrt(Math.pow(p2.x - p1.x, 2) + Math.pow(p2.y - p1.y, 2));\n}\n\nfunction getCircleLength(el) {\n return Math.PI * 2 * getAttribute(el, 'r');\n}\n\nfunction getRectLength(el) {\n return (getAttribute(el, 'width') * 2) + (getAttribute(el, 'height') * 2);\n}\n\nfunction getLineLength(el) {\n return getDistance(\n {x: getAttribute(el, 'x1'), y: getAttribute(el, 'y1')}, \n {x: getAttribute(el, 'x2'), y: getAttribute(el, 'y2')}\n );\n}\n\nfunction getPolylineLength(el) {\n var points = el.points;\n var totalLength = 0;\n var previousPos;\n for (var i = 0 ; i < points.numberOfItems; i++) {\n var currentPos = points.getItem(i);\n if (i > 0) { totalLength += getDistance(previousPos, currentPos); }\n previousPos = currentPos;\n }\n return totalLength;\n}\n\nfunction getPolygonLength(el) {\n var points = el.points;\n return getPolylineLength(el) + getDistance(points.getItem(points.numberOfItems - 1), points.getItem(0));\n}\n\n// Path animation\n\nfunction getTotalLength(el) {\n if (el.getTotalLength) { return el.getTotalLength(); }\n switch(el.tagName.toLowerCase()) {\n case 'circle': return getCircleLength(el);\n case 'rect': return getRectLength(el);\n case 'line': return getLineLength(el);\n case 'polyline': return getPolylineLength(el);\n case 'polygon': return getPolygonLength(el);\n }\n}\n\nfunction setDashoffset(el) {\n var pathLength = getTotalLength(el);\n el.setAttribute('stroke-dasharray', pathLength);\n return pathLength;\n}\n\n// Motion path\n\nfunction getParentSvgEl(el) {\n var parentEl = el.parentNode;\n while (is.svg(parentEl)) {\n if (!is.svg(parentEl.parentNode)) { break; }\n parentEl = parentEl.parentNode;\n }\n return parentEl;\n}\n\nfunction getParentSvg(pathEl, svgData) {\n var svg = svgData || {};\n var parentSvgEl = svg.el || getParentSvgEl(pathEl);\n var rect = parentSvgEl.getBoundingClientRect();\n var viewBoxAttr = getAttribute(parentSvgEl, 'viewBox');\n var width = rect.width;\n var height = rect.height;\n var viewBox = svg.viewBox || (viewBoxAttr ? viewBoxAttr.split(' ') : [0, 0, width, height]);\n return {\n el: parentSvgEl,\n viewBox: viewBox,\n x: viewBox[0] / 1,\n y: viewBox[1] / 1,\n w: width / viewBox[2],\n h: height / viewBox[3]\n }\n}\n\nfunction getPath(path, percent) {\n var pathEl = is.str(path) ? selectString(path)[0] : path;\n var p = percent || 100;\n return function(property) {\n return {\n property: property,\n el: pathEl,\n svg: getParentSvg(pathEl),\n totalLength: getTotalLength(pathEl) * (p / 100)\n }\n }\n}\n\nfunction getPathProgress(path, progress) {\n function point(offset) {\n if ( offset === void 0 ) offset = 0;\n\n var l = progress + offset >= 1 ? progress + offset : 0;\n return path.el.getPointAtLength(l);\n }\n var svg = getParentSvg(path.el, path.svg);\n var p = point();\n var p0 = point(-1);\n var p1 = point(+1);\n switch (path.property) {\n case 'x': return (p.x - svg.x) * svg.w;\n case 'y': return (p.y - svg.y) * svg.h;\n case 'angle': return Math.atan2(p1.y - p0.y, p1.x - p0.x) * 180 / Math.PI;\n }\n}\n\n// Decompose value\n\nfunction decomposeValue(val, unit) {\n // const rgx = /-?\\d*\\.?\\d+/g; // handles basic numbers\n // const rgx = /[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?/g; // handles exponents notation\n var rgx = /[+-]?\\d*\\.?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?/g; // handles exponents notation\n var value = validateValue((is.pth(val) ? val.totalLength : val), unit) + '';\n return {\n original: value,\n numbers: value.match(rgx) ? value.match(rgx).map(Number) : [0],\n strings: (is.str(val) || unit) ? value.split(rgx) : []\n }\n}\n\n// Animatables\n\nfunction parseTargets(targets) {\n var targetsArray = targets ? (flattenArray(is.arr(targets) ? targets.map(toArray) : toArray(targets))) : [];\n return filterArray(targetsArray, function (item, pos, self) { return self.indexOf(item) === pos; });\n}\n\nfunction getAnimatables(targets) {\n var parsed = parseTargets(targets);\n return parsed.map(function (t, i) {\n return {target: t, id: i, total: parsed.length, transforms: { list: getElementTransforms(t) } };\n });\n}\n\n// Properties\n\nfunction normalizePropertyTweens(prop, tweenSettings) {\n var settings = cloneObject(tweenSettings);\n // Override duration if easing is a spring\n if (/^spring/.test(settings.easing)) { settings.duration = spring(settings.easing); }\n if (is.arr(prop)) {\n var l = prop.length;\n var isFromTo = (l === 2 && !is.obj(prop[0]));\n if (!isFromTo) {\n // Duration divided by the number of tweens\n if (!is.fnc(tweenSettings.duration)) { settings.duration = tweenSettings.duration / l; }\n } else {\n // Transform [from, to] values shorthand to a valid tween value\n prop = {value: prop};\n }\n }\n var propArray = is.arr(prop) ? prop : [prop];\n return propArray.map(function (v, i) {\n var obj = (is.obj(v) && !is.pth(v)) ? v : {value: v};\n // Default delay value should only be applied to the first tween\n if (is.und(obj.delay)) { obj.delay = !i ? tweenSettings.delay : 0; }\n // Default endDelay value should only be applied to the last tween\n if (is.und(obj.endDelay)) { obj.endDelay = i === propArray.length - 1 ? tweenSettings.endDelay : 0; }\n return obj;\n }).map(function (k) { return mergeObjects(k, settings); });\n}\n\n\nfunction flattenKeyframes(keyframes) {\n var propertyNames = filterArray(flattenArray(keyframes.map(function (key) { return Object.keys(key); })), function (p) { return is.key(p); })\n .reduce(function (a,b) { if (a.indexOf(b) < 0) { a.push(b); } return a; }, []);\n var properties = {};\n var loop = function ( i ) {\n var propName = propertyNames[i];\n properties[propName] = keyframes.map(function (key) {\n var newKey = {};\n for (var p in key) {\n if (is.key(p)) {\n if (p == propName) { newKey.value = key[p]; }\n } else {\n newKey[p] = key[p];\n }\n }\n return newKey;\n });\n };\n\n for (var i = 0; i < propertyNames.length; i++) loop( i );\n return properties;\n}\n\nfunction getProperties(tweenSettings, params) {\n var properties = [];\n var keyframes = params.keyframes;\n if (keyframes) { params = mergeObjects(flattenKeyframes(keyframes), params); }\n for (var p in params) {\n if (is.key(p)) {\n properties.push({\n name: p,\n tweens: normalizePropertyTweens(params[p], tweenSettings)\n });\n }\n }\n return properties;\n}\n\n// Tweens\n\nfunction normalizeTweenValues(tween, animatable) {\n var t = {};\n for (var p in tween) {\n var value = getFunctionValue(tween[p], animatable);\n if (is.arr(value)) {\n value = value.map(function (v) { return getFunctionValue(v, animatable); });\n if (value.length === 1) { value = value[0]; }\n }\n t[p] = value;\n }\n t.duration = parseFloat(t.duration);\n t.delay = parseFloat(t.delay);\n return t;\n}\n\nfunction normalizeTweens(prop, animatable) {\n var previousTween;\n return prop.tweens.map(function (t) {\n var tween = normalizeTweenValues(t, animatable);\n var tweenValue = tween.value;\n var to = is.arr(tweenValue) ? tweenValue[1] : tweenValue;\n var toUnit = getUnit(to);\n var originalValue = getOriginalTargetValue(animatable.target, prop.name, toUnit, animatable);\n var previousValue = previousTween ? previousTween.to.original : originalValue;\n var from = is.arr(tweenValue) ? tweenValue[0] : previousValue;\n var fromUnit = getUnit(from) || getUnit(originalValue);\n var unit = toUnit || fromUnit;\n if (is.und(to)) { to = previousValue; }\n tween.from = decomposeValue(from, unit);\n tween.to = decomposeValue(getRelativeValue(to, from), unit);\n tween.start = previousTween ? previousTween.end : 0;\n tween.end = tween.start + tween.delay + tween.duration + tween.endDelay;\n tween.easing = parseEasings(tween.easing, tween.duration);\n tween.isPath = is.pth(tweenValue);\n tween.isColor = is.col(tween.from.original);\n if (tween.isColor) { tween.round = 1; }\n previousTween = tween;\n return tween;\n });\n}\n\n// Tween progress\n\nvar setProgressValue = {\n css: function (t, p, v) { return t.style[p] = v; },\n attribute: function (t, p, v) { return t.setAttribute(p, v); },\n object: function (t, p, v) { return t[p] = v; },\n transform: function (t, p, v, transforms, manual) {\n transforms.list.set(p, v);\n if (p === transforms.last || manual) {\n var str = '';\n transforms.list.forEach(function (value, prop) { str += prop + \"(\" + value + \") \"; });\n t.style.transform = str;\n }\n }\n};\n\n// Set Value helper\n\nfunction setTargetsValue(targets, properties) {\n var animatables = getAnimatables(targets);\n animatables.forEach(function (animatable) {\n for (var property in properties) {\n var value = getFunctionValue(properties[property], animatable);\n var target = animatable.target;\n var valueUnit = getUnit(value);\n var originalValue = getOriginalTargetValue(target, property, valueUnit, animatable);\n var unit = valueUnit || getUnit(originalValue);\n var to = getRelativeValue(validateValue(value, unit), originalValue);\n var animType = getAnimationType(target, property);\n setProgressValue[animType](target, property, to, animatable.transforms, true);\n }\n });\n}\n\n// Animations\n\nfunction createAnimation(animatable, prop) {\n var animType = getAnimationType(animatable.target, prop.name);\n if (animType) {\n var tweens = normalizeTweens(prop, animatable);\n var lastTween = tweens[tweens.length - 1];\n return {\n type: animType,\n property: prop.name,\n animatable: animatable,\n tweens: tweens,\n duration: lastTween.end,\n delay: tweens[0].delay,\n endDelay: lastTween.endDelay\n }\n }\n}\n\nfunction getAnimations(animatables, properties) {\n return filterArray(flattenArray(animatables.map(function (animatable) {\n return properties.map(function (prop) {\n return createAnimation(animatable, prop);\n });\n })), function (a) { return !is.und(a); });\n}\n\n// Create Instance\n\nfunction getInstanceTimings(animations, tweenSettings) {\n var animLength = animations.length;\n var getTlOffset = function (anim) { return anim.timelineOffset ? anim.timelineOffset : 0; };\n var timings = {};\n timings.duration = animLength ? Math.max.apply(Math, animations.map(function (anim) { return getTlOffset(anim) + anim.duration; })) : tweenSettings.duration;\n timings.delay = animLength ? Math.min.apply(Math, animations.map(function (anim) { return getTlOffset(anim) + anim.delay; })) : tweenSettings.delay;\n timings.endDelay = animLength ? timings.duration - Math.max.apply(Math, animations.map(function (anim) { return getTlOffset(anim) + anim.duration - anim.endDelay; })) : tweenSettings.endDelay;\n return timings;\n}\n\nvar instanceID = 0;\n\nfunction createNewInstance(params) {\n var instanceSettings = replaceObjectProps(defaultInstanceSettings, params);\n var tweenSettings = replaceObjectProps(defaultTweenSettings, params);\n var properties = getProperties(tweenSettings, params);\n var animatables = getAnimatables(params.targets);\n var animations = getAnimations(animatables, properties);\n var timings = getInstanceTimings(animations, tweenSettings);\n var id = instanceID;\n instanceID++;\n return mergeObjects(instanceSettings, {\n id: id,\n children: [],\n animatables: animatables,\n animations: animations,\n duration: timings.duration,\n delay: timings.delay,\n endDelay: timings.endDelay\n });\n}\n\n// Core\n\nvar activeInstances = [];\nvar pausedInstances = [];\nvar raf;\n\nvar engine = (function () {\n function play() { \n raf = requestAnimationFrame(step);\n }\n function step(t) {\n var activeInstancesLength = activeInstances.length;\n if (activeInstancesLength) {\n var i = 0;\n while (i < activeInstancesLength) {\n var activeInstance = activeInstances[i];\n if (!activeInstance.paused) {\n activeInstance.tick(t);\n } else {\n var instanceIndex = activeInstances.indexOf(activeInstance);\n if (instanceIndex > -1) {\n activeInstances.splice(instanceIndex, 1);\n activeInstancesLength = activeInstances.length;\n }\n }\n i++;\n }\n play();\n } else {\n raf = cancelAnimationFrame(raf);\n }\n }\n return play;\n})();\n\nfunction handleVisibilityChange() {\n if (document.hidden) {\n activeInstances.forEach(function (ins) { return ins.pause(); });\n pausedInstances = activeInstances.slice(0);\n anime.running = activeInstances = [];\n } else {\n pausedInstances.forEach(function (ins) { return ins.play(); });\n }\n}\n\nif (typeof document !== 'undefined') {\n document.addEventListener('visibilitychange', handleVisibilityChange);\n}\n\n// Public Instance\n\nfunction anime(params) {\n if ( params === void 0 ) params = {};\n\n\n var startTime = 0, lastTime = 0, now = 0;\n var children, childrenLength = 0;\n var resolve = null;\n\n function makePromise(instance) {\n var promise = window.Promise && new Promise(function (_resolve) { return resolve = _resolve; });\n instance.finished = promise;\n return promise;\n }\n\n var instance = createNewInstance(params);\n var promise = makePromise(instance);\n\n function toggleInstanceDirection() {\n var direction = instance.direction;\n if (direction !== 'alternate') {\n instance.direction = direction !== 'normal' ? 'normal' : 'reverse';\n }\n instance.reversed = !instance.reversed;\n children.forEach(function (child) { return child.reversed = instance.reversed; });\n }\n\n function adjustTime(time) {\n return instance.reversed ? instance.duration - time : time;\n }\n\n function resetTime() {\n startTime = 0;\n lastTime = adjustTime(instance.currentTime) * (1 / anime.speed);\n }\n\n function seekChild(time, child) {\n if (child) { child.seek(time - child.timelineOffset); }\n }\n\n function syncInstanceChildren(time) {\n if (!instance.reversePlayback) {\n for (var i = 0; i < childrenLength; i++) { seekChild(time, children[i]); }\n } else {\n for (var i$1 = childrenLength; i$1--;) { seekChild(time, children[i$1]); }\n }\n }\n\n function setAnimationsProgress(insTime) {\n var i = 0;\n var animations = instance.animations;\n var animationsLength = animations.length;\n while (i < animationsLength) {\n var anim = animations[i];\n var animatable = anim.animatable;\n var tweens = anim.tweens;\n var tweenLength = tweens.length - 1;\n var tween = tweens[tweenLength];\n // Only check for keyframes if there is more than one tween\n if (tweenLength) { tween = filterArray(tweens, function (t) { return (insTime < t.end); })[0] || tween; }\n var elapsed = minMax(insTime - tween.start - tween.delay, 0, tween.duration) / tween.duration;\n var eased = isNaN(elapsed) ? 1 : tween.easing(elapsed);\n var strings = tween.to.strings;\n var round = tween.round;\n var numbers = [];\n var toNumbersLength = tween.to.numbers.length;\n var progress = (void 0);\n for (var n = 0; n < toNumbersLength; n++) {\n var value = (void 0);\n var toNumber = tween.to.numbers[n];\n var fromNumber = tween.from.numbers[n] || 0;\n if (!tween.isPath) {\n value = fromNumber + (eased * (toNumber - fromNumber));\n } else {\n value = getPathProgress(tween.value, eased * toNumber);\n }\n if (round) {\n if (!(tween.isColor && n > 2)) {\n value = Math.round(value * round) / round;\n }\n }\n numbers.push(value);\n }\n // Manual Array.reduce for better performances\n var stringsLength = strings.length;\n if (!stringsLength) {\n progress = numbers[0];\n } else {\n progress = strings[0];\n for (var s = 0; s < stringsLength; s++) {\n var a = strings[s];\n var b = strings[s + 1];\n var n$1 = numbers[s];\n if (!isNaN(n$1)) {\n if (!b) {\n progress += n$1 + ' ';\n } else {\n progress += n$1 + b;\n }\n }\n }\n }\n setProgressValue[anim.type](animatable.target, anim.property, progress, animatable.transforms);\n anim.currentValue = progress;\n i++;\n }\n }\n\n function setCallback(cb) {\n if (instance[cb] && !instance.passThrough) { instance[cb](instance); }\n }\n\n function countIteration() {\n if (instance.remaining && instance.remaining !== true) {\n instance.remaining--;\n }\n }\n\n function setInstanceProgress(engineTime) {\n var insDuration = instance.duration;\n var insDelay = instance.delay;\n var insEndDelay = insDuration - instance.endDelay;\n var insTime = adjustTime(engineTime);\n instance.progress = minMax((insTime / insDuration) * 100, 0, 100);\n instance.reversePlayback = insTime < instance.currentTime;\n if (children) { syncInstanceChildren(insTime); }\n if (!instance.began && instance.currentTime > 0) {\n instance.began = true;\n setCallback('begin');\n }\n if (!instance.loopBegan && instance.currentTime > 0) {\n instance.loopBegan = true;\n setCallback('loopBegin');\n }\n if (insTime <= insDelay && instance.currentTime !== 0) {\n setAnimationsProgress(0);\n }\n if ((insTime >= insEndDelay && instance.currentTime !== insDuration) || !insDuration) {\n setAnimationsProgress(insDuration);\n }\n if (insTime > insDelay && insTime < insEndDelay) {\n if (!instance.changeBegan) {\n instance.changeBegan = true;\n instance.changeCompleted = false;\n setCallback('changeBegin');\n }\n setCallback('change');\n setAnimationsProgress(insTime);\n } else {\n if (instance.changeBegan) {\n instance.changeCompleted = true;\n instance.changeBegan = false;\n setCallback('changeComplete');\n }\n }\n instance.currentTime = minMax(insTime, 0, insDuration);\n if (instance.began) { setCallback('update'); }\n if (engineTime >= insDuration) {\n lastTime = 0;\n countIteration();\n if (!instance.remaining) {\n instance.paused = true;\n if (!instance.completed) {\n instance.completed = true;\n setCallback('loopComplete');\n setCallback('complete');\n if (!instance.passThrough && 'Promise' in window) {\n resolve();\n promise = makePromise(instance);\n }\n }\n } else {\n startTime = now;\n setCallback('loopComplete');\n instance.loopBegan = false;\n if (instance.direction === 'alternate') {\n toggleInstanceDirection();\n }\n }\n }\n }\n\n instance.reset = function() {\n var direction = instance.direction;\n instance.passThrough = false;\n instance.currentTime = 0;\n instance.progress = 0;\n instance.paused = true;\n instance.began = false;\n instance.loopBegan = false;\n instance.changeBegan = false;\n instance.completed = false;\n instance.changeCompleted = false;\n instance.reversePlayback = false;\n instance.reversed = direction === 'reverse';\n instance.remaining = instance.loop;\n children = instance.children;\n childrenLength = children.length;\n for (var i = childrenLength; i--;) { instance.children[i].reset(); }\n if (instance.reversed && instance.loop !== true || (direction === 'alternate' && instance.loop === 1)) { instance.remaining++; }\n setAnimationsProgress(instance.reversed ? instance.duration : 0);\n };\n\n // Set Value helper\n\n instance.set = function(targets, properties) {\n setTargetsValue(targets, properties);\n return instance;\n };\n\n instance.tick = function(t) {\n now = t;\n if (!startTime) { startTime = now; }\n setInstanceProgress((now + (lastTime - startTime)) * anime.speed);\n };\n\n instance.seek = function(time) {\n setInstanceProgress(adjustTime(time));\n };\n\n instance.pause = function() {\n instance.paused = true;\n resetTime();\n };\n\n instance.play = function() {\n if (!instance.paused) { return; }\n if (instance.completed) { instance.reset(); }\n instance.paused = false;\n activeInstances.push(instance);\n resetTime();\n if (!raf) { engine(); }\n };\n\n instance.reverse = function() {\n toggleInstanceDirection();\n instance.completed = instance.reversed ? false : true;\n resetTime();\n };\n\n instance.restart = function() {\n instance.reset();\n instance.play();\n };\n\n instance.reset();\n\n if (instance.autoplay) { instance.play(); }\n\n return instance;\n\n}\n\n// Remove targets from animation\n\nfunction removeTargetsFromAnimations(targetsArray, animations) {\n for (var a = animations.length; a--;) {\n if (arrayContains(targetsArray, animations[a].animatable.target)) {\n animations.splice(a, 1);\n }\n }\n}\n\nfunction removeTargets(targets) {\n var targetsArray = parseTargets(targets);\n for (var i = activeInstances.length; i--;) {\n var instance = activeInstances[i];\n var animations = instance.animations;\n var children = instance.children;\n removeTargetsFromAnimations(targetsArray, animations);\n for (var c = children.length; c--;) {\n var child = children[c];\n var childAnimations = child.animations;\n removeTargetsFromAnimations(targetsArray, childAnimations);\n if (!childAnimations.length && !child.children.length) { children.splice(c, 1); }\n }\n if (!animations.length && !children.length) { instance.pause(); }\n }\n}\n\n// Stagger helpers\n\nfunction stagger(val, params) {\n if ( params === void 0 ) params = {};\n\n var direction = params.direction || 'normal';\n var easing = params.easing ? parseEasings(params.easing) : null;\n var grid = params.grid;\n var axis = params.axis;\n var fromIndex = params.from || 0;\n var fromFirst = fromIndex === 'first';\n var fromCenter = fromIndex === 'center';\n var fromLast = fromIndex === 'last';\n var isRange = is.arr(val);\n var val1 = isRange ? parseFloat(val[0]) : parseFloat(val);\n var val2 = isRange ? parseFloat(val[1]) : 0;\n var unit = getUnit(isRange ? val[1] : val) || 0;\n var start = params.start || 0 + (isRange ? val1 : 0);\n var values = [];\n var maxValue = 0;\n return function (el, i, t) {\n if (fromFirst) { fromIndex = 0; }\n if (fromCenter) { fromIndex = (t - 1) / 2; }\n if (fromLast) { fromIndex = t - 1; }\n if (!values.length) {\n for (var index = 0; index < t; index++) {\n if (!grid) {\n values.push(Math.abs(fromIndex - index));\n } else {\n var fromX = !fromCenter ? fromIndex%grid[0] : (grid[0]-1)/2;\n var fromY = !fromCenter ? Math.floor(fromIndex/grid[0]) : (grid[1]-1)/2;\n var toX = index%grid[0];\n var toY = Math.floor(index/grid[0]);\n var distanceX = fromX - toX;\n var distanceY = fromY - toY;\n var value = Math.sqrt(distanceX * distanceX + distanceY * distanceY);\n if (axis === 'x') { value = -distanceX; }\n if (axis === 'y') { value = -distanceY; }\n values.push(value);\n }\n maxValue = Math.max.apply(Math, values);\n }\n if (easing) { values = values.map(function (val) { return easing(val / maxValue) * maxValue; }); }\n if (direction === 'reverse') { values = values.map(function (val) { return axis ? (val < 0) ? val * -1 : -val : Math.abs(maxValue - val); }); }\n }\n var spacing = isRange ? (val2 - val1) / maxValue : val1;\n return start + (spacing * (Math.round(values[i] * 100) / 100)) + unit;\n }\n}\n\n// Timeline\n\nfunction timeline(params) {\n if ( params === void 0 ) params = {};\n\n var tl = anime(params);\n tl.duration = 0;\n tl.add = function(instanceParams, timelineOffset) {\n var tlIndex = activeInstances.indexOf(tl);\n var children = tl.children;\n if (tlIndex > -1) { activeInstances.splice(tlIndex, 1); }\n function passThrough(ins) { ins.passThrough = true; }\n for (var i = 0; i < children.length; i++) { passThrough(children[i]); }\n var insParams = mergeObjects(instanceParams, replaceObjectProps(defaultTweenSettings, params));\n insParams.targets = insParams.targets || params.targets;\n var tlDuration = tl.duration;\n insParams.autoplay = false;\n insParams.direction = tl.direction;\n insParams.timelineOffset = is.und(timelineOffset) ? tlDuration : getRelativeValue(timelineOffset, tlDuration);\n passThrough(tl);\n tl.seek(insParams.timelineOffset);\n var ins = anime(insParams);\n passThrough(ins);\n children.push(ins);\n var timings = getInstanceTimings(children, params);\n tl.delay = timings.delay;\n tl.endDelay = timings.endDelay;\n tl.duration = timings.duration;\n tl.seek(0);\n tl.reset();\n if (tl.autoplay) { tl.play(); }\n return tl;\n };\n return tl;\n}\n\nanime.version = '3.2.0';\nanime.speed = 1;\nanime.running = activeInstances;\nanime.remove = removeTargets;\nanime.get = getOriginalTargetValue;\nanime.set = setTargetsValue;\nanime.convertPx = convertPxToUnit;\nanime.path = getPath;\nanime.setDashoffset = setDashoffset;\nanime.stagger = stagger;\nanime.timeline = timeline;\nanime.easing = parseEasings;\nanime.penner = penner;\nanime.random = function (min, max) { return Math.floor(Math.random() * (max - min + 1)) + min; };\n\nmodule.exports = anime;\n","/*\n # -----------------------------------------------------------------------------\n # ~/js/tocbot/tocbot.js\n # Tocbot v4.12.0 implementation for J1 template\n #\n # Product/Info:\n # https://jekyll.one\n # https://tscanlin.github.io/tocbot\n # https://github.com/tscanlin/tocbot\n #\n # Copyright (C) 2021 Juergen Adams\n # Copyright (C) 2016 Tim Scanlin\n #\n # J1 Template is licensed under MIT License.\n # See: https://github.com/jekyll-one-org/J1 Template/blob/master/LICENSE\n # Tocbot is licensed under the MIT License.\n # For details, https://github.com/tscanlin/tocbot/blob/master/LICENSE\n # -----------------------------------------------------------------------------\n # rules:\n # \"eslint:tocbot\": \"eslint --ignore-path .eslintignore src/tocbot/js\"\n # -----------------------------------------------------------------------------\n*/\n\n// -----------------------------------------------------------------------------\n// ESLint shimming\n// -----------------------------------------------------------------------------\n/* eslint indent: \"off\" */\n/* eslint no-undef: \"off\" */\n/* eslint semi: \"off\" */\n// -----------------------------------------------------------------------------\n\n/**\n * Tocbot\n * Tocbot creates a toble of contents based on HTML headings on a page,\n * this allows users to easily jump to different sections of the document.\n * Tocbot was inspired by tocify (http://gregfranko.com/jquery.tocify.js/).\n * The main differences are that it works natively without any need for jquery or jquery UI).\n *\n * @author Tim Scanlin\n */\n\n/* globals define */\n\n(function (root, factory) {\n if (typeof define === 'function' && define.amd) {\n define([], factory(root))\n } else if (typeof exports === 'object') {\n module.exports = factory(root)\n } else {\n root.tocbot = factory(root)\n }\n})(typeof global !== 'undefined' ? global : this.window || this.global, function (root) {\n 'use strict'\n\n // Default options.\n var defaultOptions = require('./default-options.js')\n // Object to store current options.\n var options = {}\n // Object for public APIs.\n var tocbot = {}\n\n var BuildHtml = require('./build-html.js')\n var ParseContent = require('./parse-content.js')\n var updateTocScroll = require('./update-toc-scroll.js')\n // Keep these variables at top scope once options are passed in.\n var buildHtml\n var parseContent\n\n // Just return if its not a browser.\n var supports = !!root && !!root.document && !!root.document.querySelector && !!root.addEventListener // Feature test\n if (typeof window === 'undefined' && !supports) {\n return\n }\n var headingsArray\n\n // From: https://github.com/Raynos/xtend\n var hasOwnProperty = Object.prototype.hasOwnProperty\n function extend () {\n var target = {}\n for (var i = 0; i < arguments.length; i++) {\n var source = arguments[i]\n for (var key in source) {\n if (hasOwnProperty.call(source, key)) {\n target[key] = source[key]\n }\n }\n }\n return target\n }\n\n // From: https://remysharp.com/2010/07/21/throttling-function-calls\n function throttle (fn, threshold, scope) {\n threshold || (threshold = 250)\n var last\n var deferTimer\n return function () {\n var context = scope || this\n var now = +new Date()\n var args = arguments\n if (last && now < last + threshold) {\n // hold on to it\n clearTimeout(deferTimer)\n deferTimer = setTimeout(function () {\n last = now\n fn.apply(context, args)\n }, threshold)\n } else {\n last = now\n fn.apply(context, args)\n }\n }\n }\n\n /**\n * Destroy tocbot.\n */\n tocbot.destroy = function () {\n if (!options.skipRendering) {\n // Clear HTML.\n try {\n document.querySelector(options.tocSelector).innerHTML = ''\n } catch (e) {\n console.warn('Element not found: ' + options.tocSelector); // eslint-disable-line\n }\n }\n\n // Remove event listeners.\n if (options.scrollContainer && document.querySelector(options.scrollContainer)) {\n document.querySelector(options.scrollContainer).removeEventListener('scroll', this._scrollListener, false)\n document.querySelector(options.scrollContainer).removeEventListener('resize', this._scrollListener, false)\n if (buildHtml) {\n document.querySelector(options.scrollContainer).removeEventListener('click', this._clickListener, false)\n }\n } else {\n document.removeEventListener('scroll', this._scrollListener, false)\n document.removeEventListener('resize', this._scrollListener, false)\n if (buildHtml) {\n document.removeEventListener('click', this._clickListener, false)\n }\n }\n }\n\n /**\n * Initialize tocbot.\n * @param {object} customOptions\n */\n tocbot.init = function (customOptions) {\n // feature test\n if (!supports) {\n return\n }\n\n // Merge defaults with user options.\n // Set to options variable at the top.\n options = extend(defaultOptions, customOptions || {})\n this.options = options\n this.state = {}\n\n // Init smooth scroll if enabled (default).\n if (options.scrollSmooth) {\n options.duration = options.scrollSmoothDuration\n options.offset = options.scrollSmoothOffset\n tocbot.scrollSmooth = require('./scroll-smooth').initSmoothScrolling(options)\n }\n\n // Pass options to these modules.\n buildHtml = BuildHtml(options)\n parseContent = ParseContent(options)\n\n // For testing purposes.\n this._buildHtml = buildHtml\n this._parseContent = parseContent\n\n // Destroy it if it exists first.\n tocbot.destroy()\n\n // Get headings array.\n headingsArray = parseContent.selectHeadings(options.contentSelector, options.headingSelector)\n // Return if no headings are found.\n if (headingsArray === null) {\n return\n }\n\n // Build nested headings array.\n var nestedHeadingsObj = parseContent.nestHeadingsArray(headingsArray)\n var nestedHeadings = nestedHeadingsObj.nest\n\n // Render.\n if (!options.skipRendering) {\n buildHtml.render(options.tocSelector, nestedHeadings)\n }\n\n // Update Sidebar and bind listeners.\n this._scrollListener = throttle(function (e) {\n buildHtml.updateToc(headingsArray)\n !options.disableTocScrollSync && updateTocScroll(options)\n var isTop = e && e.target && e.target.scrollingElement && e.target.scrollingElement.scrollTop === 0\n if ((e && (e.eventPhase === 0 || e.currentTarget === null)) || isTop) {\n buildHtml.updateToc(headingsArray)\n if (options.scrollEndCallback) {\n options.scrollEndCallback(e)\n }\n }\n }, options.throttleTimeout)\n this._scrollListener()\n if (options.scrollContainer && document.querySelector(options.scrollContainer)) {\n document.querySelector(options.scrollContainer).addEventListener('scroll', this._scrollListener, false)\n document.querySelector(options.scrollContainer).addEventListener('resize', this._scrollListener, false)\n } else {\n document.addEventListener('scroll', this._scrollListener, false)\n document.addEventListener('resize', this._scrollListener, false)\n }\n\n // Bind click listeners to disable animation.\n var timeout = null\n this._clickListener = throttle(function (event) {\n if (options.scrollSmooth) {\n buildHtml.disableTocAnimation(event)\n }\n buildHtml.updateToc(headingsArray)\n // Timeout to re-enable the animation.\n timeout && clearTimeout(timeout)\n timeout = setTimeout(function () {\n buildHtml.enableTocAnimation()\n }, options.scrollSmoothDuration)\n }, options.throttleTimeout)\n\n if (options.scrollContainer && document.querySelector(options.scrollContainer)) {\n document.querySelector(options.scrollContainer).addEventListener('click', this._clickListener, false)\n } else {\n document.addEventListener('click', this._clickListener, false)\n }\n\n return this\n }\n\n /**\n * Refresh tocbot.\n */\n tocbot.refresh = function (customOptions) {\n tocbot.destroy()\n tocbot.init(customOptions || this.options)\n }\n\n // Make tocbot available globally.\n root.tocbot = tocbot\n\n return tocbot\n})\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","// -----------------------------------------------------------------------------\n// ESLint shimming\n// -----------------------------------------------------------------------------\n/* eslint indent: \"off\" */\n/* eslint no-undef: \"off\" */\n/* eslint no-unused-vars: \"off\" */\n// -----------------------------------------------------------------------------\n\nmodule.exports = {\n // Where to render the table of contents.\n tocSelector: '.js-toc',\n // Where to grab the headings to build the table of contents.\n contentSelector: '.js-toc-content',\n // Which headings to grab inside of the contentSelector element.\n headingSelector: 'h1, h2, h3',\n // Headings that match the ignoreSelector will be skipped.\n ignoreSelector: '.js-toc-ignore',\n // For headings inside relative or absolute positioned containers within content\n hasInnerContainers: false,\n // Main class to add to links.\n linkClass: 'toc-link',\n // Extra classes to add to links.\n extraLinkClasses: '',\n // Class to add to active links,\n // the link corresponding to the top most heading on the page.\n activeLinkClass: 'is-active-link',\n // Main class to add to lists.\n listClass: 'toc-list',\n // Extra classes to add to lists.\n extraListClasses: '',\n // Class that gets added when a list should be collapsed.\n isCollapsedClass: 'is-collapsed',\n // Class that gets added when a list should be able\n // to be collapsed but isn't necessarily collapsed.\n collapsibleClass: 'is-collapsible',\n // Class to add to list items.\n listItemClass: 'toc-list-item',\n // Class to add to active list items.\n activeListItemClass: 'is-active-li',\n // How many heading levels should not be collapsed.\n // For example, number 6 will show everything since\n // there are only 6 heading levels and number 0 will collapse them all.\n // The sections that are hidden will open\n // and close as you scroll to headings within them.\n collapseDepth: 0,\n // Smooth scrolling enabled.\n scrollSmooth: true,\n // Smooth scroll duration.\n scrollSmoothDuration: 420,\n // Smooth scroll offset.\n scrollSmoothOffset: 0,\n // Callback for scroll end.\n scrollEndCallback: function (e) {},\n // Headings offset between the headings and the top of the document (this is meant for minor adjustments).\n headingsOffset: 1,\n // Timeout between events firing to make sure it's\n // not too rapid (for performance reasons).\n throttleTimeout: 50,\n // Element to add the positionFixedClass to.\n positionFixedSelector: null,\n // Fixed position class to add to make sidebar fixed after scrolling\n // down past the fixedSidebarOffset.\n positionFixedClass: 'is-position-fixed',\n // fixedSidebarOffset can be any number but by default is set\n // to auto which sets the fixedSidebarOffset to the sidebar\n // element's offsetTop from the top of the document on init.\n fixedSidebarOffset: 'auto',\n // includeHtml can be set to true to include the HTML markup from the\n // heading node instead of just including the textContent.\n includeHtml: false,\n // onclick function to apply to all links in toc. will be called with\n // the event as the first parameter, and this can be used to stop,\n // propagation, prevent default or perform action\n onClick: function (e) {},\n // orderedList can be set to false to generate unordered lists (ul)\n // instead of ordered lists (ol)\n orderedList: true,\n // If there is a fixed article scroll container, set to calculate titles' offset\n scrollContainer: null,\n // prevent ToC DOM rendering if it's already rendered by an external system\n skipRendering: false,\n // Optional callback to change heading labels.\n // For example it can be used to cut down and put ellipses on multiline headings you deem too long.\n // Called each time a heading is parsed. Expects a string in return, the modified label to display.\n // function (string) => string\n headingLabelCallback: false,\n // ignore headings that are hidden in DOM\n ignoreHiddenElements: false,\n // Optional callback to modify properties of parsed headings.\n // The heading element is passed in node parameter and information parsed by default parser is provided in obj parameter.\n // Function has to return the same or modified obj.\n // The heading will be excluded from TOC if nothing is returned.\n // function (object, HTMLElement) => object | void\n headingObjectCallback: null,\n // Set the base path, useful if you use a `base` tag in `head`.\n basePath: '',\n // Only takes affect when `tocSelector` is scrolling,\n // keep the toc scroll position in sync with the content.\n disableTocScrollSync: false,\n};\n","/**\n * This file is responsible for building the DOM and updating DOM state.\n *\n * @author Tim Scanlin\n */\n\n// -----------------------------------------------------------------------------\n// ESLint shimming\n// -----------------------------------------------------------------------------\n/* eslint indent: \"off\" */\n/* eslint no-undef: \"off\" */\n/* eslint semi: \"off\" */\n// -----------------------------------------------------------------------------\n\nmodule.exports = function (options) {\n var forEach = [].forEach\n var some = [].some\n var body = document.body\n var currentlyHighlighting = true\n var SPACE_CHAR = ' '\n\n /**\n * Create link and list elements.\n * @param {Object} d\n * @param {HTMLElement} container\n * @return {HTMLElement}\n */\n function createEl (d, container) {\n var link = container.appendChild(createLink(d))\n if (d.children.length) {\n var list = createList(d.isCollapsed)\n d.children.forEach(function (child) {\n createEl(child, list)\n })\n link.appendChild(list)\n }\n }\n\n /**\n * Render nested heading array data into a given selector.\n * @param {String} selector\n * @param {Array} data\n * @return {HTMLElement}\n */\n function render (selector, data) {\n var collapsed = false\n var container = createList(collapsed)\n\n data.forEach(function (d) {\n createEl(d, container)\n })\n\n var parent = document.querySelector(selector)\n\n // Return if no parent is found.\n if (parent === null) {\n return\n }\n\n // Remove existing child if it exists.\n if (parent.firstChild) {\n parent.removeChild(parent.firstChild)\n }\n\n // Just return the parent and don't append the list if no links are found.\n if (data.length === 0) {\n return parent\n }\n\n // Append the Elements that have been created\n return parent.appendChild(container)\n }\n\n /**\n * Create link element.\n * @param {Object} data\n * @return {HTMLElement}\n */\n function createLink (data) {\n var item = document.createElement('li')\n var a = document.createElement('a')\n if (options.listItemClass) {\n item.setAttribute('class', options.listItemClass)\n }\n\n if (options.onClick) {\n a.onclick = options.onClick\n }\n\n if (options.includeHtml && data.childNodes.length) {\n forEach.call(data.childNodes, function (node) {\n a.appendChild(node.cloneNode(true))\n })\n } else {\n // Default behavior.\n a.textContent = data.textContent\n }\n a.setAttribute('href', options.basePath + '#' + data.id)\n a.setAttribute('class', options.linkClass +\n SPACE_CHAR + 'node-name--' + data.nodeName +\n SPACE_CHAR + options.extraLinkClasses)\n item.appendChild(a)\n return item\n }\n\n /**\n * Create list element.\n * @param {Boolean} isCollapsed\n * @return {HTMLElement}\n */\n function createList (isCollapsed) {\n var listElement = (options.orderedList) ? 'ol' : 'ul'\n var list = document.createElement(listElement)\n var classes = options.listClass +\n SPACE_CHAR + options.extraListClasses\n if (isCollapsed) {\n classes += SPACE_CHAR + options.collapsibleClass\n classes += SPACE_CHAR + options.isCollapsedClass\n }\n list.setAttribute('class', classes)\n return list\n }\n\n /**\n * Update fixed sidebar class.\n * @return {HTMLElement}\n */\n function updateFixedSidebarClass () {\n if (options.scrollContainer && document.querySelector(options.scrollContainer)) {\n var top\n top = document.querySelector(options.scrollContainer).scrollTop\n } else {\n top = document.documentElement.scrollTop || body.scrollTop\n }\n var posFixedEl = document.querySelector(options.positionFixedSelector)\n\n if (options.fixedSidebarOffset === 'auto') {\n options.fixedSidebarOffset = document.querySelector(options.tocSelector).offsetTop\n }\n\n if (top > options.fixedSidebarOffset) {\n if (posFixedEl.className.indexOf(options.positionFixedClass) === -1) {\n posFixedEl.className += SPACE_CHAR + options.positionFixedClass\n }\n } else {\n posFixedEl.className = posFixedEl.className.split(SPACE_CHAR + options.positionFixedClass).join('')\n }\n }\n\n /**\n * Get top position of heading\n * @param {HTMLElement}\n * @return {integer} position\n */\n function getHeadingTopPos (obj) {\n var position = 0\n if (obj !== document.querySelector(options.contentSelector && obj != null)) {\n position = obj.offsetTop\n if (options.hasInnerContainers) { position += getHeadingTopPos(obj.offsetParent) }\n }\n return position\n }\n\n /**\n * Update TOC highlighting and collapsed groups\n */\n function updateToc (headingsArray) {\n // If a fixed content container was set\n if (options.scrollContainer && document.querySelector(options.scrollContainer)) {\n var top\n top = document.querySelector(options.scrollContainer).scrollTop\n } else {\n top = document.documentElement.scrollTop || body.scrollTop\n }\n\n // Add fixed class at offset\n if (options.positionFixedSelector) {\n updateFixedSidebarClass()\n }\n\n // Get the most TOP heading currently visible on the page to\n // identify what element to be highlighted\n var headings = headingsArray;\n var topHeader;\n var headingTopPos;\n\n // Using some instead of each so that we can escape early\n if (currentlyHighlighting &&\n document.querySelector(options.tocSelector) !== null &&\n headings.length > 0) {\n some.call(headings, function (heading, i) {\n headingTopPos = getHeadingTopPos(heading)\n if (headingTopPos > top + options.headingsOffset + 10) {\n // Don't allow negative index value\n // var index = (i === 0) ? i : i - 1;\n // topHeader = headings[index];\n // jadams, index correction seems NOT needed\n topHeader = headings[i];\n return true\n } else if (i === headings.length - 1) {\n // This allows scrolling for the last heading on the page\n topHeader = headings[headings.length - 1]\n return true\n }\n })\n\n // Remove the active class from the other tocLinks.\n var tocLinks = document.querySelector(options.tocSelector)\n .querySelectorAll('.' + options.linkClass)\n forEach.call(tocLinks, function (tocLink) {\n tocLink.className = tocLink.className.split(SPACE_CHAR + options.activeLinkClass).join('')\n })\n var tocLis = document.querySelector(options.tocSelector)\n .querySelectorAll('.' + options.listItemClass)\n forEach.call(tocLis, function (tocLi) {\n tocLi.className = tocLi.className.split(SPACE_CHAR + options.activeListItemClass).join('')\n })\n\n // Add the active class to the active tocLink.\n var activeTocLink = document.querySelector(options.tocSelector)\n .querySelector('.' + options.linkClass +\n '.node-name--' + topHeader.nodeName +\n '[href=\"' + options.basePath + '#' + topHeader.id.replace(/([ #;&,.+*~':\"!^$[\\]()=>|/@])/g, '\\\\$1') + '\"]')\n if (activeTocLink.className.indexOf(options.activeLinkClass) === -1) {\n activeTocLink.className += SPACE_CHAR + options.activeLinkClass\n }\n var li = activeTocLink.parentNode\n if (li && li.className.indexOf(options.activeListItemClass) === -1) {\n li.className += SPACE_CHAR + options.activeListItemClass\n }\n\n var tocLists = document.querySelector(options.tocSelector)\n .querySelectorAll('.' + options.listClass + '.' + options.collapsibleClass)\n\n // Collapse the other collapsible lists.\n forEach.call(tocLists, function (list) {\n if (list.className.indexOf(options.isCollapsedClass) === -1) {\n list.className += SPACE_CHAR + options.isCollapsedClass\n }\n })\n\n // Expand the active link's collapsible list and its sibling if applicable.\n if (activeTocLink.nextSibling && activeTocLink.nextSibling.className.indexOf(options.isCollapsedClass) !== -1) {\n activeTocLink.nextSibling.className = activeTocLink.nextSibling.className.split(SPACE_CHAR + options.isCollapsedClass).join('')\n }\n removeCollapsedFromParents(activeTocLink.parentNode.parentNode)\n }\n }\n\n /**\n * Remove collpased class from parent elements.\n * @param {HTMLElement} element\n * @return {HTMLElement}\n */\n function removeCollapsedFromParents (element) {\n if (element.className.indexOf(options.collapsibleClass) !== -1 && element.className.indexOf(options.isCollapsedClass) !== -1) {\n element.className = element.className.split(SPACE_CHAR + options.isCollapsedClass).join('')\n return removeCollapsedFromParents(element.parentNode.parentNode)\n }\n return element\n }\n\n /**\n * Disable TOC Animation when a link is clicked.\n * @param {Event} event\n */\n function disableTocAnimation (event) {\n var target = event.target || event.srcElement\n if (typeof target.className !== 'string' || target.className.indexOf(options.linkClass) === -1) {\n return\n }\n // Bind to tocLink clicks to temporarily disable highlighting\n // while smoothScroll is animating.\n currentlyHighlighting = false\n }\n\n /**\n * Enable TOC Animation.\n */\n function enableTocAnimation () {\n currentlyHighlighting = true\n }\n\n return {\n enableTocAnimation: enableTocAnimation,\n disableTocAnimation: disableTocAnimation,\n render: render,\n updateToc: updateToc\n }\n}\n","/**\n * This file is responsible for parsing the content from the DOM and making\n * sure data is nested properly.\n *\n * @author Tim Scanlin\n */\n\n// -----------------------------------------------------------------------------\n// ESLint shimming\n// -----------------------------------------------------------------------------\n/* eslint indent: \"off\" */\n/* eslint no-undef: \"off\" */\n/* eslint semi: \"off\" */\n// -----------------------------------------------------------------------------\n\nmodule.exports = function parseContent (options) {\n var reduce = [].reduce\n\n /**\n * Get the last item in an array and return a reference to it.\n * @param {Array} array\n * @return {Object}\n */\n function getLastItem (array) {\n return array[array.length - 1]\n }\n\n /**\n * Get heading level for a heading dom node.\n * @param {HTMLElement} heading\n * @return {Number}\n */\n function getHeadingLevel (heading) {\n return +heading.nodeName.split('H').join('')\n }\n\n /**\n * Get important properties from a heading element and store in a plain object.\n * @param {HTMLElement} heading\n * @return {Object}\n */\n function getHeadingObject (heading) {\n // each node is processed twice by this method because nestHeadingsArray() and addNode() calls it\n // first time heading is real DOM node element, second time it is obj\n // that is causing problem so I am processing only original DOM node\n if (!(heading instanceof window.HTMLElement)) return heading\n\n if (options.ignoreHiddenElements && (!heading.offsetHeight || !heading.offsetParent)) {\n return null\n }\n\n var obj = {\n id: heading.id,\n children: [],\n nodeName: heading.nodeName,\n headingLevel: getHeadingLevel(heading),\n textContent: options.headingLabelCallback ? String(options.headingLabelCallback(heading.textContent)) : heading.textContent.trim()\n }\n\n if (options.includeHtml) {\n obj.childNodes = heading.childNodes\n }\n\n if (options.headingObjectCallback) {\n return options.headingObjectCallback(obj, heading)\n }\n\n return obj\n }\n\n /**\n * Add a node to the nested array.\n * @param {Object} node\n * @param {Array} nest\n * @return {Array}\n */\n function addNode (node, nest) {\n var obj = getHeadingObject(node)\n var level = obj.headingLevel\n var array = nest\n var lastItem = getLastItem(array)\n var lastItemLevel = lastItem\n ? lastItem.headingLevel\n : 0\n var counter = level - lastItemLevel\n\n while (counter > 0) {\n lastItem = getLastItem(array)\n if (lastItem && lastItem.children !== undefined) {\n array = lastItem.children\n }\n counter--\n }\n\n if (level >= options.collapseDepth) {\n obj.isCollapsed = true\n }\n\n array.push(obj)\n return array\n }\n\n /**\n * Select headings in content area, exclude any selector in options.ignoreSelector\n * @param {String} contentSelector\n * @param {Array} headingSelector\n * @return {Array}\n */\n function selectHeadings (contentSelector, headingSelector) {\n var selectors = headingSelector\n if (options.ignoreSelector) {\n selectors = headingSelector.split(',')\n .map(function mapSelectors (selector) {\n return selector.trim() + ':not(' + options.ignoreSelector + ')'\n })\n }\n try {\n return document.querySelector(contentSelector)\n .querySelectorAll(selectors)\n } catch (e) {\n console.warn('Element not found: ' + contentSelector); // eslint-disable-line\n return null\n }\n }\n\n /**\n * Nest headings array into nested arrays with 'children' property.\n * @param {Array} headingsArray\n * @return {Object}\n */\n function nestHeadingsArray (headingsArray) {\n return reduce.call(headingsArray, function reducer (prev, curr) {\n var currentHeading = getHeadingObject(curr)\n if (currentHeading) {\n addNode(currentHeading, prev.nest)\n }\n return prev\n }, {\n nest: []\n })\n }\n\n return {\n nestHeadingsArray: nestHeadingsArray,\n selectHeadings: selectHeadings\n }\n}\n","// -----------------------------------------------------------------------------\n// ESLint shimming\n// -----------------------------------------------------------------------------\n/* eslint indent: \"off\" */\n/* eslint no-undef: \"off\" */\n/* eslint semi: \"off\" */\n// -----------------------------------------------------------------------------\n\nmodule.exports = function updateTocScroll(options) {\n var toc = document.querySelector(options.tocSelector);\n if (toc && toc.scrollHeight > toc.clientHeight) {\n var activeItem = toc.querySelector('.' + options.activeListItemClass);\n if (activeItem) {\n toc.scrollTop = activeItem.offsetTop;\n }\n }\n}\n","/*\n # -----------------------------------------------------------------------------\n # ~/js/tocbot/scroll-smooth/index.js\n # Scroll-Smooth (Tocbot v4.12.0) implementation for J1 template\n #\n # Product/Info:\n # https://jekyll.one\n # https://tscanlin.github.io/tocbot\n # https://github.com/tscanlin/tocbot\n #\n # Copyright (C) 2021 Juergen Adams\n # Copyright (C) 2016 Tim Scanlin\n #\n # J1 Template is licensed under MIT License.\n # See: https://github.com/jekyll-one-org/J1 Template/blob/master/LICENSE\n # Tocbot is licensed under the MIT License.\n # For details, https://github.com/tscanlin/tocbot/blob/master/LICENSE\n # -----------------------------------------------------------------------------\n*/\n\n// -----------------------------------------------------------------------------\n// ESLint shimming\n// -----------------------------------------------------------------------------\n/* eslint no-redeclare: \"off\" */\n/* eslint no-undef: \"off\" */\n/* eslint no-empty: \"off\" */\n/* eslint semi: \"off\" */\n// -----------------------------------------------------------------------------\n/* globals location, requestAnimationFrame */\n\nexports.initSmoothScrolling = initSmoothScrolling\n\nfunction initSmoothScrolling (options) {\n if (isCssSmoothSCrollSupported()) { }\n\n var duration = options.duration\n var offset = options.offset\n\n var pageUrl = location.hash\n ? stripHash(location.href)\n : location.href\n\n delegatedLinkHijacking()\n\n function delegatedLinkHijacking () {\n document.body.addEventListener('click', onClick, false)\n\n function onClick (e) {\n if (\n !isInPageLink(e.target) ||\n e.target.className.indexOf('no-smooth-scroll') > -1 ||\n (e.target.href.charAt(e.target.href.length - 2) === '#' &&\n e.target.href.charAt(e.target.href.length - 1) === '!') ||\n e.target.className.indexOf(options.linkClass) === -1) {\n return\n }\n\n // Don't prevent default or hash doesn't change.\n // e.preventDefault()\n\n jump(e.target.hash, {\n duration: duration,\n offset: offset,\n callback: function () {\n setFocus(e.target.hash)\n }\n })\n }\n }\n\n function isInPageLink (n) {\n return n.tagName.toLowerCase() === 'a' &&\n (n.hash.length > 0 || n.href.charAt(n.href.length - 1) === '#') &&\n (stripHash(n.href) === pageUrl || stripHash(n.href) + '#' === pageUrl)\n }\n\n function stripHash (url) {\n return url.slice(0, url.lastIndexOf('#'))\n }\n\n function isCssSmoothSCrollSupported () {\n return 'scrollBehavior' in document.documentElement.style\n }\n\n // Adapted from:\n // https://www.nczonline.net/blog/2013/01/15/fixing-skip-to-content-links/\n function setFocus (hash) {\n var element = document.getElementById(hash.substring(1))\n\n if (element) {\n if (!/^(?:a|select|input|button|textarea)$/i.test(element.tagName)) {\n element.tabIndex = -1\n }\n\n element.focus()\n }\n }\n}\n\nfunction jump (target, options) {\n var start = window.pageYOffset\n var opt = {\n duration: options.duration,\n offset: options.offset || 0,\n callback: options.callback,\n easing: options.easing || easeInOutQuad\n }\n // This makes ids that start with a number work: ('[id=\"' + decodeURI(target).split('#').join('') + '\"]')\n // DecodeURI for nonASCII hashes, they was encoded, but id was not encoded, it lead to not finding the tgt element by id.\n // And this is for IE: document.body.scrollTop\n var tgt = document.querySelector('[id=\"' + decodeURI(target).split('#').join('') + '\"]')\n var distance = typeof target === 'string'\n ? opt.offset + (\n target\n ? (tgt && tgt.getBoundingClientRect().top) || 0 // handle non-existent links better.\n : -(document.documentElement.scrollTop || document.body.scrollTop))\n : target\n var duration = typeof opt.duration === 'function'\n ? opt.duration(distance)\n : opt.duration\n var timeStart\n var timeElapsed\n\n requestAnimationFrame(function (time) { timeStart = time; loop(time) })\n function loop (time) {\n timeElapsed = time - timeStart\n\n window.scrollTo(0, opt.easing(timeElapsed, start, distance, duration))\n\n if (timeElapsed < duration) { requestAnimationFrame(loop) } else { end() }\n }\n\n function end () {\n window.scrollTo(0, start + distance)\n\n if (typeof opt.callback === 'function') { opt.callback() }\n }\n\n // Robert Penner's easeInOutQuad - http://robertpenner.com/easing/\n function easeInOutQuad (t, b, c, d) {\n t /= d / 2\n if (t < 1) return c / 2 * t * t + b\n t--\n return -c / 2 * (t * (t - 2) - 1) + b\n }\n}\n","/*\n # -----------------------------------------------------------------------------\n # ~/js/adoc_result_viewer/view_results.js\n # Provides JavaScript functions displaying results for Asciidoctor\n #\n # Product/Info:\n # https://jekyll.one\n #\n # Copyright (C) 2021 Juergen Adams\n #\n # J1 Template is licensed under MIT License.\n # See: https://github.com/jekyll-one-org/J1 Template/blob/master/LICENSE\n #\n # -----------------------------------------------------------------------------\n*/\n\n// -----------------------------------------------------------------------------\n// ESLint shimming\n// -----------------------------------------------------------------------------\n/* eslint indent: \"off\" */\n/* global $ */\n// -----------------------------------------------------------------------------\n\n/*!\n * J1 ADoc ResultViewer\n * Copyright (C) 2021 Juergen Adams\n * Licensed under MIT License.\n */\n\nvar timeoutHandle;\n\nfunction toggle_result_block(result_block) {\n window.clearTimeout(timeoutHandle); // Clear the timeout object\n result_block.prev().toggleClass('stacked');\n result_block.toggle();\n // timeoutHandle = window.setTimeout(function () {\n // result_block.hide();\n // }, 5000);\n}\n\nfunction insert_result_links() {\n $('.result').each(function(idx, node) {\n var result_block = $(node);\n var title_div = result_block.prev().find('.title');\n var view_result_link = $('<div class=\"view-result j1-viewer\"><span class=\"btn-viewer j1-tooltip\" data-toggle=\"tooltip\" data-placement=\"left\" title=\"toggle results\" data-original-title=\"toggle results\">View</span></div>');\n title_div.append(view_result_link);\n view_result_link.on('click', function(event) {\n event.preventDefault();\n toggle_result_block(result_block);\n });\n });\n}\n\n$(insert_result_links);\n"],"sourceRoot":""}
1
+ {"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./template.js","webpack:///./js/adapter/adapter.js","webpack:///./js/core/core.js","webpack:///./js/navigator/navigator.js","webpack:///./js/asciidoctor/asciidoctor.js","webpack:///./js/scroll-smooth/scroll-smooth.js","webpack:///./js/anime/anime.js","webpack:///./js/tocbot/tocbot.js","webpack:///(webpack)/buildin/global.js","webpack:///./js/tocbot/default-options.js","webpack:///./js/tocbot/build-html.js","webpack:///./js/tocbot/parse-content.js","webpack:///./js/tocbot/update-toc-scroll.js","webpack:///./js/tocbot/scroll-smooth/index.js","webpack:///./js/adoc_result_viewer/view_results.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","window","j1","adapter","require","core","navigator","asciidoctor","scrollSmooth","anime","_init_","options","$","extend","foo","bar","getState","isMobile","ua_name","a","mobile","userAgent","vendor","opera","test","substr","bsFormClearButton","on","this","val","length","nextAll","removeClass","addClass","logger","logText","message","init","defaultOptions","menuOptions","log4javascript","getLogger","info","manageDropdownMenu","navbarSticky","eventHandler","type","action","text","sendMessage","$getNav","click","e","preventDefault","returnValue","hasClass","wrap","postsArr","Array","index","$postsList","find","each","push","html","firstList","splice","Math","round","secondList","ListHTML","createHTML","list","first","after","next","last","dropDown","megaMenu","closest","prepend","navbarHeighth","outerHeight","scrollTop","debug","animate","slideToggle","is","unbind","slideUp","stopPropagation","toggle","css","wrapInner","$menu","breakPoint","$dropDown","timeoutHandle","navDefaultOptions","navMenuOptions","$getWindow","matchMedia","matches","width","$getIn","data","$getOut","menuSelector","xhr_container_id","delayMenuOpen","delay_menu_open","nav_bar","media_breakpoint","off","stop","fadeToggle","fadeOut","hide","show","hover","$list","eq","setTimeout","fadeIn","clearTimeout","windowHeight","height","windowWidth","getId","$getHeight","getOffset","offset","top","updateSidebar","user_data","json_message","JSON","stringify","resolveMacros","updateMacros","jQuery","moduleOptions","dummyOption","callouts","colgroupList","conums","dependencies_met_page_finished","setInterval","clearInterval","scroll","target","duration","scrollTo","callback","timeStart","timeElapsed","start","pageYOffset","opt","easing","b","tgt","document","querySelector","decodeURI","split","join","distance","getBoundingClientRect","documentElement","body","loop","time","requestAnimationFrame","defaultInstanceSettings","update","begin","loopBegin","changeBegin","change","changeComplete","loopComplete","complete","direction","autoplay","timelineOffset","defaultTweenSettings","delay","endDelay","validTransforms","cache","CSS","springs","minMax","min","max","stringContains","str","indexOf","applyArguments","func","args","apply","arr","isArray","obj","toString","pth","svg","SVGElement","inp","HTMLInputElement","dom","nodeType","fnc","und","hex","rgb","hsl","col","parseEasingParameters","string","match","exec","map","parseFloat","spring","params","mass","stiffness","damping","velocity","w0","sqrt","zeta","wd","solver","progress","exp","cos","sin","cached","elapsed","rest","steps","ceil","eases","functionEasings","bezier","A","aA1","aA2","B","C","calcBezier","aT","getSlope","mX1","mY1","mX2","mY2","sampleValues","Float32Array","x","getTForX","aX","intervalStart","currentSample","kSplineTableSize","guessForT","initialSlope","aGuessT","currentSlope","newtonRaphsonIterate","aA","aB","currentX","currentT","abs","binarySubdivide","penner","linear","Sine","PI","Circ","Back","Bounce","pow2","pow","Elastic","amplitude","period","asin","forEach","keys","easeIn","parseEasings","ease","selectString","querySelectorAll","filterArray","len","thisArg","arguments","result","flattenArray","reduce","concat","toArray","NodeList","HTMLCollection","slice","arrayContains","some","cloneObject","clone","replaceObjectProps","o1","o2","mergeObjects","colorToRgb","rgbValue","hexValue","replace","g","parseInt","hexToRgba","hslValue","h","hue2rgb","q","hslToRgba","getUnit","getFunctionValue","animatable","id","total","getAttribute","el","prop","convertPxToUnit","unit","tempEl","createElement","tagName","parentEl","parentNode","appendChild","style","position","factor","offsetWidth","removeChild","convertedUnit","getCSSValue","uppercasePropName","toLowerCase","getComputedStyle","getPropertyValue","getAnimationType","getElementTransforms","transform","reg","transforms","Map","set","getTransformValue","propName","defaultVal","getTransformUnit","getOriginalTargetValue","getRelativeValue","to","from","operator","u","y","validateValue","originalUnit","unitLess","getDistance","p1","p2","getPolylineLength","previousPos","points","totalLength","numberOfItems","currentPos","getItem","getTotalLength","getCircleLength","getRectLength","getLineLength","getPolygonLength","getParentSvg","pathEl","svgData","parentSvgEl","getParentSvgEl","rect","viewBoxAttr","viewBox","w","getPathProgress","path","point","getPointAtLength","p0","atan2","decomposeValue","rgx","original","numbers","Number","strings","parseTargets","targets","item","pos","self","getAnimatables","parsed","normalizePropertyTweens","tweenSettings","settings","propArray","v","k","getProperties","properties","keyframes","propertyNames","newKey","flattenKeyframes","tweens","normalizeTweens","previousTween","tween","normalizeTweenValues","tweenValue","toUnit","originalValue","previousValue","fromUnit","end","isPath","isColor","setProgressValue","attribute","setAttribute","manual","setTargetsValue","valueUnit","animType","getAnimations","animatables","lastTween","createAnimation","getInstanceTimings","animations","animLength","getTlOffset","anim","timings","instanceID","raf","activeInstances","pausedInstances","engine","play","step","activeInstancesLength","activeInstance","paused","instanceIndex","tick","cancelAnimationFrame","children","startTime","lastTime","now","childrenLength","resolve","makePromise","instance","promise","Promise","_resolve","finished","instanceSettings","createNewInstance","toggleInstanceDirection","reversed","child","adjustTime","resetTime","currentTime","speed","seekChild","seek","setAnimationsProgress","insTime","animationsLength","tweenLength","eased","isNaN","toNumbersLength","toNumber","fromNumber","stringsLength","n$1","currentValue","setCallback","cb","passThrough","setInstanceProgress","engineTime","insDuration","insDelay","insEndDelay","reversePlayback","i$1","syncInstanceChildren","began","loopBegan","changeBegan","changeCompleted","remaining","completed","reset","pause","reverse","restart","removeTargetsFromAnimations","targetsArray","addEventListener","hidden","ins","running","version","remove","childAnimations","convertPx","percent","setDashoffset","pathLength","stagger","grid","axis","fromIndex","fromFirst","fromCenter","fromLast","isRange","val1","val2","values","maxValue","fromX","fromY","floor","distanceX","distanceY","timeline","tl","add","instanceParams","tlIndex","insParams","tlDuration","random","root","global","define","buildHtml","parseContent","headingsArray","tocbot","BuildHtml","ParseContent","updateTocScroll","supports","destroy","skipRendering","tocSelector","innerHTML","console","warn","scrollContainer","removeEventListener","_scrollListener","_clickListener","customOptions","source","state","scrollSmoothDuration","scrollSmoothOffset","initSmoothScrolling","_buildHtml","_parseContent","selectHeadings","contentSelector","headingSelector","nestedHeadings","nestHeadingsArray","nest","render","throttle","updateToc","disableTocScrollSync","isTop","scrollingElement","eventPhase","currentTarget","scrollEndCallback","throttleTimeout","timeout","event","disableTocAnimation","enableTocAnimation","refresh","fn","threshold","scope","deferTimer","context","Date","Function","ignoreSelector","hasInnerContainers","linkClass","extraLinkClasses","activeLinkClass","listClass","extraListClasses","isCollapsedClass","collapsibleClass","listItemClass","activeListItemClass","collapseDepth","headingsOffset","positionFixedSelector","positionFixedClass","fixedSidebarOffset","includeHtml","onClick","orderedList","headingLabelCallback","ignoreHiddenElements","headingObjectCallback","basePath","currentlyHighlighting","createEl","container","link","onclick","childNodes","node","cloneNode","textContent","nodeName","createLink","createList","isCollapsed","listElement","classes","srcElement","className","selector","parent","firstChild","posFixedEl","offsetTop","updateFixedSidebarClass","topHeader","headings","heading","getHeadingTopPos","offsetParent","tocLinks","tocLink","tocLis","tocLi","activeTocLink","li","tocLists","nextSibling","removeCollapsedFromParents","element","getLastItem","array","getHeadingLevel","getHeadingObject","HTMLElement","offsetHeight","headingLevel","String","trim","prev","curr","currentHeading","level","lastItem","counter","undefined","addNode","selectors","toc","scrollHeight","clientHeight","activeItem","pageUrl","location","hash","stripHash","href","url","lastIndexOf","charAt","jump","getElementById","substring","tabIndex","focus","idx","result_block","title_div","view_result_link","append","toggleClass","toggle_result_block"],"mappings":"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","file":"template.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/assets/themes/j1/core/js\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 0);\n","/*\n # -----------------------------------------------------------------------------\n # ~/src/template.js\n # J1 Template Javascript Core library\n #\n # Product/Info:\n # https://jekyll.one\n #\n # Copyright (C) 2021 Juergen Adams\n #\n # J1 Template is licensed under the MIT License.\n # See: https://github.com/jekyll-one-org/J1 Template/blob/master/LICENSE\n #\n # -----------------------------------------------------------------------------\n*/\n\n// -----------------------------------------------------------------------------\n// ESLint shimming\n// -----------------------------------------------------------------------------\n/* eslint-disable no-unused-vars */\n/* global window */\n\n// -----------------------------------------------------------------------------\n// Import SASS sources for HMR\n// -----------------------------------------------------------------------------\n// import '../100_template_css/scss/theme_uno/components/_footer.scss';\n// import '../100_template_css/theme_uno.css'; // <-- yes, also require (s)css. This is a Webpack thing\n\n// Core Libraries - imported|required from NODE|NPM modules\n// -----------------------------------------------------------------------------\n//\n// Following objects (framework modules) are *conditionaly* forced to be\n// exposed for run-time to the global namespace (window) by WP config\n// file (expose-loader):\n// jQuery\n// Popper ('popper.js/dist/umd/popper', https://github.com/twbs/bootstrap/issues/23381)\n// -----------------------------------------------------------------------------\n\n// Core Utilities (moved to modules)\n// -----------------------------------------------------------------------------\n// Following objects (native node modules) are *explicitely* forced to be\n// exposed for run-time to the global namespace (window).\n// -----------------------------------------------------------------------------\n// window.Cookies = require('js-cookie');\n// window.log4javascript = require('log4javascript');\n// window.parseURL = require('lite-url');\n// window.platform = require('platform');\n// window.yaml = require('js-yaml');\n// window.uuid = require('uuid/v4');\n\n// Core Libraries - build|required from SOURCE\n// -----------------------------------------------------------------------------\n\n// Following source objects|modules are *explicitely* forced to be\n// exposed for run-time to the global namespace (window).\n// -----------------------------------------------------------------------------\nwindow.j1.adapter = require('./js/adapter/adapter.js');\nwindow.j1.core = require('./js/core/core.js');\nwindow.j1.core.navigator = require('./js/navigator/navigator.js');\n// window.j1.core.cookiebar = require('./js/cookiebar/cookiebar.js');\n// window.j1.core.cookieconsent = require('./js/cookieconsent/cookieconsent.js');\nwindow.j1.core.asciidoctor = require('./js/asciidoctor/asciidoctor.js');\nwindow.j1.core.scrollSmooth = require('./js/scroll-smooth/scroll-smooth.js');\nwindow.j1.anime = require('./js/anime/anime.js'); // added for fam\n// window.j1.fam = require('./js/fam/fam.js'); // cannot used until NOT rewritten to jQuery\n\n// Following source objects|modules are *implicetly* forced to be\n// exposed for run-time to the global namespace (window).\n// -----------------------------------------------------------------------------\n//const Bootstrap = require('./js/bootstrap/bootstrap.js');\n//const J1JekyllSearch = require('./js/jekyll_search/jekyll_search.js');\nconst J1Tocbot = require('./js/tocbot/tocbot.js');\n//const J1ThemeSwitcher = require('./js/bs_theme_switcher/switcher.js');\n// const J1MmenuLight = require('./js/mmenu-light/mmenu.js');\n\n// Passing log data over Internet|SeeMe (currently NOT used)\n// -----------------------------------------------------------------------------\n// window.j1.core.log4javascript = require('./js/logger/client/webhook.js');\n\n// BMD Libraries (moved to modules)\n// -----------------------------------------------------------------------------\n// window.bootstrapMaterialDesign = require('./js/bmd/js/bmd.js');\n\n// Github Webhooks (currently NOT used)\n// -----------------------------------------------------------------------------\n// window.j1.core.webhooks = require('./js/webhooks/octokit/client.js');\n\n\n// Test|Custom modules (currently NOT used)\n// -----------------------------------------------------------------------------\n// window.j1promiseTest = require('./js/custom/test_promises.js');\n// window.j1Example = require('./js/custom/example_module.js');\n\n// BS Libraries (moved to modules)\n// -----------------------------------------------------------------------------\n// Following source objects|modules are *implicetly* forced to be\n// exposed for run-time to the global namespace (window).\n// -----------------------------------------------------------------------------\n// const Bootstrap = require('./js/bootstrap/bootstrap.js');\n\n// const J1JekyllSearch = require('./js/jekyll_search/jekyll_search.js'); // Buffer Kack\n// const J1Tocbot = require('./js/tocbot/tocbot.js');\n\n// Backstretch (moved to modules)\n// -----------------------------------------------------------------------------\n// Following source objects|modules are *implicetly* forced to be\n// exposed for run-time to the namespace of jQuery ($).\n// -----------------------------------------------------------------------------\n// const J1Attics = require('./js/backstretch/backstretch.js');\n\n// Additional Vanilla JS helpers\n// -----------------------------------------------------------------------------\nconst J1AdocResultViewer = require('./js/adoc_result_viewer/view_results.js');\n// const MSIEPolyfills = require('./js/polyfills/ms-ie.js');\n\n// HMR messages (currently NOT used)\n// -----------------------------------------------------------------------------\n// if (module.hot) {\n// var logtext;\n// var stat;\n// var stat=module.hot.status();\n//\n// logtext='[INFO ] [HMR ] [Hot Module Replacement enabled]';\n// console.log(logtext);\n// logtext='[INFO ] [HMR ] [Status: ' + stat + ']';\n// console.log(logtext);\n//\n// module.hot.accept('./template.js', function() {\n// console.log('[HMR] Accepting the updated template.js module!');\n// });\n//\n// module.hot.accept('../100_template_css/theme_uno.scss', function () {\n// console.log('[HMR] Accepting the updated style.css module!');\n// require('../100_template_css/theme_uno.scss')\n// })\n//\n// React to the current status...\n// module.hot.addStatusHandler(status => {\n// stat=module.hot.status();\n// logtext='[INFO ] [HMR ] [Status: ' + stat + ']';\n// console.log(logtext);\n// });\n//}\n\n// -----------------------------------------------------------------------------\n// END\n","/*\n # -----------------------------------------------------------------------------\n # ~/js/adapter/adapter.js\n # Provides an empty object for later loaded adapter objects\n #\n # Product/Info:\n # https://jekyll.one\n #\n # Copyright (C) 2021 Juergen Adams\n #\n # J1 Template is licensed under MIT License.\n # See: https://github.com/jekyll-one-org/J1 Template/blob/master/LICENSE\n # -----------------------------------------------------------------------------\n*/\n'use strict';\n\n// -----------------------------------------------------------------------------\n// ESLint shimming\n// -----------------------------------------------------------------------------\n/* eslint indent: \"off\" */\n/* eslint no-unused-vars: \"off\" */\n/* eslint no-undef: \"off\" */\n// -----------------------------------------------------------------------------\n\n/*!\n * J1 Adapter\n * Copyright (C) 2021 Juergen Adams\n * Licensed under MIT License.\n */\nmodule.exports = (function ( j1, window ) {\n return {\n\n // -------------------------------------------------------------------------\n // _init_\n // Global initializer for the adapter object\n // -------------------------------------------------------------------------\n _init_: function () {\n return;\n } // END _init_\n\n }; // END return\n\n})( j1, window );\n","/*\n # -----------------------------------------------------------------------------\n # ~/js/j1_template/core.js\n # Provides an empty object for later loaded core objects\n #\n # Product/Info:\n # https://jekyll.one\n # http://getbootstrap.com/\n #\n # Copyright (C) 2021 Juergen Adams\n #\n # J1 Template is licensed under MIT License.\n # See: https://github.com/jekyll-one-org/J1 Template/blob/master/LICENSE\n # -----------------------------------------------------------------------------\n*/\n'use strict';\n\n// -----------------------------------------------------------------------------\n// ESLint shimming\n// -----------------------------------------------------------------------------\n/* eslint indent: \"off\" */\n/* eslint no-unused-vars: \"off\" */\n/* eslint no-undef: \"off\" */\n// -----------------------------------------------------------------------------\n\n// module.exports = function core ( options ) {\n/*!\n * J1 Core\n * Copyright (C) 2021 Juergen Adams\n * Licensed under MIT License.\n */\nmodule.exports = (function (options) {\n\n // ---------------------------------------------------------------------------\n // Global variables\n // ---------------------------------------------------------------------------\n // var messageCatalog = {};\n // var state;\n // var logger;\n // var logText;\n\n // ---------------------------------------------------------------------------\n // Default settings\n // ---------------------------------------------------------------------------\n var settings = $.extend({\n foo: 'foo_option',\n bar: 'bar_option'\n }, options );\n\n var state = 'loaded';\n\n return {\n\n // -------------------------------------------------------------------------\n // _init_\n // Global initializer for the core object\n // -------------------------------------------------------------------------\n _init_: function (options) {\n\n //\n // Place handling of options here\n //\n\n return;\n }, // END _init_\n\n // -------------------------------------------------------------------------\n // Returns the current (processing) state of the module\n // -------------------------------------------------------------------------\n getState: function () {\n return state;\n }, // END state\n\n // -------------------------------------------------------------------------\n // isMobile\n // Return true if the current platform is a mobile device\n // -------------------------------------------------------------------------\n isMobile: function (ua_name) {\n var mobile = false;\n (function(a){if(/(android|bb\\d+|meego).+mobile|avantgo|bada\\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(a)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw-(n|u)|c55\\/|capi|ccwa|cdm|cell|chtm|cldc|cmd|co(mp|nd)|craw|da(it|ll|ng)|dbte|dcs|devi|dica|dmob|do(c|p)o|ds(12|d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(|_)|g1 u|g560|gene|gf5|gmo|go(\\.w|od)|gr(ad|un)|haie|hcit|hd(m|p|t)|hei|hi(pt|ta)|hp( i|ip)|hsc|ht(c(| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i(20|go|ma)|i230|iac( ||\\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\\/)|klon|kpt |kwc|kyo(c|k)|le(no|xi)|lg( g|\\/(k|l|u)|50|54|[a-w])|libw|lynx|m1w|m3ga|m50\\/|ma(te|ui|xo)|mc(01|21|ca)|mcr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|([1-8]|c))|phil|pire|pl(ay|uc)|pn2|po(ck|rt|se)|prox|psio|ptg|qaa|qc(07|12|21|32|60|[2-7]|i)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h|oo|p)|sdk\\/|se(c(|0|1)|47|mc|nd|ri)|sgh|shar|sie(|m)|sk0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h|v|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl|tdg|tel(i|m)|tim|tmo|to(pl|sh)|ts(70|m|m3|m5)|tx9|up(\\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas|your|zeto|zte/i.test(a.substr(0,4))) mobile = true;})(navigator.userAgent||navigator.vendor||window.opera);\n return mobile;\n }, // END isMobile\n\n // -------------------------------------------------------------------------\n // Clear button for input fields (forms)\n // -------------------------------------------------------------------------\n bsFormClearButton: function () {\n// $('.position-relative :input').on('keydown focus', function() {\n $(':input').on('keydown focus change mouseover', function() {\n if ($(this).val().length > 0) {\n $(this).nextAll('.form-clear').removeClass('d-none');\n }\n }).on('keydown keyup blur', function() {\n if ($(this).val().length === 0) {\n $(this).nextAll('.form-clear').addClass('d-none');\n }\n });\n\n // $('.form-clear').on('click', function() {\n // $(this).addClass('d-none').prevAll(':input').val('');\n // // hide|clear results from top search\n // $('#search-results').hide();\n // $('#search-results').html('');\n // });\n }\n\n }; // end return (object)\n\n//})( jQuery, window );\n})(); // END IFFE\n","/*\n # -----------------------------------------------------------------------------\n # ~/js/navigator/navigator.js\n # Provides all JavaScript core functions for J1 Navigator\n #\n # Product/Info:\n # https://jekyll.one\n # https://github.com/adamnurdin01/navigator\n #\n # Copyright (C) 2021 Juergen Adams\n # Copyright (C) 2016 adamnurdin01\n #\n # J1 Template is licensed under MIT License.\n # See: https://github.com/jekyll-one-org/J1 Template/blob/master/LICENSE\n # Bootsnav is licensed under MIT License.\n # See: https://github.com/adamnurdin01/navigator\n #\n # -----------------------------------------------------------------------------\n # NOTE:\n # jadams, 2020-06-21:\n # J1 Navigator needs a general revision on BS4 code and functionalities\n # Current, only base function are tested with BS4 (was coded for BS3)\n # -----------------------------------------------------------------------------\n*/\n\n// -----------------------------------------------------------------------------\n// ESLint shimming\n// -----------------------------------------------------------------------------\n/* eslint indent: \"off\" */\n/* eslint no-unused-vars: \"off\" */\n/* eslint no-undef: \"off\" */\n// -----------------------------------------------------------------------------\n\n// -----------------------------------------------------------------------------\n// TODO: Height of dropdowns are to be limited in general\n\n// -----------------------------------------------------------------------------\n// Navigator core registered as 'j1.core.navigator'\n// -----------------------------------------------------------------------------\n\nmodule.exports = function navigator ( options ) {\n\n // ---------------------------------------------------------------------------\n // global vars\n // ---------------------------------------------------------------------------\n var message = {};\n var state;\n var logger;\n var logText;\n\n // -----------------------------------------------------------------------\n // default settings\n // -----------------------------------------------------------------------\n var settings = $.extend ({\n foo: 'bar',\n bar: 'foo',\n }, options );\n\n // ---------------------------------------------------------------------------\n // main object\n // ---------------------------------------------------------------------------\n return {\n\n // -------------------------------------------------------------------------\n // module initializer\n // -------------------------------------------------------------------------\n init: function( defaultOptions, menuOptions ) {\n logger = log4javascript.getLogger('j1.core.navigator');\n logText = 'core is being initialized';\n\n logger.info(logText);\n this.manageDropdownMenu(defaultOptions, menuOptions);\n this.navbarSticky();\n this.eventHandler(); // jadams, 2021-07-03: initialize events early\n\n message.type = 'command';\n message.action = 'core_initialized';\n message.text = 'navigator core initialized';\n j1.sendMessage( 'j1.core.navigator', 'j1.adapter.navigator', message );\n\n return true;\n },\n\n // -------------------------------------------------------------------------\n // event handler\n // -------------------------------------------------------------------------\n eventHandler: function() {\n var logger = log4javascript.getLogger('j1.core.navigator.eventHandler');\n var $getNav = $('nav.navbar.navigator');\n var json_data;\n // const seeMe = 'https://smee.io/wlNIFNiJN0GClm2';\n // const middleware = 'localhost:5000/state';\n // const web_server_dev = 'http://localhost:41000/status';\n // const utility_server = 'http://localhost:41001/git?request=pull';\n // var sender = seeMe;\n // var payload;\n\n // if (j1.checkUserAgent('IE') || j1.checkUserAgent('Edge')) {\n // logger.warn('HTML5 server side events (SSE) not supported for: ' + userAgent);\n // logger.warn('Middleware messages disabled');\n // } else {\n // const middleware_status = new EventSource(sender);\n //\n // // -----------------------------------------------------------------------\n // // middleware event handler ( SSE currently NOT used)\n // // -----------------------------------------------------------------------\n // middleware_status.onmessage = (event) => {\n // const payload = JSON.parse(event.data);\n //\n // logger.debug('middleware: event received');\n //\n // json_data = JSON.stringify(payload, undefined, 2);\n // logText = 'payload: ' + json_data;\n // logger.debug(logText);\n //\n // message.type = 'command';\n // message.action = 'status';\n // message.text = payload;\n // j1.sendMessage( 'j1.core.navigator', 'j1.adapter.navigator', message );\n //\n // return true;\n // }; // END event onMessage\n // }\n\n // bind click event to all links with \"#\" to suppress default action\n // See: https://stackoverflow.com/questions/134845/which-href-value-should-i-use-for-javascript-links-or-javascriptvoid0\n //\n $('a[href=\"#\"]').click(function(e) {\n e.preventDefault ? e.preventDefault() : e.returnValue = false;\n logger.info('bound click event to \"#\", suppress default action');\n });\n\n // -----------------------------------------------------------------------\n // Navbar Sticky\n // -----------------------------------------------------------------------\n var navSticky = $getNav.hasClass('navbar-sticky');\n if( navSticky ){\n // Wraped navigation\n $getNav.wrap('<div class=\\'wrap-sticky\\'></div>');\n }\n\n // -----------------------------------------------------------------------\n // Navbar Center\n // -----------------------------------------------------------------------\n if( $getNav.hasClass('brand-center') ){\n var postsArr = new Array();\n var index = $('nav.brand-center');\n var $postsList = index.find('ul.navbar-nav');\n\n //Create array of all posts in lists\n index.find('ul.navbar-nav > li').each(function(){\n postsArr.push($(this).html());\n });\n\n // Split the array at this point. The original array is altered.\n var firstList = postsArr.splice(0, Math.round(postsArr.length / 2));\n var secondList = postsArr;\n var ListHTML = '';\n\n var createHTML = function(list) {\n ListHTML = '';\n for (var i = 0; i < list.length; i++) {\n ListHTML += '<li>' + list[i] + '</li>';\n }\n };\n\n // Generate HTML for first list\n createHTML(firstList);\n $postsList.html(ListHTML);\n index.find('ul.nav').first().addClass('navbar-left');\n\n // Generate HTML for second list\n createHTML(secondList);\n //Create new list after original one\n $postsList.after('<ul class=\"nav navbar-nav\"></ul>').next().html(ListHTML);\n index.find('ul.nav').last().addClass('navbar-right');\n\n // Wrap navigation menu\n index.find('ul.nav.navbar-left').wrap('<div class=\\'col_half left\\'></div>');\n index.find('ul.nav.navbar-right').wrap('<div class=\\'col_half right\\'></div>');\n\n // Selection Class\n index.find('ul.navbar-nav > li').each(function() {\n var dropDown = $('ul.dropdown-menu', this),\n megaMenu = $('ul.megamenu-content', this);\n dropDown.closest('li').addClass('dropdown');\n megaMenu.closest('li').addClass('megamenu-fw');\n });\n }\n\n // -----------------------------------------------------------------------\n // Menu Center\n // -----------------------------------------------------------------------\n if( $getNav.find('ul.nav').hasClass('navbar-center')) {\n $getNav.addClass('menu-center');\n }\n\n // -----------------------------------------------------------------------\n // Navbar Full\n // -----------------------------------------------------------------------\n if( $getNav.hasClass('navbar-full')) {\n // Add Class to body\n $('nav.navbar.navigator').find('ul.nav').wrap('<div class=\\'wrap-full-menu\\'></div>');\n $('.wrap-full-menu').wrap('<div class=\\'nav-full\\'></div>');\n $('ul.nav.navbar-nav').prepend('<li class=\\'close-full-menu\\'><a href=\\'#\\'><i class=\\'mdi mdi-close\\'></i></a></li>');\n } else if( $getNav.hasClass('navbar-mobile') ) {\n $getNav.removeClass('no-full');\n } else {\n $getNav.addClass('no-full');\n }\n\n // -----------------------------------------------------------------------\n // Navbar Fixed\n // -----------------------------------------------------------------------\n if( $getNav.hasClass('no-background') ) {\n $(window).on('scroll', function() {\n var navbarHeighth = $('nav.navbar').outerHeight();\n var scrollPos = $(window).scrollTop();\n\n if (scrollPos > navbarHeighth) {\n $('.navbar-fixed').removeClass('no-background');\n } else {\n $('.navbar-fixed').addClass('no-background');\n }\n });\n }\n\n if( $getNav.hasClass('navbar-transparent') ) {\n $(window).on('scroll', function() {\n var navbarHeighth = $('nav.navbar').outerHeight();\n var scrollPos = $(window).scrollTop();\n\n if (scrollPos > navbarHeighth) {\n $('.navbar-fixed').removeClass('navbar-transparent');\n $('.navbar-fixed').addClass('navbar-scrolled');\n } else {\n $('.navbar-fixed').removeClass('navbar-scrolled');\n $('.navbar-fixed').addClass('navbar-transparent');\n }\n });\n }\n\n // -----------------------------------------------------------------------\n // Toggle Search\n // https://stackoverflow.com/questions/178325/how-do-i-check-if-an-element-is-hidden-in-jquery\n // https://stackoverflow.com/questions/4770025/how-to-disable-scrolling-temporarily\n // https://stackoverflow.com/questions/5963669/whats-the-difference-between-event-stoppropagation-and-event-preventdefault\n // -----------------------------------------------------------------------\n// $('nav.navbar.navigator .attr-nav').each(function() {\n $('.attr-nav').each(function() {\n logger.debug('register OPEN event|s for QuickSearch');\n $('li.search > a', this).on('click', function(e) {\n // e.preventDefault(); // don't do the default browser action\n logger.debug('manage search action OPEN');\n $('html,body').animate({scrollTop: 0}, 0);\n $('.top-search').slideToggle('slow', 'swing', function() {\n if ( $('.top-search').is(':visible') ) {\n // disable scrolling (desktop)\n $('body').addClass('stop-scrolling');\n // disable scrolling (mobile)\n $('body').bind('touchmove', function(e){e.preventDefault();});\n } else {\n // enable scrolling (desktop)\n $('body').removeClass('stop-scrolling');\n // enable scrolling (mobile)\n $('body').unbind('touchmove');\n }\n });\n // e.stopPropagation(); // don't bubble up the event\n });\n });\n logger.debug('register CLOSE event|s for QuickSearch');\n $('.input-group-addon.close-search').on('click', function(e) {\n e.preventDefault(); // don't do the default browser action\n logger.debug('manage search action CLOSE');\n $('.top-search').slideUp('slow', 'swing');\n $('html,body').animate({scrollTop: 0}, 0);\n // enable scrolling (desktop)\n $('body').removeClass('stop-scrolling');\n // enable scrolling (mobile)\n $('body').unbind('touchmove');\n e.stopPropagation(); // don't bubble up the event\n });\n\n // -----------------------------------------------------------------------\n // Toggle Translator SHOW|HIDE\n // -----------------------------------------------------------------------\n $('nav.navbar.navigator .attr-nav').each(function() {\n logger.debug('register SHOW|HIDE event|s for J1 Translator');\n $('li.translator > a', this).on('click', function(e) {\n // e.preventDefault(); // don't do the default browser action\n // window.location.reload(true);\n logger.debug('toggle translator icon SHOW|HIDE');\n // See: https://api.jquery.com/toggle/\n // With no parameters, the .toggle() method simply toggles the visibility of elements\n $('#google_translate_element').toggle();\n if ($('#google_translate_element').css('display') !== 'none') {\n $('html,body').animate({scrollTop: 0}, 'slow');\n }\n // e.stopPropagation(); // don't bubble up the event\n });\n });\n\n // -----------------------------------------------------------------------\n // Wrapper\n // -----------------------------------------------------------------------\n $('body').wrapInner( '<div class=\\'wrapper\\'></div>');\n\n }, // end event\n\n // -------------------------------------------------------------------------\n // Manage the Menu Dropdowns for Desktop|Mobile\n // -------------------------------------------------------------------------\n manageDropdownMenu : function( defaultOptions, menuOptions ) {\n\n var navDefaultOptions = defaultOptions;\n var navMenuOptions = menuOptions;\n\n var $getNav = $('nav.navbar.navigator');\n var $windowOrientation = window.matchMedia('(orientation: landscape)').matches ? 'landscape' : 'portrait';\n var $getWindow = $(window).width();\n var $getNavWidth = $('nav').width();\n var $getIn = $getNav.find('ul.nav').data('in');\n var $getOut = $getNav.find('ul.nav').data('out');\n\n var menuSelector = '#' +navMenuOptions.xhr_container_id+ '.collapse';\n var delayMenuOpen = navMenuOptions.delay_menu_open;\n\n var $menu;\n var breakPoint;\n var $dropDown;\n var timeoutHandle;\n\n // BS4 @media MAX breakpoints\n // NOTE: a media query is always a range\n // -----------------------------------------------------------------------\n var gridBreakpoint_lg = 992; // bs-breakpoint-lg\n var gridBreakpoint_md = 768; // bs-breakpoint-md\n var gridBreakpoint_sm = 576; // bs-breakpoint-sm\n\n // BS4 @media MIN breakpoints\n // -----------------------------------------------------------------------\n // NOTE: a media query is always a range\n // var gridBreakpoint_lg = 991;\n // var gridBreakpoint_md = 767;\n // var gridBreakpoint_sm = 575;\n\n // @media ranges\n // -----------------------------------------------------------------------\n var small_range = {min: '0em', max: '40em'}; /* 0, 640px */\n var medium_range = {min: '40.063em', max: '64em'}; /* 641px, 1024px */\n var large_range = {min: '64.063em', max: '90em'}; /* 1025px, 1440px */\n var xlarge_range = {min: '90.063em', max: '120em'}; /* 1441px, 1920px */\n var xxlarge_range = {min: '120.063em'}; /* 1921px */\n\n\n // jadams, 2019-05-01: Set Media Breakpoint for Desktop|Mobile Navigation\n if ( navDefaultOptions.nav_bar.media_breakpoint === 'lg' ) {\n breakPoint = gridBreakpoint_lg;\n } else if ( navDefaultOptions.nav_bar.media_breakpoint === 'md' ) {\n breakPoint = gridBreakpoint_md;\n } else if ( navDefaultOptions.nav_bar.media_breakpoint === 'sm' ) {\n breakPoint = gridBreakpoint_sm;\n } else{\n breakPoint = gridBreakpoint_lg;\n }\n\n // -----------------------------------------------------------------------\n // Tablet or Mobile\n // NOTE:\n // Managing the mobile menu is moved to MMenu Plugin\n // Only base functions like QuickLinks are managed by\n // J1 Navigator\n // -----------------------------------------------------------------------\n // MIN media breakpoint\n if ( $getWindow <= breakPoint ) {\n\n // Collapse Navbar\n $(menuSelector).addClass('navbar-collapse');\n $(menuSelector).removeClass('show'); //\n $('#navigator_nav_quicklinks').addClass('show');\n\n // Enable click Quicklink Navigation\n $('nav.navbar.navigator .attr-nav').each(function() {\n $('.dropdown-menu', this).removeClass('animated');\n $('li.dropdown', this).off('mouseenter');\n $('li.dropdown', this).off('mouseleave');\n $('a.dropdown-toggle', this).off('click');\n $('a.dropdown-toggle', this).on('click', function (e) {\n // e.stopPropagation(); // don't bubble up the event\n $(this).closest('li.dropdown').find('.dropdown-menu').first().stop().fadeToggle();\n $('.navbar-toggle').each(function(){\n $('.mdi', this).removeClass('mdi-close');\n $('.mdi', this).addClass('mdi-menu');\n $('.navbar-collapse').removeClass('in');\n $('.navbar-collapse').removeClass('open');\n });\n });\n\n $(this).on('mouseleave', function(){\n $('.dropdown-menu', this).stop().fadeOut();\n $('li.dropdown', this).removeClass('open');\n // return false;\n });\n });\n\n $('#desktop_menu').hide();\n\n // -----------------------------------------------------------------------\n // Desktop Navigation does NOT work on physical devices like iPad|Pro\n // Config DISABLED\n //\n// } else if ( $getWindow > breakPoint || $getWindow <= 1024 && $windowOrientation == 'portrait' ) {\n } else if ( $getWindow > breakPoint ) {\n // -----------------------------------------------------------------------\n // Desktop\n // -----------------------------------------------------------------------\n $('#navigator_nav_quicklinks').removeClass('show');\n $('#desktop_menu').show();\n\n // jadams, 2021-03-05: manage dropdown menus\n // ---------------------------------------------------------------------\n\n $('.dropdown-menu > li').on('mouseenter', function(){\n if ($('body').hasClass('stop-scrolling')){\n return false;\n } else {\n $('body').addClass('stop-scrolling');\n }\n });\n\n $('.dropdown-menu > li').on('mouseleave', function(){\n // stop scrolling if top search or any (mmenu) drawer is opened\n if ($('body').hasClass('stop-scrolling')){\n $('body').removeClass('stop-scrolling');\n }\n });\n\n // limit the dropdown menu lenght if needed\n $('.dropdown-menu > li').hover(function() {\n var $container = $(this);\n var $list = $container.find('ul');\n\n // limit LAST menu ONLY\n //\n if ( $list.length == 1 ) {\n $list.addClass('scrollable-menu');\n }\n });\n\n // jadams, 2021-03-06: Enable|Show Desktop Menu|s\n //\n $(menuSelector).removeClass('navbar-collapse');\n $(menuSelector).addClass('show');\n\n // Navbar Sidebar\n // jadams, 2021-03-05: Sidebar NOT used anymore\n\n // Open Desktop Menu|s on hover\n //\n $('nav.navbar.navigator ul.nav').each(function() {\n $('a.dropdown-toggle', this).off('click');\n $('a.dropdown-toggle', this).on('click', function (e) {\n // e.stopPropagation(); // don't bubble up the event\n });\n\n $('.megamenu-fw', this).each(function(){\n $('.title', this).off('click');\n $('a.dropdown-toggle', this).off('click');\n $('.content').removeClass('animated');\n });\n $('.dropdown-menu', this).addClass('animated');\n\n $('li.dropdown', this).on('mouseenter', function(){\n $menu = $('.dropdown-menu', this).eq(0);\n $dropDown = $(this);\n\n $menu.removeClass($getOut);\n $menu.removeClass('open');\n $dropDown.addClass('open');\n // Get|Set the timeout object to delay the dropdown open\n timeoutHandle = window.setTimeout(function () {\n if ($dropDown.hasClass('open')){\n $menu.stop().fadeIn().addClass($getIn);\n $menu.addClass('open');\n $dropDown.addClass('open');\n }\n }, delayMenuOpen);\n });\n\n $('li.dropdown', this).on('mouseleave', function(){\n window.clearTimeout(timeoutHandle); // Clear the timeout object\n $(this).removeClass('open').removeClass('open');\n\n $('.dropdown-menu', this).removeClass('open');\n $('.dropdown-menu', this).eq(0).removeClass($getIn);\n $('.dropdown-menu', this).eq(0).stop().fadeOut().addClass($getOut);\n });\n\n $(this).on('mouseleave', function(){\n window.clearTimeout(timeoutHandle);\n $('li.dropdown', this).removeClass('open');\n $('.dropdown-menu', this).removeClass('open');\n $('.dropdown-menu', this).removeClass($getIn);\n $('.dropdown-menu', this).eq(0).stop().fadeOut().addClass($getOut);\n });\n }); // END Desktop Menu\n\n } // end Desktop\n\n // -----------------------------------------------------------------------\n // Hover Open on Quicklink Navigation\n // -----------------------------------------------------------------------\n $('nav.navbar.navigator .attr-nav').each(function() {\n\n $('a.dropdown-toggle', this).off('click');\n $('a.dropdown-toggle', this).on('click', function (e) {\n // e.stopPropagation(); // don't bubble up the event\n });\n\n $('.dropdown-menu', this).addClass('animated');\n $('li.dropdown', this).on('mouseenter', function(){\n $('.dropdown-menu', this).eq(0).removeClass($getOut);\n $('.dropdown-menu', this).eq(0).stop().fadeIn().addClass($getIn);\n $(this).addClass('open');\n //return false;\n });\n\n $('li.dropdown', this).on('mouseleave', function(){\n $('.dropdown-menu', this).eq(0).removeClass($getIn);\n $('.dropdown-menu', this).eq(0).stop().fadeOut().addClass($getOut);\n $(this).removeClass('open');\n });\n\n $(this).on('mouseleave', function(){\n $('.dropdown-menu', this).removeClass($getIn);\n $('.dropdown-menu', this).eq(0).stop().fadeOut().addClass($getOut);\n $('li.dropdown', this).removeClass('open');\n //return false;\n });\n });\n\n // -----------------------------------------------------------------------\n // Fullscreen Menu\n // -----------------------------------------------------------------------\n if( $getNav.hasClass('navbar-full')){\n var windowHeight = $(window).height(),\n windowWidth = $(window).width();\n\n $('.nav-full').css('height', windowHeight + 'px');\n $('.wrap-full-menu').css('height', windowHeight + 'px');\n $('.wrap-full-menu').css('width', windowWidth + 'px');\n\n $('.navbar-collapse').addClass('animated');\n $('.navbar-toggle').each(function(){\n var getId = $(this).data('target');\n $(this).off('click');\n $(this).on('click', function(e){\n e.preventDefault();\n $(getId).removeClass($getOut);\n $(getId).addClass('in');\n $(getId).addClass($getIn);\n // e.stopPropagation(); // don't bubble up the event\n // return false;\n });\n\n $('li.close-full-menu').on('click', function(e){\n e.preventDefault();\n $(getId).addClass($getOut);\n setTimeout(function(){\n $(getId).removeClass('in');\n $(getId).removeClass($getIn);\n }, 500);\n //e.stopPropagation(); // don't bubble up the event\n // return false;\n });\n });\n }\n }, // end manageDropdownMenu\n\n // -------------------------------------------------------------------------\n // Sticky Navbar\n // -------------------------------------------------------------------------\n navbarSticky : function() {\n var $getNav = $('nav.navbar.navigator'),\n navSticky = $getNav.hasClass('navbar-sticky');\n\n if (navSticky) {\n // Set Height Navigation\n var $getHeight = $getNav.height();\n $('.wrap-sticky').height($getHeight);\n\n // Windown on scroll\n var getOffset = $('.wrap-sticky').offset().top;\n $(window).on('scroll', function(){\n var scrollTop = $(window).scrollTop();\n if(scrollTop > getOffset){\n $getNav.addClass('sticked');\n }else {\n $getNav.removeClass('sticked');\n }\n });\n }\n }, // end navbarSticky\n\n // -------------------------------------------------------------------------\n // updateSidebar\n // Note:\n // -------------------------------------------------------------------------\n updateSidebar: function (user_data) {\n var logger = log4javascript.getLogger('j1.core.navigator.updateSidebar');\n var json_message;\n\n// json_message = JSON.stringify(user_data, undefined, 2); // multiline\n json_message = JSON.stringify(user_data);\n logText = 'user state data: ' + json_message;\n logger.debug(logText);\n\n // Replace Macro placeholders to values\n j1.resolveMacros(user_data);\n // Replace Macro values only\n j1.updateMacros(user_data);\n\n return true;\n\n }, // END updateSidebar\n\n }; // end return (object)\n}( jQuery );\n","/*\n # -----------------------------------------------------------------------------\n # ~200_template_js/js/asciidoctor/asciidoctor.js\n # Provides JS functions to (dynamically) modify Asciidoctor HTML elements\n #\n # Product/Info:\n # http://jekyll.one\n #\n # Copyright (C) 2021 Juergen Adams\n #\n # J1 Template is licensed under MIT License.\n # See: https://github.com/jekyll-one/J1 Template/blob/master/LICENSE\n # -----------------------------------------------------------------------------\n # NOTE:\n # -----------------------------------------------------------------------------\n*/\n\n// -----------------------------------------------------------------------------\n// ESLint shimming\n// -----------------------------------------------------------------------------\n/* eslint no-unused-vars: \"off\" */\n/* eslint no-undef: \"off\" */\n/* eslint no-redeclare: \"off\" */\n/* global window */\n\n// TODO:\n\n// -----------------------------------------------------------------------------\n// J1 Asciidoctor registered as \"asciidoctor\"\n// -----------------------------------------------------------------------------\n/*!\n * J1 Asciidoctor\n * Copyright (C) 2021 Juergen Adams\n * Licensed under MIT License.\n */\nmodule.exports = function asciidoctor (options) {\n\n return {\n\n // -------------------------------------------------------------------------\n // module initializer\n // -------------------------------------------------------------------------\n init: function (options) {\n\n var moduleOptions = options;\n var logger = log4javascript.getLogger('j1.core.asciidoctor');\n\n var moduleDefaults = {\n dummyOption: false, // placeholder\n };\n var options = $.extend(moduleDefaults,moduleOptions);\n\n logText = 'J1 Asciidoctor is being initialized';\n logger.info(logText);\n\n this.callouts();\n\n }, // end initializer\n\n // -------------------------------------------------------------------------\n // manage callouts (HTML)\n // -------------------------------------------------------------------------\n // see: https://stackoverflow.com/questions/19393493/add-colgroup-for-each-table-column\n callouts: function( options ) {\n var colgroupList = '';\n\n // If the colist does not have a <colgroup> structure\n //\n \tif($('.colist > table > colgroup').length == 0) {\n colgroupList += '<!-- [INFO ] [j1.core.asciidoctor ] [ place a colgroup dynamically ] -->' + '\\n';\n colgroupList += '<colgroup> <col style=\"width: 5%;\"> <col style=\"width: 95%;\"> </colgroup>';\n \t\t$(\".colist > table\").prepend(colgroupList);\n }\n\n }, // end callouts\n\n // -------------------------------------------------------------------------\n // manage callouts (HTML)\n // -------------------------------------------------------------------------\n conums: function( options ) {\n var dependencies_met_page_finished = setInterval(function() {\n if (j1.getState() == 'finished') {\n // If the colist does not have a <colgroup> structure\n \tif($('.colist > table > colgroup').length == 0) {\n\n \t\tvar colgroupList = '';\n colgroupList += '<colgroup> <col style=\"width: 5%;\"> <col style=\"width: 95%;\"> </colgroup>';\n\n \t\t$(\".colist > table\").prepend(colgroupList);\n clearInterval(dependencies_met_page_finished);\n \t}\n }\n });\n }, // end conums\n\n }; // END return\n}( jQuery );\n","/*\n # -----------------------------------------------------------------------------\n # ~/js/scroll-smooth/scroll-smooth.js\n # Provides Javascript functions for smooth scrolling\n #\n # Product/Info:\n # http://jekyll.one\n #\n # Copyright (C) 2020 Juergen Adams\n #\n # J1 Template is licensed under the MIT License.\n # See: https://github.com/jekyll-one-org/J1 Template/blob/master/LICENSE\n # -----------------------------------------------------------------------------\n*/\n'use strict';\n\n// -----------------------------------------------------------------------------\n// ESLint shimming\n// -----------------------------------------------------------------------------\n/* eslint indent: \"off\" */\n/* eslint no-unused-vars: \"off\" */\n/* eslint no-undef: \"off\" */\n/* eslint no-redeclare: \"off\" */\n/* eslint indent: \"off\" */\n// -----------------------------------------------------------------------------\n\n// -----------------------------------------------------------------------------\n// scrollSmooth core registered as \"scrollSmooth\"\n// -----------------------------------------------------------------------------\nmodule.exports = function scrollSmooth ( options ) {\n\n // Default settings\n var settings = $.extend({\n foo: 'foo_option',\n bar: 'bar_option'\n }, options );\n\n // -----------------------------------------------------------------------\n // Helper functions\n // -----------------------------------------------------------------------\n function stripHash (url) {\n return url.slice(0, url.lastIndexOf('#'));\n }\n\n function isCssSmoothScrollSupported () {\n return 'scrollBehavior' in document.documentElement.style;\n }\n\n return {\n // -------------------------------------------------------------------------\n // Initialize scrollSmooth\n // -------------------------------------------------------------------------\n scroll: function ( target, options ) {\n\n var logger;\n var logText;\n\n logger = log4javascript.getLogger('j1.core.scrollSmooth');\n\n // indicator|check currently NOT used\n // if (isCssSmoothScrollSupported()) { }\n\n logText = 'run module scrollSmooth';\n logger.info(logText);\n\n var duration = options.duration;\n var offset = options.offset;\n\n // var pageUrl = options.location.hash\n // ? stripHash(options.location.href)\n // : options.location.href;\n\n this.scrollTo(target, {\n duration: duration,\n offset: offset,\n callback: null\n });\n\n logText = 'scrollSmooth finished';\n logger.info(logText);\n },\n\n // -------------------------------------------------------------------------\n // scrollTo\n // -------------------------------------------------------------------------\n scrollTo: function ( target, options ) {\n var start = window.pageYOffset;\n var opt = {\n duration: options.duration,\n offset: options.offset || 0,\n callback: options.callback,\n easing: options.easing || easeInOutQuad\n };\n\n // This makes ids that start with a number work: ('[id=\"' + decodeURI(target).split('#').join('') + '\"]')\n // DecodeURI for nonASCII hashes, they was encoded, but id was not encoded, it lead to not finding the tgt element by id.\n // And this is for IE: document.body.scrollTop\n var tgt = document.querySelector('[id=\"' + decodeURI(target).split('#').join('') + '\"]');\n var distance = typeof target === 'string'\n ? opt.offset + (\n target\n ? (tgt && tgt.getBoundingClientRect().top) || 0 // handle non-existent links better.\n : -(document.documentElement.scrollTop || document.body.scrollTop))\n : target;\n var duration = typeof opt.duration === 'function'\n ? opt.duration(distance)\n : opt.duration;\n var timeStart;\n var timeElapsed;\n\n requestAnimationFrame(function (time) { timeStart = time; loop(time); });\n function loop (time) {\n timeElapsed = time - timeStart;\n\n window.scrollTo(0, opt.easing(timeElapsed, start, distance, duration));\n\n if (timeElapsed < duration) { requestAnimationFrame(loop); } else { end(); }\n }\n\n function end () {\n window.scrollTo(0, start + distance);\n\n // jadams, 2020-07-04: on (some?) mobile devices, the navbar\n // background is NOT switched (always?) correctly on a\n // page RELOAD.\n //\n // Solution: scroll the page one pixel back and forth (trigger)\n // to get the right position for the Toccer and adjust the\n // Navigator to display the (tranparent) navbar correctly based\n // on their onscroll events registered.\n //\n $(window).scrollTop($(window).scrollTop()+1);\n $(window).scrollTop($(window).scrollTop()-1);\n\n if (typeof opt.callback === 'function') { opt.callback(); }\n }\n\n // Robert Penner's easeInOutQuad - http://robertpenner.com/easing/\n function easeInOutQuad (t, b, c, d) {\n t /= d / 2;\n if (t < 1) return c / 2 * t * t + b;\n t--;\n return -c / 2 * (t * (t - 2) - 1) + b;\n }\n } // END scrollTo\n\n }; // END return\n}( jQuery );\n","/*\n * anime.js v3.2.0\n * (c) 2020 Julian Garnier\n * Released under the MIT license\n * animejs.com\n */\n\n'use strict';\n\n// Defaults\n\nvar defaultInstanceSettings = {\n update: null,\n begin: null,\n loopBegin: null,\n changeBegin: null,\n change: null,\n changeComplete: null,\n loopComplete: null,\n complete: null,\n loop: 1,\n direction: 'normal',\n autoplay: true,\n timelineOffset: 0\n};\n\nvar defaultTweenSettings = {\n duration: 1000,\n delay: 0,\n endDelay: 0,\n easing: 'easeOutElastic(1, .5)',\n round: 0\n};\n\nvar validTransforms = ['translateX', 'translateY', 'translateZ', 'rotate', 'rotateX', 'rotateY', 'rotateZ', 'scale', 'scaleX', 'scaleY', 'scaleZ', 'skew', 'skewX', 'skewY', 'perspective', 'matrix', 'matrix3d'];\n\n// Caching\n\nvar cache = {\n CSS: {},\n springs: {}\n};\n\n// Utils\n\nfunction minMax(val, min, max) {\n return Math.min(Math.max(val, min), max);\n}\n\nfunction stringContains(str, text) {\n return str.indexOf(text) > -1;\n}\n\nfunction applyArguments(func, args) {\n return func.apply(null, args);\n}\n\nvar is = {\n arr: function (a) { return Array.isArray(a); },\n obj: function (a) { return stringContains(Object.prototype.toString.call(a), 'Object'); },\n pth: function (a) { return is.obj(a) && a.hasOwnProperty('totalLength'); },\n svg: function (a) { return a instanceof SVGElement; },\n inp: function (a) { return a instanceof HTMLInputElement; },\n dom: function (a) { return a.nodeType || is.svg(a); },\n str: function (a) { return typeof a === 'string'; },\n fnc: function (a) { return typeof a === 'function'; },\n und: function (a) { return typeof a === 'undefined'; },\n hex: function (a) { return /(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(a); },\n rgb: function (a) { return /^rgb/.test(a); },\n hsl: function (a) { return /^hsl/.test(a); },\n col: function (a) { return (is.hex(a) || is.rgb(a) || is.hsl(a)); },\n key: function (a) { return !defaultInstanceSettings.hasOwnProperty(a) && !defaultTweenSettings.hasOwnProperty(a) && a !== 'targets' && a !== 'keyframes'; }\n};\n\n// Easings\n\nfunction parseEasingParameters(string) {\n var match = /\\(([^)]+)\\)/.exec(string);\n return match ? match[1].split(',').map(function (p) { return parseFloat(p); }) : [];\n}\n\n// Spring solver inspired by Webkit Copyright © 2016 Apple Inc. All rights reserved. https://webkit.org/demos/spring/spring.js\n\nfunction spring(string, duration) {\n\n var params = parseEasingParameters(string);\n var mass = minMax(is.und(params[0]) ? 1 : params[0], .1, 100);\n var stiffness = minMax(is.und(params[1]) ? 100 : params[1], .1, 100);\n var damping = minMax(is.und(params[2]) ? 10 : params[2], .1, 100);\n var velocity = minMax(is.und(params[3]) ? 0 : params[3], .1, 100);\n var w0 = Math.sqrt(stiffness / mass);\n var zeta = damping / (2 * Math.sqrt(stiffness * mass));\n var wd = zeta < 1 ? w0 * Math.sqrt(1 - zeta * zeta) : 0;\n var a = 1;\n var b = zeta < 1 ? (zeta * w0 + -velocity) / wd : -velocity + w0;\n\n function solver(t) {\n var progress = duration ? (duration * t) / 1000 : t;\n if (zeta < 1) {\n progress = Math.exp(-progress * zeta * w0) * (a * Math.cos(wd * progress) + b * Math.sin(wd * progress));\n } else {\n progress = (a + b * progress) * Math.exp(-progress * w0);\n }\n if (t === 0 || t === 1) { return t; }\n return 1 - progress;\n }\n\n function getDuration() {\n var cached = cache.springs[string];\n if (cached) { return cached; }\n var frame = 1/6;\n var elapsed = 0;\n var rest = 0;\n while(true) {\n elapsed += frame;\n if (solver(elapsed) === 1) {\n rest++;\n if (rest >= 16) { break; }\n } else {\n rest = 0;\n }\n }\n var duration = elapsed * frame * 1000;\n cache.springs[string] = duration;\n return duration;\n }\n\n return duration ? solver : getDuration;\n\n}\n\n// Basic steps easing implementation https://developer.mozilla.org/fr/docs/Web/CSS/transition-timing-function\n\nfunction steps(steps) {\n if ( steps === void 0 ) steps = 10;\n\n return function (t) { return Math.ceil((minMax(t, 0.000001, 1)) * steps) * (1 / steps); };\n}\n\n// BezierEasing https://github.com/gre/bezier-easing\n\nvar bezier = (function () {\n\n var kSplineTableSize = 11;\n var kSampleStepSize = 1.0 / (kSplineTableSize - 1.0);\n\n function A(aA1, aA2) { return 1.0 - 3.0 * aA2 + 3.0 * aA1 }\n function B(aA1, aA2) { return 3.0 * aA2 - 6.0 * aA1 }\n function C(aA1) { return 3.0 * aA1 }\n\n function calcBezier(aT, aA1, aA2) { return ((A(aA1, aA2) * aT + B(aA1, aA2)) * aT + C(aA1)) * aT }\n function getSlope(aT, aA1, aA2) { return 3.0 * A(aA1, aA2) * aT * aT + 2.0 * B(aA1, aA2) * aT + C(aA1) }\n\n function binarySubdivide(aX, aA, aB, mX1, mX2) {\n var currentX, currentT, i = 0;\n do {\n currentT = aA + (aB - aA) / 2.0;\n currentX = calcBezier(currentT, mX1, mX2) - aX;\n if (currentX > 0.0) { aB = currentT; } else { aA = currentT; }\n } while (Math.abs(currentX) > 0.0000001 && ++i < 10);\n return currentT;\n }\n\n function newtonRaphsonIterate(aX, aGuessT, mX1, mX2) {\n for (var i = 0; i < 4; ++i) {\n var currentSlope = getSlope(aGuessT, mX1, mX2);\n if (currentSlope === 0.0) { return aGuessT; }\n var currentX = calcBezier(aGuessT, mX1, mX2) - aX;\n aGuessT -= currentX / currentSlope;\n }\n return aGuessT;\n }\n\n function bezier(mX1, mY1, mX2, mY2) {\n\n if (!(0 <= mX1 && mX1 <= 1 && 0 <= mX2 && mX2 <= 1)) { return; }\n var sampleValues = new Float32Array(kSplineTableSize);\n\n if (mX1 !== mY1 || mX2 !== mY2) {\n for (var i = 0; i < kSplineTableSize; ++i) {\n sampleValues[i] = calcBezier(i * kSampleStepSize, mX1, mX2);\n }\n }\n\n function getTForX(aX) {\n\n var intervalStart = 0;\n var currentSample = 1;\n var lastSample = kSplineTableSize - 1;\n\n for (; currentSample !== lastSample && sampleValues[currentSample] <= aX; ++currentSample) {\n intervalStart += kSampleStepSize;\n }\n\n --currentSample;\n\n var dist = (aX - sampleValues[currentSample]) / (sampleValues[currentSample + 1] - sampleValues[currentSample]);\n var guessForT = intervalStart + dist * kSampleStepSize;\n var initialSlope = getSlope(guessForT, mX1, mX2);\n\n if (initialSlope >= 0.001) {\n return newtonRaphsonIterate(aX, guessForT, mX1, mX2);\n } else if (initialSlope === 0.0) {\n return guessForT;\n } else {\n return binarySubdivide(aX, intervalStart, intervalStart + kSampleStepSize, mX1, mX2);\n }\n\n }\n\n return function (x) {\n if (mX1 === mY1 && mX2 === mY2) { return x; }\n if (x === 0 || x === 1) { return x; }\n return calcBezier(getTForX(x), mY1, mY2);\n }\n\n }\n\n return bezier;\n\n})();\n\nvar penner = (function () {\n\n // Based on jQuery UI's implemenation of easing equations from Robert Penner (http://www.robertpenner.com/easing)\n\n var eases = { linear: function () { return function (t) { return t; }; } };\n\n var functionEasings = {\n Sine: function () { return function (t) { return 1 - Math.cos(t * Math.PI / 2); }; },\n Circ: function () { return function (t) { return 1 - Math.sqrt(1 - t * t); }; },\n Back: function () { return function (t) { return t * t * (3 * t - 2); }; },\n Bounce: function () { return function (t) {\n var pow2, b = 4;\n while (t < (( pow2 = Math.pow(2, --b)) - 1) / 11) {}\n return 1 / Math.pow(4, 3 - b) - 7.5625 * Math.pow(( pow2 * 3 - 2 ) / 22 - t, 2)\n }; },\n Elastic: function (amplitude, period) {\n if ( amplitude === void 0 ) amplitude = 1;\n if ( period === void 0 ) period = .5;\n\n var a = minMax(amplitude, 1, 10);\n var p = minMax(period, .1, 2);\n return function (t) {\n return (t === 0 || t === 1) ? t : \n -a * Math.pow(2, 10 * (t - 1)) * Math.sin((((t - 1) - (p / (Math.PI * 2) * Math.asin(1 / a))) * (Math.PI * 2)) / p);\n }\n }\n };\n\n var baseEasings = ['Quad', 'Cubic', 'Quart', 'Quint', 'Expo'];\n\n baseEasings.forEach(function (name, i) {\n functionEasings[name] = function () { return function (t) { return Math.pow(t, i + 2); }; };\n });\n\n Object.keys(functionEasings).forEach(function (name) {\n var easeIn = functionEasings[name];\n eases['easeIn' + name] = easeIn;\n eases['easeOut' + name] = function (a, b) { return function (t) { return 1 - easeIn(a, b)(1 - t); }; };\n eases['easeInOut' + name] = function (a, b) { return function (t) { return t < 0.5 ? easeIn(a, b)(t * 2) / 2 : \n 1 - easeIn(a, b)(t * -2 + 2) / 2; }; };\n });\n\n return eases;\n\n})();\n\nfunction parseEasings(easing, duration) {\n if (is.fnc(easing)) { return easing; }\n var name = easing.split('(')[0];\n var ease = penner[name];\n var args = parseEasingParameters(easing);\n switch (name) {\n case 'spring' : return spring(easing, duration);\n case 'cubicBezier' : return applyArguments(bezier, args);\n case 'steps' : return applyArguments(steps, args);\n default : return applyArguments(ease, args);\n }\n}\n\n// Strings\n\nfunction selectString(str) {\n try {\n var nodes = document.querySelectorAll(str);\n return nodes;\n } catch(e) {\n return;\n }\n}\n\n// Arrays\n\nfunction filterArray(arr, callback) {\n var len = arr.length;\n var thisArg = arguments.length >= 2 ? arguments[1] : void 0;\n var result = [];\n for (var i = 0; i < len; i++) {\n if (i in arr) {\n var val = arr[i];\n if (callback.call(thisArg, val, i, arr)) {\n result.push(val);\n }\n }\n }\n return result;\n}\n\nfunction flattenArray(arr) {\n return arr.reduce(function (a, b) { return a.concat(is.arr(b) ? flattenArray(b) : b); }, []);\n}\n\nfunction toArray(o) {\n if (is.arr(o)) { return o; }\n if (is.str(o)) { o = selectString(o) || o; }\n if (o instanceof NodeList || o instanceof HTMLCollection) { return [].slice.call(o); }\n return [o];\n}\n\nfunction arrayContains(arr, val) {\n return arr.some(function (a) { return a === val; });\n}\n\n// Objects\n\nfunction cloneObject(o) {\n var clone = {};\n for (var p in o) { clone[p] = o[p]; }\n return clone;\n}\n\nfunction replaceObjectProps(o1, o2) {\n var o = cloneObject(o1);\n for (var p in o1) { o[p] = o2.hasOwnProperty(p) ? o2[p] : o1[p]; }\n return o;\n}\n\nfunction mergeObjects(o1, o2) {\n var o = cloneObject(o1);\n for (var p in o2) { o[p] = is.und(o1[p]) ? o2[p] : o1[p]; }\n return o;\n}\n\n// Colors\n\nfunction rgbToRgba(rgbValue) {\n var rgb = /rgb\\((\\d+,\\s*[\\d]+,\\s*[\\d]+)\\)/g.exec(rgbValue);\n return rgb ? (\"rgba(\" + (rgb[1]) + \",1)\") : rgbValue;\n}\n\nfunction hexToRgba(hexValue) {\n var rgx = /^#?([a-f\\d])([a-f\\d])([a-f\\d])$/i;\n var hex = hexValue.replace(rgx, function (m, r, g, b) { return r + r + g + g + b + b; } );\n var rgb = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex);\n var r = parseInt(rgb[1], 16);\n var g = parseInt(rgb[2], 16);\n var b = parseInt(rgb[3], 16);\n return (\"rgba(\" + r + \",\" + g + \",\" + b + \",1)\");\n}\n\nfunction hslToRgba(hslValue) {\n var hsl = /hsl\\((\\d+),\\s*([\\d.]+)%,\\s*([\\d.]+)%\\)/g.exec(hslValue) || /hsla\\((\\d+),\\s*([\\d.]+)%,\\s*([\\d.]+)%,\\s*([\\d.]+)\\)/g.exec(hslValue);\n var h = parseInt(hsl[1], 10) / 360;\n var s = parseInt(hsl[2], 10) / 100;\n var l = parseInt(hsl[3], 10) / 100;\n var a = hsl[4] || 1;\n function hue2rgb(p, q, t) {\n if (t < 0) { t += 1; }\n if (t > 1) { t -= 1; }\n if (t < 1/6) { return p + (q - p) * 6 * t; }\n if (t < 1/2) { return q; }\n if (t < 2/3) { return p + (q - p) * (2/3 - t) * 6; }\n return p;\n }\n var r, g, b;\n if (s == 0) {\n r = g = b = l;\n } else {\n var q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n var p = 2 * l - q;\n r = hue2rgb(p, q, h + 1/3);\n g = hue2rgb(p, q, h);\n b = hue2rgb(p, q, h - 1/3);\n }\n return (\"rgba(\" + (r * 255) + \",\" + (g * 255) + \",\" + (b * 255) + \",\" + a + \")\");\n}\n\nfunction colorToRgb(val) {\n if (is.rgb(val)) { return rgbToRgba(val); }\n if (is.hex(val)) { return hexToRgba(val); }\n if (is.hsl(val)) { return hslToRgba(val); }\n}\n\n// Units\n\nfunction getUnit(val) {\n var split = /[+-]?\\d*\\.?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?(%|px|pt|em|rem|in|cm|mm|ex|ch|pc|vw|vh|vmin|vmax|deg|rad|turn)?$/.exec(val);\n if (split) { return split[1]; }\n}\n\nfunction getTransformUnit(propName) {\n if (stringContains(propName, 'translate') || propName === 'perspective') { return 'px'; }\n if (stringContains(propName, 'rotate') || stringContains(propName, 'skew')) { return 'deg'; }\n}\n\n// Values\n\nfunction getFunctionValue(val, animatable) {\n if (!is.fnc(val)) { return val; }\n return val(animatable.target, animatable.id, animatable.total);\n}\n\nfunction getAttribute(el, prop) {\n return el.getAttribute(prop);\n}\n\nfunction convertPxToUnit(el, value, unit) {\n var valueUnit = getUnit(value);\n if (arrayContains([unit, 'deg', 'rad', 'turn'], valueUnit)) { return value; }\n var cached = cache.CSS[value + unit];\n if (!is.und(cached)) { return cached; }\n var baseline = 100;\n var tempEl = document.createElement(el.tagName);\n var parentEl = (el.parentNode && (el.parentNode !== document)) ? el.parentNode : document.body;\n parentEl.appendChild(tempEl);\n tempEl.style.position = 'absolute';\n tempEl.style.width = baseline + unit;\n var factor = baseline / tempEl.offsetWidth;\n parentEl.removeChild(tempEl);\n var convertedUnit = factor * parseFloat(value);\n cache.CSS[value + unit] = convertedUnit;\n return convertedUnit;\n}\n\nfunction getCSSValue(el, prop, unit) {\n if (prop in el.style) {\n var uppercasePropName = prop.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase();\n var value = el.style[prop] || getComputedStyle(el).getPropertyValue(uppercasePropName) || '0';\n return unit ? convertPxToUnit(el, value, unit) : value;\n }\n}\n\nfunction getAnimationType(el, prop) {\n if (is.dom(el) && !is.inp(el) && (getAttribute(el, prop) || (is.svg(el) && el[prop]))) { return 'attribute'; }\n if (is.dom(el) && arrayContains(validTransforms, prop)) { return 'transform'; }\n if (is.dom(el) && (prop !== 'transform' && getCSSValue(el, prop))) { return 'css'; }\n if (el[prop] != null) { return 'object'; }\n}\n\nfunction getElementTransforms(el) {\n if (!is.dom(el)) { return; }\n var str = el.style.transform || '';\n var reg = /(\\w+)\\(([^)]*)\\)/g;\n var transforms = new Map();\n var m; while (m = reg.exec(str)) { transforms.set(m[1], m[2]); }\n return transforms;\n}\n\nfunction getTransformValue(el, propName, animatable, unit) {\n var defaultVal = stringContains(propName, 'scale') ? 1 : 0 + getTransformUnit(propName);\n var value = getElementTransforms(el).get(propName) || defaultVal;\n if (animatable) {\n animatable.transforms.list.set(propName, value);\n animatable.transforms['last'] = propName;\n }\n return unit ? convertPxToUnit(el, value, unit) : value;\n}\n\nfunction getOriginalTargetValue(target, propName, unit, animatable) {\n switch (getAnimationType(target, propName)) {\n case 'transform': return getTransformValue(target, propName, animatable, unit);\n case 'css': return getCSSValue(target, propName, unit);\n case 'attribute': return getAttribute(target, propName);\n default: return target[propName] || 0;\n }\n}\n\nfunction getRelativeValue(to, from) {\n var operator = /^(\\*=|\\+=|-=)/.exec(to);\n if (!operator) { return to; }\n var u = getUnit(to) || 0;\n var x = parseFloat(from);\n var y = parseFloat(to.replace(operator[0], ''));\n switch (operator[0][0]) {\n case '+': return x + y + u;\n case '-': return x - y + u;\n case '*': return x * y + u;\n }\n}\n\nfunction validateValue(val, unit) {\n if (is.col(val)) { return colorToRgb(val); }\n if (/\\s/g.test(val)) { return val; }\n var originalUnit = getUnit(val);\n var unitLess = originalUnit ? val.substr(0, val.length - originalUnit.length) : val;\n if (unit) { return unitLess + unit; }\n return unitLess;\n}\n\n// getTotalLength() equivalent for circle, rect, polyline, polygon and line shapes\n// adapted from https://gist.github.com/SebLambla/3e0550c496c236709744\n\nfunction getDistance(p1, p2) {\n return Math.sqrt(Math.pow(p2.x - p1.x, 2) + Math.pow(p2.y - p1.y, 2));\n}\n\nfunction getCircleLength(el) {\n return Math.PI * 2 * getAttribute(el, 'r');\n}\n\nfunction getRectLength(el) {\n return (getAttribute(el, 'width') * 2) + (getAttribute(el, 'height') * 2);\n}\n\nfunction getLineLength(el) {\n return getDistance(\n {x: getAttribute(el, 'x1'), y: getAttribute(el, 'y1')}, \n {x: getAttribute(el, 'x2'), y: getAttribute(el, 'y2')}\n );\n}\n\nfunction getPolylineLength(el) {\n var points = el.points;\n var totalLength = 0;\n var previousPos;\n for (var i = 0 ; i < points.numberOfItems; i++) {\n var currentPos = points.getItem(i);\n if (i > 0) { totalLength += getDistance(previousPos, currentPos); }\n previousPos = currentPos;\n }\n return totalLength;\n}\n\nfunction getPolygonLength(el) {\n var points = el.points;\n return getPolylineLength(el) + getDistance(points.getItem(points.numberOfItems - 1), points.getItem(0));\n}\n\n// Path animation\n\nfunction getTotalLength(el) {\n if (el.getTotalLength) { return el.getTotalLength(); }\n switch(el.tagName.toLowerCase()) {\n case 'circle': return getCircleLength(el);\n case 'rect': return getRectLength(el);\n case 'line': return getLineLength(el);\n case 'polyline': return getPolylineLength(el);\n case 'polygon': return getPolygonLength(el);\n }\n}\n\nfunction setDashoffset(el) {\n var pathLength = getTotalLength(el);\n el.setAttribute('stroke-dasharray', pathLength);\n return pathLength;\n}\n\n// Motion path\n\nfunction getParentSvgEl(el) {\n var parentEl = el.parentNode;\n while (is.svg(parentEl)) {\n if (!is.svg(parentEl.parentNode)) { break; }\n parentEl = parentEl.parentNode;\n }\n return parentEl;\n}\n\nfunction getParentSvg(pathEl, svgData) {\n var svg = svgData || {};\n var parentSvgEl = svg.el || getParentSvgEl(pathEl);\n var rect = parentSvgEl.getBoundingClientRect();\n var viewBoxAttr = getAttribute(parentSvgEl, 'viewBox');\n var width = rect.width;\n var height = rect.height;\n var viewBox = svg.viewBox || (viewBoxAttr ? viewBoxAttr.split(' ') : [0, 0, width, height]);\n return {\n el: parentSvgEl,\n viewBox: viewBox,\n x: viewBox[0] / 1,\n y: viewBox[1] / 1,\n w: width / viewBox[2],\n h: height / viewBox[3]\n }\n}\n\nfunction getPath(path, percent) {\n var pathEl = is.str(path) ? selectString(path)[0] : path;\n var p = percent || 100;\n return function(property) {\n return {\n property: property,\n el: pathEl,\n svg: getParentSvg(pathEl),\n totalLength: getTotalLength(pathEl) * (p / 100)\n }\n }\n}\n\nfunction getPathProgress(path, progress) {\n function point(offset) {\n if ( offset === void 0 ) offset = 0;\n\n var l = progress + offset >= 1 ? progress + offset : 0;\n return path.el.getPointAtLength(l);\n }\n var svg = getParentSvg(path.el, path.svg);\n var p = point();\n var p0 = point(-1);\n var p1 = point(+1);\n switch (path.property) {\n case 'x': return (p.x - svg.x) * svg.w;\n case 'y': return (p.y - svg.y) * svg.h;\n case 'angle': return Math.atan2(p1.y - p0.y, p1.x - p0.x) * 180 / Math.PI;\n }\n}\n\n// Decompose value\n\nfunction decomposeValue(val, unit) {\n // const rgx = /-?\\d*\\.?\\d+/g; // handles basic numbers\n // const rgx = /[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?/g; // handles exponents notation\n var rgx = /[+-]?\\d*\\.?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?/g; // handles exponents notation\n var value = validateValue((is.pth(val) ? val.totalLength : val), unit) + '';\n return {\n original: value,\n numbers: value.match(rgx) ? value.match(rgx).map(Number) : [0],\n strings: (is.str(val) || unit) ? value.split(rgx) : []\n }\n}\n\n// Animatables\n\nfunction parseTargets(targets) {\n var targetsArray = targets ? (flattenArray(is.arr(targets) ? targets.map(toArray) : toArray(targets))) : [];\n return filterArray(targetsArray, function (item, pos, self) { return self.indexOf(item) === pos; });\n}\n\nfunction getAnimatables(targets) {\n var parsed = parseTargets(targets);\n return parsed.map(function (t, i) {\n return {target: t, id: i, total: parsed.length, transforms: { list: getElementTransforms(t) } };\n });\n}\n\n// Properties\n\nfunction normalizePropertyTweens(prop, tweenSettings) {\n var settings = cloneObject(tweenSettings);\n // Override duration if easing is a spring\n if (/^spring/.test(settings.easing)) { settings.duration = spring(settings.easing); }\n if (is.arr(prop)) {\n var l = prop.length;\n var isFromTo = (l === 2 && !is.obj(prop[0]));\n if (!isFromTo) {\n // Duration divided by the number of tweens\n if (!is.fnc(tweenSettings.duration)) { settings.duration = tweenSettings.duration / l; }\n } else {\n // Transform [from, to] values shorthand to a valid tween value\n prop = {value: prop};\n }\n }\n var propArray = is.arr(prop) ? prop : [prop];\n return propArray.map(function (v, i) {\n var obj = (is.obj(v) && !is.pth(v)) ? v : {value: v};\n // Default delay value should only be applied to the first tween\n if (is.und(obj.delay)) { obj.delay = !i ? tweenSettings.delay : 0; }\n // Default endDelay value should only be applied to the last tween\n if (is.und(obj.endDelay)) { obj.endDelay = i === propArray.length - 1 ? tweenSettings.endDelay : 0; }\n return obj;\n }).map(function (k) { return mergeObjects(k, settings); });\n}\n\n\nfunction flattenKeyframes(keyframes) {\n var propertyNames = filterArray(flattenArray(keyframes.map(function (key) { return Object.keys(key); })), function (p) { return is.key(p); })\n .reduce(function (a,b) { if (a.indexOf(b) < 0) { a.push(b); } return a; }, []);\n var properties = {};\n var loop = function ( i ) {\n var propName = propertyNames[i];\n properties[propName] = keyframes.map(function (key) {\n var newKey = {};\n for (var p in key) {\n if (is.key(p)) {\n if (p == propName) { newKey.value = key[p]; }\n } else {\n newKey[p] = key[p];\n }\n }\n return newKey;\n });\n };\n\n for (var i = 0; i < propertyNames.length; i++) loop( i );\n return properties;\n}\n\nfunction getProperties(tweenSettings, params) {\n var properties = [];\n var keyframes = params.keyframes;\n if (keyframes) { params = mergeObjects(flattenKeyframes(keyframes), params); }\n for (var p in params) {\n if (is.key(p)) {\n properties.push({\n name: p,\n tweens: normalizePropertyTweens(params[p], tweenSettings)\n });\n }\n }\n return properties;\n}\n\n// Tweens\n\nfunction normalizeTweenValues(tween, animatable) {\n var t = {};\n for (var p in tween) {\n var value = getFunctionValue(tween[p], animatable);\n if (is.arr(value)) {\n value = value.map(function (v) { return getFunctionValue(v, animatable); });\n if (value.length === 1) { value = value[0]; }\n }\n t[p] = value;\n }\n t.duration = parseFloat(t.duration);\n t.delay = parseFloat(t.delay);\n return t;\n}\n\nfunction normalizeTweens(prop, animatable) {\n var previousTween;\n return prop.tweens.map(function (t) {\n var tween = normalizeTweenValues(t, animatable);\n var tweenValue = tween.value;\n var to = is.arr(tweenValue) ? tweenValue[1] : tweenValue;\n var toUnit = getUnit(to);\n var originalValue = getOriginalTargetValue(animatable.target, prop.name, toUnit, animatable);\n var previousValue = previousTween ? previousTween.to.original : originalValue;\n var from = is.arr(tweenValue) ? tweenValue[0] : previousValue;\n var fromUnit = getUnit(from) || getUnit(originalValue);\n var unit = toUnit || fromUnit;\n if (is.und(to)) { to = previousValue; }\n tween.from = decomposeValue(from, unit);\n tween.to = decomposeValue(getRelativeValue(to, from), unit);\n tween.start = previousTween ? previousTween.end : 0;\n tween.end = tween.start + tween.delay + tween.duration + tween.endDelay;\n tween.easing = parseEasings(tween.easing, tween.duration);\n tween.isPath = is.pth(tweenValue);\n tween.isColor = is.col(tween.from.original);\n if (tween.isColor) { tween.round = 1; }\n previousTween = tween;\n return tween;\n });\n}\n\n// Tween progress\n\nvar setProgressValue = {\n css: function (t, p, v) { return t.style[p] = v; },\n attribute: function (t, p, v) { return t.setAttribute(p, v); },\n object: function (t, p, v) { return t[p] = v; },\n transform: function (t, p, v, transforms, manual) {\n transforms.list.set(p, v);\n if (p === transforms.last || manual) {\n var str = '';\n transforms.list.forEach(function (value, prop) { str += prop + \"(\" + value + \") \"; });\n t.style.transform = str;\n }\n }\n};\n\n// Set Value helper\n\nfunction setTargetsValue(targets, properties) {\n var animatables = getAnimatables(targets);\n animatables.forEach(function (animatable) {\n for (var property in properties) {\n var value = getFunctionValue(properties[property], animatable);\n var target = animatable.target;\n var valueUnit = getUnit(value);\n var originalValue = getOriginalTargetValue(target, property, valueUnit, animatable);\n var unit = valueUnit || getUnit(originalValue);\n var to = getRelativeValue(validateValue(value, unit), originalValue);\n var animType = getAnimationType(target, property);\n setProgressValue[animType](target, property, to, animatable.transforms, true);\n }\n });\n}\n\n// Animations\n\nfunction createAnimation(animatable, prop) {\n var animType = getAnimationType(animatable.target, prop.name);\n if (animType) {\n var tweens = normalizeTweens(prop, animatable);\n var lastTween = tweens[tweens.length - 1];\n return {\n type: animType,\n property: prop.name,\n animatable: animatable,\n tweens: tweens,\n duration: lastTween.end,\n delay: tweens[0].delay,\n endDelay: lastTween.endDelay\n }\n }\n}\n\nfunction getAnimations(animatables, properties) {\n return filterArray(flattenArray(animatables.map(function (animatable) {\n return properties.map(function (prop) {\n return createAnimation(animatable, prop);\n });\n })), function (a) { return !is.und(a); });\n}\n\n// Create Instance\n\nfunction getInstanceTimings(animations, tweenSettings) {\n var animLength = animations.length;\n var getTlOffset = function (anim) { return anim.timelineOffset ? anim.timelineOffset : 0; };\n var timings = {};\n timings.duration = animLength ? Math.max.apply(Math, animations.map(function (anim) { return getTlOffset(anim) + anim.duration; })) : tweenSettings.duration;\n timings.delay = animLength ? Math.min.apply(Math, animations.map(function (anim) { return getTlOffset(anim) + anim.delay; })) : tweenSettings.delay;\n timings.endDelay = animLength ? timings.duration - Math.max.apply(Math, animations.map(function (anim) { return getTlOffset(anim) + anim.duration - anim.endDelay; })) : tweenSettings.endDelay;\n return timings;\n}\n\nvar instanceID = 0;\n\nfunction createNewInstance(params) {\n var instanceSettings = replaceObjectProps(defaultInstanceSettings, params);\n var tweenSettings = replaceObjectProps(defaultTweenSettings, params);\n var properties = getProperties(tweenSettings, params);\n var animatables = getAnimatables(params.targets);\n var animations = getAnimations(animatables, properties);\n var timings = getInstanceTimings(animations, tweenSettings);\n var id = instanceID;\n instanceID++;\n return mergeObjects(instanceSettings, {\n id: id,\n children: [],\n animatables: animatables,\n animations: animations,\n duration: timings.duration,\n delay: timings.delay,\n endDelay: timings.endDelay\n });\n}\n\n// Core\n\nvar activeInstances = [];\nvar pausedInstances = [];\nvar raf;\n\nvar engine = (function () {\n function play() { \n raf = requestAnimationFrame(step);\n }\n function step(t) {\n var activeInstancesLength = activeInstances.length;\n if (activeInstancesLength) {\n var i = 0;\n while (i < activeInstancesLength) {\n var activeInstance = activeInstances[i];\n if (!activeInstance.paused) {\n activeInstance.tick(t);\n } else {\n var instanceIndex = activeInstances.indexOf(activeInstance);\n if (instanceIndex > -1) {\n activeInstances.splice(instanceIndex, 1);\n activeInstancesLength = activeInstances.length;\n }\n }\n i++;\n }\n play();\n } else {\n raf = cancelAnimationFrame(raf);\n }\n }\n return play;\n})();\n\nfunction handleVisibilityChange() {\n if (document.hidden) {\n activeInstances.forEach(function (ins) { return ins.pause(); });\n pausedInstances = activeInstances.slice(0);\n anime.running = activeInstances = [];\n } else {\n pausedInstances.forEach(function (ins) { return ins.play(); });\n }\n}\n\nif (typeof document !== 'undefined') {\n document.addEventListener('visibilitychange', handleVisibilityChange);\n}\n\n// Public Instance\n\nfunction anime(params) {\n if ( params === void 0 ) params = {};\n\n\n var startTime = 0, lastTime = 0, now = 0;\n var children, childrenLength = 0;\n var resolve = null;\n\n function makePromise(instance) {\n var promise = window.Promise && new Promise(function (_resolve) { return resolve = _resolve; });\n instance.finished = promise;\n return promise;\n }\n\n var instance = createNewInstance(params);\n var promise = makePromise(instance);\n\n function toggleInstanceDirection() {\n var direction = instance.direction;\n if (direction !== 'alternate') {\n instance.direction = direction !== 'normal' ? 'normal' : 'reverse';\n }\n instance.reversed = !instance.reversed;\n children.forEach(function (child) { return child.reversed = instance.reversed; });\n }\n\n function adjustTime(time) {\n return instance.reversed ? instance.duration - time : time;\n }\n\n function resetTime() {\n startTime = 0;\n lastTime = adjustTime(instance.currentTime) * (1 / anime.speed);\n }\n\n function seekChild(time, child) {\n if (child) { child.seek(time - child.timelineOffset); }\n }\n\n function syncInstanceChildren(time) {\n if (!instance.reversePlayback) {\n for (var i = 0; i < childrenLength; i++) { seekChild(time, children[i]); }\n } else {\n for (var i$1 = childrenLength; i$1--;) { seekChild(time, children[i$1]); }\n }\n }\n\n function setAnimationsProgress(insTime) {\n var i = 0;\n var animations = instance.animations;\n var animationsLength = animations.length;\n while (i < animationsLength) {\n var anim = animations[i];\n var animatable = anim.animatable;\n var tweens = anim.tweens;\n var tweenLength = tweens.length - 1;\n var tween = tweens[tweenLength];\n // Only check for keyframes if there is more than one tween\n if (tweenLength) { tween = filterArray(tweens, function (t) { return (insTime < t.end); })[0] || tween; }\n var elapsed = minMax(insTime - tween.start - tween.delay, 0, tween.duration) / tween.duration;\n var eased = isNaN(elapsed) ? 1 : tween.easing(elapsed);\n var strings = tween.to.strings;\n var round = tween.round;\n var numbers = [];\n var toNumbersLength = tween.to.numbers.length;\n var progress = (void 0);\n for (var n = 0; n < toNumbersLength; n++) {\n var value = (void 0);\n var toNumber = tween.to.numbers[n];\n var fromNumber = tween.from.numbers[n] || 0;\n if (!tween.isPath) {\n value = fromNumber + (eased * (toNumber - fromNumber));\n } else {\n value = getPathProgress(tween.value, eased * toNumber);\n }\n if (round) {\n if (!(tween.isColor && n > 2)) {\n value = Math.round(value * round) / round;\n }\n }\n numbers.push(value);\n }\n // Manual Array.reduce for better performances\n var stringsLength = strings.length;\n if (!stringsLength) {\n progress = numbers[0];\n } else {\n progress = strings[0];\n for (var s = 0; s < stringsLength; s++) {\n var a = strings[s];\n var b = strings[s + 1];\n var n$1 = numbers[s];\n if (!isNaN(n$1)) {\n if (!b) {\n progress += n$1 + ' ';\n } else {\n progress += n$1 + b;\n }\n }\n }\n }\n setProgressValue[anim.type](animatable.target, anim.property, progress, animatable.transforms);\n anim.currentValue = progress;\n i++;\n }\n }\n\n function setCallback(cb) {\n if (instance[cb] && !instance.passThrough) { instance[cb](instance); }\n }\n\n function countIteration() {\n if (instance.remaining && instance.remaining !== true) {\n instance.remaining--;\n }\n }\n\n function setInstanceProgress(engineTime) {\n var insDuration = instance.duration;\n var insDelay = instance.delay;\n var insEndDelay = insDuration - instance.endDelay;\n var insTime = adjustTime(engineTime);\n instance.progress = minMax((insTime / insDuration) * 100, 0, 100);\n instance.reversePlayback = insTime < instance.currentTime;\n if (children) { syncInstanceChildren(insTime); }\n if (!instance.began && instance.currentTime > 0) {\n instance.began = true;\n setCallback('begin');\n }\n if (!instance.loopBegan && instance.currentTime > 0) {\n instance.loopBegan = true;\n setCallback('loopBegin');\n }\n if (insTime <= insDelay && instance.currentTime !== 0) {\n setAnimationsProgress(0);\n }\n if ((insTime >= insEndDelay && instance.currentTime !== insDuration) || !insDuration) {\n setAnimationsProgress(insDuration);\n }\n if (insTime > insDelay && insTime < insEndDelay) {\n if (!instance.changeBegan) {\n instance.changeBegan = true;\n instance.changeCompleted = false;\n setCallback('changeBegin');\n }\n setCallback('change');\n setAnimationsProgress(insTime);\n } else {\n if (instance.changeBegan) {\n instance.changeCompleted = true;\n instance.changeBegan = false;\n setCallback('changeComplete');\n }\n }\n instance.currentTime = minMax(insTime, 0, insDuration);\n if (instance.began) { setCallback('update'); }\n if (engineTime >= insDuration) {\n lastTime = 0;\n countIteration();\n if (!instance.remaining) {\n instance.paused = true;\n if (!instance.completed) {\n instance.completed = true;\n setCallback('loopComplete');\n setCallback('complete');\n if (!instance.passThrough && 'Promise' in window) {\n resolve();\n promise = makePromise(instance);\n }\n }\n } else {\n startTime = now;\n setCallback('loopComplete');\n instance.loopBegan = false;\n if (instance.direction === 'alternate') {\n toggleInstanceDirection();\n }\n }\n }\n }\n\n instance.reset = function() {\n var direction = instance.direction;\n instance.passThrough = false;\n instance.currentTime = 0;\n instance.progress = 0;\n instance.paused = true;\n instance.began = false;\n instance.loopBegan = false;\n instance.changeBegan = false;\n instance.completed = false;\n instance.changeCompleted = false;\n instance.reversePlayback = false;\n instance.reversed = direction === 'reverse';\n instance.remaining = instance.loop;\n children = instance.children;\n childrenLength = children.length;\n for (var i = childrenLength; i--;) { instance.children[i].reset(); }\n if (instance.reversed && instance.loop !== true || (direction === 'alternate' && instance.loop === 1)) { instance.remaining++; }\n setAnimationsProgress(instance.reversed ? instance.duration : 0);\n };\n\n // Set Value helper\n\n instance.set = function(targets, properties) {\n setTargetsValue(targets, properties);\n return instance;\n };\n\n instance.tick = function(t) {\n now = t;\n if (!startTime) { startTime = now; }\n setInstanceProgress((now + (lastTime - startTime)) * anime.speed);\n };\n\n instance.seek = function(time) {\n setInstanceProgress(adjustTime(time));\n };\n\n instance.pause = function() {\n instance.paused = true;\n resetTime();\n };\n\n instance.play = function() {\n if (!instance.paused) { return; }\n if (instance.completed) { instance.reset(); }\n instance.paused = false;\n activeInstances.push(instance);\n resetTime();\n if (!raf) { engine(); }\n };\n\n instance.reverse = function() {\n toggleInstanceDirection();\n instance.completed = instance.reversed ? false : true;\n resetTime();\n };\n\n instance.restart = function() {\n instance.reset();\n instance.play();\n };\n\n instance.reset();\n\n if (instance.autoplay) { instance.play(); }\n\n return instance;\n\n}\n\n// Remove targets from animation\n\nfunction removeTargetsFromAnimations(targetsArray, animations) {\n for (var a = animations.length; a--;) {\n if (arrayContains(targetsArray, animations[a].animatable.target)) {\n animations.splice(a, 1);\n }\n }\n}\n\nfunction removeTargets(targets) {\n var targetsArray = parseTargets(targets);\n for (var i = activeInstances.length; i--;) {\n var instance = activeInstances[i];\n var animations = instance.animations;\n var children = instance.children;\n removeTargetsFromAnimations(targetsArray, animations);\n for (var c = children.length; c--;) {\n var child = children[c];\n var childAnimations = child.animations;\n removeTargetsFromAnimations(targetsArray, childAnimations);\n if (!childAnimations.length && !child.children.length) { children.splice(c, 1); }\n }\n if (!animations.length && !children.length) { instance.pause(); }\n }\n}\n\n// Stagger helpers\n\nfunction stagger(val, params) {\n if ( params === void 0 ) params = {};\n\n var direction = params.direction || 'normal';\n var easing = params.easing ? parseEasings(params.easing) : null;\n var grid = params.grid;\n var axis = params.axis;\n var fromIndex = params.from || 0;\n var fromFirst = fromIndex === 'first';\n var fromCenter = fromIndex === 'center';\n var fromLast = fromIndex === 'last';\n var isRange = is.arr(val);\n var val1 = isRange ? parseFloat(val[0]) : parseFloat(val);\n var val2 = isRange ? parseFloat(val[1]) : 0;\n var unit = getUnit(isRange ? val[1] : val) || 0;\n var start = params.start || 0 + (isRange ? val1 : 0);\n var values = [];\n var maxValue = 0;\n return function (el, i, t) {\n if (fromFirst) { fromIndex = 0; }\n if (fromCenter) { fromIndex = (t - 1) / 2; }\n if (fromLast) { fromIndex = t - 1; }\n if (!values.length) {\n for (var index = 0; index < t; index++) {\n if (!grid) {\n values.push(Math.abs(fromIndex - index));\n } else {\n var fromX = !fromCenter ? fromIndex%grid[0] : (grid[0]-1)/2;\n var fromY = !fromCenter ? Math.floor(fromIndex/grid[0]) : (grid[1]-1)/2;\n var toX = index%grid[0];\n var toY = Math.floor(index/grid[0]);\n var distanceX = fromX - toX;\n var distanceY = fromY - toY;\n var value = Math.sqrt(distanceX * distanceX + distanceY * distanceY);\n if (axis === 'x') { value = -distanceX; }\n if (axis === 'y') { value = -distanceY; }\n values.push(value);\n }\n maxValue = Math.max.apply(Math, values);\n }\n if (easing) { values = values.map(function (val) { return easing(val / maxValue) * maxValue; }); }\n if (direction === 'reverse') { values = values.map(function (val) { return axis ? (val < 0) ? val * -1 : -val : Math.abs(maxValue - val); }); }\n }\n var spacing = isRange ? (val2 - val1) / maxValue : val1;\n return start + (spacing * (Math.round(values[i] * 100) / 100)) + unit;\n }\n}\n\n// Timeline\n\nfunction timeline(params) {\n if ( params === void 0 ) params = {};\n\n var tl = anime(params);\n tl.duration = 0;\n tl.add = function(instanceParams, timelineOffset) {\n var tlIndex = activeInstances.indexOf(tl);\n var children = tl.children;\n if (tlIndex > -1) { activeInstances.splice(tlIndex, 1); }\n function passThrough(ins) { ins.passThrough = true; }\n for (var i = 0; i < children.length; i++) { passThrough(children[i]); }\n var insParams = mergeObjects(instanceParams, replaceObjectProps(defaultTweenSettings, params));\n insParams.targets = insParams.targets || params.targets;\n var tlDuration = tl.duration;\n insParams.autoplay = false;\n insParams.direction = tl.direction;\n insParams.timelineOffset = is.und(timelineOffset) ? tlDuration : getRelativeValue(timelineOffset, tlDuration);\n passThrough(tl);\n tl.seek(insParams.timelineOffset);\n var ins = anime(insParams);\n passThrough(ins);\n children.push(ins);\n var timings = getInstanceTimings(children, params);\n tl.delay = timings.delay;\n tl.endDelay = timings.endDelay;\n tl.duration = timings.duration;\n tl.seek(0);\n tl.reset();\n if (tl.autoplay) { tl.play(); }\n return tl;\n };\n return tl;\n}\n\nanime.version = '3.2.0';\nanime.speed = 1;\nanime.running = activeInstances;\nanime.remove = removeTargets;\nanime.get = getOriginalTargetValue;\nanime.set = setTargetsValue;\nanime.convertPx = convertPxToUnit;\nanime.path = getPath;\nanime.setDashoffset = setDashoffset;\nanime.stagger = stagger;\nanime.timeline = timeline;\nanime.easing = parseEasings;\nanime.penner = penner;\nanime.random = function (min, max) { return Math.floor(Math.random() * (max - min + 1)) + min; };\n\nmodule.exports = anime;\n","/*\n # -----------------------------------------------------------------------------\n # ~/js/tocbot/tocbot.js\n # Tocbot v4.12.0 implementation for J1 template\n #\n # Product/Info:\n # https://jekyll.one\n # https://tscanlin.github.io/tocbot\n # https://github.com/tscanlin/tocbot\n #\n # Copyright (C) 2021 Juergen Adams\n # Copyright (C) 2016 Tim Scanlin\n #\n # J1 Template is licensed under MIT License.\n # See: https://github.com/jekyll-one-org/J1 Template/blob/master/LICENSE\n # Tocbot is licensed under the MIT License.\n # For details, https://github.com/tscanlin/tocbot/blob/master/LICENSE\n # -----------------------------------------------------------------------------\n # rules:\n # \"eslint:tocbot\": \"eslint --ignore-path .eslintignore src/tocbot/js\"\n # -----------------------------------------------------------------------------\n*/\n\n// -----------------------------------------------------------------------------\n// ESLint shimming\n// -----------------------------------------------------------------------------\n/* eslint indent: \"off\" */\n/* eslint no-undef: \"off\" */\n/* eslint semi: \"off\" */\n// -----------------------------------------------------------------------------\n\n/**\n * Tocbot\n * Tocbot creates a toble of contents based on HTML headings on a page,\n * this allows users to easily jump to different sections of the document.\n * Tocbot was inspired by tocify (http://gregfranko.com/jquery.tocify.js/).\n * The main differences are that it works natively without any need for jquery or jquery UI).\n *\n * @author Tim Scanlin\n */\n\n/* globals define */\n\n(function (root, factory) {\n if (typeof define === 'function' && define.amd) {\n define([], factory(root))\n } else if (typeof exports === 'object') {\n module.exports = factory(root)\n } else {\n root.tocbot = factory(root)\n }\n})(typeof global !== 'undefined' ? global : this.window || this.global, function (root) {\n 'use strict'\n\n // Default options.\n var defaultOptions = require('./default-options.js')\n // Object to store current options.\n var options = {}\n // Object for public APIs.\n var tocbot = {}\n\n var BuildHtml = require('./build-html.js')\n var ParseContent = require('./parse-content.js')\n var updateTocScroll = require('./update-toc-scroll.js')\n // Keep these variables at top scope once options are passed in.\n var buildHtml\n var parseContent\n\n // Just return if its not a browser.\n var supports = !!root && !!root.document && !!root.document.querySelector && !!root.addEventListener // Feature test\n if (typeof window === 'undefined' && !supports) {\n return\n }\n var headingsArray\n\n // From: https://github.com/Raynos/xtend\n var hasOwnProperty = Object.prototype.hasOwnProperty\n function extend () {\n var target = {}\n for (var i = 0; i < arguments.length; i++) {\n var source = arguments[i]\n for (var key in source) {\n if (hasOwnProperty.call(source, key)) {\n target[key] = source[key]\n }\n }\n }\n return target\n }\n\n // From: https://remysharp.com/2010/07/21/throttling-function-calls\n function throttle (fn, threshold, scope) {\n threshold || (threshold = 250)\n var last\n var deferTimer\n return function () {\n var context = scope || this\n var now = +new Date()\n var args = arguments\n if (last && now < last + threshold) {\n // hold on to it\n clearTimeout(deferTimer)\n deferTimer = setTimeout(function () {\n last = now\n fn.apply(context, args)\n }, threshold)\n } else {\n last = now\n fn.apply(context, args)\n }\n }\n }\n\n /**\n * Destroy tocbot.\n */\n tocbot.destroy = function () {\n if (!options.skipRendering) {\n // Clear HTML.\n try {\n document.querySelector(options.tocSelector).innerHTML = ''\n } catch (e) {\n console.warn('Element not found: ' + options.tocSelector); // eslint-disable-line\n }\n }\n\n // Remove event listeners.\n if (options.scrollContainer && document.querySelector(options.scrollContainer)) {\n document.querySelector(options.scrollContainer).removeEventListener('scroll', this._scrollListener, false)\n document.querySelector(options.scrollContainer).removeEventListener('resize', this._scrollListener, false)\n if (buildHtml) {\n document.querySelector(options.scrollContainer).removeEventListener('click', this._clickListener, false)\n }\n } else {\n document.removeEventListener('scroll', this._scrollListener, false)\n document.removeEventListener('resize', this._scrollListener, false)\n if (buildHtml) {\n document.removeEventListener('click', this._clickListener, false)\n }\n }\n }\n\n /**\n * Initialize tocbot.\n * @param {object} customOptions\n */\n tocbot.init = function (customOptions) {\n // feature test\n if (!supports) {\n return\n }\n\n // Merge defaults with user options.\n // Set to options variable at the top.\n options = extend(defaultOptions, customOptions || {})\n this.options = options\n this.state = {}\n\n // Init smooth scroll if enabled (default).\n if (options.scrollSmooth) {\n options.duration = options.scrollSmoothDuration\n options.offset = options.scrollSmoothOffset\n tocbot.scrollSmooth = require('./scroll-smooth').initSmoothScrolling(options)\n }\n\n // Pass options to these modules.\n buildHtml = BuildHtml(options)\n parseContent = ParseContent(options)\n\n // For testing purposes.\n this._buildHtml = buildHtml\n this._parseContent = parseContent\n\n // Destroy it if it exists first.\n tocbot.destroy()\n\n // Get headings array.\n headingsArray = parseContent.selectHeadings(options.contentSelector, options.headingSelector)\n // Return if no headings are found.\n if (headingsArray === null) {\n return\n }\n\n // Build nested headings array.\n var nestedHeadingsObj = parseContent.nestHeadingsArray(headingsArray)\n var nestedHeadings = nestedHeadingsObj.nest\n\n // Render.\n if (!options.skipRendering) {\n buildHtml.render(options.tocSelector, nestedHeadings)\n }\n\n // Update Sidebar and bind listeners.\n this._scrollListener = throttle(function (e) {\n buildHtml.updateToc(headingsArray)\n !options.disableTocScrollSync && updateTocScroll(options)\n var isTop = e && e.target && e.target.scrollingElement && e.target.scrollingElement.scrollTop === 0\n if ((e && (e.eventPhase === 0 || e.currentTarget === null)) || isTop) {\n buildHtml.updateToc(headingsArray)\n if (options.scrollEndCallback) {\n options.scrollEndCallback(e)\n }\n }\n }, options.throttleTimeout)\n this._scrollListener()\n if (options.scrollContainer && document.querySelector(options.scrollContainer)) {\n document.querySelector(options.scrollContainer).addEventListener('scroll', this._scrollListener, false)\n document.querySelector(options.scrollContainer).addEventListener('resize', this._scrollListener, false)\n } else {\n document.addEventListener('scroll', this._scrollListener, false)\n document.addEventListener('resize', this._scrollListener, false)\n }\n\n // Bind click listeners to disable animation.\n var timeout = null\n this._clickListener = throttle(function (event) {\n if (options.scrollSmooth) {\n buildHtml.disableTocAnimation(event)\n }\n buildHtml.updateToc(headingsArray)\n // Timeout to re-enable the animation.\n timeout && clearTimeout(timeout)\n timeout = setTimeout(function () {\n buildHtml.enableTocAnimation()\n }, options.scrollSmoothDuration)\n }, options.throttleTimeout)\n\n if (options.scrollContainer && document.querySelector(options.scrollContainer)) {\n document.querySelector(options.scrollContainer).addEventListener('click', this._clickListener, false)\n } else {\n document.addEventListener('click', this._clickListener, false)\n }\n\n return this\n }\n\n /**\n * Refresh tocbot.\n */\n tocbot.refresh = function (customOptions) {\n tocbot.destroy()\n tocbot.init(customOptions || this.options)\n }\n\n // Make tocbot available globally.\n root.tocbot = tocbot\n\n return tocbot\n})\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","// -----------------------------------------------------------------------------\n// ESLint shimming\n// -----------------------------------------------------------------------------\n/* eslint indent: \"off\" */\n/* eslint no-undef: \"off\" */\n/* eslint no-unused-vars: \"off\" */\n// -----------------------------------------------------------------------------\n\nmodule.exports = {\n // Where to render the table of contents.\n tocSelector: '.js-toc',\n // Where to grab the headings to build the table of contents.\n contentSelector: '.js-toc-content',\n // Which headings to grab inside of the contentSelector element.\n headingSelector: 'h1, h2, h3',\n // Headings that match the ignoreSelector will be skipped.\n ignoreSelector: '.js-toc-ignore',\n // For headings inside relative or absolute positioned containers within content\n hasInnerContainers: false,\n // Main class to add to links.\n linkClass: 'toc-link',\n // Extra classes to add to links.\n extraLinkClasses: '',\n // Class to add to active links,\n // the link corresponding to the top most heading on the page.\n activeLinkClass: 'is-active-link',\n // Main class to add to lists.\n listClass: 'toc-list',\n // Extra classes to add to lists.\n extraListClasses: '',\n // Class that gets added when a list should be collapsed.\n isCollapsedClass: 'is-collapsed',\n // Class that gets added when a list should be able\n // to be collapsed but isn't necessarily collapsed.\n collapsibleClass: 'is-collapsible',\n // Class to add to list items.\n listItemClass: 'toc-list-item',\n // Class to add to active list items.\n activeListItemClass: 'is-active-li',\n // How many heading levels should not be collapsed.\n // For example, number 6 will show everything since\n // there are only 6 heading levels and number 0 will collapse them all.\n // The sections that are hidden will open\n // and close as you scroll to headings within them.\n collapseDepth: 0,\n // Smooth scrolling enabled.\n scrollSmooth: true,\n // Smooth scroll duration.\n scrollSmoothDuration: 420,\n // Smooth scroll offset.\n scrollSmoothOffset: 0,\n // Callback for scroll end.\n scrollEndCallback: function (e) {},\n // Headings offset between the headings and the top of the document (this is meant for minor adjustments).\n headingsOffset: 1,\n // Timeout between events firing to make sure it's\n // not too rapid (for performance reasons).\n throttleTimeout: 50,\n // Element to add the positionFixedClass to.\n positionFixedSelector: null,\n // Fixed position class to add to make sidebar fixed after scrolling\n // down past the fixedSidebarOffset.\n positionFixedClass: 'is-position-fixed',\n // fixedSidebarOffset can be any number but by default is set\n // to auto which sets the fixedSidebarOffset to the sidebar\n // element's offsetTop from the top of the document on init.\n fixedSidebarOffset: 'auto',\n // includeHtml can be set to true to include the HTML markup from the\n // heading node instead of just including the textContent.\n includeHtml: false,\n // onclick function to apply to all links in toc. will be called with\n // the event as the first parameter, and this can be used to stop,\n // propagation, prevent default or perform action\n onClick: function (e) {},\n // orderedList can be set to false to generate unordered lists (ul)\n // instead of ordered lists (ol)\n orderedList: true,\n // If there is a fixed article scroll container, set to calculate titles' offset\n scrollContainer: null,\n // prevent ToC DOM rendering if it's already rendered by an external system\n skipRendering: false,\n // Optional callback to change heading labels.\n // For example it can be used to cut down and put ellipses on multiline headings you deem too long.\n // Called each time a heading is parsed. Expects a string in return, the modified label to display.\n // function (string) => string\n headingLabelCallback: false,\n // ignore headings that are hidden in DOM\n ignoreHiddenElements: false,\n // Optional callback to modify properties of parsed headings.\n // The heading element is passed in node parameter and information parsed by default parser is provided in obj parameter.\n // Function has to return the same or modified obj.\n // The heading will be excluded from TOC if nothing is returned.\n // function (object, HTMLElement) => object | void\n headingObjectCallback: null,\n // Set the base path, useful if you use a `base` tag in `head`.\n basePath: '',\n // Only takes affect when `tocSelector` is scrolling,\n // keep the toc scroll position in sync with the content.\n disableTocScrollSync: false,\n};\n","/**\n * This file is responsible for building the DOM and updating DOM state.\n *\n * @author Tim Scanlin\n */\n\n// -----------------------------------------------------------------------------\n// ESLint shimming\n// -----------------------------------------------------------------------------\n/* eslint indent: \"off\" */\n/* eslint no-undef: \"off\" */\n/* eslint semi: \"off\" */\n// -----------------------------------------------------------------------------\n\nmodule.exports = function (options) {\n var forEach = [].forEach\n var some = [].some\n var body = document.body\n var currentlyHighlighting = true\n var SPACE_CHAR = ' '\n\n /**\n * Create link and list elements.\n * @param {Object} d\n * @param {HTMLElement} container\n * @return {HTMLElement}\n */\n function createEl (d, container) {\n var link = container.appendChild(createLink(d))\n if (d.children.length) {\n var list = createList(d.isCollapsed)\n d.children.forEach(function (child) {\n createEl(child, list)\n })\n link.appendChild(list)\n }\n }\n\n /**\n * Render nested heading array data into a given selector.\n * @param {String} selector\n * @param {Array} data\n * @return {HTMLElement}\n */\n function render (selector, data) {\n var collapsed = false\n var container = createList(collapsed)\n\n data.forEach(function (d) {\n createEl(d, container)\n })\n\n var parent = document.querySelector(selector)\n\n // Return if no parent is found.\n if (parent === null) {\n return\n }\n\n // Remove existing child if it exists.\n if (parent.firstChild) {\n parent.removeChild(parent.firstChild)\n }\n\n // Just return the parent and don't append the list if no links are found.\n if (data.length === 0) {\n return parent\n }\n\n // Append the Elements that have been created\n return parent.appendChild(container)\n }\n\n /**\n * Create link element.\n * @param {Object} data\n * @return {HTMLElement}\n */\n function createLink (data) {\n var item = document.createElement('li')\n var a = document.createElement('a')\n if (options.listItemClass) {\n item.setAttribute('class', options.listItemClass)\n }\n\n if (options.onClick) {\n a.onclick = options.onClick\n }\n\n if (options.includeHtml && data.childNodes.length) {\n forEach.call(data.childNodes, function (node) {\n a.appendChild(node.cloneNode(true))\n })\n } else {\n // Default behavior.\n a.textContent = data.textContent\n }\n a.setAttribute('href', options.basePath + '#' + data.id)\n a.setAttribute('class', options.linkClass +\n SPACE_CHAR + 'node-name--' + data.nodeName +\n SPACE_CHAR + options.extraLinkClasses)\n item.appendChild(a)\n return item\n }\n\n /**\n * Create list element.\n * @param {Boolean} isCollapsed\n * @return {HTMLElement}\n */\n function createList (isCollapsed) {\n var listElement = (options.orderedList) ? 'ol' : 'ul'\n var list = document.createElement(listElement)\n var classes = options.listClass +\n SPACE_CHAR + options.extraListClasses\n if (isCollapsed) {\n classes += SPACE_CHAR + options.collapsibleClass\n classes += SPACE_CHAR + options.isCollapsedClass\n }\n list.setAttribute('class', classes)\n return list\n }\n\n /**\n * Update fixed sidebar class.\n * @return {HTMLElement}\n */\n function updateFixedSidebarClass () {\n if (options.scrollContainer && document.querySelector(options.scrollContainer)) {\n var top\n top = document.querySelector(options.scrollContainer).scrollTop\n } else {\n top = document.documentElement.scrollTop || body.scrollTop\n }\n var posFixedEl = document.querySelector(options.positionFixedSelector)\n\n if (options.fixedSidebarOffset === 'auto') {\n options.fixedSidebarOffset = document.querySelector(options.tocSelector).offsetTop\n }\n\n if (top > options.fixedSidebarOffset) {\n if (posFixedEl.className.indexOf(options.positionFixedClass) === -1) {\n posFixedEl.className += SPACE_CHAR + options.positionFixedClass\n }\n } else {\n posFixedEl.className = posFixedEl.className.split(SPACE_CHAR + options.positionFixedClass).join('')\n }\n }\n\n /**\n * Get top position of heading\n * @param {HTMLElement}\n * @return {integer} position\n */\n function getHeadingTopPos (obj) {\n var position = 0\n if (obj !== document.querySelector(options.contentSelector && obj != null)) {\n position = obj.offsetTop\n if (options.hasInnerContainers) { position += getHeadingTopPos(obj.offsetParent) }\n }\n return position\n }\n\n /**\n * Update TOC highlighting and collapsed groups\n */\n function updateToc (headingsArray) {\n // If a fixed content container was set\n if (options.scrollContainer && document.querySelector(options.scrollContainer)) {\n var top\n top = document.querySelector(options.scrollContainer).scrollTop\n } else {\n top = document.documentElement.scrollTop || body.scrollTop\n }\n\n // Add fixed class at offset\n if (options.positionFixedSelector) {\n updateFixedSidebarClass()\n }\n\n // Get the most TOP heading currently visible on the page to\n // identify what element to be highlighted\n var headings = headingsArray;\n var topHeader;\n var headingTopPos;\n\n // Using some instead of each so that we can escape early\n if (currentlyHighlighting &&\n document.querySelector(options.tocSelector) !== null &&\n headings.length > 0) {\n some.call(headings, function (heading, i) {\n headingTopPos = getHeadingTopPos(heading)\n if (headingTopPos > top + options.headingsOffset + 10) {\n // Don't allow negative index value\n // var index = (i === 0) ? i : i - 1;\n // topHeader = headings[index];\n // jadams, index correction seems NOT needed\n topHeader = headings[i];\n return true\n } else if (i === headings.length - 1) {\n // This allows scrolling for the last heading on the page\n topHeader = headings[headings.length - 1]\n return true\n }\n })\n\n // Remove the active class from the other tocLinks.\n var tocLinks = document.querySelector(options.tocSelector)\n .querySelectorAll('.' + options.linkClass)\n forEach.call(tocLinks, function (tocLink) {\n tocLink.className = tocLink.className.split(SPACE_CHAR + options.activeLinkClass).join('')\n })\n var tocLis = document.querySelector(options.tocSelector)\n .querySelectorAll('.' + options.listItemClass)\n forEach.call(tocLis, function (tocLi) {\n tocLi.className = tocLi.className.split(SPACE_CHAR + options.activeListItemClass).join('')\n })\n\n // Add the active class to the active tocLink.\n var activeTocLink = document.querySelector(options.tocSelector)\n .querySelector('.' + options.linkClass +\n '.node-name--' + topHeader.nodeName +\n '[href=\"' + options.basePath + '#' + topHeader.id.replace(/([ #;&,.+*~':\"!^$[\\]()=>|/@])/g, '\\\\$1') + '\"]')\n if (activeTocLink.className.indexOf(options.activeLinkClass) === -1) {\n activeTocLink.className += SPACE_CHAR + options.activeLinkClass\n }\n var li = activeTocLink.parentNode\n if (li && li.className.indexOf(options.activeListItemClass) === -1) {\n li.className += SPACE_CHAR + options.activeListItemClass\n }\n\n var tocLists = document.querySelector(options.tocSelector)\n .querySelectorAll('.' + options.listClass + '.' + options.collapsibleClass)\n\n // Collapse the other collapsible lists.\n forEach.call(tocLists, function (list) {\n if (list.className.indexOf(options.isCollapsedClass) === -1) {\n list.className += SPACE_CHAR + options.isCollapsedClass\n }\n })\n\n // Expand the active link's collapsible list and its sibling if applicable.\n if (activeTocLink.nextSibling && activeTocLink.nextSibling.className.indexOf(options.isCollapsedClass) !== -1) {\n activeTocLink.nextSibling.className = activeTocLink.nextSibling.className.split(SPACE_CHAR + options.isCollapsedClass).join('')\n }\n removeCollapsedFromParents(activeTocLink.parentNode.parentNode)\n }\n }\n\n /**\n * Remove collpased class from parent elements.\n * @param {HTMLElement} element\n * @return {HTMLElement}\n */\n function removeCollapsedFromParents (element) {\n if (element.className.indexOf(options.collapsibleClass) !== -1 && element.className.indexOf(options.isCollapsedClass) !== -1) {\n element.className = element.className.split(SPACE_CHAR + options.isCollapsedClass).join('')\n return removeCollapsedFromParents(element.parentNode.parentNode)\n }\n return element\n }\n\n /**\n * Disable TOC Animation when a link is clicked.\n * @param {Event} event\n */\n function disableTocAnimation (event) {\n var target = event.target || event.srcElement\n if (typeof target.className !== 'string' || target.className.indexOf(options.linkClass) === -1) {\n return\n }\n // Bind to tocLink clicks to temporarily disable highlighting\n // while smoothScroll is animating.\n currentlyHighlighting = false\n }\n\n /**\n * Enable TOC Animation.\n */\n function enableTocAnimation () {\n currentlyHighlighting = true\n }\n\n return {\n enableTocAnimation: enableTocAnimation,\n disableTocAnimation: disableTocAnimation,\n render: render,\n updateToc: updateToc\n }\n}\n","/**\n * This file is responsible for parsing the content from the DOM and making\n * sure data is nested properly.\n *\n * @author Tim Scanlin\n */\n\n// -----------------------------------------------------------------------------\n// ESLint shimming\n// -----------------------------------------------------------------------------\n/* eslint indent: \"off\" */\n/* eslint no-undef: \"off\" */\n/* eslint semi: \"off\" */\n// -----------------------------------------------------------------------------\n\nmodule.exports = function parseContent (options) {\n var reduce = [].reduce\n\n /**\n * Get the last item in an array and return a reference to it.\n * @param {Array} array\n * @return {Object}\n */\n function getLastItem (array) {\n return array[array.length - 1]\n }\n\n /**\n * Get heading level for a heading dom node.\n * @param {HTMLElement} heading\n * @return {Number}\n */\n function getHeadingLevel (heading) {\n return +heading.nodeName.split('H').join('')\n }\n\n /**\n * Get important properties from a heading element and store in a plain object.\n * @param {HTMLElement} heading\n * @return {Object}\n */\n function getHeadingObject (heading) {\n // each node is processed twice by this method because nestHeadingsArray() and addNode() calls it\n // first time heading is real DOM node element, second time it is obj\n // that is causing problem so I am processing only original DOM node\n if (!(heading instanceof window.HTMLElement)) return heading\n\n if (options.ignoreHiddenElements && (!heading.offsetHeight || !heading.offsetParent)) {\n return null\n }\n\n var obj = {\n id: heading.id,\n children: [],\n nodeName: heading.nodeName,\n headingLevel: getHeadingLevel(heading),\n textContent: options.headingLabelCallback ? String(options.headingLabelCallback(heading.textContent)) : heading.textContent.trim()\n }\n\n if (options.includeHtml) {\n obj.childNodes = heading.childNodes\n }\n\n if (options.headingObjectCallback) {\n return options.headingObjectCallback(obj, heading)\n }\n\n return obj\n }\n\n /**\n * Add a node to the nested array.\n * @param {Object} node\n * @param {Array} nest\n * @return {Array}\n */\n function addNode (node, nest) {\n var obj = getHeadingObject(node)\n var level = obj.headingLevel\n var array = nest\n var lastItem = getLastItem(array)\n var lastItemLevel = lastItem\n ? lastItem.headingLevel\n : 0\n var counter = level - lastItemLevel\n\n while (counter > 0) {\n lastItem = getLastItem(array)\n if (lastItem && lastItem.children !== undefined) {\n array = lastItem.children\n }\n counter--\n }\n\n if (level >= options.collapseDepth) {\n obj.isCollapsed = true\n }\n\n array.push(obj)\n return array\n }\n\n /**\n * Select headings in content area, exclude any selector in options.ignoreSelector\n * @param {String} contentSelector\n * @param {Array} headingSelector\n * @return {Array}\n */\n function selectHeadings (contentSelector, headingSelector) {\n var selectors = headingSelector\n if (options.ignoreSelector) {\n selectors = headingSelector.split(',')\n .map(function mapSelectors (selector) {\n return selector.trim() + ':not(' + options.ignoreSelector + ')'\n })\n }\n try {\n return document.querySelector(contentSelector)\n .querySelectorAll(selectors)\n } catch (e) {\n console.warn('Element not found: ' + contentSelector); // eslint-disable-line\n return null\n }\n }\n\n /**\n * Nest headings array into nested arrays with 'children' property.\n * @param {Array} headingsArray\n * @return {Object}\n */\n function nestHeadingsArray (headingsArray) {\n return reduce.call(headingsArray, function reducer (prev, curr) {\n var currentHeading = getHeadingObject(curr)\n if (currentHeading) {\n addNode(currentHeading, prev.nest)\n }\n return prev\n }, {\n nest: []\n })\n }\n\n return {\n nestHeadingsArray: nestHeadingsArray,\n selectHeadings: selectHeadings\n }\n}\n","// -----------------------------------------------------------------------------\n// ESLint shimming\n// -----------------------------------------------------------------------------\n/* eslint indent: \"off\" */\n/* eslint no-undef: \"off\" */\n/* eslint semi: \"off\" */\n// -----------------------------------------------------------------------------\n\nmodule.exports = function updateTocScroll(options) {\n var toc = document.querySelector(options.tocSelector);\n if (toc && toc.scrollHeight > toc.clientHeight) {\n var activeItem = toc.querySelector('.' + options.activeListItemClass);\n if (activeItem) {\n toc.scrollTop = activeItem.offsetTop;\n }\n }\n}\n","/*\n # -----------------------------------------------------------------------------\n # ~/js/tocbot/scroll-smooth/index.js\n # Scroll-Smooth (Tocbot v4.12.0) implementation for J1 template\n #\n # Product/Info:\n # https://jekyll.one\n # https://tscanlin.github.io/tocbot\n # https://github.com/tscanlin/tocbot\n #\n # Copyright (C) 2021 Juergen Adams\n # Copyright (C) 2016 Tim Scanlin\n #\n # J1 Template is licensed under MIT License.\n # See: https://github.com/jekyll-one-org/J1 Template/blob/master/LICENSE\n # Tocbot is licensed under the MIT License.\n # For details, https://github.com/tscanlin/tocbot/blob/master/LICENSE\n # -----------------------------------------------------------------------------\n*/\n\n// -----------------------------------------------------------------------------\n// ESLint shimming\n// -----------------------------------------------------------------------------\n/* eslint no-redeclare: \"off\" */\n/* eslint no-undef: \"off\" */\n/* eslint no-empty: \"off\" */\n/* eslint semi: \"off\" */\n// -----------------------------------------------------------------------------\n/* globals location, requestAnimationFrame */\n\nexports.initSmoothScrolling = initSmoothScrolling\n\nfunction initSmoothScrolling (options) {\n if (isCssSmoothSCrollSupported()) { }\n\n var duration = options.duration\n var offset = options.offset\n\n var pageUrl = location.hash\n ? stripHash(location.href)\n : location.href\n\n delegatedLinkHijacking()\n\n function delegatedLinkHijacking () {\n document.body.addEventListener('click', onClick, false)\n\n function onClick (e) {\n if (\n !isInPageLink(e.target) ||\n e.target.className.indexOf('no-smooth-scroll') > -1 ||\n (e.target.href.charAt(e.target.href.length - 2) === '#' &&\n e.target.href.charAt(e.target.href.length - 1) === '!') ||\n e.target.className.indexOf(options.linkClass) === -1) {\n return\n }\n\n // Don't prevent default or hash doesn't change.\n // e.preventDefault()\n\n jump(e.target.hash, {\n duration: duration,\n offset: offset,\n callback: function () {\n setFocus(e.target.hash)\n }\n })\n }\n }\n\n function isInPageLink (n) {\n return n.tagName.toLowerCase() === 'a' &&\n (n.hash.length > 0 || n.href.charAt(n.href.length - 1) === '#') &&\n (stripHash(n.href) === pageUrl || stripHash(n.href) + '#' === pageUrl)\n }\n\n function stripHash (url) {\n return url.slice(0, url.lastIndexOf('#'))\n }\n\n function isCssSmoothSCrollSupported () {\n return 'scrollBehavior' in document.documentElement.style\n }\n\n // Adapted from:\n // https://www.nczonline.net/blog/2013/01/15/fixing-skip-to-content-links/\n function setFocus (hash) {\n var element = document.getElementById(hash.substring(1))\n\n if (element) {\n if (!/^(?:a|select|input|button|textarea)$/i.test(element.tagName)) {\n element.tabIndex = -1\n }\n\n element.focus()\n }\n }\n}\n\nfunction jump (target, options) {\n var start = window.pageYOffset\n var opt = {\n duration: options.duration,\n offset: options.offset || 0,\n callback: options.callback,\n easing: options.easing || easeInOutQuad\n }\n // This makes ids that start with a number work: ('[id=\"' + decodeURI(target).split('#').join('') + '\"]')\n // DecodeURI for nonASCII hashes, they was encoded, but id was not encoded, it lead to not finding the tgt element by id.\n // And this is for IE: document.body.scrollTop\n var tgt = document.querySelector('[id=\"' + decodeURI(target).split('#').join('') + '\"]')\n var distance = typeof target === 'string'\n ? opt.offset + (\n target\n ? (tgt && tgt.getBoundingClientRect().top) || 0 // handle non-existent links better.\n : -(document.documentElement.scrollTop || document.body.scrollTop))\n : target\n var duration = typeof opt.duration === 'function'\n ? opt.duration(distance)\n : opt.duration\n var timeStart\n var timeElapsed\n\n requestAnimationFrame(function (time) { timeStart = time; loop(time) })\n function loop (time) {\n timeElapsed = time - timeStart\n\n window.scrollTo(0, opt.easing(timeElapsed, start, distance, duration))\n\n if (timeElapsed < duration) { requestAnimationFrame(loop) } else { end() }\n }\n\n function end () {\n window.scrollTo(0, start + distance)\n\n if (typeof opt.callback === 'function') { opt.callback() }\n }\n\n // Robert Penner's easeInOutQuad - http://robertpenner.com/easing/\n function easeInOutQuad (t, b, c, d) {\n t /= d / 2\n if (t < 1) return c / 2 * t * t + b\n t--\n return -c / 2 * (t * (t - 2) - 1) + b\n }\n}\n","/*\n # -----------------------------------------------------------------------------\n # ~/js/adoc_result_viewer/view_results.js\n # Provides JavaScript functions displaying results for Asciidoctor\n #\n # Product/Info:\n # https://jekyll.one\n #\n # Copyright (C) 2021 Juergen Adams\n #\n # J1 Template is licensed under MIT License.\n # See: https://github.com/jekyll-one-org/J1 Template/blob/master/LICENSE\n #\n # -----------------------------------------------------------------------------\n*/\n\n// -----------------------------------------------------------------------------\n// ESLint shimming\n// -----------------------------------------------------------------------------\n/* eslint indent: \"off\" */\n/* global $ */\n// -----------------------------------------------------------------------------\n\n/*!\n * J1 ADoc ResultViewer\n * Copyright (C) 2021 Juergen Adams\n * Licensed under MIT License.\n */\n\nvar timeoutHandle;\n\nfunction toggle_result_block(result_block) {\n window.clearTimeout(timeoutHandle); // Clear the timeout object\n result_block.prev().toggleClass('stacked');\n result_block.toggle();\n // timeoutHandle = window.setTimeout(function () {\n // result_block.hide();\n // }, 5000);\n}\n\nfunction insert_result_links() {\n $('.result').each(function(idx, node) {\n var result_block = $(node);\n var title_div = result_block.prev().find('.title');\n var view_result_link = $('<div class=\"view-result j1-viewer\"><span class=\"btn-viewer j1-tooltip\" data-toggle=\"tooltip\" data-placement=\"left\" title=\"toggle results\" data-original-title=\"toggle results\">View</span></div>');\n title_div.append(view_result_link);\n view_result_link.on('click', function(event) {\n event.preventDefault();\n toggle_result_block(result_block);\n });\n });\n}\n\n$(insert_result_links);\n"],"sourceRoot":""}
@@ -8,7 +8,7 @@
8
8
  * J1 Core
9
9
  * Copyright (C) 2021 Juergen Adams
10
10
  * Licensed under MIT License.
11
- */e.exports=function(e){$.extend({foo:"foo_option",bar:"bar_option"},void 0);return{_init_:function(e){},getState:function(){return"loaded"},isMobile:function(e){var n,t=!1;return n=navigator.userAgent||navigator.vendor||window.opera,(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(n)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw-(n|u)|c55\/|capi|ccwa|cdm|cell|chtm|cldc|cmd|co(mp|nd)|craw|da(it|ll|ng)|dbte|dcs|devi|dica|dmob|do(c|p)o|ds(12|d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(|_)|g1 u|g560|gene|gf5|gmo|go(\.w|od)|gr(ad|un)|haie|hcit|hd(m|p|t)|hei|hi(pt|ta)|hp( i|ip)|hsc|ht(c(| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i(20|go|ma)|i230|iac( ||\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|[a-w])|libw|lynx|m1w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|mcr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|([1-8]|c))|phil|pire|pl(ay|uc)|pn2|po(ck|rt|se)|prox|psio|ptg|qaa|qc(07|12|21|32|60|[2-7]|i)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h|oo|p)|sdk\/|se(c(|0|1)|47|mc|nd|ri)|sgh|shar|sie(|m)|sk0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h|v|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl|tdg|tel(i|m)|tim|tmo|to(pl|sh)|ts(70|m|m3|m5)|tx9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas|your|zeto|zte/i.test(n.substr(0,4)))&&(t=!0),t},bsFormClearButton:function(){$(":input").on("keydown focus change mouseover",(function(){$(this).val().length>0&&$(this).nextAll(".form-clear").removeClass("d-none")})).on("keydown keyup blur",(function(){0===$(this).val().length&&$(this).nextAll(".form-clear").addClass("d-none")}))}}}()},function(e,n){e.exports=function(e){var n,t,r={};$.extend({foo:"bar",bar:"foo"},e);return{init:function(e,o){return n=log4javascript.getLogger("j1.core.navigator"),t="core is being initialized",n.info(t),this.manageDropdownMenu(e,o),this.navbarSticky(),r.type="command",r.action="module_initialized",r.text="navigator core initialized successfully",j1.sendMessage("j1.core.navigator","j1.adapter.navigator",r),!0},eventHandler:function(){var e=log4javascript.getLogger("j1.core.navigator.eventHandler"),n=$("nav.navbar.navigator");if($('a[href="#"]').click((function(n){n.preventDefault?n.preventDefault():n.returnValue=!1,e.info('bound click event to "#", suppress default action')})),n.hasClass("navbar-sticky")&&n.wrap("<div class='wrap-sticky'></div>"),n.hasClass("brand-center")){var t=new Array,r=$("nav.brand-center"),o=r.find("ul.navbar-nav");r.find("ul.navbar-nav > li").each((function(){t.push($(this).html())}));var a=t.splice(0,Math.round(t.length/2)),i=t,s="",l=function(e){s="";for(var n=0;n<e.length;n++)s+="<li>"+e[n]+"</li>"};l(a),o.html(s),r.find("ul.nav").first().addClass("navbar-left"),l(i),o.after('<ul class="nav navbar-nav"></ul>').next().html(s),r.find("ul.nav").last().addClass("navbar-right"),r.find("ul.nav.navbar-left").wrap("<div class='col_half left'></div>"),r.find("ul.nav.navbar-right").wrap("<div class='col_half right'></div>"),r.find("ul.navbar-nav > li").each((function(){var e=$("ul.dropdown-menu",this),n=$("ul.megamenu-content",this);e.closest("li").addClass("dropdown"),n.closest("li").addClass("megamenu-fw")}))}n.find("ul.nav").hasClass("navbar-center")&&n.addClass("menu-center"),n.hasClass("navbar-full")?($("nav.navbar.navigator").find("ul.nav").wrap("<div class='wrap-full-menu'></div>"),$(".wrap-full-menu").wrap("<div class='nav-full'></div>"),$("ul.nav.navbar-nav").prepend("<li class='close-full-menu'><a href='#'><i class='mdi mdi-close'></i></a></li>")):n.hasClass("navbar-mobile")?n.removeClass("no-full"):n.addClass("no-full"),n.hasClass("no-background")&&$(window).on("scroll",(function(){var e=$("nav.navbar").outerHeight();$(window).scrollTop()>e?$(".navbar-fixed").removeClass("no-background"):$(".navbar-fixed").addClass("no-background")})),n.hasClass("navbar-transparent")&&$(window).on("scroll",(function(){var e=$("nav.navbar").outerHeight();$(window).scrollTop()>e?($(".navbar-fixed").removeClass("navbar-transparent"),$(".navbar-fixed").addClass("navbar-scrolled")):($(".navbar-fixed").removeClass("navbar-scrolled"),$(".navbar-fixed").addClass("navbar-transparent"))})),$("nav.navbar.navigator .attr-nav").each((function(){e.debug("register OPEN event|s for QuickSearch"),$("li.search > a",this).on("click",(function(n){e.debug("manage search action OPEN"),$("html,body").animate({scrollTop:0},0),$(".top-search").slideToggle("slow","swing",(function(){$(".top-search").is(":visible")?($("body").addClass("stop-scrolling"),$("body").bind("touchmove",(function(e){e.preventDefault()}))):($("body").removeClass("stop-scrolling"),$("body").unbind("touchmove"))}))}))})),e.debug("register CLOSE event|s for QuickSearch"),$(".input-group-addon.close-search").on("click",(function(n){n.preventDefault(),e.debug("manage search action CLOSE"),$(".top-search").slideUp("slow","swing"),$("html,body").animate({scrollTop:0},0),$("body").removeClass("stop-scrolling"),$("body").unbind("touchmove"),n.stopPropagation()})),$("nav.navbar.navigator .attr-nav").each((function(){e.debug("register SHOW|HIDE event|s for J1 Translator"),$("li.translator > a",this).on("click",(function(n){e.debug("toggle translator icon SHOW|HIDE"),$("#google_translate_element").toggle(),"none"!==$("#google_translate_element").css("display")&&$("html,body").animate({scrollTop:0},"slow")}))})),$("body").wrapInner("<div class='wrapper'></div>")},manageDropdownMenu:function(e,n){var t,r,o,a,i=e,s=n,l=$("nav.navbar.navigator"),c=(window.matchMedia("(orientation: landscape)").matches,$(window).width()),u=($("nav").width(),l.find("ul.nav").data("in")),d=l.find("ul.nav").data("out"),f="#"+s.xhr_container_id+".collapse",p=s.delay_menu_open;if(c<=(r="lg"===i.nav_bar.media_breakpoint?992:"md"===i.nav_bar.media_breakpoint?768:"sm"===i.nav_bar.media_breakpoint?576:992)?($(f).addClass("navbar-collapse"),$(f).removeClass("show"),$("#navigator_nav_quicklinks").addClass("show"),$("nav.navbar.navigator .attr-nav").each((function(){$(".dropdown-menu",this).removeClass("animated"),$("li.dropdown",this).off("mouseenter"),$("li.dropdown",this).off("mouseleave"),$("a.dropdown-toggle",this).off("click"),$("a.dropdown-toggle",this).on("click",(function(e){$(this).closest("li.dropdown").find(".dropdown-menu").first().stop().fadeToggle(),$(".navbar-toggle").each((function(){$(".mdi",this).removeClass("mdi-close"),$(".mdi",this).addClass("mdi-menu"),$(".navbar-collapse").removeClass("in"),$(".navbar-collapse").removeClass("open")}))})),$(this).on("mouseleave",(function(){$(".dropdown-menu",this).stop().fadeOut(),$("li.dropdown",this).removeClass("open")}))})),$("#desktop_menu").hide()):c>r&&($("#navigator_nav_quicklinks").removeClass("show"),$("#desktop_menu").show(),$(".dropdown-menu > li").on("mouseenter",(function(){if($("body").hasClass("stop-scrolling"))return!1;$("body").addClass("stop-scrolling")})),$(".dropdown-menu > li").on("mouseleave",(function(){$("body").hasClass("stop-scrolling")&&$("body").removeClass("stop-scrolling")})),$(".dropdown-menu > li").hover((function(){var e=$(this).find("ul");1==e.length&&e.addClass("scrollable-menu")})),$(f).removeClass("navbar-collapse"),$(f).addClass("show"),$("nav.navbar.navigator ul.nav").each((function(){$("a.dropdown-toggle",this).off("click"),$("a.dropdown-toggle",this).on("click",(function(e){})),$(".megamenu-fw",this).each((function(){$(".title",this).off("click"),$("a.dropdown-toggle",this).off("click"),$(".content").removeClass("animated")})),$(".dropdown-menu",this).addClass("animated"),$("li.dropdown",this).on("mouseenter",(function(){t=$(".dropdown-menu",this).eq(0),o=$(this),t.removeClass(d),t.removeClass("open"),o.addClass("open"),a=window.setTimeout((function(){o.hasClass("open")&&(t.stop().fadeIn().addClass(u),t.addClass("open"),o.addClass("open"))}),p)})),$("li.dropdown",this).on("mouseleave",(function(){window.clearTimeout(a),$(this).removeClass("open").removeClass("open"),$(".dropdown-menu",this).removeClass("open"),$(".dropdown-menu",this).eq(0).removeClass(u),$(".dropdown-menu",this).eq(0).stop().fadeOut().addClass(d)})),$(this).on("mouseleave",(function(){window.clearTimeout(a),$("li.dropdown",this).removeClass("open"),$(".dropdown-menu",this).removeClass("open"),$(".dropdown-menu",this).removeClass(u),$(".dropdown-menu",this).eq(0).stop().fadeOut().addClass(d)}))}))),$("nav.navbar.navigator .attr-nav").each((function(){$("a.dropdown-toggle",this).off("click"),$("a.dropdown-toggle",this).on("click",(function(e){})),$(".dropdown-menu",this).addClass("animated"),$("li.dropdown",this).on("mouseenter",(function(){$(".dropdown-menu",this).eq(0).removeClass(d),$(".dropdown-menu",this).eq(0).stop().fadeIn().addClass(u),$(this).addClass("open")})),$("li.dropdown",this).on("mouseleave",(function(){$(".dropdown-menu",this).eq(0).removeClass(u),$(".dropdown-menu",this).eq(0).stop().fadeOut().addClass(d),$(this).removeClass("open")})),$(this).on("mouseleave",(function(){$(".dropdown-menu",this).removeClass(u),$(".dropdown-menu",this).eq(0).stop().fadeOut().addClass(d),$("li.dropdown",this).removeClass("open")}))})),l.hasClass("navbar-full")){var m=$(window).height(),v=$(window).width();$(".nav-full").css("height",m+"px"),$(".wrap-full-menu").css("height",m+"px"),$(".wrap-full-menu").css("width",v+"px"),$(".navbar-collapse").addClass("animated"),$(".navbar-toggle").each((function(){var e=$(this).data("target");$(this).off("click"),$(this).on("click",(function(n){n.preventDefault(),$(e).removeClass(d),$(e).addClass("in"),$(e).addClass(u)})),$("li.close-full-menu").on("click",(function(n){n.preventDefault(),$(e).addClass(d),setTimeout((function(){$(e).removeClass("in"),$(e).removeClass(u)}),500)}))}))}},navbarSticky:function(){var e=$("nav.navbar.navigator");if(e.hasClass("navbar-sticky")){var n=e.height();$(".wrap-sticky").height(n);var t=$(".wrap-sticky").offset().top;$(window).on("scroll",(function(){$(window).scrollTop()>t?e.addClass("sticked"):e.removeClass("sticked")}))}},updateSidebar:function(e){var n,r=log4javascript.getLogger("j1.core.navigator.updateSidebar");return n=JSON.stringify(e),t="user state data: "+n,r.debug(t),j1.resolveMacros(e),j1.updateMacros(e),!0}}}(jQuery)},function(e,n){
11
+ */e.exports=function(e){$.extend({foo:"foo_option",bar:"bar_option"},void 0);return{_init_:function(e){},getState:function(){return"loaded"},isMobile:function(e){var n,t=!1;return n=navigator.userAgent||navigator.vendor||window.opera,(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(n)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw-(n|u)|c55\/|capi|ccwa|cdm|cell|chtm|cldc|cmd|co(mp|nd)|craw|da(it|ll|ng)|dbte|dcs|devi|dica|dmob|do(c|p)o|ds(12|d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(|_)|g1 u|g560|gene|gf5|gmo|go(\.w|od)|gr(ad|un)|haie|hcit|hd(m|p|t)|hei|hi(pt|ta)|hp( i|ip)|hsc|ht(c(| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i(20|go|ma)|i230|iac( ||\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|[a-w])|libw|lynx|m1w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|mcr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|([1-8]|c))|phil|pire|pl(ay|uc)|pn2|po(ck|rt|se)|prox|psio|ptg|qaa|qc(07|12|21|32|60|[2-7]|i)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h|oo|p)|sdk\/|se(c(|0|1)|47|mc|nd|ri)|sgh|shar|sie(|m)|sk0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h|v|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl|tdg|tel(i|m)|tim|tmo|to(pl|sh)|ts(70|m|m3|m5)|tx9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas|your|zeto|zte/i.test(n.substr(0,4)))&&(t=!0),t},bsFormClearButton:function(){$(":input").on("keydown focus change mouseover",(function(){$(this).val().length>0&&$(this).nextAll(".form-clear").removeClass("d-none")})).on("keydown keyup blur",(function(){0===$(this).val().length&&$(this).nextAll(".form-clear").addClass("d-none")}))}}}()},function(e,n){e.exports=function(e){var n,t,r={};$.extend({foo:"bar",bar:"foo"},e);return{init:function(e,o){return n=log4javascript.getLogger("j1.core.navigator"),t="core is being initialized",n.info(t),this.manageDropdownMenu(e,o),this.navbarSticky(),this.eventHandler(),r.type="command",r.action="core_initialized",r.text="navigator core initialized",j1.sendMessage("j1.core.navigator","j1.adapter.navigator",r),!0},eventHandler:function(){var e=log4javascript.getLogger("j1.core.navigator.eventHandler"),n=$("nav.navbar.navigator");if($('a[href="#"]').click((function(n){n.preventDefault?n.preventDefault():n.returnValue=!1,e.info('bound click event to "#", suppress default action')})),n.hasClass("navbar-sticky")&&n.wrap("<div class='wrap-sticky'></div>"),n.hasClass("brand-center")){var t=new Array,r=$("nav.brand-center"),o=r.find("ul.navbar-nav");r.find("ul.navbar-nav > li").each((function(){t.push($(this).html())}));var a=t.splice(0,Math.round(t.length/2)),i=t,s="",l=function(e){s="";for(var n=0;n<e.length;n++)s+="<li>"+e[n]+"</li>"};l(a),o.html(s),r.find("ul.nav").first().addClass("navbar-left"),l(i),o.after('<ul class="nav navbar-nav"></ul>').next().html(s),r.find("ul.nav").last().addClass("navbar-right"),r.find("ul.nav.navbar-left").wrap("<div class='col_half left'></div>"),r.find("ul.nav.navbar-right").wrap("<div class='col_half right'></div>"),r.find("ul.navbar-nav > li").each((function(){var e=$("ul.dropdown-menu",this),n=$("ul.megamenu-content",this);e.closest("li").addClass("dropdown"),n.closest("li").addClass("megamenu-fw")}))}n.find("ul.nav").hasClass("navbar-center")&&n.addClass("menu-center"),n.hasClass("navbar-full")?($("nav.navbar.navigator").find("ul.nav").wrap("<div class='wrap-full-menu'></div>"),$(".wrap-full-menu").wrap("<div class='nav-full'></div>"),$("ul.nav.navbar-nav").prepend("<li class='close-full-menu'><a href='#'><i class='mdi mdi-close'></i></a></li>")):n.hasClass("navbar-mobile")?n.removeClass("no-full"):n.addClass("no-full"),n.hasClass("no-background")&&$(window).on("scroll",(function(){var e=$("nav.navbar").outerHeight();$(window).scrollTop()>e?$(".navbar-fixed").removeClass("no-background"):$(".navbar-fixed").addClass("no-background")})),n.hasClass("navbar-transparent")&&$(window).on("scroll",(function(){var e=$("nav.navbar").outerHeight();$(window).scrollTop()>e?($(".navbar-fixed").removeClass("navbar-transparent"),$(".navbar-fixed").addClass("navbar-scrolled")):($(".navbar-fixed").removeClass("navbar-scrolled"),$(".navbar-fixed").addClass("navbar-transparent"))})),$(".attr-nav").each((function(){e.debug("register OPEN event|s for QuickSearch"),$("li.search > a",this).on("click",(function(n){e.debug("manage search action OPEN"),$("html,body").animate({scrollTop:0},0),$(".top-search").slideToggle("slow","swing",(function(){$(".top-search").is(":visible")?($("body").addClass("stop-scrolling"),$("body").bind("touchmove",(function(e){e.preventDefault()}))):($("body").removeClass("stop-scrolling"),$("body").unbind("touchmove"))}))}))})),e.debug("register CLOSE event|s for QuickSearch"),$(".input-group-addon.close-search").on("click",(function(n){n.preventDefault(),e.debug("manage search action CLOSE"),$(".top-search").slideUp("slow","swing"),$("html,body").animate({scrollTop:0},0),$("body").removeClass("stop-scrolling"),$("body").unbind("touchmove"),n.stopPropagation()})),$("nav.navbar.navigator .attr-nav").each((function(){e.debug("register SHOW|HIDE event|s for J1 Translator"),$("li.translator > a",this).on("click",(function(n){e.debug("toggle translator icon SHOW|HIDE"),$("#google_translate_element").toggle(),"none"!==$("#google_translate_element").css("display")&&$("html,body").animate({scrollTop:0},"slow")}))})),$("body").wrapInner("<div class='wrapper'></div>")},manageDropdownMenu:function(e,n){var t,r,o,a,i=e,s=n,l=$("nav.navbar.navigator"),c=(window.matchMedia("(orientation: landscape)").matches,$(window).width()),u=($("nav").width(),l.find("ul.nav").data("in")),d=l.find("ul.nav").data("out"),f="#"+s.xhr_container_id+".collapse",p=s.delay_menu_open;if(c<=(r="lg"===i.nav_bar.media_breakpoint?992:"md"===i.nav_bar.media_breakpoint?768:"sm"===i.nav_bar.media_breakpoint?576:992)?($(f).addClass("navbar-collapse"),$(f).removeClass("show"),$("#navigator_nav_quicklinks").addClass("show"),$("nav.navbar.navigator .attr-nav").each((function(){$(".dropdown-menu",this).removeClass("animated"),$("li.dropdown",this).off("mouseenter"),$("li.dropdown",this).off("mouseleave"),$("a.dropdown-toggle",this).off("click"),$("a.dropdown-toggle",this).on("click",(function(e){$(this).closest("li.dropdown").find(".dropdown-menu").first().stop().fadeToggle(),$(".navbar-toggle").each((function(){$(".mdi",this).removeClass("mdi-close"),$(".mdi",this).addClass("mdi-menu"),$(".navbar-collapse").removeClass("in"),$(".navbar-collapse").removeClass("open")}))})),$(this).on("mouseleave",(function(){$(".dropdown-menu",this).stop().fadeOut(),$("li.dropdown",this).removeClass("open")}))})),$("#desktop_menu").hide()):c>r&&($("#navigator_nav_quicklinks").removeClass("show"),$("#desktop_menu").show(),$(".dropdown-menu > li").on("mouseenter",(function(){if($("body").hasClass("stop-scrolling"))return!1;$("body").addClass("stop-scrolling")})),$(".dropdown-menu > li").on("mouseleave",(function(){$("body").hasClass("stop-scrolling")&&$("body").removeClass("stop-scrolling")})),$(".dropdown-menu > li").hover((function(){var e=$(this).find("ul");1==e.length&&e.addClass("scrollable-menu")})),$(f).removeClass("navbar-collapse"),$(f).addClass("show"),$("nav.navbar.navigator ul.nav").each((function(){$("a.dropdown-toggle",this).off("click"),$("a.dropdown-toggle",this).on("click",(function(e){})),$(".megamenu-fw",this).each((function(){$(".title",this).off("click"),$("a.dropdown-toggle",this).off("click"),$(".content").removeClass("animated")})),$(".dropdown-menu",this).addClass("animated"),$("li.dropdown",this).on("mouseenter",(function(){t=$(".dropdown-menu",this).eq(0),o=$(this),t.removeClass(d),t.removeClass("open"),o.addClass("open"),a=window.setTimeout((function(){o.hasClass("open")&&(t.stop().fadeIn().addClass(u),t.addClass("open"),o.addClass("open"))}),p)})),$("li.dropdown",this).on("mouseleave",(function(){window.clearTimeout(a),$(this).removeClass("open").removeClass("open"),$(".dropdown-menu",this).removeClass("open"),$(".dropdown-menu",this).eq(0).removeClass(u),$(".dropdown-menu",this).eq(0).stop().fadeOut().addClass(d)})),$(this).on("mouseleave",(function(){window.clearTimeout(a),$("li.dropdown",this).removeClass("open"),$(".dropdown-menu",this).removeClass("open"),$(".dropdown-menu",this).removeClass(u),$(".dropdown-menu",this).eq(0).stop().fadeOut().addClass(d)}))}))),$("nav.navbar.navigator .attr-nav").each((function(){$("a.dropdown-toggle",this).off("click"),$("a.dropdown-toggle",this).on("click",(function(e){})),$(".dropdown-menu",this).addClass("animated"),$("li.dropdown",this).on("mouseenter",(function(){$(".dropdown-menu",this).eq(0).removeClass(d),$(".dropdown-menu",this).eq(0).stop().fadeIn().addClass(u),$(this).addClass("open")})),$("li.dropdown",this).on("mouseleave",(function(){$(".dropdown-menu",this).eq(0).removeClass(u),$(".dropdown-menu",this).eq(0).stop().fadeOut().addClass(d),$(this).removeClass("open")})),$(this).on("mouseleave",(function(){$(".dropdown-menu",this).removeClass(u),$(".dropdown-menu",this).eq(0).stop().fadeOut().addClass(d),$("li.dropdown",this).removeClass("open")}))})),l.hasClass("navbar-full")){var m=$(window).height(),v=$(window).width();$(".nav-full").css("height",m+"px"),$(".wrap-full-menu").css("height",m+"px"),$(".wrap-full-menu").css("width",v+"px"),$(".navbar-collapse").addClass("animated"),$(".navbar-toggle").each((function(){var e=$(this).data("target");$(this).off("click"),$(this).on("click",(function(n){n.preventDefault(),$(e).removeClass(d),$(e).addClass("in"),$(e).addClass(u)})),$("li.close-full-menu").on("click",(function(n){n.preventDefault(),$(e).addClass(d),setTimeout((function(){$(e).removeClass("in"),$(e).removeClass(u)}),500)}))}))}},navbarSticky:function(){var e=$("nav.navbar.navigator");if(e.hasClass("navbar-sticky")){var n=e.height();$(".wrap-sticky").height(n);var t=$(".wrap-sticky").offset().top;$(window).on("scroll",(function(){$(window).scrollTop()>t?e.addClass("sticked"):e.removeClass("sticked")}))}},updateSidebar:function(e){var n,r=log4javascript.getLogger("j1.core.navigator.updateSidebar");return n=JSON.stringify(e),t="user state data: "+n,r.debug(t),j1.resolveMacros(e),j1.updateMacros(e),!0}}}(jQuery)},function(e,n){
12
12
  /*!
13
13
  * J1 Asciidoctor
14
14
  * Copyright (C) 2021 Juergen Adams
@@ -1 +1 @@
1
- {"version":3,"sources":["dist/template.js"],"names":["e","n","t","r","exports","o","i","l","call","m","c","d","Object","defineProperty","enumerable","get","Symbol","toStringTag","value","__esModule","create","bind","default","prototype","hasOwnProperty","p","s","window","j1","adapter","core","navigator","asciidoctor","scrollSmooth","anime","_init_","$","extend","foo","bar","getState","isMobile","userAgent","vendor","opera","test","substr","bsFormClearButton","on","this","val","length","nextAll","removeClass","addClass","init","log4javascript","getLogger","info","manageDropdownMenu","navbarSticky","type","action","text","sendMessage","eventHandler","click","preventDefault","returnValue","hasClass","wrap","Array","find","each","push","html","a","splice","Math","round","first","after","next","last","closest","prepend","outerHeight","scrollTop","debug","animate","slideToggle","is","unbind","slideUp","stopPropagation","toggle","css","wrapInner","matchMedia","matches","width","u","data","f","xhr_container_id","delay_menu_open","nav_bar","media_breakpoint","off","stop","fadeToggle","fadeOut","hide","show","hover","eq","setTimeout","fadeIn","clearTimeout","height","v","offset","top","updateSidebar","JSON","stringify","resolveMacros","updateMacros","jQuery","dummyOption","logText","callouts","conums","setInterval","clearInterval","scroll","duration","scrollTo","callback","pageYOffset","easing","document","querySelector","decodeURI","split","join","getBoundingClientRect","documentElement","body","requestAnimationFrame","update","begin","loopBegin","changeBegin","change","changeComplete","loopComplete","complete","loop","direction","autoplay","timelineOffset","delay","endDelay","CSS","springs","min","max","indexOf","apply","arr","isArray","obj","toString","pth","svg","SVGElement","inp","HTMLInputElement","dom","nodeType","str","fnc","und","hex","rgb","hsl","col","key","exec","map","parseFloat","sqrt","exp","cos","sin","ceil","h","Float32Array","abs","g","linear","Sine","PI","Circ","Back","Bounce","pow","Elastic","asin","forEach","keys","b","w","querySelectorAll","y","arguments","C","reduce","concat","NodeList","HTMLCollection","slice","k","some","x","S","T","L","replace","parseInt","O","j","target","id","total","M","getAttribute","q","createElement","tagName","parentNode","appendChild","style","position","offsetWidth","removeChild","N","toLowerCase","getComputedStyle","getPropertyValue","E","_","transform","Map","set","I","transforms","list","A","P","D","F","H","points","numberOfItems","getItem","B","getTotalLength","z","el","viewBox","Q","getPointAtLength","property","atan2","R","totalLength","original","numbers","match","Number","strings","Y","V","X","Z","keyframes","name","tweens","J","to","from","start","end","isPath","isColor","U","attribute","setAttribute","object","W","G","animatable","K","ee","ne","te","re","oe","paused","tick","cancelAnimationFrame","ae","Promise","finished","targets","children","animatables","animations","reversed","currentTime","speed","seek","isNaN","currentValue","passThrough","progress","reversePlayback","began","loopBegan","changeBegan","changeCompleted","remaining","completed","reset","pause","play","reverse","restart","ie","addEventListener","hidden","running","version","remove","convertPx","path","setDashoffset","stagger","grid","axis","floor","timeline","add","penner","random","global","destroy","skipRendering","tocSelector","innerHTML","console","warn","scrollContainer","removeEventListener","_scrollListener","_clickListener","options","state","scrollSmoothDuration","scrollSmoothOffset","initSmoothScrolling","_buildHtml","_parseContent","selectHeadings","contentSelector","headingSelector","nestHeadingsArray","nest","render","updateToc","disableTocScrollSync","scrollingElement","eventPhase","currentTarget","scrollEndCallback","throttleTimeout","disableTocAnimation","enableTocAnimation","refresh","tocbot","Date","Function","ignoreSelector","hasInnerContainers","linkClass","extraLinkClasses","activeLinkClass","listClass","extraListClasses","isCollapsedClass","collapsibleClass","listItemClass","activeListItemClass","collapseDepth","headingsOffset","positionFixedSelector","positionFixedClass","fixedSidebarOffset","includeHtml","onClick","orderedList","headingLabelCallback","ignoreHiddenElements","headingObjectCallback","basePath","onclick","childNodes","cloneNode","textContent","nodeName","isCollapsed","srcElement","className","firstChild","offsetTop","offsetParent","nextSibling","HTMLElement","offsetHeight","headingLevel","String","trim","scrollHeight","clientHeight","location","hash","href","lastIndexOf","charAt","getElementById","substring","tabIndex","focus","prev","append","toggleClass"],"mappings":"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"}
1
+ {"version":3,"sources":["dist/template.js"],"names":["e","n","t","r","exports","o","i","l","call","m","c","d","Object","defineProperty","enumerable","get","Symbol","toStringTag","value","__esModule","create","bind","default","prototype","hasOwnProperty","p","s","window","j1","adapter","core","navigator","asciidoctor","scrollSmooth","anime","_init_","$","extend","foo","bar","getState","isMobile","userAgent","vendor","opera","test","substr","bsFormClearButton","on","this","val","length","nextAll","removeClass","addClass","init","log4javascript","getLogger","info","manageDropdownMenu","navbarSticky","eventHandler","type","action","text","sendMessage","click","preventDefault","returnValue","hasClass","wrap","Array","find","each","push","html","a","splice","Math","round","first","after","next","last","closest","prepend","outerHeight","scrollTop","debug","animate","slideToggle","is","unbind","slideUp","stopPropagation","toggle","css","wrapInner","matchMedia","matches","width","u","data","f","xhr_container_id","delay_menu_open","nav_bar","media_breakpoint","off","stop","fadeToggle","fadeOut","hide","show","hover","eq","setTimeout","fadeIn","clearTimeout","height","v","offset","top","updateSidebar","JSON","stringify","resolveMacros","updateMacros","jQuery","dummyOption","logText","callouts","conums","setInterval","clearInterval","scroll","duration","scrollTo","callback","pageYOffset","easing","document","querySelector","decodeURI","split","join","getBoundingClientRect","documentElement","body","requestAnimationFrame","update","begin","loopBegin","changeBegin","change","changeComplete","loopComplete","complete","loop","direction","autoplay","timelineOffset","delay","endDelay","CSS","springs","min","max","indexOf","apply","arr","isArray","obj","toString","pth","svg","SVGElement","inp","HTMLInputElement","dom","nodeType","str","fnc","und","hex","rgb","hsl","col","key","exec","map","parseFloat","sqrt","exp","cos","sin","ceil","h","Float32Array","abs","g","linear","Sine","PI","Circ","Back","Bounce","pow","Elastic","asin","forEach","keys","b","w","querySelectorAll","y","arguments","C","reduce","concat","NodeList","HTMLCollection","slice","k","some","x","S","T","L","replace","parseInt","O","j","target","id","total","M","getAttribute","q","createElement","tagName","parentNode","appendChild","style","position","offsetWidth","removeChild","N","toLowerCase","getComputedStyle","getPropertyValue","E","_","transform","Map","set","I","transforms","list","A","P","D","F","H","points","numberOfItems","getItem","B","getTotalLength","z","el","viewBox","Q","getPointAtLength","property","atan2","R","totalLength","original","numbers","match","Number","strings","Y","V","X","Z","keyframes","name","tweens","J","to","from","start","end","isPath","isColor","U","attribute","setAttribute","object","W","G","animatable","K","ee","ne","te","re","oe","paused","tick","cancelAnimationFrame","ae","Promise","finished","targets","children","animatables","animations","reversed","currentTime","speed","seek","isNaN","currentValue","passThrough","progress","reversePlayback","began","loopBegan","changeBegan","changeCompleted","remaining","completed","reset","pause","play","reverse","restart","ie","addEventListener","hidden","running","version","remove","convertPx","path","setDashoffset","stagger","grid","axis","floor","timeline","add","penner","random","global","destroy","skipRendering","tocSelector","innerHTML","console","warn","scrollContainer","removeEventListener","_scrollListener","_clickListener","options","state","scrollSmoothDuration","scrollSmoothOffset","initSmoothScrolling","_buildHtml","_parseContent","selectHeadings","contentSelector","headingSelector","nestHeadingsArray","nest","render","updateToc","disableTocScrollSync","scrollingElement","eventPhase","currentTarget","scrollEndCallback","throttleTimeout","disableTocAnimation","enableTocAnimation","refresh","tocbot","Date","Function","ignoreSelector","hasInnerContainers","linkClass","extraLinkClasses","activeLinkClass","listClass","extraListClasses","isCollapsedClass","collapsibleClass","listItemClass","activeListItemClass","collapseDepth","headingsOffset","positionFixedSelector","positionFixedClass","fixedSidebarOffset","includeHtml","onClick","orderedList","headingLabelCallback","ignoreHiddenElements","headingObjectCallback","basePath","onclick","childNodes","cloneNode","textContent","nodeName","isCollapsed","srcElement","className","firstChild","offsetTop","offsetParent","nextSibling","HTMLElement","offsetHeight","headingLevel","String","trim","scrollHeight","clientHeight","location","hash","href","lastIndexOf","charAt","getElementById","substring","tabIndex","focus","prev","append","toggleClass"],"mappings":"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"}
data/lib/j1/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module J1
2
- VERSION = '2021.1.7'
2
+ VERSION = '2021.1.8'
3
3
  end
@@ -54,7 +54,7 @@ gem 'jekyll', '~> 4.2'
54
54
 
55
55
  # Theme Rubies, default: J1 Template (NOT used for the development system)
56
56
  #
57
- gem 'j1-template', '~> 2021.1.7'
57
+ gem 'j1-template', '~> 2021.1.8'
58
58
 
59
59
  # ------------------------------------------------------------------------------
60
60
  # PRODUCTION: Gem needed for the Jekyll and J1 prod environment
@@ -53,7 +53,7 @@ environment: production
53
53
  # ------------------------------------------------------------------------------
54
54
  # Sets the build version of J1 Template Gem
55
55
  #
56
- version: 2021.1.7
56
+ version: 2021.1.8
57
57
 
58
58
  # version
59
59
  # ------------------------------------------------------------------------------
@@ -412,7 +412,7 @@ end::tables[]
412
412
  // -----------------------------------------------------------------------------
413
413
  tag::products[]
414
414
  :j1--license: MIT License
415
- :j1--version: 2021.1.7
415
+ :j1--version: 2021.1.8
416
416
  :j1--site-name: Jekyll One
417
417
  end::products[]
418
418
 
@@ -360,6 +360,6 @@ end
360
360
 
361
361
  module Jekyll
362
362
  module J1LunrSearch
363
- VERSION = '2021.1.7'
363
+ VERSION = '2021.1.8'
364
364
  end
365
365
  end
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "private": true,
3
3
  "name": "j1_starter",
4
- "version": "2021.1.7",
4
+ "version": "2021.1.8",
5
5
  "description": "J1 Template Starter Web",
6
6
  "homepage": "https://your.site",
7
7
  "author": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "private": true,
3
3
  "name": "utls",
4
- "version": "2021.1.7",
4
+ "version": "2021.1.8",
5
5
  "description": "J1 Template Utility Server",
6
6
  "homepage": "https://jekyll.one",
7
7
  "author": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "private": true,
3
3
  "name": "utls",
4
- "version": "2021.1.7",
4
+ "version": "2021.1.8",
5
5
  "description": "J1 Template Utility Server",
6
6
  "homepage": "https://jekyll.one",
7
7
  "author": {
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: j1-template
3
3
  version: !ruby/object:Gem::Version
4
- version: 2021.1.7
4
+ version: 2021.1.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - juergen_jekyll_one