1var Tt=Object.defineProperty;var Et=(l,n,c)=>n in l?Tt(l,n,{enumerable:!0,configurable:!0,writable:!0,value:c}):l[n]=c;var rt=(l,n,c)=>(Et(l,typeof n!="symbol"?n+"":n,c),c);import{K as pt,q as gt,c5 as Z,bS as o,F as nt,cj as at,ck as It,c2 as st,ch as xt,o as ot,cl as Ct,j as bt,U as Ft,w as Lt,y as Pt}from"./index.3ec72d2e.js";import{n as St}from"./nav-timing.c84d458e.js";import{g as tt}from"./info.d5329f52.js";import{H as _t}from"./harvest-scheduler.67ce376d.js";import{c as $,A as jt}from"./aggregate-base.0695104a.js";import{g as ct,n as p,a as C,b as ut}from"./bel-serializer.402b0b7b.js";import{S as At}from"./shared-context.ae8b129f.js";import{f as kt,a as wt}from"./first-paint.cfaa9ce2.js";import{E as yt}from"./event-buffer.9a33d263.js";import"./page-visibility.2f62fa7f.js";import"./configure.2bbcfbcf.js";import"./agent-constants.7157acc7.js";var Ut=128,Rt=0;function et(l,n,c,t){Object.defineProperty(this,"interaction",{value:l,writable:!0}),this.parent=n,this.id=++Rt,this.type=c,this.children=[],this.end=null,this.jsEnd=this.start=t,this.jsTime=0,this.attrs={},this.cancelled=!1}var K=et.prototype;K.child=function(n,c,t,T){var r=this.interaction;if(r.end||r.nodes>=Ut)return null;r.onNodeAdded(this);var N=new et(r,this,n,c);return N.attrs.name=t,r.nodes++,T||r.remaining++,N};K.callback=function(n,c){var t=this;t.jsTime+=n,c>t.jsEnd&&(t.jsEnd=c,t.interaction.lastCb=c)};K.cancel=function(){this.cancelled=!0;var n=this.interaction;n.remaining--};K.finish=function(n){var c=this;if(c.end)return;c.end=n;let t=c.parent;for(;t?.cancelled;)t=t.parent;t&&t.children.push(c),c.parent=null;var T=this.interaction;T.remaining--,T.lastFinish=n,T.checkFinish()};var ht=pt().o.ST,Ot=pt().o.CT,dt={};function J(l,n,c,t,T,r){this.agentIdentifier=r,this.ee=gt.get(r),dt[r]=0,this.id=++dt[r],this.eventName=l,this.nodes=0,this.remaining=0,this.finishTimer=null,this.checkingFinish=!1,this.lastCb=this.lastFinish=n,this.handlers=[],this.onFinished=T,this.done=!1;var N=this.root=new et(this,null,"interaction",n),h=N.attrs;h.trigger=l,h.initialPageURL=Z,h.oldRoute=t,h.newURL=h.oldURL=c,h.custom={},h.store={}}var w=J.prototype;w.checkFinish=function(){var n=this;if(n.remaining>0){n._resetFinishCheck();return}n.checkingFinish||n.root.end===null&&(n._resetFinishCheck(),n.checkingFinish=!0,n.finishTimer=ht(()=>{n.checkingFinish=!1,n.finishTimer=ht(()=>{n.finishTimer=null,n.remaining<=0&&n.finish()},1)},0))};w.setNewURL=function(n){this.root.attrs.newURL=n};w.setNewRoute=function(n){this.root.attrs.newRoute=n};w.onNodeAdded=function(){this._resetFinishCheck()};w._resetFinishCheck=function(){this.finishTimer&&(Ot(this.finishTimer),this.finishTimer=null,this.checkingFinish=!1)};w.finish=function(){var n=this,c=n.root;if(c.end===null){var t=Math.max(n.lastCb,n.lastFinish),T=c.attrs,r=T.custom;this.onFinished&&this.onFinished(this),Object.entries(tt(n.agentIdentifier).jsAttributes||{}).forEach(([N,h])=>{N in r||(r[N]=h)}),c.end=t,n.ee.emit("interaction",[this])}};class Ht extends At{constructor(n){super(n),this.firstTimestamp=void 0}serializeMultiple(n,c,t){const T=tt(this.sharedContext.agentIdentifier);var r=ct(this.sharedContext.agentIdentifier),N="bel.7";return n.forEach(h=>{N+=";"+this.serializeInteraction(h.root,c,t,h.routeChange,r,T)}),this.firstTimestamp=void 0,N}serializeSingle(n,c,t,T){const r=tt(this.sharedContext.agentIdentifier);var N=ct(this.sharedContext.agentIdentifier),h="bel.7;"+this.serializeInteraction(n,c,t,T,N,r);return this.firstTimestamp=void 0,h}serializeInteraction(n,c,t,T,r,N){c=c||0;var h=n.attrs.trigger==="initialPageLoad",X={interaction:1,ajax:2,customTracer:4},y=!0;const _=(u,I)=>{if(u.type==="customEnd")return I.push([3,p(u.end-this.firstTimestamp)]);var U=u.type,S=X[U],j=u.start,A=u.children.length,k=0,R=N.atts,H=h&&t.length&&S===1,F=[],f=u.attrs,M=f.metrics,d=f.params,O=N.queueTime,V=N.applicationTime;typeof this.firstTimestamp>"u"?(j+=c,this.firstTimestamp=j):j-=this.firstTimestamp;var L=[p(j),p(u.end-u.start),p(u.jsEnd-u.end),p(u.jsTime)];switch(S){case 1:L[2]=p(u.jsEnd-this.firstTimestamp),L.push(r(f.trigger),r($(f.initialPageURL,y)),r($(f.oldURL,y)
1),r($(f.newURL,y)),r(f.customName),h?"":T?1:2,C(h&&O,p,!0)+C(h&&V,p,!0)+C(f.oldRoute,r,!0)+C(f.newRoute,r,!0)+r(f.id),r(u.id),C(f.firstPaint,p,!0)+C(f.firstContentfulPaint,p,!1));var z=ut(f.custom,r);F=F.concat(z),k=z.length,R&&(A++,F.push("a,"+r(R)));break;case 2:if(L.push(r(d.method),p(d.status),r(d.host),r(d.pathname),p(M.txSize),p(M.rxSize),f.isFetch?1:f.isJSONP?2:"",r(u.id),C(u.dt&&u.dt.spanId,r,!0)+C(u.dt&&u.dt.traceId,r,!0)+C(u.dt&&u.dt.timestamp,p,!1)),Object.keys(d?.gql||{}).length){var D=ut(d.gql,r);F=F.concat(D),k=D.length}break;case 4:var Y=f.tracedTime;L.push(r(f.name),C(Y,p,!0)+r(u.id));break}for(var e=0;e<u.children.length;e++)_(u.children[e],F);if(L.unshift(p(S),p(A+=k)),I.push(L),A&&I.push(F.join(";")),H){var i=",",a="b",s=0;Object.values(t.slice(1,21)||{}).forEach(v=>{v!==void 0?(a+=i+p(v-s),i=",",s=v):(a+=i+"!",i="")}),I.push(a)}else S===1&&I.push("");return I};return _(n,[]).join(";")}}const{FEATURE_NAME:lt,INTERACTION_EVENTS:ft,MAX_TIMER_BUDGET:B,FN_START:P,FN_END:mt,CB_START:q,INTERACTION_API:b,REMAINING:E,INTERACTION:g,SPA_NODE:m,JSONP_NODE:G,FETCH_START:Q,FETCH_DONE:Nt,FETCH_BODY:vt,JSONP_END:W,originalSetTimeout:Mt}=Pt;class zt extends jt{constructor(n){super(n,lt),this.state={initialPageURL:Z,lastSeenUrl:Z,lastSeenRouteName:null,timerMap:{},timerBudget:B,currentNode:null,prevNode:null,nodeOnLastHashUpdate:null,initialPageLoad:null,pageLoaded:!1,childTime:0,depth:0,harvestTimeSeconds:n.init.spa.harvestTimeSeconds||10,interactionsToHarvest:new yt,disableSpaFix:(n.init.feature_flags||[]).indexOf("disable-spa-fix")>-1};let c;this.serializer=new Ht(this);const{state:t,serializer:T}=this,r=gt.get(n.agentIdentifier),N=r.get("mutation"),h=r.get("promise"),X=r.get("history"),y=r.get("events"),_=r.get("timer"),u=r.get("fetch"),I=r.get("jsonp"),U=r.get("xhr"),S=r.get("tracer");if(this.waitForFlags(["spa"]).then(([e])=>{e?(c=new _t("events",{onFinished:z,retryDelay:t.harvestTimeSeconds},this),c.harvest.on("events",L),this.drain()):(this.blocked=!0,this.deregisterDrain())}),n.init.spa.enabled!==!0)return;t.initialPageLoad=new J("initialPageLoad",0,t.lastSeenUrl,t.lastSeenRouteName,O,n.agentIdentifier),t.initialPageLoad.save=!0,t.prevInteraction=t.initialPageLoad,t.currentNode=t.initialPageLoad.root,t.initialPageLoad[E]++,o(P,A,this.featureName,r),o(q,A,this.featureName,h);var j={getCurrentNode:M,setCurrentNode:d};o("spa-register",function(e){typeof e=="function"&&e(j)},nt.spa,r);function A(){t.depth++,this.prevNode=t.currentNode,this.ct=t.childTime,t.childTime=0,t.timerBudget=B}o(mt,k,this.featureName,r),o("cb-end",k,this.featureName,h);function k(){t.depth--;var e=this.jsTime||0,i=e-t.childTime;t.childTime=this.ct+e,t.currentNode&&(t.currentNode.callback(i,this[mt]),this.isTraced&&(t.currentNode.attrs.tracedTime=i)),this.jsTime=t.currentNode?0:i,d(this.prevNode),this.prevNode=null,t.timerBudget=B}o(P,function(e,i){var a=e[0],s=a.type,v=a["__nrNode:".concat(at)];if(!t.pageLoaded&&(s==="load"&&i===window||It)&&(t.pageLoaded=!0,this.prevNode=t.currentNode=null,t.initialPageLoad&&(v=t.initialPageLoad.root,t.initialPageLoad[E]=0,Mt(function(){ft.push("popstate")}))),v)d(v);else if(s==="hashchange")d(t.nodeOnLastHashUpdate),t.nodeOnLastHashUpdate=null;else if(i instanceof XMLHttpRequest)d(r.context(i).spaNode);else if(!t.currentNode&&ft.indexOf(s)!==-1){var x=new J(s,this[P],t.lastSeenUrl,t.lastSeenRouteName,O,n.agentIdentifier);if(t.prevInteraction=x,d(x.root),s==="click"){var it=D(a.target);it&&(t.currentNode.attrs.custom.actionText=it)}}a["__nrNode:".concat(at)]=t.currentNode},this.featureName,y),o("setTimeout-end",function(i,a,s){!t.currentNode||t.timerBudget-this.timerDuration<0||i&&!(i[0]instanceof Function)||(t.currentNode[g][E]++,this.timerId=s,t.timerMap[s]=t.currentNode,this.timerBudget=t.timerBudget-50)},this.featureName,_),o("clearTimeout-start",function(i){var a=i[0],s=t.timerMap[a];if(s){var v=s[g];v[E]--,v.checkFinish(),delete t.timerMap[a]}},this.featureName,_),o(P,function(){t.timerBudget=this.timerBudget||B;var e=this.timerId,i=t.timerMap[e];d(i),delete t.timerMap[e],i&&i[g][E]--},this.featureName,_),o(P,function(){d(this[m])},this.featureName,U),o("new-xhr",function(){if(!t.disableSpaFix&&!t.currentNode&&t.prevInteraction&&!t.prevInteraction.ignored){const e=t.prevInteraction;t.currentNode=e.root,e.root.end=null}t.currentNode&&(this[m]=t.currentNode.child("ajax",null,null,!0))},this.featureName,U),o("send-xhr-start",function(){var e=this[m];e&&!this.sent&&(this.sent=!0,e.dt=this.dt,e.dt?.timestamp&&(e.dt.timestamp=n.runtime.timeKeeper.correctAbsoluteTimestamp(e.dt.timestamp)),e.jsEnd=e.start=this.startTime,e[g][E]++)},this.featureName,U),o("xhr-resolved",function(){var e=this[m];if(e){if(!st(this.params)){e.cancel();return}var i=e.attrs;i.params=this.params,i.metrics=this.metrics,e.finish(this.endTime),!!this.currentNode&&!!this.currentNode.interaction&&this.currentNode.interaction.checkFinish()}},this.featureName,r),o("new-jsonp",function(e){if(t.currentNode){var i=this[G]=t.currentNode.child("ajax",this[Q]);i.start=this["new-jsonp"],this.url=e,this.status=null}},this.featureName,I),o("cb-start",function(e){var i=this[G];i&&(d(i),this.status=200)},this.featureName,I),o("jsonp-error",function(){var e=this[G];e&&(d(e),this.status=0)},this.featureName,I),o(W,function(){var e=this[G];if(e){if(this.status===null){e.cancel();return}var i=e.attrs,a=i.params={},s=xt(this.url);a.method="GET",a.pathname=s.pathname,a.host=s.hostname+":"+s.port,a.status=this.status,i.metrics={txSize:0,rxSize:0},i.isJSONP=!0,e.jsEnd=this[W],e.jsTime=this[q]?this[W]-this[q]:0,e.finish(e.jsEnd)}}
1,this.featureName,I),o(Q,function(e,i){if(e){if(!t.disableSpaFix&&!t.currentNode&&t.prevInteraction&&!t.prevInteraction.ignored){const a=t.prevInteraction;t.currentNode=a.root,a.root.end=null}t.currentNode&&(this[m]=t.currentNode.child("ajax",this[Q]),i&&this[m]&&(this[m].dt=i,this[m].dt?.timestamp&&(this[m].dt.timestamp=n.runtime.timeKeeper.correctAbsoluteTimestamp(this[m].dt.timestamp))))}},this.featureName,u),o(vt+"start",function(e){t.currentNode&&(this[m]=t.currentNode,t.currentNode[g][E]++)},this.featureName,u),o(vt+"end",function(e,i,a){var s=this[m];s&&s[g][E]--},this.featureName,u),o(Nt,function(e,i){var a=this[m];if(a){if(e||!st(this.params)){a.cancel();return}var s=a.attrs;s.params=this.params,s.metrics={txSize:this.txSize,rxSize:this.rxSize},s.isFetch=!0,a.finish(this[Nt])}},this.featureName,u),o("newURL",function(e,i){if(t.currentNode)t.currentNode[g].setNewURL(e);else if(t.prevInteraction&&!t.prevInteraction.ignored){const a=t.prevInteraction;a.setNewURL(e),a.root.end=null,d(a.root)}t.currentNode&&(t.lastSeenUrl!==e&&(t.currentNode[g].routeChange=!0),i&&(t.nodeOnLastHashUpdate=t.currentNode)),t.lastSeenUrl=e},this.featureName,X),I.on("dom-start",function(e){if(!t.currentNode)return;var i=e[0],a=i&&i.nodeName==="SCRIPT"&&i.src!=="",s=t.currentNode.interaction;a&&(s[E]++,i.addEventListener("load",v,ot(!1)),i.addEventListener("error",x,ot(!1)));function v(){s[E]--,s.checkFinish()}function x(){s[E]--,s.checkFinish()}}),o(P,function(){d(t.prevNode)},this.featureName,N),o("resolve-start",f,this.featureName,h),o("executor-err",f,this.featureName,h),o("propagate",F,this.featureName,h),o(q,function(){var e=this.getCtx?this.getCtx():this;d(e[m])},this.featureName,h),o(b+"get",function(e){var i;t?.currentNode?.[g]?i=this.ixn=t.currentNode[g]:t?.prevNode?.end===null&&t?.prevNode?.[g]?.root?.[g]?.eventName!=="initialPageLoad"?i=this.ixn=t.prevNode[g]:i=this.ixn=new J("api",e,t.lastSeenUrl,t.lastSeenRouteName,O,n.agentIdentifier),t.currentNode||(i.checkFinish(),t.depth&&d(i.root))},this.featureName,r),o(b+"actionText",function(e,i){var a=this.ixn.root.attrs.custom;i&&(a.actionText=i)},this.featureName,r),o(b+"setName",function(e,i,a){var s=this.ixn.root.attrs;i&&(s.customName=i),a&&(s.trigger=a)},this.featureName,r),o(b+"setAttribute",function(e,i,a){this.ixn.root.attrs.custom[i]=a},this.featureName,r),o(b+"end",function(e){var i=this.ixn,a=H(i);d(null),a.child("customEnd",e)?.finish(e),i.finish()},this.featureName,r),o(b+"ignore",function(e){this.ixn.ignored=!0},this.featureName,r),o(b+"save",function(e){this.ixn.save=!0},this.featureName,r),o(b+"tracer",function(e,i,a){var s=this.ixn,v=H(s),x=r.context(a);if(!i)return x.inc=++s[E],x[m]=v;x[m]=v.child("customTracer",e,i)},this.featureName,r),o(P,R,this.featureName,S),o("no-"+P,R,this.featureName,S);function R(e,i,a){var s=this[m];if(!!s){var v=s[g],x=this.inc;this.isTraced=!0,x?v[E]--:s&&s.finish(e),a?d(s):v.checkFinish()}}o(b+"getContext",function(e,i){var a=this.ixn.root.attrs.store;setTimeout(function(){i(a)},0)},this.featureName,r),o(b+"onEnd",function(e,i){this.ixn.handlers.push(i)},this.featureName,r),o("api-routeName",function(e,i){t.lastSeenRouteName=i,t.currentNode&&t.currentNode[g].setNewRoute(i)},this.featureName,r);function H(e){return t.currentNode&&t.currentNode[g]===e?t.currentNode:e.root}function F(e,i){(i||!this[m])&&(this[m]=t.currentNode)}function f(){this.resolved||(this.resolved=!0,this[m]=t.currentNode)}function M(){return t.currentNode}function d(e){!t.pageLoaded&&!e&&t.initialPageLoad&&(e=t.initialPageLoad.root),t.currentNode&&t.currentNode[g].checkFinish(),t.prevNode=t.currentNode,t.currentNode=e&&!e[g].root.end?e:null}function O(e){e===t.initialPageLoad&&(t.initialPageLoad=null);var i=e.root,a=i.attrs;t.currentNode=i,Object.values(e.handlers||{}).forEach(function(s){s(a.store)}),d(null)}const V=this;function L(e){if(!t.interactionsToHarvest.hasData||V.blocked)return{};var i=T.serializeMultiple(t.interactionsToHarvest.buffer,0,St);return e.retry?t.interactionsToHarvest.hold():t.interactionsToHarvest.clear(),{body:{e:i}}}function z(e){e.sent&&e.retry&&t.interactionsToHarvest.held.hasData?t.interactionsToHarvest.unhold():t.interactionsToHarvest.held.clear()}r.on("spa-jserror",function(e,i,a,s){!t.currentNode||(a._interactionId=t.currentNode.interaction.id,t.currentNode.type&&t.currentNode.type!=="interaction"&&(a._interactionNodeId=t.currentNode.id))}),o("function-err",function(e,i,a){!t.currentNode||(a.__newrelic??={},a.__newrelic[n.agentIdentifier]={interactionId:t.currentNode.interaction.id},t.currentNode.type&&t.currentNode.type!=="interaction"&&(a.__newrelic[n.agentIdentifier].interactionNodeId=t.currentNode.id))},this.featureName,r),r.on("interaction",Y);function D(e){var i=e.tagName.toLowerCase(),a=["a","button","input"],s=a.indexOf(i)!==-1;if(s)return e.title||e.value||e.innerText}function Y(e){if(e.ignored||!e.save&&!e.routeChange){r.emit("interactionDone",[e,!1]);return}t.prevInteraction===e&&(t.prevInteraction=null),e.root.attrs.id=Ct(),e.root.attrs.trigger==="initialPageLoad"&&(e.root.attrs.firstPaint=kt.current.value,e.root.attrs.firstContentfulPaint=wt.current.value),r.emit("interactionDone",[e,!0]),t.interactionsToHarvest.add(e);let i;e.root?.attrs?.trigger==="initialPageLoad"?i="InitialPageLoad":e.routeChange?i="RouteChange":i="Custom",bt(Ft,["Spa/Interaction/".concat(i,"/Duration/Ms"),Math.max((e.root?.end||0)-(e.root?.start||0
1),0)],void 0,nt.metrics,r),c?.scheduleHarvest(0),c||Lt(19)}}}rt(zt,"featureName",lt);export{zt as Aggregate};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.