1import{a as mt}from"./chunk-QA47STNB.js";import{a as st}from"./chunk-45QIEL4B.js";import{a as gt}from"./chunk-AUGEPQTH.js";import{a as ct}from"./chunk-K3H7EN7M.js";import"./chunk-XEWZEGEG.js";import"./chunk-23DNNFF6.js";import{a as _t}from"./chunk-7QYFX3HB.js";import{a as wt}from"./chunk-TMWT5MBN.js";import"./chunk-CBWHN3T4.js";import{d as dt}from"./chunk-ACTPIHRX.js";import"./chunk-VWLI3IZW.js";import"./chunk-L4Z2YAOT.js";import"./chunk-JH2GJLLD.js";import{j as ot,r as lt}from"./chunk-44XMFILW.js";import"./chunk-IPDVBT3Q.js";import"./chunk-B6PZ5NPP.js";import"./chunk-DJ3POP45.js";import{a as pt}from"./chunk-KGTPPFRX.js";import"./chunk-5UBOG2SS.js";import{ja as at}from"./chunk-VRKJBTE4.js";import{f as nt,j as rt}from"./chunk-ZT7BF6R4.js";import"./chunk-S3ZM33RT.js";import{b as V}from"./chunk-FX7OHTES.js";import"./chunk-2FGQMKT5.js";import"./chunk-GNOMKHH2.js";import"./chunk-MIYW5325.js";import"./chunk-FJFH4XCE.js";import"./chunk-T52FVTMS.js";import"./chunk-4I6Y24VE.js";import"./chunk-VHBEXHUY.js";import"./chunk-IXNXTOPZ.js";import{b as it}from"./chunk-GGY6QDTV.js";import"./chunk-3WQEZLC2.js";import{a as et}from"./chunk-DB7AUQFG.js";import"./chunk-GLFTJW2T.js";import{f as z,i as W,p as J,q as Q,r as Z,y as tt}from"./chunk-BHLMCFFK.js";import"./chunk-NP4PC25X.js";import"./chunk-D6IOGJMO.js";import{m as q}from"./chunk-MKJMCBBH.js";import"./chunk-KKDZHWJ2.js";import"./chunk-RS4X3CMD.js";import"./chunk-7DHSGR33.js";import{i as G}from"./chunk-4KDBBJRG.js";import"./chunk-3SEIXLDK.js";import{b as Y,c as K,d as X}from"./chunk-UIEAU6S2.js";import{j as $,k as U,l as H,x as j}from"./chunk-H3Y6JSWE.js";import{Rb as s,Sb as a,Tb as r,Ub as S,Uc as l,Vc as d,Yb as A,Zb as T,a as M,bc as I,db as i,gc as O,ic as _,kd as F,mb as E,oa as C,pa as v,qa as k,ra as N,sb as L,wc as o,xc as w,yb as f,yc as c}from"./chunk-AHLRJ2EW.js";import"./chunk-O7STKFCD.js";import"./chunk-AMJ4GB2S.js";import"./chunk-OXDKANHF.js";import"./chunk-WGJEEJGF.js";import"./chunk-6ACFICIG.js";import"./chunk-K7BHMZHH.js";import"./chunk-FE7444LI.js";import{a as D,b as P}from"./chunk-XUHYVR5R.js";function bt(n){return n.trim().toUpperCase()}function ft(n){let p=new Map;for(let t of n){let e=bt(t.code);p.has(e)||p.set(e,t)}return p}function xt(n,p){let t=ft(n.dtcs),e=ft(p.dtcs),m=[],x=[],u=V(p),b=V(n)&&u,g=[],h=[];for(let[B,y]of t){let R=e.get(B);R===void 0?(u?m:x).push(y):g.push(P(D({},R),{description:R.description||y.description}))}for(let[B,y]of e)t.has(B)||h.push(y);return{cleared:m,unverifiedAfter:x,coverageComplete:b,persisting:g,appeared:h,allPriorCodesAbsent:b&&t.size>0&&g.length===0&&h.length===0}}function ut(n,p){if(n&1){let t=I();a(0,"div",6)(1,"span",7),k(),a(2,"svg",8),S(3,"rect",9)(4,"path",10),r()(),N(),a(5,"p",11),o(6),l(7,"translate"),r(),a(8,"p",12),o(9),l(10,"translate"),r(),a(11,"button",13),O("click",function(){C(t);let m=_();return v(m.upgrade())}),o(12),l(13,"translate"),r(),a(14,"button",14),O("click",function(){C(t);let m=_();return v(m.goToProDemo())}),o(15),l(16,"translate"),r()()}n&2&&(i(6),w(d(7,4,"V2.OBD.COMPARE.LOCKED_TITLE")),i(3),w(d(10,6,"V2.OBD.COMPARE.LOCKED_BODY")),i(3),c(" ",d(13,8,"V2.OBD.COMPARE.UPGRADE_CTA")," "),i(3),c(" ",d(16,10,"V2.COMMON.TRY_DEMO")," "))}function ht(n,p){if(n&1){let t=I();a(0,"div",6)(1,"p",11),o(2),l(3,"translate"),r(),a(4,"p",12),o(5),l(6,"translate"),r(),a(7,"button",13),O("click",function(){C(t);let m=_(2);return v(m.goToScan())}),o(8),l(9,"translate"),r()()}n&2&&(i(2),w(d(3,3,"V2.OBD.COMPARE.EMPTY_TITLE")),i(3),w(d(6,5,"V2.OBD.COMPARE.EMPTY_BODY")),i(3),c(" ",d(9,7,"V2.OBD.COMPARE.EMPTY_CTA")," "))}function Et(n,p){if(n&1&&(a(0,"option",21),o(1),r()),n&2){let t=p.$implicit,e=_(3);s("ngValue",t.scanId),i(),c(" ",e.optionLabel(t)," ")}}function Ct(n,p){if(n&1&&(a(0,"option",21),o(1),r()),n&2){let t=p.$implicit,e=_(3);s("ngValue",t.scanId),i(),c(" ",e.optionLabel(t)," ")}}function vt(n,p){n&1&&(a(0,"p",22),o(1),l(2,"translate"),r()),n&2&&(i(),c(" ",d(2,1,"V2.OBD.COMPARE.SAME_SCAN")," "))}function Ot(n,p){n&1&&(a(0,"p",50),o(1),l(2,"translate"),r()),n&2&&(i(),c(" \u26A0 ",d(2,1,"V2.OBD.COMPARE.ORDER_WARNING")," "))}function St(n,p){n&1&&(a(0,"p",50),o(1),l(2,"translate"),r()),n&2&&(i(),c(" \u26A0 ",d(2,1,"V2.OBD.COMPARE.VIN_MISMATCH")," "))}function It(n,p){if(n&1&&(a(0,"div",51)(1,"p",37),o(2),l(3,"translate"),r(),a(4,"p",52),o(5),r()()),n&2){let t=p.ngIf;i(2),c(" ",d(3,2,"V2.OBD.REPORT.VEHICLE")," "),i(3),w(t)}}function yt(n,p){if(n&1&&(a(0,"div",53)(1,"p",37),o(2,"VIN"),r(),a(3,"p",54),o(4),r()()),n&2){let t=p.ngIf;i(4),w(t)}}function At(n,p){n&1&&(a(0,"p",55),o(1),l(2,"translate"),r()),n&2&&(i(),c(" ",d(2,1,"V2.OBD.COMPARE.INCOMPLETE_COVERAGE")," "))}function Tt(n,p){n&1&&(a(0,"p",56),o(1),l(2,"translate"),r()),n&2&&(i(),c(" ",d(2,1,"V2.OBD.COMPARE.RESOLVED")," "))}function Bt(n,p){n&1&&(a(0,"p",61),o(1),l(2,"translate"),r()),n&2&&(i(),c(" ",d(2,1,"V2.OBD.COMPARE.NONE")," "))}function Rt(n,p){if(n&1&&(a(0,"tr",64)(1,"td",65),o(2),r(),a(3,"td",66),o(4),r(),a(5,"td",67),o(6),l(7,"translate"),r()()),n&2){let t=p.$implicit,e=_(6);i(2),c(" ",t.code," "),i(2),c(" ",t.description||"\u2014"," "),i(2),c(" ",t.status?d(7,3,e.dtcStatusKey(t.status)):""," ")}}function Vt(n,p){if(n&1&&(a(0,"table",62)(1,"tbody"),f(2,Rt,8,5,"tr",63),r()()),n&2){let t=_().$implicit;i(2),s("ngForOf",t.dtcs)}}function Dt(n,p){if(n&1&&(a(0,"div",57)(1,"p",58),o(2),l(3,"translate"),r(),f(4,Bt,3,3,"p",59)(5,Vt,3,1,"table",60),r()),n&2){let t=p.$implicit;
1i(),s("ngClass",t.headerClass),i(),c(" ",d(3,4,t.key)," "),i(2),s("ngIf",t.dtcs.length===0),i(),s("ngIf",t.dtcs.length>0)}}function Pt(n,p){if(n&1){let t=I();A(0),a(1,"div",23),f(2,Ot,3,3,"p",24)(3,St,3,3,"p",24),r(),a(4,"div",25)(5,"button",26),O("click",function(){C(t);let m=_(3);return v(m.print())}),o(6),l(7,"translate"),r()(),a(8,"div",27)(9,"div",28)(10,"div")(11,"p",29),o(12,"MECH AI"),r(),a(13,"p",30),o(14),l(15,"translate"),r()(),a(16,"div",31)(17,"p",32),o(18),l(19,"translate"),r(),a(20,"p",33),o(21),r()()(),a(22,"div",34),f(23,It,6,4,"div",35)(24,yt,5,1,"div",36),a(25,"div")(26,"p",37),o(27),l(28,"translate"),r(),a(29,"p",38),o(30),r(),S(31,"app-obd-dtc-coverage",39),r(),a(32,"div")(33,"p",37),o(34),l(35,"translate"),r(),a(36,"p",38),o(37),r(),S(38,"app-obd-dtc-coverage",39),r()(),f(39,At,3,3,"p",40)(40,Tt,3,3,"p",41),a(41,"div",42)(42,"div",43)(43,"p",44),o(44),r(),a(45,"p",45),o(46),l(47,"translate"),r()(),a(48,"div",43)(49,"p",44),o(50),r(),a(51,"p",45),o(52),l(53,"translate"),r()(),a(54,"div",43)(55,"p",46),o(56),r(),a(57,"p",45),o(58),l(59,"translate"),r()(),a(60,"div",43)(61,"p",47),o(62),r(),a(63,"p",45),o(64),l(65,"translate"),r()()(),f(66,Dt,6,6,"div",48),a(67,"p",49),o(68),l(69,"translate"),r()(),T()}if(n&2){let t=p.ngIf,e=_(3);i(2),s("ngIf",e.orderSuspicious),i(),s("ngIf",e.vinMismatch),i(3),c(" ",d(7,26,"V2.OBD.REPORT.PRINT")," "),i(8),c(" ",d(15,28,"V2.OBD.COMPARE.REPORT_TITLE")," "),i(4),w(d(19,30,"V2.OBD.REPORT.GENERATED")),i(3),w(e.generatedAt),i(2),s("ngIf",e.vehicleName),i(),s("ngIf",e.reportVin),i(3),c(" ",d(28,32,"V2.OBD.COMPARE.BEFORE_LABEL")," "),i(3),w(e.formatDate(e.beforeScan.createdAt)),i(),s("scan",e.beforeScan),i(3),c(" ",d(35,34,"V2.OBD.COMPARE.AFTER_LABEL")," "),i(3),w(e.formatDate(e.afterScan.createdAt)),i(),s("scan",e.afterScan),i(),s("ngIf",!t.coverageComplete),i(),s("ngIf",t.allPriorCodesAbsent),i(4),w(t.cleared.length),i(2),c(" ",d(47,36,"V2.OBD.COMPARE.CLEARED")," "),i(4),w(t.unverifiedAfter.length),i(2),c(" ",d(53,38,"V2.OBD.COMPARE.UNVERIFIED_ABSENCE")," "),i(4),w(t.persisting.length),i(2),c(" ",d(59,40,"V2.OBD.COMPARE.PERSISTING")," "),i(4),w(t.appeared.length),i(2),c(" ",d(65,42,"V2.OBD.COMPARE.APPEARED")," "),i(2),s("ngForOf",e.sections(t)),i(2),c(" ",d(69,44,"V2.OBD.REPORT.DISCLAIMER")," ")}}function Mt(n,p){if(n&1){let t=I();A(0),a(1,"div",15)(2,"label",16)(3,"span",17),o(4),l(5,"translate"),r(),a(6,"select",18),O("ngModelChange",function(m){C(t);let x=_(2);return v(x.onSelect("before",m))}),f(7,Et,2,2,"option",19),r()(),a(8,"label",16)(9,"span",17),o(10),l(11,"translate"),r(),a(12,"select",18),O("ngModelChange",function(m){C(t);let x=_(2);return v(x.onSelect("after",m))}),f(13,Ct,2,2,"option",19),r()()(),f(14,vt,3,3,"p",20)(15,Pt,70,46,"ng-container",5),T()}if(n&2){let t=_(2);i(4),c(" ",d(5,8,"V2.OBD.COMPARE.BEFORE_LABEL")," "),i(2),s("ngModel",t.beforeId),i(),s("ngForOf",t.eligible),i(3),c(" ",d(11,10,"V2.OBD.COMPARE.AFTER_LABEL")," "),i(2),s("ngModel",t.afterId),i(),s("ngForOf",t.eligible),i(),s("ngIf",t.sameScan),i(),s("ngIf",!t.sameScan&&t.diff)}}function kt(n,p){if(n&1&&(A(0),f(1,ht,10,9,"div",4)(2,Mt,16,12,"ng-container",5),T()),n&2){let t=_();i(),s("ngIf",t.eligible.length<2),i(),s("ngIf",t.eligible.length>=2)}}var se=(()=>{class n{constructor(t,e,m,x,u,b,g){this.store=t,this.router=e,this.cdr=m,this.translate=x,this.upgradePrompt=u,this.activeVehicle=b,this.toastr=g,this.isLocked=!1,this.eligible=[],this.beforeId=null,this.afterId=null,this.diff=null,this.loaded=!1,this.defaulted=!1,this.activeCar=null,this.subs=new M}ngOnInit(){this.subs.add(this.store.select(at.currentProduct).subscribe(t=>{this.isLocked=nt("obd-compare",rt(t?.entitlementName??"")),!this.isLocked&&!this.loaded&&(this.store.dispatch(new ot),this.loaded=!0),this.cdr.markForCheck()})),this.subs.add(this.store.select(lt.history).subscribe(t=>{this.eligible=t.filter(e=>e.scanId!=="pending"),!this.defaulted&&this.eligible.length>=2&&(this.afterId=this.eligible[0].scanId,this.beforeId=this.eligible[1].scanId,this.defaulted=!0),this.recompute()})),this.subs.add(this.activeVehicle.activeCar$.subscribe(t=>{this.activeCar=t,this.cdr.markForCheck()}))}ngOnDestroy(){this.subs.unsubscribe()}get beforeScan(){return this.eligible.find(t=>t.scanId===this.beforeId)??null}get afterScan(){return this.eligible.find(t=>t.scanId===this.afterId)??null}get sameScan(){return this.beforeId!==null&&this.beforeId===this.afterId}get orderSuspicious(){let t=this.beforeScan,e=this.afterScan;return!!t&&!!e&&t.createdAt>e.createdAt}get vinMismatch(){let t=this.beforeScan?.vin,e=this.afterScan?.vin;return!!t&&!!e&&t.toUpperCase()!==e.toUpperCase()}get reportVin(){return this.vinMismatch?null:this.beforeScan?.vin??this.afterScan?.vin??null}get vehicleName(){let t=this.activeCar;if(!t)return null;
1let e=[t.year,t.brand,t.name,t.trim].filter(Boolean);return e.length?e.join(" "):null}get generatedAt(){return new Date().toLocaleString()}onSelect(t,e){t==="before"?this.beforeId=e:this.afterId=e,this.recompute()}sections(t){return[{key:"V2.OBD.COMPARE.CLEARED",headerClass:"tw-text-gray-700",dtcs:t.cleared},{key:"V2.OBD.COMPARE.UNVERIFIED_ABSENCE",headerClass:"tw-text-gray-700",dtcs:t.unverifiedAfter},{key:"V2.OBD.COMPARE.PERSISTING",headerClass:"tw-text-yellow-700",dtcs:t.persisting},{key:"V2.OBD.COMPARE.APPEARED",headerClass:"tw-text-red-700",dtcs:t.appeared}]}dtcStatusKey(t){return t==="confirmed"?"V2.OBD.SCAN.STATUS_CONFIRMED":t==="permanent"?"V2.OBD.SCAN.STATUS_PERMANENT":"V2.OBD.SCAN.STATUS_PENDING"}optionLabel(t){let e=this.translate.instant(t.dtcs.length===1?"V2.OBD.HISTORY.CODE":"V2.OBD.HISTORY.CODES");return`${this.formatDate(t.createdAt)} \xB7 ${t.dtcs.length} ${e}`}formatDate(t){return it(t)?.toLocaleString()??""}upgrade(){this.upgradePrompt.showSubscriptionRequired(this.translate.instant("V2.OBD.COMPARE.FEATURE_LABEL"),"obdcompare")}goToProDemo(){this.router.navigate(["/v2/obd/pro/demo"])}goToScan(){this.router.navigate(["/v2/obd/scan"])}print(){this.printAsync()}async printAsync(){let t=this.diff;if(!t)return;let e=ct("obd-compare",this.vehicleName,"html");await mt(()=>this.buildCompareHtml(t),e,this.translate.instant("V2.OBD.COMPARE.REPORT_TITLE"))==="failed"&&this.toastr.error(this.translate.instant("V2.EXPORT.SHARE_FAILED")),this.cdr.markForCheck()}buildCompareHtml(t){let e=g=>this.translate.instant(g),m=this.beforeScan,x=this.afterScan,u=this.sections(t).filter(g=>g.dtcs.length>0).map(g=>({heading:e(g.key),table:{headers:[e("V2.EXPORT.CODE"),e("V2.EXPORT.DESCRIPTION"),e("V2.EXPORT.STATUS")],rows:g.dtcs.map(h=>[h.code,h.description||"\u2014",h.status?e(this.dtcStatusKey(h.status)):""])}}));u.length||u.push({paragraphs:[e("V2.EXPORT.NO_DIFFERENCES")]});let b=[`${e("V2.OBD.REPORT.GENERATED")}: ${this.generatedAt}`];return m&&b.push(`${e("V2.OBD.COMPARE.BEFORE_LABEL")}: ${this.formatDate(m.createdAt)}`),x&&b.push(`${e("V2.OBD.COMPARE.AFTER_LABEL")}: ${this.formatDate(x.createdAt)}`),this.reportVin&&b.push(`VIN: ${this.reportVin}`),st({title:e("V2.OBD.COMPARE.REPORT_TITLE"),subtitle:this.vehicleName??void 0,meta:b,sections:u})}recompute(){let t=this.beforeScan,e=this.afterScan;this.diff=t&&e&&t.scanId!==e.scanId?xt(t,e):null,this.cdr.markForCheck()}static{this.\u0275fac=function(e){return new(e||n)(E(q),E(G),E(F),E(Y),E(dt),E(pt),E(et))}}static{this.\u0275cmp=L({type:n,selectors:[["app-obd-compare"]],decls:8,vars:8,consts:[[1,"tw-p-6","sm:tw-p-8","tw-max-w-3xl","tw-mx-auto","tw-w-full"],[1,"obd-report-toolbar"],[3,"title","subtitle"],["active","compare"],["class","tw-flex tw-flex-col tw-items-center tw-text-center tw-gap-3 tw-p-8 tw-rounded-2xl tw-bg-mech-surface tw-border tw-border-mech-border",4,"ngIf"],[4,"ngIf"],[1,"tw-flex","tw-flex-col","tw-items-center","tw-text-center","tw-gap-3","tw-p-8","tw-rounded-2xl","tw-bg-mech-surface","tw-border","tw-border-mech-border"],[1,"tw-grid","tw-place-items-center","tw-w-12","tw-h-12","tw-rounded-full","tw-bg-mech-primary/10","tw-text-mech-primary"],["aria-hidden","true","viewBox","0 0 24 24","fill","none","stroke","currentColor","stroke-width","2","stroke-linecap","round","stroke-linejoin","round",1,"tw-w-6","tw-h-6"],["x","3","y","11","width","18","height","11","rx","2","ry","2"],["d","M7 11V7a5 5 0 0 1 10 0v4"],[1,"tw-text-base","tw-font-semibold","tw-text-mech-text","tw-m-0"],[1,"tw-text-sm","tw-text-mech-text-muted","tw-m-0"],["type","button",1,"mech-btn-primary",3,"click"],["type","button",1,"tw-text-sm","tw-font-semibold","tw-text-mech-primary","tw-bg-transparent","tw-border-none","tw-cursor-pointer","tw-underline","tw-underline-offset-2",3,"click"],[1,"obd-report-toolbar","tw-grid","tw-grid-cols-1","sm:tw-grid-cols-2","tw-gap-3","tw-mb-4"],[1,"tw-flex","tw-flex-col","tw-gap-1"],[1,"tw-text-xs","tw-font-semibold","tw-uppercase","tw-tracking-wide","tw-text-mech-text-muted"],[1,"tw-bg-mech-surface","tw-text-mech-text","tw-border","tw-border-mech-border","tw-rounded-lg","tw-px-3","tw-py-2","tw-text-sm","tw-font-medium","tw-cursor-pointer","tw-outline-none","focus:tw-border-mech-primary","focus:tw-ring-2","focus:tw-ring-mech-primary",3,"ngModelChange","ngModel"],[3,"ngValue",4,"ngFor","ngForOf"],["class","obd-report-toolbar tw-text-sm tw-text-mech-text-muted tw-p-4 tw-rounded-xl tw-bg-mech-surface tw-border tw-border-mech-border",4,"ngIf"],[3,"ngValue"],[1,"obd-report-toolbar","tw-text-sm","tw-text-mech-text-muted","tw-p-4","tw-rounded-xl","tw-bg-mech-surface","tw-border","t
1w-border-mech-border"],[1,"obd-report-toolbar","tw-flex","tw-flex-col","tw-gap-2","tw-mb-4"],["class","tw-text-xs tw-font-medium tw-text-yellow-700 dark:tw-text-yellow-500 tw-m-0",4,"ngIf"],[1,"obd-report-toolbar","tw-flex","tw-justify-end","tw-mb-4"],["type","button",1,"tw-text-sm","tw-font-semibold","tw-px-4","tw-py-2","tw-rounded-lg","tw-bg-mech-primary","tw-text-white",3,"click"],[1,"obd-report","tw-bg-white","tw-text-black","tw-rounded-2xl","tw-border","tw-border-mech-border","tw-p-6","sm:tw-p-8"],[1,"tw-flex","tw-items-start","tw-justify-between","tw-gap-4","tw-border-b","tw-border-gray-200","tw-pb-4","tw-mb-5"],[1,"tw-text-lg","tw-font-extrabold","tw-m-0","tw-tracking-tight"],[1,"tw-text-sm","tw-font-semibold","tw-text-gray-700","tw-m-0"],[1,"tw-text-right","tw-text-xs","tw-text-gray-500"],[1,"tw-m-0"],[1,"tw-m-0","tw-font-medium","tw-text-gray-700"],[1,"tw-grid","tw-grid-cols-2","sm:tw-grid-cols-4","tw-gap-x-4","tw-gap-y-2","tw-mb-5"],["class","tw-col-span-2",4,"ngIf"],["class","tw-col-span-2 tw-min-w-0",4,"ngIf"],[1,"tw-text-[10px]","tw-uppercase","tw-tracking-wide","tw-text-gray-400","tw-m-0"],[1,"tw-text-sm","tw-m-0"],[3,"scan"],["class","tw-text-sm tw-text-gray-700 tw-mb-4",4,"ngIf"],["class","tw-text-sm tw-font-semibold tw-text-gray-700 tw-bg-gray-50 tw-border tw-border-gray-200 tw-rounded-lg tw-px-3 tw-py-2 tw-mb-5",4,"ngIf"],[1,"tw-grid","tw-grid-cols-2","sm:tw-grid-cols-4","tw-gap-3","tw-mb-5","tw-text-center"],[1,"tw-rounded-lg","tw-border","tw-border-gray-200","tw-py-2"],[1,"tw-text-xl","tw-font-extrabold","tw-m-0","tw-text-gray-700"],[1,"tw-text-[10px]","tw-uppercase","tw-tracking-wide","tw-text-gray-500","tw-m-0"],[1,"tw-text-xl","tw-font-extrabold","tw-m-0","tw-text-yellow-700"],[1,"tw-text-xl","tw-font-extrabold","tw-m-0","tw-text-red-700"],["class","tw-mb-5",4,"ngFor","ngForOf"],[1,"tw-text-[10px]","tw-text-gray-400","tw-border-t","tw-border-gray-200","tw-pt-3","tw-mt-6","tw-m-0"],[1,"tw-text-xs","tw-font-medium","tw-text-yellow-700","dark:tw-text-yellow-500","tw-m-0"],[1,"tw-col-span-2"],[1,"tw-text-sm","tw-font-semibold","tw-m-0"],[1,"tw-col-span-2","tw-min-w-0"],[1,"tw-text-sm","tw-font-mono","tw-break-all","tw-m-0"],[1,"tw-text-sm","tw-text-gray-700","tw-mb-4"],[1,"tw-text-sm","tw-font-semibold","tw-text-gray-700","tw-bg-gray-50","tw-border","tw-border-gray-200","tw-rounded-lg","tw-px-3","tw-py-2","tw-mb-5"],[1,"tw-mb-5"],[1,"tw-text-sm","tw-font-bold","tw-m-0","tw-mb-2",3,"ngClass"],["class","tw-text-sm tw-text-gray-400 tw-m-0",4,"ngIf"],["class","tw-w-full tw-text-sm tw-border-collapse",4,"ngIf"],[1,"tw-text-sm","tw-text-gray-400","tw-m-0"],[1,"tw-w-full","tw-text-sm","tw-border-collapse"],["class","tw-border-b tw-border-gray-100",4,"ngFor","ngForOf"],[1,"tw-border-b","tw-border-gray-100"],[1,"tw-py-1.5","tw-pr-3","tw-font-mono","tw-font-semibold","tw-align-top","tw-whitespace-nowrap"],[1,"tw-py-1.5","tw-pr-3","tw-align-top","tw-text-gray-700"],[1,"tw-py-1.5","tw-align-top","tw-text-right","tw-text-xs","tw-text-gray-500","tw-whitespace-nowrap"]],template:function(e,m){e&1&&(a(0,"div",0)(1,"div",1),S(2,"app-obd-page-header",2),l(3,"translate"),l(4,"translate"),S(5,"app-obd-tabs",3),r(),f(6,ut,17,12,"div",4)(7,kt,3,2,"ng-container",5),r()),e&2&&(i(2),s("title",d(3,4,"V2.OBD.COMPARE.TITLE"))("subtitle",d(4,6,"V2.OBD.COMPARE.SUBTITLE")),i(4),s("ngIf",m.isLocked),i(),s("ngIf",!m.isLocked))},dependencies:[j,$,U,H,tt,Q,Z,J,z,W,X,wt,_t,gt,K],styles:[`@charset "UTF-8";@media print{body *{visibility:hidden!important}.obd-report,.obd-report *{visibility:visible!important}.obd-report{position:absolute;left:0;top:0;width:100%;border:none!important;border-radius:0!important}.obd-report-toolbar{display:none!important}} 2`],encapsulation:2,changeDetection:0})}}return n})();export{se as ObdCompareComponent};
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.