Index: openacs-4/packages/boomerang/www/resources/boomerang-1.0.0.min.js =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/boomerang/www/resources/Attic/boomerang-1.0.0.min.js,v diff -u -N --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/boomerang/www/resources/boomerang-1.0.0.min.js 4 Aug 2019 17:29:13 -0000 1.1.2.1 @@ -0,0 +1,11 @@ +/* + * Copyright (c) 2011, Yahoo! Inc. All rights reserved. + * Copyright (c) 2011-2012, Log-Normal, Inc. All rights reserved. + * Copyright (c) 2012-2017, SOASTA, Inc. All rights reserved. + * Copyright (c) 2017, Akamai Technologies, Inc. All rights reserved. + * Copyrights licensed under the BSD License. See the accompanying LICENSE.txt file for terms. + */ +/* JavaScript MD5 1.0.1 Copyright 2011, Sebastian Tschan. Licensed under the MIT license. */ +/* Boomerang Version: 1.0.0 207f868ce795c3cac6a35bb214d4a46d2342f10a */ + +BOOMR_start=(new Date).getTime();function BOOMR_check_doc_domain(e){if(window){if(!e){if(window.parent===window||!document.getElementById("boomr-if-as"))return;if(window.BOOMR&&BOOMR.boomerang_frame&&BOOMR.window)try{BOOMR.boomerang_frame.document.domain!==BOOMR.window.document.domain&&(BOOMR.boomerang_frame.document.domain=BOOMR.window.document.domain)}catch(t){BOOMR.isCrossOriginError(t)||BOOMR.addError(t,"BOOMR_check_doc_domain.domainFix")}e=document.domain}if(e&&-1!==e.indexOf(".")&&window.parent){try{window.parent.document;return}catch(t){try{document.domain=e}catch(n){return}}try{window.parent.document;return}catch(t){e=e.replace(/^[\w\-]+\./,"")}BOOMR_check_doc_domain(e)}}}BOOMR_check_doc_domain();!function(d){var l,t,u,o,s,e,a,n=d;d.parent!==d&&document.getElementById("boomr-if-as")&&"script"===document.getElementById("boomr-if-as").nodeName.toLowerCase()&&(d=d.parent);u=d.document;d.BOOMR||(d.BOOMR={});BOOMR=d.BOOMR;if(!BOOMR.version){BOOMR.version="1.0.0";BOOMR.window=d;BOOMR.boomerang_frame=n;BOOMR.plugins||(BOOMR.plugins={});!function(){try{new d.CustomEvent("CustomEvent")!==undefined&&(o=function(e,t){return new d.CustomEvent(e,t)})}catch(e){}try{!o&&u.createEvent&&u.createEvent("CustomEvent")&&(o=function(e,t){var n=u.createEvent("CustomEvent");t=t||{cancelable:!1,bubbles:!1};n.initCustomEvent(e,t.bubbles,t.cancelable,t.detail);return n})}catch(e){}!o&&u.createEventObject&&(o=function(e,t){var n=u.createEventObject();n.type=n.propertyName=e;n.detail=t.detail;return n});o||(o=function(){return undefined})}();s=function(e,t,n){var r=o(e,{detail:t});r&&(n?BOOMR.setImmediate(i):i());function i(){try{u.dispatchEvent?u.dispatchEvent(r):u.fireEvent&&u.fireEvent("onpropertychange",r)}catch(e){}}};if("undefined"!=typeof u.hidden){e="visibilityState";a="visibilitychange"}else if("undefined"!=typeof u.mozHidden){e="mozVisibilityState";a="mozvisibilitychange"}else if("undefined"!=typeof u.msHidden){e="msVisibilityState";a="msvisibilitychange"}else if("undefined"!=typeof u.webkitHidden){e="webkitVisibilityState";a="webkitvisibilitychange"}l={beacon_url:"",beacon_url_force_https:!0,beacon_urls_allowed:[],beacon_type:"AUTO",beacon_auth_key:"Authorization",beacon_auth_token:undefined,beacon_with_credentials:!1,beacon_disable_sendbeacon:!1,site_domain:d.location.hostname.replace(/.*?([^.]+\.[^.]+)\.?$/,"$1").toLowerCase(),user_ip:"",autorun:!0,hasSentPageLoadBeacon:!1,r:undefined,events:{page_ready:[],page_unload:[],before_unload:[],dom_loaded:[],visibility_changed:[],prerender_to_visible:[],before_beacon:[],beacon:[],page_load_beacon:[],xhr_load:[],click:[],form_submit:[],config:[],xhr_init:[],spa_init:[],spa_navigation:[],spa_cancel:[],xhr_send:[],xhr_error:[],error:[],netinfo:[],rage_click:[]},public_events:{before_beacon:"onBeforeBoomerangBeacon",beacon:"onBoomerangBeacon",onboomerangloaded:"onBoomerangLoaded"},translate_events:{onbeacon:"beacon",onconfig:"config",onerror:"error",onxhrerror:"xhr_error"},unloadEventsCount:0,unloadEventCalled:0,listenerCallbacks:{},vars:{},singleBeaconVars:{},varPriority:{"-1":{},1:{}},errors:{},disabled_plugins:{},localStorageSupported:!1,LOCAL_STORAGE_PREFIX:"_boomr_",nativeOverwrites:[],xb_handler:function(n){return function(e){var t;e||(e=d.event);e.target?t=e.target:e.srcElement&&(t=e.srcElement);3===t.nodeType&&(t=t.parentNode);t&&t.nodeName&&"OBJECT"===t.nodeName.toUpperCase()&&"application/x-shockwave-flash"===t.type||l.fireEvent(n,t)}},clearEvents:function(){var e;for(e in this.events)this.events.hasOwnProperty(e)&&(this.events[e]=[])},clearListeners:function(){var e;for(e in l.listenerCallbacks)if(l.listenerCallbacks.hasOwnProperty(e))for(;l.listenerCallbacks[e].length;)BOOMR.utils.removeListener(l.listenerCallbacks[e][0].el,e,l.listenerCallbacks[e][0].fn);l.listenerCallbacks={}},fireEvent:function(e,t){var n,r,i,o;e=e.toLowerCase();this.translate_events[e]&&(e=this.translate_events[e]);if(this.events.hasOwnProperty(e)){this.public_events.hasOwnProperty(e)&&s(this.public_events[e],t);i=this.events[e];"before_beacon"!==e&&"beacon"!==e&&BOOMR.real_sendBeacon();o=i.length;for(n=0;n")}for(n=0;n=n.expires){this.removeLocalStorage(e);return undefined}return n.items},setLocalStorage:function(e,t,n){var r,i,o;if(!e||!l.localStorageSupported||"object"!=typeof t)return!1;r={items:t};"number"==typeof n&&(r.expires=BOOMR.now()+1e3*n);if((i=d.JSON.stringify(r)).length<5e4){try{d.localStorage.setItem(l.LOCAL_STORAGE_PREFIX+e,i);if(i===(o=d.localStorage.getItem(l.LOCAL_STORAGE_PREFIX+e)))return!0}catch(a){}BOOMR.warn("Saved storage value doesn't match what we tried to set:\n"+i+"\n"+o)}else BOOMR.warn("Storage items too large: "+i.length+" "+i);return!1},removeLocalStorage:function(e){if(!e||!l.localStorageSupported)return!1;try{d.localStorage.removeItem(l.LOCAL_STORAGE_PREFIX+e);return!0}catch(t){}return!1},cleanupURL:function(e,t){if(!e||BOOMR.utils.isArray(e))return"";l.strip_query_string&&(e=e.replace(/\?.*/,"?qs-redacted"));if(void 0!==t&&e&&e.length>t){var n=e.indexOf("?");e=-1!==n&&nBOOMR.constants.MAX_GET_LENGTH&&(window.console&&(console.warn||console.log)||function(){})("Boomerang: Warning: Beacon may not be sent via GET due to payload size > 2000 bytes")}else("POST"===l.beacon_type||r.length>BOOMR.constants.MAX_GET_LENGTH)&&(s=!1);if(d&&d.navigator&&"function"==typeof d.navigator.sendBeacon&&BOOMR.utils.isNative(d.navigator.sendBeacon)&&"function"==typeof d.Blob&&"GET"!==l.beacon_type&&"undefined"==typeof l.beacon_auth_token&&!l.beacon_disable_sendbeacon){var u=new d.Blob([n+"&sb=1"],{type:"application/x-www-form-urlencoded"});if(d.navigator.sendBeacon(l.beacon_url,u))return!0}BOOMR.orig_XMLHttpRequest||d&&d.XMLHttpRequest||(s=!0);if(s){try{i=new Image}catch(c){return!1}i.src=r}else{o=new(BOOMR.window.orig_XMLHttpRequest||BOOMR.orig_XMLHttpRequest||BOOMR.window.XMLHttpRequest);try{this.sendXhrPostBeacon(o,n)}catch(c){o=new BOOMR.boomerang_frame.XMLHttpRequest;this.sendXhrPostBeacon(o,n)}}return!0},hasSentPageLoadBeacon:function(){return l.hasSentPageLoadBeacon},sendXhrPostBeacon:function(e,t){e.open("POST",l.beacon_url);e.setRequestHeader("Content-type","application/x-www-form-urlencoded");if("undefined"!=typeof l.beacon_auth_token){"undefined"==typeof l.beacon_auth_key&&(l.beacon_auth_key="Authorization");e.setRequestHeader(l.beacon_auth_key,l.beacon_auth_token)}l.beacon_with_credentials&&(e.withCredentials=!0);e.send(t)},getVarsOfPriority:function(e,t){var n,r=[],i=0!==t?l.varPriority[t]:e;for(n in i)if(i.hasOwnProperty(n)&&e.hasOwnProperty(n)){r.push(this.getUriEncodedVar(n,"undefined"==typeof e[n]?"":e[n]));0!==t&&delete e[n]}return r},getUriEncodedVar:function(e,t){t!==undefined&&null!==t||(t="");"object"==typeof t&&(t=BOOMR.utils.serializeForUrl(t));return encodeURIComponent(e)+"="+encodeURIComponent(t)},getResourceTiming:function(e,t,n){var r,i=BOOMR.getPerformance();try{if(i&&"function"==typeof i.getEntriesByName){if(!(r=i.getEntriesByName(e))||!r.length)return;if(!("function"!=typeof n||(r=BOOMR.utils.arrayFilter(r,n))&&r.length))return;1_.logMaxEntries&&Array.prototype.splice.call(a,0,a.length-_.logMaxEntries)},increment:function g(e,t,n){void 0===n&&(n=l());void 0===t&&(t=1);if(d[e]){d[e][n]||(d[e][n]=0);d[e][n]+=t}},getTimeBucket:l,getStats:function h(e,t){var n,r=0,i=0,o=Infinity,a=0,s=Math.floor((t-c)/y);if(!d[e])return 0;for(var u in d[e])if(s<=(u=parseInt(u,10))&&d[e].hasOwnProperty(u)){r++;i+=n=d[e][u];o=Math.min(o,n);a=Math.max(a,n)}return{total:i,count:r,min:o,max:a}},analyze:function R(e){var t=l(),n=0,r=0;_.sendLog&&void 0!==e&&function i(){for(var e="",t=0;ts){i.log(0,t,{y:n});c=n}o.interact("scroll",t,e);d+=Math.round(r/g*100);l+=Math.round(r/g*100);u=n}},a=function(e,o,a){o.register("click",b);var s=10,u=3,c=0,d=0,l=0,f=0,O=0,p=null;function t(e){var t=BOOMR.now(),n=e.clientX,r=e.clientY;c++;var i=Math.round(Math.sqrt(Math.pow(O-r,2)+Math.pow(f-n,2)));if(p===e.target||i<=s){if(u<=++d+1){l++;BOOMR.fireEvent("rage_click",e)}}else d=0;f=n;O=r;p=e.target;o.increment("click");o.log(1,t,{x:n,y:r});a.interact("click",t,e)}T.clicksCount=function(){return c};T.clicksRage=function(){return l};BOOMR.utils.addListener(e.document,"click",t,!0);return{analyze:function n(e){_.addToBeacon("c.c",T.clicksCount());_.addToBeacon("c.c.r",T.clicksRage())},stop:function r(){BOOMR.utils.removeListener(e.document,"click",t)},onBeacon:function i(){l=d=c=0}}},s=function(e,n,r){n.register("key",b);var i=0,o=0;function t(e){var t=BOOMR.now();i++;27===e.keyCode&&o++;n.increment("key");n.log(3,t);r.interact("key",t,e)}T.keyCount=function(){return i};T.keyEscapes=function(){return o};BOOMR.utils.addListener(e.document,"keydown",t,!0);return{analyze:function a(e){_.addToBeacon("c.k",T.keyCount());_.addToBeacon("c.k.e",T.keyEscapes())},stop:function s(){BOOMR.utils.removeListener(e.document,"keydown",t)},onBeacon:function u(){o=i=0}}},u=function(e,o,t){o.register("mouse",b);o.register("mousepct",w);var a=0,s=0,n=0,r=0,u=0,c=0,d=0,i=!1,l=!1,f=Math.round(Math.sqrt(Math.pow(BOOMR.utils.windowHeight(),2)+Math.pow(BOOMR.utils.windowWidth(),2)));function O(e){BOOMR.now();var t=e.clientX,n=e.clientY,r=Math.round(Math.sqrt(Math.pow(s-n,2)+Math.pow(a-t,2))),i=Math.round(r/f*100);u+=i;c+=i;d+=r;a=t;s=n;o.increment("mouse",r)}T.mousePct=function(){return c};T.mousePixels=function(){return d};i=setInterval(function p(){var e=Math.min(u,100);0!==e&&o.set("mousepct",e);u=0},y);l=setInterval(function m(){if((n!==a||r!==s)&&10<=Math.round(Math.sqrt(Math.pow(r-s,2)+Math.pow(n-a,2)))){o.log(2,BOOMR.now(),{x:a,y:s});n=a;r=s}},250);BOOMR.utils.addListener(e.document,"mousemove",O,!0);return{analyze:function g(e){_.addToBeacon("c.m.p",T.mousePct());_.addToBeacon("c.m.n",T.mousePixels())},stop:function h(){if(i){clearInterval(i);i=!1}if(l){clearInterval(l);l=!1}BOOMR.utils.removeListener(e.document,"mousemove",O)},onBeacon:function R(){d=c=0}}},c=function(e,i,t){i.register("inter",b);i.register("interdly",b);var o=t,a=0,s=null,u=0,c=0,d=0,l=0,f=!0,O=0,p=0,m=!1,g=!1,h=!1;function n(){if(m){clearTimeout(m);m=!1}if(g){clearTimeout(g);g=!1}}function R(){BOOMR.sendBeaconWhenReady({"rt.start":"manual","http.initiator":"interaction","rt.tstart":O,"rt.end":p},function(){n();BOOMR.fireEvent("interaction")},_)}T.interactionDelayed=function(){return d};T.interactionDelayedTime=function(){return Math.round(l)};T.interactionAvgDelay=function(){if(0_.waitAfterOnload){_.complete=!0;BOOMR.sendBeacon()}else{_.timeline.analyze();if(T.timeToInteractive()){_.complete=!0;BOOMR.sendBeacon()}else setTimeout(t,500)}},500)}else _.complete=!0},addToBeacon:function(e,t,n){if(0!==t&&void 0!==t||n){BOOMR.addVar(e,t);_.addedVars.push(e)}else BOOMR.removeVar(e)}};BOOMR.plugins.Continuity={init:function(e){BOOMR.utils.pluginConfig(_,e,"Continuity",["monitorLongTasks","monitorPageBusy","monitorFrameRate","monitorInteractions","monitorStats","afterOnload","afterOnloadMaxLength","afterOnloadMinWait","waitAfterOnload","ttiWaitForFrameworkReady","ttiWaitForHeroImages","sendLog","logMaxEntries","sendTimeline"]);if(_.initialized)return this;_.initialized=!0;_.timeline=new t(BOOMR.now());if(BOOMR.window){if(_.monitorLongTasks&&BOOMR.window.PerformanceObserver&&BOOMR.window.PerformanceLongTaskTiming){_.longTaskMonitor=new n(BOOMR.window,_.timeline);_.ttiMethod="lt"}if(_.monitorFrameRate&&"function"==typeof BOOMR.window.requestAnimationFrame){_.frameRateMonitor=new i(BOOMR.window,_.timeline);_.ttiMethod||(_.ttiMethod="raf")}if(_.monitorPageBusy&&(!BOOMR.window.PerformanceObserver||!BOOMR.window.PerformanceLongTaskTiming||!_.monitorLongTasks)){_.pageBusyMonitor=new r(BOOMR.window,_.timeline);_.ttiMethod||(_.ttiMethod="b")}if(_.monitorInteractions){_.interactionMonitor=new c(BOOMR.window,_.timeline,_.afterOnloadMinWait);_.scrollMonitor=new o(BOOMR.window,_.timeline,_.interactionMonitor);_.keyMonitor=new s(BOOMR.window,_.timeline,_.interactionMonitor);_.clickMonitor=new a(BOOMR.window,_.timeline,_.interactionMonitor);_.mouseMonitor=new u(BOOMR.window,_.timeline,_.interactionMonitor);_.visibilityMonitor=new d(BOOMR.window,_.timeline,_.interactionMonitor);_.orientationMonitor=new l(BOOMR.window,_.timeline,_.interactionMonitor)}_.monitorStats&&(_.statsMonitor=new f(BOOMR.window,_.timeline,_.interactionMonitor))}BOOMR.addVar("c.e",S.toString(36));BOOMR.addVar("c.tti.m",_.ttiMethod);BOOMR.subscribe("before_beacon",_.onBeforeBeacon,null,_);BOOMR.subscribe("beacon",_.onBeacon,null,_);BOOMR.subscribe("page_ready",_.onPageReady,null,_);BOOMR.subscribe("xhr_load",_.onXhrLoad,null,_);return this},is_complete:function(e){return _.complete||e&&"error"===e["http.initiator"]},frameworkReady:function(){_.frameworkReady=BOOMR.now()},metrics:T}}}();!function(){var r;if(!BOOMR.plugins.IFrameDelay){r=BOOMR.window;var i={initialized:!1,registerParent:!1,monitoredCount:0,finishedCount:0,runningCount:0,loadingIntervalID:undefined,loadedIntervalID:undefined,loadEnd:0,messages:{start:"boomrIframeLoading",done:"boomrIframeLoaded",startACK:"boomrIframeLoadingACK",doneACK:"boomrIframeLoadedACK"},onIFrameMessageAsParent:function(e){var t;if(e&&e.data&&"string"==typeof e.data&&"{"===e.data.charAt(0)&&e.source){try{t=JSON.parse(e.data)}catch(n){return}if(t.msg===i.messages.start){e.source.postMessage(JSON.stringify({msg:i.messages.startACK}),e.origin);i.runningCount+=1}else if(t.msg===i.messages.done){e.source.postMessage(JSON.stringify({msg:i.messages.doneACK}),e.origin);i.runningCount-=1;i.finishedCount+=1;t.loadEnd>i.loadEnd&&(i.loadEnd=t.loadEnd);i.checkCompleteness()}}},onIFrameMessageAsChild:function(e){var t;if(e&&e.data&&"string"==typeof e.data&&"{"===e.data.charAt(0)&&e.source){try{t=JSON.parse(e.data)}catch(n){return}if(t.msg===i.messages.startACK){clearInterval(i.loadingIntervalID);i.loadingIntervalID=undefined}else if(t.msg===i.messages.doneACK){clearInterval(i.loadedIntervalID);i.loadedIntervalID=undefined}}},checkCompleteness:function(){if(i.is_complete()){BOOMR.addVar("ifdl.done",BOOMR.now());BOOMR.addVar("ifdl.ct",i.finishedCount);BOOMR.addVar("ifdl.r",i.runningCount);BOOMR.addVar("ifdl.mon",i.monitoredCount);BOOMR.hasBrowserOnloadFired()?BOOMR.page_ready(0=i.monitoredCount&&0===i.runningCount}};BOOMR.plugins.IFrameDelay={init:function(e){BOOMR.utils.pluginConfig(i,e,"IFrameDelay",["enabled","registerParent","monitoredCount"]);if(i.initialized)return this;i.initialized=!0;if(this.is_supported())if(i.registerParent){BOOMR.utils.addListener(window,"message",i.onIFrameMessageAsChild);function t(){r.parent.postMessage(JSON.stringify({msg:i.messages.start,pid:BOOMR.pageId}),"*")}t();i.loadingIntervalID=setInterval(t,250);BOOMR.subscribe("page_load_beacon",function(e){var t;t=e&&e["rt.end"]?e["rt.end"]:BOOMR.now();function n(){i.loadingIntervalID||r.parent.postMessage(JSON.stringify({msg:i.messages.done,pid:BOOMR.pageId,loadEnd:t}),"*")}n();i.loadedIntervalID=setInterval(n,250)})}else if(!i.registerParent&&i.monitoredCount&&0i){n[o].responseStart=i;n[o].responseEnd=i}else n[o].responseEnd>i&&(n[o].responseEnd=i);var a=Math.round(BOOMR.plugins.ResourceTiming.calculateResourceTimingUnion(n)),s=r-a;if(a<0||r<0||s<0){BOOMR.addError("Incorrect SPA time calculation");return}e.timers={t_resp:a,t_page:s,t_done:r}}};c.prototype.setTimeout=function(e,t){var n=this;if(e){this.clearTimeout(t);this.timer=setTimeout(function(){n.timedout(t)},e)}};c.prototype.timedout=function(e){var t;this.clearTimeout(e);if((t=this.pending_events[e])&&0===t.nodes_to_wait){if("click"===t.type&&(0===t.total_nodes||!t.resource.url)){this.watch--;this.pending_events[e]=undefined}this.sendEvent(e)}};c.prototype.clearTimeout=function(e){if(this.timer&&e===this.pending_events.length-1){clearTimeout(this.timer);this.timer=null}};c.prototype.load_cb=function(e,t){var n,r,i=BOOMR.now();if((n=e.target||e.srcElement)&&n._bmr){r=n._bmr.idx;t=void 0!==t?t:n._bmr.res||0;if(!n._bmr.end[t]){n._bmr.end[t]=i;this.load_finished(r,i)}}};c.prototype.monitorMO=function(e){var t=this.pending_events[e];t&&delete t.ignoreMO};c.prototype.load_finished=function(e,t){var n=this.pending_events[e];if(n){n.nodes_to_wait--;if(0===n.nodes_to_wait){n.resource.timing.loadEventEnd=t||BOOMR.now();e===this.pending_events.length-1?BOOMR.utils.inArray(n.type,BOOMR.constants.BEACON_TYPE_SPAS)?this.setTimeout(m.spaIdleTimeout,e):this.setTimeout(m.xhrIdleTimeout,e):this.sendEvent(e)}}};c.prototype.wait_for_node=function(t,n){var e,r,i,o,a,s,u,c,d,l=this,f=!1,O=!1;if(t&&t.nodeName&&(t.nodeName.toUpperCase().match(/^(IMG|IFRAME|IMAGE)$/)||"LINK"===t.nodeName.toUpperCase()&&t.rel&&t.rel.match(/\bstylesheet\b/i))){t._bmr&&"number"==typeof t._bmr.res&&t._bmr.end[t._bmr.res]&&(O=!0);if(!(a=t.src||"function"==typeof t.getAttribute&&t.getAttribute("xlink:href")||t.href)||a.match(/^(about:|javascript:|data:)/i))return!1;t._bmr&&t._bmr.url!==a&&(O=!0);if("IMG"===t.nodeName){if(t.naturalWidth&&!O)return!1;if("function"==typeof t.getAttribute&&""===t.getAttribute("src"))return!1}if("IFRAME"===t.nodeName&&O)return!1;if("function"==typeof t.getAttribute){u=parseInt(t.getAttribute("height"),10);c=parseInt(t.getAttribute("width"),10)}isNaN(u)&&(u=!t.style||"0"!==t.style.height&&"0px"!==t.style.height&&"1px"!==t.style.height?undefined:0);isNaN(c)&&(c=!t.style||"0"!==t.style.width&&"0px"!==t.style.width&&"1px"!==t.style.width?undefined:0);if(!isNaN(u)&&u<=1&&!isNaN(c)&&c<=1)return!1;if(t.style&&"none"===t.style.display)return!1;if(t.style&&"hidden"===t.style.visibility)return!1;if(!(e=this.pending_events[n]))return!1;s=e.resources.length;t._bmr||(t._bmr={end:{}});e.urls||(e.urls={});if(e.urls[a])return!1;if(!e.resource.url){p.href=a;if(m.excludeFilter(p))return!1;e.resource.url=p.href}t._bmr.res=s;t._bmr.idx=n;delete t._bmr.end[s];t._bmr.url=a;d=function(e){l.load_cb(e,s);t.removeEventListener("load",d);t.removeEventListener("error",d)};t.addEventListener("load",d);t.addEventListener("error",d);e.nodes_to_wait++;this.clearTimeout(n);e.total_nodes++;e.resources.push(t);e.urls[a]=1;f=!0}else t.nodeType===Node.ELEMENT_NODE&&["IMAGE","IMG"].forEach(function(e){if((r=t.getElementsByTagName(e))&&r.length)for(i=0,o=r.length;i=t.timing.requestStart&&0!==e.responseEnd})){i=Math.floor(r+n.startTime);if((o=Math.floor(r+n.responseEnd))<=BOOMR.now()){t.timing.responseEnd=o;t.timing.loadEventEnd "+n,"rt")}return!0},refreshSession:function(e){e||(e=BOOMR.plugins.RT.getCookie());if(e){e.ss?BOOMR.session.start=e.ss:BOOMR.session.start=BOOMR.t_lstart||BOOMR.t_start;e.si&&e.si.match(/-/)&&(BOOMR.session.ID=e.si);e.sl&&(BOOMR.session.length=e.sl);e.tt&&(this.loadTime=e.tt);e.obo&&(this.oboError=e.obo);e.dm&&!BOOMR.session.domain&&(BOOMR.session.domain=e.dm);e.se&&(s.session_exp=e.se);e.bcn&&(this.beacon_url=e.bcn);e.rl&&"1"===e.rl&&(BOOMR.session.rate_limited=!0)}},maybeResetSession:function(e,t){var n=0;BOOMR.session.start&&BOOMR.session.length&&(n=(BOOMR.now()-BOOMR.session.start)/BOOMR.session.length);var r=1e3*s.session_exp;if(!BOOMR.session.start||t&&BOOMR.session.start>t||e-(s.lastActionTime||BOOMR.t_start)>r||rn.s&&(this.t_fb_approx=n.hd)}else this.t_start=this.t_fb_approx=undefined}n.s&&(this.lastActionTime=n.s);this.refreshSession(n);this.updateCookie({s:undefined,ul:undefined,cl:undefined,hd:undefined,ld:undefined,rl:undefined,r:undefined,nu:undefined,sh:undefined});this.maybeResetSession(BOOMR.now())}},incrementSessionDetails:function(){BOOMR.session.length++;isNaN(s.timers.t_done.delta)?s.oboError++:s.loadTime+=s.timers.t_done.delta},getBoomerangTimings:function(){var e,t,n,r,i;function o(e,t){var n=Math.round(e||0),r=Math.round(t||0);return(n=0===n?0:n-r)||""}if(BOOMR.t_start){BOOMR.plugins.RT.startTimer("boomerang",BOOMR.t_start);BOOMR.plugins.RT.endTimer("boomerang",BOOMR.t_end);BOOMR.plugins.RT.endTimer("boomr_fb",BOOMR.t_start);if(BOOMR.t_lstart){BOOMR.plugins.RT.endTimer("boomr_ld",BOOMR.t_lstart);BOOMR.plugins.RT.setTimer("boomr_lat",BOOMR.t_start-BOOMR.t_lstart)}}try{if(window&&"performance"in window&&window.performance&&"function"==typeof window.performance.getEntriesByName){t={"rt.bmr":BOOMR.url};BOOMR.config_url&&(t["rt.cnf"]=BOOMR.config_url);for(n in t)if(t.hasOwnProperty(n)&&t[n]){if(!(e=window.performance.getEntriesByName(t[n]))||0===e.length||!e[0])continue;i=[r=o((e=e[0]).startTime,0),o(e.responseEnd,r),o(e.responseStart,r),o(e.requestStart,r),o(e.connectEnd,r),o(e.secureConnectionStart,r),o(e.connectStart,r),o(e.domainLookupEnd,r),o(e.domainLookupStart,r),o(e.redirectEnd,r),o(e.redirectStart,r)].join(",").replace(/,+$/,"");BOOMR.addVar(n,i);s.addedVars.push(n)}}}catch(a){BOOMR.addError(a,"rt.getBoomerangTimings")}},checkPreRender:function(){if("prerender"!==BOOMR.visibilityState())return!1;BOOMR.plugins.RT.startTimer("t_load",this.navigationStart);BOOMR.plugins.RT.endTimer("t_load");BOOMR.plugins.RT.startTimer("t_prerender",this.navigationStart);BOOMR.plugins.RT.startTimer("t_postrender");return!0},initFromNavTiming:function(){var e,t,n;if(!this.navigationStart){(t=BOOMR.getPerformance())&&t.navigation&&(this.navigationType=t.navigation.type);if(t&&t.timing)e=t.timing;else if(r.chrome&&r.chrome.csi&&r.chrome.csi().startE){e={navigationStart:r.chrome.csi().startE};n="csi"}else if(r.gtbExternal&&r.gtbExternal.startE()){e={navigationStart:r.gtbExternal.startE()};n="gtb"}if(e){BOOMR.addVar("rt.start",n||"navigation");this.navigationStart=e.navigationStart||e.fetchStart||undefined;this.fetchStart=e.fetchStart||undefined;this.responseStart=e.responseStart||undefined;navigator.userAgent.match(/Firefox\/[78]\./)&&(this.navigationStart=e.unloadEventStart||e.fetchStart||undefined)}else BOOMR.warn("This browser doesn't support the WebTiming API","rt")}},validateLoadTimestamp:function(e,t,n){var r;return t&&t.timing&&t.timing.loadEventEnd?t.timing.loadEventEnd:"xhr"!==n||t&&BOOMR.utils.inArray(t.initiator,BOOMR.constants.BEACON_TYPE_SPAS)?(r=BOOMR.getPerformance())&&r.timing?r.timing.loadEventEnd?r.timing.loadEventEnd:e:BOOMR.t_onload||BOOMR.t_lstart||BOOMR.t_start||e:e},setPageLoadTimers:function(e,t,n){var r,i;if("xhr"!==e){s.initFromCookie();s.initFromNavTiming();if(s.checkPreRender())return!1}if("xhr"===e)if(n.timers)for(var o in n.timers)n.timers.hasOwnProperty(o)&&BOOMR.plugins.RT.setTimer(o,n.timers[o]);else n&&n.timing&&(void 0===(i=n.timing.fetchStart)||n.timing.responseEnd>=i)&&(r=n.timing.responseEnd);else s.responseStart?s.responseStart>=s.navigationStart&&s.responseStart>=s.fetchStart&&(r=s.responseStart):s.timers.hasOwnProperty("t_page")?BOOMR.plugins.RT.endTimer("t_page"):s.t_fb_approx&&(r=s.t_fb_approx);if(r){i?BOOMR.plugins.RT.setTimer("t_resp",i,r):BOOMR.plugins.RT.endTimer("t_resp",r);"load"===e&&s.timers.t_load?BOOMR.plugins.RT.setTimer("t_page",s.timers.t_load.end-r):ts.oboError&&(s.oboError=e.RT.oboError);if(e.RT.loadTime&&!isNaN(e.RT.loadTime)&&e.RT.loadTime>s.loadTime){s.loadTime=e.RT.loadTime;s.timers.t_done&&!isNaN(s.timers.t_done.delta)&&(s.loadTime+=s.timers.t_done.delta)}}},domloaded:function(){BOOMR.plugins.RT.endTimer("t_domloaded")},clear:function(){BOOMR.removeVar("rt.start");if(s.addedVars&&0t-r&&a.push(e[i]);return a},calc_latency:function(){var e,t,n,r,i,o,a=0,s=0;this.latencies.shift();t=(o=this.iqr(this.latencies.sort(this.ncmp))).length;for(e=0;ethis.latency.mean){O=1e3*y[t].size/(n[t].t-this.latency.mean);g.push(O)}else v.push(t+"_"+n[t].t)}}if(3=y.end-1||this.results[this.nruns-n].r[e+1]!==undefined){n===this.nruns&&(y.start=e);BOOMR.setImmediate(this.iterate,null,null,this)}else this.load_img(e+1,n,this.img_loaded)}else this.results[this.nruns-n].r[e+1]={t:null,state:null,run:n}},finish:function(){this.latency||(this.latency=this.calc_latency());var e=this.calc_bw(),t={bw:e.median_corrected,bw_err:parseFloat(e.stderr_corrected,10),lat:this.latency.mean,lat_err:parseFloat(this.latency.stderr,10),bw_time:Math.round(BOOMR.now()/1e3)};BOOMR.addVar(t);0=u-this.cookie_exp&&0BOOMR.now()+864e5)){BOOMR.addVar("nt_bad",1);l.addedVars.push("nt_bad")}try{l.addedVars.push.apply(l.addedVars,Object.keys(s))}catch(d){}0t)break;if(void 0===n||"*"===n||!n.length||i.initiatorType&&BOOMR.utils.inArray(i.initiatorType,n)){f(s,i.serverTiming);u.push(i)}}var c=function d(r){return Object.keys(r).sort(function(e,t){return r[t].count-r[e].count}).reduce(function(e,n){var t=Object.keys(r[n].counts).sort(function(e,t){return r[n].counts[t]-r[n].counts[e]});e.push(1===t.length&&""===t[0]?n:[n].concat(t));return e},[])}(s);return{entries:u,serverTiming:{lookup:c,indexed:function l(e){return e.reduce(function(e,t,n){var r,i;if(Array.isArray(t)){r=t[0];i=t.slice(1).reduce(function(e,t,n){e[t]=n;return e},{})}else{r=t;i={"":0}}e[r]={index:n,descriptions:i};return e},{})}(c)}}}function H(e){var t,n,r;if(e.encodedBodySize||e.decodedBodySize||e.transferSize){t=e.transferSize;return[n=e.encodedBodySize,t?t-n:"_",(r=e.decodedBodySize)?r-n:0].map(V).join(",").replace(/,+$/,"")}return""}function q(e,t){var n,r,i;if(e&&t)for(n=0;n>16)+(t>>16)+(n>>16)<<16|65535&n}function s(e,t,n,r,i,o){return l(function a(e,t){return e<>>32-t}(l(l(t,e),l(r,o)),i),n)}function f(e,t,n,r,i,o,a){return s(t&n|~t&r,e,t,i,o,a)}function O(e,t,n,r,i,o,a){return s(t&r|n&~r,e,t,i,o,a)}function p(e,t,n,r,i,o,a){return s(t^n^r,e,t,i,o,a)}function m(e,t,n,r,i,o,a){return s(n^(t|~r),e,t,i,o,a)}function u(e,t){e[t>>5]|=128<>>9<<4)]=t;var n,r,i,o,a,s=1732584193,u=-271733879,c=-1732584194,d=271733878;for(n=0;n>5]>>>t%32&255);return n}function d(e){var t,n=[];n[(e.length>>2)-1]=undefined;for(t=0;t>5]|=(255&e.charCodeAt(t/8))<>>4&15)+r.charAt(15&t)}return i}function n(e){return unescape(encodeURIComponent(e))}function a(e){return function t(e){return c(u(d(e),8*e.length))}(n(e))}function g(e,t){return function s(e,t){var n,r,i=d(e),o=[],a=[];o[15]=a[15]=undefined;16 eval")&&(e=e.replace(/ line (\d+)(?: > eval line \d+)* > eval\:\d+\:\d+/g,":$1"));if(-1===e.indexOf("@")&&-1===e.indexOf(":"))return{functionName:e};var t=e.split("@"),n=this.extractLocation(t.pop()),r=t.join("@")||undefined;return{functionName:r,fileName:n[0],lineNumber:n[1],columnNumber:n[2],source:e}},this)},parseOpera:function(e){return!e.stacktrace||-1e.stacktrace.split("\n").length?this.parseOpera9(e):e.stack?this.parseOpera11(e):this.parseOpera10(e)},parseOpera9:function(e){for(var t=/Line (\d+).*script (?:in )?(\S+)/i,n=e.message.split("\n"),r=[],i=2,o=n.length;i/,"$2").replace(/\([^\)]*\)/g,"")||undefined;i.match(/\(([^\)]*)\)/)&&(t=i.replace(/^[^\(]+\(([^\)]*)\)$/,"$1"));var a=t===undefined||"[arguments not available]"===t?undefined:t.split(",");return{functionName:o,args:a,fileName:r[0],lineNumber:r[1],columnNumber:r[2],source:e}},this)}}}()}(this,function QC(){"use strict";var t=/(^|@)\S+\:\d+/,n=/^\s*at .*(\S+\:\d+|\(native\))/m,r=/^(eval@)?(\[native code\])?$/;function i(e,t,n){if("function"==typeof Array.prototype.map)return e.map(t,n);for(var r=new Array(e.length),i=0;i eval")&&(e=e.replace(/ line (\d+)(?: > eval line \d+)* > eval\:\d+\:\d+/g,":$1"));if(-1===e.indexOf("@")&&-1===e.indexOf(":"))return{functionName:e};var t=e.split("@"),n=this.extractLocation(t.pop());return{functionName:t.join("@")||undefined,fileName:n[0],lineNumber:n[1],columnNumber:n[2],source:e}},this)},parseOpera:function(e){return!e.stacktrace||-1e.stacktrace.split("\n").length?this.parseOpera9(e):e.stack?this.parseOpera11(e):this.parseOpera10(e)},parseOpera9:function(e){for(var t=/Line (\d+).*script (?:in )?(\S+)/i,n=e.message.split("\n"),r=[],i=2,o=n.length;i/,"$2").replace(/\([^\)]*\)/g,"")||undefined;i.match(/\(([^\)]*)\)/)&&(t=i.replace(/^[^\(]+\(([^\)]*)\)$/,"$1"));return{functionName:o,args:t===undefined||"[arguments not available]"===t?undefined:t.split(","),fileName:r[0],lineNumber:r[1],columnNumber:r[2],source:e}},this)}}});!function(){var f;if(!BOOMR.plugins.Errors){var O=["BOOMR_addError","createStackForSend","BOOMR.window.console.error","BOOMR.plugins.Errors.init","BOOMR.window.onerror","BOOMR_plugins_errors_"],p=["Object.send","b.send","wrap","Anonymous function"],m=["/boomerang"];g.prototype.equals=function(e){return"object"==typeof e&&(this.code===e.code&&(this.message===e.message&&(this.functionName===e.functionName&&(this.fileName===e.fileName&&(this.lineNumber===e.lineNumber&&(this.columnNumber===e.columnNumber&&(this.stack===e.stack&&(this.type===e.type&&this.source===e.source))))))))};g.fromError=function(e,t,n){var r,i,o,a,s,u,c,d,l=!1,f=BOOMR.now();if(!e)return null;if(e.stack){5e3=f.maxErrors)){i=g.fromError(e,t,n);o=f.mergeDuplicateErrors(f.errors,i,!1);BOOMR.fireEvent("error",o||i);f.mergeDuplicateErrors(f.q,i,!0);if((BOOMR.hasSentPageLoadBeacon()||!f.autorun)&&-1===f.sendIntervalId){if(o)return;f.sendIntervalId=setTimeout(function(){f.sendIntervalId=-1;0!==f.q.length&&BOOMR.sendBeaconWhenReady({"rt.start":"manual","http.initiator":"error",api:1,"rt.tstart":a,"rt.end":a},function(){f.addErrorsToBeacon()},this)},f.isDuringLoad?f.sendIntervalDuringLoad:f.sendInterval)}}}},findDuplicateError:function(e,t){if(!BOOMR.utils.isArray(e)||void 0===t)return undefined;for(var n=0;no.length)for(n=0;n=t.from}));t.to&&(n=n.filter(function(e){return e.startTime<=t.to}));return f.compressUserTiming(n,t)};n.compressForUri=function(e){if("object"!=typeof e)return"";var t=!1;for(var n in e)if(e.hasOwnProperty(n)){if(isNaN(n)){t=!1;break}t=!0}if(t)return"1"+f.flattenMap(e);var r=f.convertToTrie(e),i=f.optimizeTrie(r,!0),o=f.jsUrl(i),a=f.flattenArray(e);if("string"!=typeof a||0===a.length)return"";var s=encodeURIComponent(o),u=encodeURIComponent(a);return s.length=s.options.from}));var t,n=window.UserTimingCompression||BOOMR.window.UserTimingCompression;if(void 0===n){if(0===e.length)return null;for(var r={},i=0,o=e.length;i