(function(e,t){"use strict";varn=e.History=e.History||{};if(typeofn.Adapter!="undefined")thrownewError("History.js Adapter has already been loaded...");n.Adapter={handlers:{},_uid:1,uid:function(e){returne._uid||(e._uid=n.Adapter._uid++)},bind:function(e,t,r){vari=n.Adapter.uid(e);n.Adapter.handlers[i]=n.Adapter.handlers[i]||{},n.Adapter.handlers[i][t]=n.Adapter.handlers[i][t]||[],n.Adapter.handlers[i][t].push(r),e["on"+t]=function(e,t){returnfunction(r){n.Adapter.trigger(e,t,r)}}(e,t)},trigger:function(e,t,r){r=r||{};vari=n.Adapter.uid(e),s,o;n.Adapter.handlers[i]=n.Adapter.handlers[i]||{},n.Adapter.handlers[i][t]=n.Adapter.handlers[i][t]||[];for(s=0,o=n.Adapter.handlers[i][t].length;s<o;++s)n.Adapter.handlers[i][t][s].apply(this,[r])},extractEventData:function(e,n){varr=n&&n[e]||t;returnr},onDomLoad:function(t){varn=e.setTimeout(function(){t()},2e3);e.onload=function(){clearTimeout(n),t()}}},typeofn.init!="undefined"&&n.init()})(window)