1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[193],{24139:function(t,e,s){s.d(e,{o:function(){return u}});var i=s(70286),r=s(22669),a=s(25267),n=s(9952),o=s(24193),h=s(65474);if(o.v6){o._A.cleanupTasks=[];let t=o._A.close;o._A.close=()=>{for(let t of o._A.cleanupTasks)t();t()}}var c=s(14026);class u extends r.w{constructor(t,e,s){var i;super(s),this.endpoint=t,this.opts=e||{},this.started=!1,this.timeoutHandle=null,this.aborted=!1,this.harvesting=!1,this.harvest=new a.M(this.sharedContext),i=this.unload.bind(this),o.il?((0,h.N)(i,!0),(0,n.bP)("pagehide",i)):o.v6&&o._A.cleanupTasks.push(i),this.sharedContext?.ee.on(c.wO.RESET,()=>this.runHarvest({forceNoRetry:!0}))}unload(){this.aborted||(this.opts.onUnload&&this.opts.onUnload(),this.runHarvest({unload:!0}))}startTimer(t,e){this.interval=t,this.started=!0,this.scheduleHarvest(null!=e?e:this.interval)}stopTimer(t=!1){this.aborted=t,this.started=!1,this.timeoutHandle&&clearTimeout(this.timeoutHandle)}scheduleHarvest(t,e){this.timeoutHandle||(null==t&&(t=this.interval),this.timeoutHandle=setTimeout(()=>{this.timeoutHandle=null,this.runHarvest(e)},1e3*t))}runHarvest(t){let e,s;if(this.aborted)return;this.harvesting=!0;let r=e=>{this.harvesting=!1,t?.forceNoRetry&&(e.retry=!1),this.onHarvestFinished(t,e)},a=[];if(this.opts.getPayload){if(!(e=i.qD({isFinalHarvest:t?.unload})))return!1;let r=!t?.unload&&e===i.Be;if(!(s=this.opts.getPayload({retry:r,...t}))){this.started&&this.scheduleHarvest();return}s="[object Array]"===Object.prototype.toString.call(s)?s:[s],a.push(...s)}let n=t=>this.harvest.sendX(t);a.length?n=this.opts.raw?t=>this.harvest._send(t):t=>this.harvest.send(t):a.push(void 0),a.forEach(s=>{n({endpoint:this.endpoint,payload:s,opts:t,submitMethod:e,cbFinished:r,customUrl:this.opts.customUrl,raw:this.opts.raw})}),this.started&&this.scheduleHarvest()}onHarvestFinished(t,e){if(this.opts.onFinished&&this.opts.onFinished(e),e.sent&&e.retry){let s=e.delay||this.opts.retryDelay;this.started&&s?(clearTimeout(this.timeoutHandle),this.timeoutHandle=null,this.scheduleHarvest(s,t)):!this.started&&s&&this.scheduleHarvest(s,t)}}}},38505:function(t,e,s){s.d(e,{R:function(){return function t(e,s,i="string",r=[]){return e&&"object"==typeof e&&Object.keys(e).forEach(a=>{"object"==typeof e[a]?t(e[a],s,i,r):typeof e[a]!==i||r.includes(a)||(e[a]=s(e[a]))}),e}}})},31718:function(t,e,s){s.r(e),s.d(e,{Aggregate:function(){return R}});var i=s(12560),r=s(24139),a=s(1758),n=s(20862),o=s(91454),h=s(40714),c=s(3615),u=s(24193),l=s(14026),d=s(68191),m=s(82342);class p{constructor(t,e,s,i,r){this.n=t,this.s=e,this.e=s,this.o=i,this.t=r}}let g="function"==typeof u._A.PerformanceObserver,f={global:{mouseup:!0,mousedown:!0},window:{load:!0,pagehide:!0},xhrOriginMissing:{ignoreAll:!0}},v={typing:[1e3,2e3],scrolling:[100,1e3],mousing:[1e3,2e3],touching:[1e3,2e3]};class T{nodeCount=0;trace={};earliestTimeStamp=1/0;latestTimeStamp=0;tempStorage=[];prevStoredEvents=new Set;constructor(t){this.parent=t}storeSTN(t){if(!this.parent.blocked&&(!(this.nodeCount>=h.c)||this.parent.agentRuntime.session.state.sessionTraceMode===l.IK.ERROR&&0!==this.trimSTNs(3e4))){for(;this.tempStorage.length;)this.storeSTN(this.tempStorage.shift());this.trace[t.n]?this.trace[t.n].push(t):this.trace[t.n]=[t],t.s<this.earliestTimeStamp&&(this.earliestTimeStamp=t.s),t.s>this.latestTimeStamp&&(this.latestTimeStamp=t.s),this.nodeCount++}}trimSTNs(t){let e=0,s=Math.max((0,d.z)()-t,0);return Object.keys(this.trace).forEach(t=>{let i=this.trace[t],r=i.findIndex(t=>s<=t.e);0!==r&&(r<0?(r=i.length,delete this.trace[t]):i.splice(0,r),this.nodeCount-=r,e+=r)}),e}takeSTNs(){g||this.storeResources(u._A.performance?.getEntriesByType?.("resource"));let t=Object.entries(this.trace).flatMap(([t,e])=>{if(!(t in v))return e;let s=this.smearEvtsByOrigin(t);return Object.values(e.sort((t,e)=>t.s-e.s).reduce(s,{})).flat()},this);if(0===t.length)return{};this.trace={},this.nodeCount=0;let e=this.earliestTimeStamp;this.earliestTimeStamp=1/0;let s=this.latestTimeStamp;return this.latestTimeStamp=0,{stns:t,earliestTimeStamp:e,latestTimeStamp:s}}smearEvtsByOrigin(t){let e=v[t][0],s=v[t][1],i={};return(r,a)=>{let n=r[a.o];n||(n=r[a.o]=[]);let o=i[a.o];return"scrolling"!==t||a&&"number"==typeof a.e&&"number"==typeof a.s&&a.e-a.s<4?o&&a.s-o.s<s&&o.e>a.s-e?o.e=a.e:(i[a.o]=a,n.push(a)):(i[a.o]=null,a.n="scroll",n.push(a)),r}}processPVT(t,e,s){this.storeTiming({[t]:e}),"fi"===t&&s&&"number"==typeof s.fid&&this.storeEvent({type:"fid",target:"document"},"document",e,e+s.fid)}storeTiming(t,e=!1){if(t)for(let s in t){let i=t[s],r=s.toLowerCase();!(r.indexOf("size")>=0||r.indexOf("status")>=0)&&"number"==typeof i&&i>=0&&(i=Math.round(i),this.parent.timeKeeper&&this.parent.timeKeeper.ready&&e&&(i=this.parent.timeKeeper.convertAbsoluteTimestamp(Math.floor(this.parent.timeKeeper.correctAbsoluteTimestamp(i)))),this.storeSTN(new p(s,i,i,"document","timing")))}}storeEvent(t,e,s,i){if(this.shouldIgnoreEvent(t,e)||this.prevStoredEvents.has(t))return;this.prevStoredEvents.add(t);let r=new p(this.evtName(t.type),s,i,void 0,"event");try{r.o=this.evtOrigin(t.target,e)}catch(t){r.o=this.evtOrigin(null,e)}this.storeSTN(r)}shouldIgnoreEvent(t,e){let s=this.evtOrigin(t.target,e);return t.type in f.global||!!f[s]&&!!f[s].ignoreAll||!!(f[s]&&t.type in f[s])}evtName(t){switch(t){case"keydown":case"keyup":case"keypress":return"typing";case"mousemove":case"mouseenter":case"mouseleave":case"mouseover":case"mouseout":return"mousing";case"scroll":return"scrolling";case"touchstart":case"touchmove":case"touchend":case"touchcancel":case"touchenter":case"touchleave":return"touching";default:return t}}evtOrigin(t,e){let s="unknown";if(t&&t instanceof XMLHttpRequest){let e=this.parent.ee.context(t).params;if(!e||!e.status||!e.method||!e.host||!e.pathname)return"xhrOriginMissing";s=e.status+" "+e.method+": "+e.host+e.pathname}else if(t&&"string"==typeof t.tagName&&(s=t.tagName.toLowerCase(),t.id&&(s+="#"+t.id),t.className))for(let e=0;e<t.classList.length;e++)s+="."+t.classList[e];return"unknown"===s&&("string"==typeof e?s=e:e===document?s="document":e===window?s="window":e instanceof FileReader&&(s="FileReader")),s}storeHist(t,e,s){this.storeSTN(new p("history.pushState",s,s,t,e))}#t=0;storeResources(t){t&&0!==t.length&&(t.forEach(t=>{if((0|t.fetchStart)<=this.#t)return;let{initiatorType:e,fetchStart:s,responseEnd:i,entryType:r}=t,{protocol:a,hostname:n,port:o,pathname:h}=(0,m.e)(t.name),c=new p(e,0|s,0|i,"".concat(a,"://").concat(n,":").concat(o).concat(h),r);this.storeSTN(c)}),this.#t=0|t[t.length-1].fetchStart)}storeErrorAgg(t,e,s,i){"err"===t&&this.storeSTN(new p("error",i.time,i.time,s.message,s.stackHash))}storeXhrAgg(t,e,s,i){"xhr"===t&&this.storeSTN(new p("Ajax",i.time,i.time+i.duration,"".concat(s.status," ").concat(s.method,": ").concat(s.host).concat(s.pathname),"ajax"))}restoreNode(t,e){this.nodeCount>=h.c||(this.nodeCount+=e.length,this.trace[t]=this.trace[t]?e.concat(this.trace[t]):e)}}
1var b=s(99392),S=s(57475),y=s(38505);class R extends c.m{static featureName=h.FEATURE_NAME;constructor(t,e){super(t,e,h.FEATURE_NAME),this.agentRuntime=(0,o.O)(t),this.agentInfo=(0,a.C5)(t),this.sentTrace=null,this.harvestTimeSeconds=(0,n.Mt)(t,"session_trace.harvestTimeSeconds")||30,this.entitled=void 0,this.everHarvested=!1,this.harvesting=!1,this.traceStorage=new T(this),this.waitForFlags(["sts","st"]).then(([t,e])=>this.initialize(t,e))}initialize(t,e,s){return(this.entitled??=e,this.blocked||!this.entitled)?(0,S.o5)(this.agentIdentifier,this.featureName):(this.initialized||(this.initialized=!0,this.ptid=this.agentRuntime.ptid,this.sessionId=this.agentRuntime.session?.state.value,this.ee.on(l.wO.RESET,()=>{this.blocked||this.abort(1)}),this.ee.on(l.wO.UPDATE,(t,e)=>{!this.blocked&&(this.mode!==l.IK.FULL&&(e.sessionReplayMode===l.IK.FULL||e.sessionTraceMode===l.IK.FULL)&&this.switchToFull(),(this.sessionId!==e.value||"cross-tab"===t&&this.scheduler?.started&&e.sessionTraceMode===l.IK.OFF)&&this.abort(2))})),this.agentRuntime.session.isNew||s?this.mode=t:this.mode=this.agentRuntime.session.state.sessionTraceMode,this.mode===l.IK.OFF)?(0,S.o5)(this.agentIdentifier,this.featureName):void(this.timeKeeper??=this.agentRuntime.timeKeeper,this.scheduler=new r.o("browser/blobs",{onFinished:this.onHarvestFinished.bind(this),retryDelay:this.harvestTimeSeconds,getPayload:this.prepareHarvest.bind(this),raw:!0},this),(0,i.X)("bst",(...t)=>this.traceStorage.storeEvent(...t),this.featureName,this.ee),(0,i.X)("bstResource",(...t)=>this.traceStorage.storeResources(...t),this.featureName,this.ee),(0,i.X)("bstHist",(...t)=>this.traceStorage.storeHist(...t),this.featureName,this.ee),(0,i.X)("bstXhrAgg",(...t)=>this.traceStorage.storeXhrAgg(...t),this.featureName,this.ee),(0,i.X)("bstApi",(...t)=>this.traceStorage.storeSTN(...t),this.featureName,this.ee),(0,i.X)("trace-jserror",(...t)=>this.traceStorage.storeErrorAgg(...t),this.featureName,this.ee),(0,i.X)("pvtAdded",(...t)=>this.traceStorage.processPVT(...t),this.featureName,this.ee),"undefined"!=typeof PerformanceNavigationTiming?this.traceStorage.storeTiming(u._A.performance?.getEntriesByType?.("navigation")[0]):this.traceStorage.storeTiming(u._A.performance?.timing,!0),this.mode===l.IK.FULL?this.startHarvesting():(0,i.X)("trace-jserror",()=>{this.mode===l.IK.ERROR&&this.switchToFull()},this.featureName,this.ee),this.agentRuntime.session.write({sessionTraceMode:this.mode}),this.drain())}startHarvesting(){this.scheduler.started||this.blocked||(this.scheduler.runHarvest(),this.scheduler.startTimer(this.harvestTimeSeconds))}prepareHarvest(t={}){if(this.traceStorage.prevStoredEvents.clear(),!this.timeKeeper?.ready||this.blocked||this.mode!==l.IK.FULL||0===this.traceStorage.nodeCount)return;if(this.sessionId!==this.agentRuntime.session?.state.value||this.ptid!==this.agentRuntime.ptid)return this.abort(3);let{stns:e,earliestTimeStamp:s,latestTimeStamp:i}=this.traceStorage.takeSTNs();if(!e)return;t.retry&&(this.sentTrace=e);let r=!this.agentRuntime.session.state.traceHarvestStarted;r&&this.agentRuntime.session.write({traceHarvestStarted:!0});let a=this.agentRuntime.session?.state.sessionReplayMode===1,n=this.agentInfo?.jsAttributes?.["enduser.id"];this.everHarvested=!0;let o=this.agentRuntime.appMetadata?.agents?.[0]||{};return{qs:{browser_monitoring_key:this.agentInfo.licenseKey,type:"BrowserSessionChunk",app_id:this.agentInfo.applicationID,protocol_version:"0",timestamp:Math.floor(this.timeKeeper.correctAbsoluteTimestamp(this.timeKeeper.convertRelativeTimestamp(s))),attributes:(0,b.j6)({...o.entityGuid&&{entityGuid:o.entityGuid},harvestId:"".concat(this.agentRuntime.session?.state.value,"_").concat(this.agentRuntime.ptid,"_").concat(this.agentRuntime.harvestCount),"trace.firstTimestamp":Math.floor(this.timeKeeper.correctAbsoluteTimestamp(this.timeKeeper.convertRelativeTimestamp(s))),"trace.lastTimestamp":Math.floor(this.timeKeeper.correctAbsoluteTimestamp(this.timeKeeper.convertRelativeTimestamp(i))),"trace.nodes":e.length,"trace.originTimestamp":this.timeKeeper.correctedOriginTime,agentVersion:this.agentRuntime.version,...r&&{firstSessionHarvest:r},...a&&{hasReplay:a},ptid:"".concat(this.ptid),session:"".concat(this.sessionId),...n&&{"enduser.id":this.obfuscator.obfuscateString(n)}},5e3).substring(1)},body:(0,y.R)(e,this.obfuscator.obfuscateString.bind(this.obfuscator),"string")}}onHarvestFinished(t){t.sent&&t.retry&&this.sentTrace&&(Object.entries(this.sentTrace).forEach(([t,e])=>{this.traceStorage.restoreNode(t,e)}),this.sentTrace=null)}switchToFull(){if(this.mode===l.IK.FULL||!this.entitled||this.blocked)return;let t=this.mode;if(this.mode=l.IK.FULL,this.agentRuntime.session.write({sessionTraceMode:this.mode}),t===l.IK.OFF||!this.initialized)return this.initialize(this.mode,this.entitled);this.initialized&&this.traceStorage.trimSTNs(3e4),this.startHarvesting()}abort(t){this.blocked=!0,this.mode=l.IK.OFF,this.agentRuntime.session.write({sessionTraceMode:this.mode}),this.scheduler?.stopTimer()}}}}]);
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.