function codeWrap(){function d(a){a=a||localStorage.getItem("codeStyle");"undefined"!==typeof a&&null!==a&&($("[data-code-tablist] li, .tab-pane").removeClass("active"),$('[data-code-tablist] [href="#'+a+'"]').parent().addClass("active"),$('.tab-pane[id="'+a+'"]').addClass("active"),localStorage.setItem("codeStyle",a))}$("[data-code-id]").get().map(function(a){return a.attributes["data-code-id"].value}).filter(function(a,b,c){return c.indexOf(a)==b}).forEach(function(a){a=$("[data-code-id='"+a+"']");
var b=0,c=a.get().map(function(a){a.clientHeight>b&&(b=a.clientHeight);return a.outerHTML}).join(""),b=b+15,c='<ul class="nav nav-tabs nav-code" data-code-tablist><li class="active"><a href="#promise">Promises</a></li><li><a href="#callback">Callbacks</a></li></ul><div class="tab-content">{{tapPanes}}</div>'.replace(/{{tapPanes}}/g,c).replace(/<pre>/g,"<pre style='height: "+b+"px;'");a.first().replaceWith(c);a.remove();$("[data-code-hide]").addClass("hide")});$("[data-code-tablist] [href]").on("click",
function(a){var b=$(this).attr("href");d(b.replace("#",""));a.preventDefault()});d()}codeWrap();
