1import{R as U,S as Te,bp as ee,j as e,a as x,F as te,a0 as Re,y as Se,r as re}from"./react-DwuEVfNv.js";import{c4 as he,c as h,fY as b,aJ as Ae,fZ as W,f_ as ne,f$ as Ce,cb as Me,g0 as Ie,s as ue,di as $e,fU as Q,c5 as K,cd as ze,cU as k,e9 as De,g1 as ke,g2 as Fe,k as N,dc as o,aj as se,cl as Pe,aa as fe,g3 as Le,aS as Ye,cO as Ve,dd as T,e6 as He,g4 as Be,al as We,g5 as Ne,_ as Ge,$ as qe,z as Ue,fW as ie,bh as Qe,fL as Ke,b_ as oe,bi as Xe,bj as Je,aK as Ze,e8 as et,y as tt,aM as rt,aN as nt,bk as st,bm as it}from"./index-DQzPtNsy.js";import{A as ot,a as at}from"./alert-incidents-DFUpqvzV.js";import{S as ct}from"./Status-CVcO2jqV.js";import{H as lt}from"./Tooltip-DZsnvX7_.js";import{Y as dt}from"./YAxisRange-Dek_vsIc.js";import{D as ht}from"./DataLine-BC-EGkAX.js";import{a2 as ut,a3 as ft,a8 as mt}from"./d3-q0zOtUjj.js";var me=function(){if(typeof Map<"u")return Map;function t(r,n){var s=-1;return r.some(function(i,a){return i[0]===n?(s=a,!0):!1}),s}return function(){function r(){this.__entries__=[]}return Object.defineProperty(r.prototype,"size",{get:function(){return this.__entries__.length},enumerable:!0,configurable:!0}),r.prototype.get=function(n){var s=t(this.__entries__,n),i=this.__entries__[s];return i&&i[1]},r.prototype.set=function(n,s){var i=t(this.__entries__,n);~i?this.__entries__[i][1]=s:this.__entries__.push([n,s])},r.prototype.delete=function(n){var s=this.__entries__,i=t(s,n);~i&&s.splice(i,1)},r.prototype.has=function(n){return!!~t(this.__entries__,n)},r.prototype.clear=function(){this.__entries__.splice(0)},r.prototype.forEach=function(n,s){s===void 0&&(s=null);for(var i=0,a=this.__entries__;i<a.length;i++){var l=a[i];n.call(s,l[1],l[0])}},r}()}(),X=typeof window<"u"&&typeof document<"u"&&window.document===document,Y=function(){return typeof global<"u"&&global.Math===Math?global:typeof self<"u"&&self.Math===Math?self:typeof window<"u"&&window.Math===Math?window:Function("return this")()}(),xt=function(){return typeof requestAnimationFrame=="function"?requestAnimationFrame.bind(Y):function(t){return setTimeout(function(){return t(Date.now())},1e3/60)}}(),vt=2;function pt(t,r){var n=!1,s=!1,i=0;function a(){n&&(n=!1,t()),s&&d()}function l(){xt(a)}function d(){var c=Date.now();if(n){if(c-i<vt)return;s=!0}else n=!0,s=!1,setTimeout(l,r);i=c}return d}var gt=20,_t=["top","right","bottom","left","width","height","size","weight"],jt=typeof MutationObserver<"u",bt=function(){function t(){this.connected_=!1,this.mutationEventsAdded_=!1,this.mutationsObserver_=null,this.observers_=[],this.onTransitionEnd_=this.onTransitionEnd_.bind(this),this.refresh=pt(this.refresh.bind(this),gt)}return t.prototype.addObserver=function(r){~this.observers_.indexOf(r)||this.observers_.push(r),this.connected_||this.connect_()},t.prototype.removeObserver=function(r){var n=this.observers_,s=n.indexOf(r);~s&&n.splice(s,1),!n.length&&this.connected_&&this.disconnect_()},t.prototype.refresh=function(){var r=this.updateObservers_();r&&this.refresh()},t.prototype.updateObservers_=function(){var r=this.observers_.filter(function(n){return n.gatherActive(),n.hasActive()});return r.forEach(function(n){return n.broadcastActive()}),r.length>0},t.prototype.connect_=function(){!X||this.connected_||(document.addEventListener("transitionend",this.onTransitionEnd_),window.addEventListener("resize",this.refresh),jt?(this.mutationsObserver_=new MutationObserver(this.refresh),this.mutationsObserver_.observe(document,{attributes:!0,childList:!0,characterData:!0,subtree:!0})):(document.addEventListener("DOMSubtreeModified",this.refresh),this.mutationEventsAdded_=!0),this.connected_=!0)},t.prototype.disconnect_=function(){!X||!this.connected_||(document.removeEventListener("transitionend",this.onTransitionEnd_),window.removeEventListener("resize",this.refresh),this.mutationsObserver_&&this.mutationsObserver_.disconnect(),this.mutationEventsAdded_&&document.removeEventListener("DOMSubtreeModified",this.refresh),this.mutationsObserver_=null,this.mutationEventsAdded_=!1,this.connected_=!1)},t.prototype.onTransitionEnd_=function(r){var n=r.propertyName,s=n===void 0?"":n,i=_t.some(function(a){return!!~s.indexOf(a)});i&&this.refresh()},t.getInstance=function(){return this.instance_||(this.instance_=ne
1w t),this.instance_},t.instance_=null,t}(),xe=function(t,r){for(var n=0,s=Object.keys(r);n<s.length;n++){var i=s[n];Object.defineProperty(t,i,{value:r[i],enumerable:!1,writable:!1,configurable:!0})}return t},M=function(t){var r=t&&t.ownerDocument&&t.ownerDocument.defaultView;return r||Y},ve=H(0,0,0,0);function V(t){return parseFloat(t)||0}function ae(t){for(var r=[],n=1;n<arguments.length;n++)r[n-1]=arguments[n];return r.reduce(function(s,i){var a=t["border-"+i+"-width"];return s+V(a)},0)}function yt(t){for(var r=["top","right","bottom","left"],n={},s=0,i=r;s<i.length;s++){var a=i[s],l=t["padding-"+a];n[a]=V(l)}return n}function wt(t){var r=t.getBBox();return H(0,0,r.width,r.height)}function Et(t){var r=t.clientWidth,n=t.clientHeight;if(!r&&!n)return ve;var s=M(t).getComputedStyle(t),i=yt(s),a=i.left+i.right,l=i.top+i.bottom,d=V(s.width),c=V(s.height);if(s.boxSizing==="border-box"&&(Math.round(d+a)!==r&&(d-=ae(s,"left","right")+a),Math.round(c+l)!==n&&(c-=ae(s,"top","bottom")+l)),!Tt(t)){var E=Math.round(d+a)-r,p=Math.round(c+l)-n;Math.abs(E)!==1&&(d-=E),Math.abs(p)!==1&&(c-=p)}return H(i.left,i.top,d,c)}var Ot=function(){return typeof SVGGraphicsElement<"u"?function(t){return t instanceof M(t).SVGGraphicsElement}:function(t){return t instanceof M(t).SVGElement&&typeof t.getBBox=="function"}}();function Tt(t){return t===M(t).document.documentElement}function Rt(t){return X?Ot(t)?wt(t):Et(t):ve}function St(t){var r=t.x,n=t.y,s=t.width,i=t.height,a=typeof DOMRectReadOnly<"u"?DOMRectReadOnly:Object,l=Object.create(a.prototype);return xe(l,{x:r,y:n,width:s,height:i,top:n,right:r+s,bottom:i+n,left:r}),l}function H(t,r,n,s){return{x:t,y:r,width:n,height:s}}var At=function(){function t(r){this.broadcastWidth=0,this.broadcastHeight=0,this.contentRect_=H(0,0,0,0),this.target=r}return t.prototype.isActive=function(){var r=Rt(this.target);return this.contentRect_=r,r.width!==this.broadcastWidth||r.height!==this.broadcastHeight},t.prototype.broadcastRect=function(){var r=this.contentRect_;return this.broadcastWidth=r.width,this.broadcastHeight=r.height,r},t}(),Ct=function(){function t(r,n){var s=St(n);xe(this,{target:r,contentRect:s})}return t}(),Mt=function(){function t(r,n,s){if(this.activeObservations_=[],this.observations_=new me,typeof r!="function")throw new TypeError("The callback provided as parameter 1 is not a function.");this.callback_=r,this.controller_=n,this.callbackCtx_=s}return t.prototype.observe=function(r){if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");if(!(typeof Element>"u"||!(Element instanceof Object))){if(!(r instanceof M(r).Element))throw new TypeError('parameter 1 is not of type "Element".');var n=this.observations_;n.has(r)||(n.set(r,new At(r)),this.controller_.addObserver(this),this.controller_.refresh())}},t.prototype.unobserve=function(r){if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");if(!(typeof Element>"u"||!(Element instanceof Object))){if(!(r instanceof M(r).Element))throw new TypeError('parameter 1 is not of type "Element".');var n=this.observations_;n.has(r)&&(n.delete(r),n.size||this.controller_.removeObserver(this))}},t.prototype.disconnect=function(){this.clearActive(),this.observations_.clear(),this.controller_.removeObserver(this)},t.prototype.gatherActive=function(){var r=this;this.clearActive(),this.observations_.forEach(function(n){n.isActive()&&r.activeObservations_.push(n)})},t.prototype.broadcastActive=function(){if(this.hasActive()){var r=this.callbackCtx_,n=this.activeObservations_.map(function(s){return new Ct(s.target,s.broadcastRect())});this.callback_.call(r,n,r),this.clearActive()}},t.prototype.clearActive=function(){this.activeObservations_.splice(0)},t.prototype.hasActive=function(){return this.activeObservations_.length>0},t}(),pe=typeof WeakMap<"u"?new WeakMap:new me,ge=function(){function t(r){if(!(this instanceof t))throw new TypeError("Cannot call a class as a function.");if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");var n=bt.getInstance(),s=new Mt(r,n,this);pe.set(this,s)}return t}();["observe","unobserve","disconnect"].forEach(function(t){ge.prototype[t]=function(){var r;return(r=pe.get(this))[t].apply(r,arguments)}});var ce=function(){return typeof Y.ResizeObserver<"u"?Y.ResizeObserver:ge}();const It=t=>{const[r,n]=U.useState({x:0,y:0,width:0,height:0,top:0,right:0,bottom:0,left:0});return U.useEffect(()=>{const s=t.current;if(!s||typeof ce>"u")return;const i=new ce(([a])=>n(a.contentRect));return i.observe(s),()=>i.disconnect()},[t]),r},G=x.div(["border-top:1px solid ",";display:block;width:100%;"],h.gray70),$t=x.div(["padding:10px;background:","cc;border-radius:1px;p{line-height:1em;margin:0 0 10px;font-weight:normal;font-size:12px;}"],$e(h.gray100)),zt=({x:t,y:r,fill:n})=>e.jsxs("g",{style:{pointerEvents:"none"},children:[e.jsx("circle",{cx:t,cy:r,r:5,fill:n}),e.jsx("circle",{cx:t,cy:r,r:10,fill:n,style:{opacity:.2}})]}),le=x(ze).attrs({$bold:!0})(["padding:",";"],ue[2]),Dt=x.div(["background:",";border-radius:3px;display:flex;flex-direction:column;"],h.gray80),kt=t=>new Date(1e3*parseInt(t,10)),O=t=>kt(t.time),L=t=>t.points.find(n=>n.metric==="ccv")?.value??0,de=({incident:t,frame:r})=>{const n=he(),{metric:s}=t.alert_rule,i=r==="start"?t.time_series_data_on_start:t.time_series_data_on_end,a=r==="start"?h.orange50:h.green40,l=r==="start"?t.start_time:t.end_time,d=U.useRef(null),{width:c}=It(d),E=100,p=212,u=v=>{const w=v.points.find(Oe=>Oe.metric===s);return w?w.value:0},P=v=>Math.max(Number(mt(i,v)),t.alert_rule.threshold_alert.value),A=ut(i,O),C={type:"time",domain:A[0]===void 0&&A[1]===void 0?[new Date,new Date]:A,range:[0,c]},I=Te(C),$={type:"linear",domain:[0,P(u)],range:[p,20]},R=ee($),g={type:"linear",domain:[0,P(L)],range:[E,10]}
1,S=ee(g),J=s==="ccv"?h.blue20:h.putty50,_e=h.gray40,{format:Z,name:je}=b[s],be=v=>n(v,Q(K.time)),B=v=>typeof v<"u"?Z(v):"",ye=new Date(parseInt(l,10)*1e3),we=ft(O).left(i,ye),z=i[we]??i[i.length-1]??i[0],y=z?I(O(z)):0,Ee=z?R(u(z)):0,_=R(t.alert_rule.threshold_alert.value);let D;return t.alert_rule.threshold_alert.area==="above"?r==="start"?D={x:y,y:0,width:Math.max(0,c-y),height:_}:D={x:0,y:0,width:y,height:_}:r==="start"?D={x:y,y:_,width:Math.max(0,c-y),height:Math.max(0,p-_)}:D={x:0,y:_,width:y,height:Math.max(0,p-_)},e.jsx(Ae,{mode:"dark",children:e.jsxs(Dt,{ref:d,children:[e.jsx(le,{children:je}),e.jsx(G,{}),e.jsxs(W,{width:c,height:p,data:i,children:[e.jsx(ne,{xScaleConfig:C,yScaleConfig:$,yAccessor:u,xAccessor:O,rowNumTicks:1,columnNumTicks:5,stroke:J,height:p,width:c}),e.jsx(dt,{format:B,scale:R,fill:h.gray20}),z&&e.jsx(zt,{x:y,y:Ee,fill:a}),e.jsx("text",{name:"threshold_label",x:10,y:_+(_>40?-5:15),fontWeight:"bold",fill:h.gray20,children:Z(t.alert_rule.threshold_alert.value)}),e.jsx("line",{x1:0,x2:c,y1:_,y2:_,stroke:h.orange50,strokeDasharray:3,opacity:.75}),e.jsx("rect",{fill:h.orange50,fillOpacity:.1,...D}),e.jsx(Ce,{top:0,left:0,width:c,height:s!=="ccv"?370:238,children:e.jsx(lt,{xScale:I,xSelector:O,children:({x:v,data:w})=>e.jsx(e.Fragment,{children:e.jsx(ht,{x:v,xSelector:O,data:w,valueLabel:v!==y?B(u(w)):e.jsxs($t,{children:[e.jsx("p",{children:r==="start"?"Incident Started":"Incident Ended"}),B(u(w))]}),secondaryLabel:s!=="ccv"?Me(L(w)).combined:"",secondaryY:s!=="ccv"?S(L(w))+p+32:0,valueY:R(u(w)),valueFill:v===y?a:J,withTooltips:!0})})})})]}),e.jsx(G,{}),s!=="ccv"&&e.jsxs(e.Fragment,{children:[e.jsx("div",{style:{zIndex:9,pointerEvents:"none"},children:e.jsx(le,{children:"Concurrent Viewers"})}),e.jsxs("div",{style:{pointerEvents:"none"},children:[e.jsx(W,{width:c,height:E,data:i,children:e.jsx(ne,{width:c,height:E,xScaleConfig:C,yScaleConfig:g,rowNumTicks:0,columnNumTicks:1,yAccessor:L,xAccessor:O,stroke:_e,gradient:void 0})}),e.jsx(G,{})]})]}),e.jsx(W,{width:c,height:25,data:i,children:e.jsx(Ie,{scale:I,selector:O,xTickFormatter:be})})]})})},Ft=x.div(["border-bottom:1px solid ",";width:100%;margin-bottom:20px;"],h.gray20),j=x(T).attrs({gutterY:30})([""]),f=x.div(["text-transform:uppercase;line-height:15px;font-size:0.9em;letter-spacing:0.8px;color:",";padding:0 0 10px 0;"],h.text.deemphasized),m=x.div(["font-size:1.3em;line-height:27px;letter-spacing:-0.5px;color:",";"],h.text.default),q=x(We)(["padding:"," 0px;border-bottom:1px solid ",";"],ue[3],h.gray20),Pt=x.span(["padding:5px 5px 5px 0;line-height:1.4;",";"],t=>t.$excluded&&"text-decoration: line-through"),Lt=x(fe)(["color:",";"],h.text.default),F=x.span(["color:",";"],h.text.default),Yt=x(Ne)(["padding-bottom:40px;"]);function Vt({incident:t}){const r=he(),{threshold_alert:n,metric:s,window_duration:i,name:a,id:l,filters:d,environment_id:c,window_min_views:E}=t.alert_rule,p=n.area==="above"?">":"<",u=(g,S=t.alert_rule.metric)=>b[S].suffix==="%"?`${k(g,2)}%`:b[S].suffix==="sec"?`${k(g/1e3,2)} seconds`:k(g),P=i===60?"1 minute":`${k(i/60)} minutes`,A=new Date(parseInt(t.start_time,10)*1e3),C=new Date(parseInt(t.end_time,10)*1e3||Date.now()),I=De(Math.floor(C.getTime()/1e3)-Math.floor(A.getTime()/1e3)),$=te(ke),R=te(Fe);return e.jsxs(Yt,{padding:0,children:[e.jsx(Ft,{}),e.jsxs(N,{gap:5,gutterY:6,children:[e.jsx(j,{children:e.jsxs(o,{children:[e.jsx(f,{children:"Alert name"}),e.jsx(m,{style:{fontWeight:"bold"},children:a})]})}),e.jsxs(j,{children:[e.jsxs(o,{sm:12,lg:4,children:[e.jsx(f,{children:"Metric"}),e.jsx(m,{children:b[s].name})]}),e.jsxs(o,{sm:12,lg:4,children:[e.jsx(f,{children:"Environment"}),e.jsx(m,{children:R&&R.name})]})]}),e.jsxs(j,{children:[e.jsxs(o,{lg:4,children:[e.jsx(f,{children:"Started"}),e.jsx(m,{children:r(A.getTime(),Q(K.full))})]}),t.end_time!==null&&e.jsxs(e.Fragment,{children:[e.jsxs(o,{lg:4,children:[e.jsx(f,{children:"Ended"}),e.jsx(m,{children:r(C.getTime(),Q(K.full))})]}),e.jsxs(o,{lg:4,children:[e.jsx(f,{children:"Duration"}),e.jsx(m,{children:I})]})]})]}),t.status==="open"&&e.jsx(N,{gutterY:6,children:e.jsxs(j,{children:[e.jsxs(o,{sm:12,lg:4,children:[e.jsx(f,{children:b[s].name}),e.jsx(m,{children:`${u(t.metric_on_trigger)}`})]}),e.jsx(o,{sm:12,lg:4,children:s!=="ccv"&&e.jsxs(e.Fragment,{children:[e.jsx(f,{children:"Concurrent Viewers at Start"}),e.jsx(m,{children:`${u(t.ccv_on_start,"ccv")}`})]})}),e.jsx(o,{sm:12,lg:4,children:e.jsx(se,{to:Pe({pathname:`/organizations/${$}/environments/${c}${Ye}/${b[s].route}`},{filters:Le(d)}),children:e.jsx(fe,{variant:"access",children:"View in Real Time"})})})]})}),(t.status==="closed"||t.status==="resolved")&&e.jsxs(j,{children:[e.jsxs(o,{lg:4,children:[e.jsx(f,{children:b[s].name}),e.jsx(m,{children:`${u(t.metric_on_trigger)}`})]}),t.metric_on_end!==null&&t.metric_on_resolution!==null&&e.jsxs(o,{lg:4,children:[e.jsx(f,{children:"At End"}),e.jsx(m,{children:`${u(t.metric_on_resolution)}`})]}),t.peak_metric_during_incident!==null&&e.jsxs(o,{children:[e.jsx(f,{children:"Peak"}),e.jsx(m,{children:`${u(t.peak_metric_during_incident)}`})]})]}),t.resolution_reason===ot.alert_rule_updated_triggered_resolution&&e.jsx(j,{children:e.jsx(o,{children:e.jsx(Ve,{type:"info",children:"This incident ended because the alert rule was changed."})})}),(t.status==="closed"||t.status==="resolved")&&e.jsxs(j,{children:[e.jsx(o,{sm:12,children:e.jsx(q,{children:"Incident Start"})}),e.jsxs(o,{md:4,children:[e.jsx(f,{children:b[s].name}),e.jsx(m,{children:`${u(t.metric_on_trigger)}`})]}),s!=="ccv"&&e.jsxs(o,{md:4,children:[e.jsx(f,{children:"Concurrent Viewers"}),e.jsx(m,{children:`${u(t.ccv_on_start,"ccv")}`})]})]}),e.jsx(j,{children:e.jsx(o,{children:t.time_series_data_on_start.length>0&&e.jsx(de,{incident:t,frame:"start"})})}),(t.status==="closed"||t.status==="resolved")&&e.jsxs(e.Fragment,{children:[e.jsxs(j,{children:[e.jsx(o,{sm:12,children:e.jsx(q,{children:"Incident End"})}),e.jsxs(o,{md:4,children:[e.jsx(f,{children:b[s].name}),e.jsx(m,{children:t.metric_on_resolution!==null?u(t.metric_on_resolution):"n/a"})]}),s!=="ccv"&&e.jsxs(o,{md:4,children:[e.jsx(f,{children:"Concurrent Viewers"}),e.jsx(m,{children:t.ccv_on_end!==null?u(t.ccv_on_end,"ccv"):"n/a"})]})]}),e.jsx(j,{children:e.jsx(o,{children:t.time_series_data_on_end.length>0&&e.jsx(de,{incident:t,frame:"end"})})})]})]}),e.jsxs(N,{gap:4,gutterY:8,children:[e.jsx(T,{gutterY:10,children:e.jsx(o,{children:e.jsx(q,{children:"Alert Rule"})})}),e.jsxs(T,{gutterY:20,children:[e.jsx(o,{sm:1,md:2,lg:2,children:e.jsx(F,{children:"Metric"})}),e.jsx(o,{children:He(b[s].name)})]}),e.jsxs(T,{gutterY:20,children:[e.jsx(o,{sm:1,md:2,lg:2,children:e.jsx(F,{children:"Trigger"})}),e.jsx(o,{children:`${p} ${u(n.value)}`})]}),e.jsxs(T,{gutterY:20,children:[e.jsx(o,{sm:1,md:2,lg:2,children:e.jsx(F,{children:"Time Window"})}),e.jsx(o,{children:P})]}),e.jsxs(T,{gutterY:20,children:[e.jsx(o,{sm:1,md:2,lg:2,children:e.jsx(F,{children:"Minimum Audience"})}),e.jsx(o,{children:k(E)})]}),e.jsxs(T,{gutterY:20,children:[e.jsx(o,{sm:1,md:2,lg:2,children:e.jsx(F,{children:"Filters"})}),e.jsx(o,{children:d.length===0?e.jsx("i",{children:"None"}):d.map((g,S)=>e.jsxs(Pt,{$excluded:g.exclude,children:[g.displayValue||g.value,d.length!==1&&S!==d.length-1&&","]},`${g.value}-${S}`))})]}),e.jsx(T,{children:e.jsx(o,{children:e.jsx(se,{to:`/organizations/${$}/environments/${c}${Be}/${l}`,children:e.jsx(Lt,{children:"Edit alert rule"})})})})]})]})}
1function Kt(){const t=Ge(),r=qe(),{incidentId:n=""}=Re(),s=Se(),[,i]=Ue(),{isSuccess:a,data:l,error:d}=at(n,{onError:()=>{s(`/organizations/${t}/environments/${r}${ie}`,{replace:!0})},meta:{errorToastContent:{id:"get_alert_incident_failed",title:"API Request Failed",description:"Could not find that alert incident."}}});return Qe(Ke({section:"Alerts",leaf:l?.alert_rule.name,error:d})),re.useEffect(()=>{i("data")},[i]),a?e.jsxs(Xe,{children:[e.jsxs(Je,{children:[e.jsxs(Ze,{children:[e.jsx(et,{to:tt(t,r,ie),query:c=>({...c,status:c?c.status:"open",type:"threshold"}),children:"Incidents"}),e.jsx(rt,{}),e.jsx(nt,{children:"Details"})]}),e.jsx(st,{children:l.status?e.jsxs(e.Fragment,{children:["Incident -"," ",e.jsx(ct,{$status:l.status,children:l.status==="closed"?"resolved":l.status})]}):"Threshold Alert Incident"})]}),e.jsx(it,{children:e.jsx(re.Suspense,{fallback:e.jsx(oe,{gutterY:8}),children:e.jsx(Vt,{incident:l})})})]}):e.jsx(oe,{gutterY:8})}export{Kt as default}; 2//# sourceMappingURL=ThresholdAlertIncidentRoute-DvDV9pFk.js.map
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.