1"use strict";(globalThis.webpackChunkws_tagging=globalThis.webpackChunkws_tagging||[]).push([[889],{1452(e,t,a){a.d(t,{A:()=>n});const i=e=>{if(null===e||"object"!=typeof e)return e;if(e instanceof Function)return e;if(e instanceof Date)return new Date(e);if(Array.isArray(e))return e.map(e=>i(e));if("object"==typeof e){const t={};return Object.keys(e).forEach(a=>{t[a]=i(e[a])}),t}},n=i},889(e,t,a){a.r(t),a.d(t,{buildDataForPageView:()=>T,findPropertiesFromSelector:()=>b,formDisplayType:()=>v,getBuyNowOrCarBravoAttributes:()=>D,getFormType:()=>g,getInventoryType:()=>S,handleFormChange:()=>E,hasInventoryWidget:()=>C,hasOnlyCarBravoInventory:()=>d,isFeaturedVehiclePage:()=>w,linkGeneric:()=>k,mapVehicle:()=>f,project:()=>o,sending:()=>m,setFilterValueToSend:()=>A});var i=a(3679),n=a(1452);const r=[{type:"CPO",selector:".badge-callout a.certified, .badge-callout .certified a"},{type:"Maintain the Love",selector:"a.mtl-badge, .mtl-badge a"},{type:"CR Trust Mark",selector:"a.trustmark-link, .trustmark-link a"},{events:"scheduleServiceClick",type:"Schedule Service",selector:[".schedule-service.include-velocity a",".page-header .cst_SCHEDULE_SERVICE a",'a[data-location="page-schedule-service-button"]','a[href*="/ServiceApptForm.htm"]','a[href*="/schedule-service.htm"]','a[href*="/service/index.htm"]','a[href*="/service/center.htm"]','a[href*="/service/scheduler.htm"]','a[href*="/service/schedule-service.htm"]','a[href*="/eleads-service-scheduler-mobile.htm"]','a[href*="/e-leads-service-scheduler.htm"]','a[href*="/schedule-service-online.htm"]','a[href*="/service/schedule-appointment.htm"]','a[href*="/schedule-your-service-appointment.htm"]','a[href*="/service-scheduler.htm"]','a[href*="/schedule_service.htm"]']}],s=[],o="shiftnative",l={NEW:"New",USED:"Used",CERTIFIED:"CPO",ALL:"Mixed",DEFAULT:""},c=({classification:e,newOrUsed:t})=>"used"===t&&"wholesale"===e,d=({mapping:e}={})=>{const{carBravoAsCpo:t=!1}=e?.configuration||{},{vehicles:a=[]}=window?.DDC?.dataLayer||{};return t&&a.length>0&&a.every(c)},p={GMBUYSRP:{param:"gmbuysrp",location:"SRP",linkDestination:"GMBuy"},GMBUYVDP:{param:"gmbuyvdp",location:"VDP",linkDestination:"GMBuy"},GMBUYNAV:{param:"gmbuynav",location:"Global Nav",linkDestination:"GMBuy"},CARBRAVOSRP:{param:"carbravosrp",location:"SRP",linkDestination:"CarBravo"},CARBRAVOVDP:{param:"carbravovdp",location:"VDP",linkDestination:"CarBravo"},CARBRAVONAV:{param:"carbravonav",location:"Global Nav",linkDestination:"CarBravo"}},u=e=>{let t="other";if(e){const a=e.toLowerCase();a.includes("firstname")?t="firstname":a.includes("lastname")?t="lastname":a.includes("middlename")?t="middlename":a.includes("phone")?t="phonenumber":a.includes("email")?t="emailaddress":a.includes("street")?t="address":a.includes("city")?t="city":a.includes("state")?t="state":a.includes("postalcode")?t="zipcode":a.includes("comments")&&(t="
1comments")}return t},g=({trackingId:e,mapping:t})=>t?.form?.[e]||t?.form?.DEFAULT||e,m=e=>{const{data:t,preview:a,_event:i,eventData:r}=e,s=[],o=[];if(!a&&Object.keys(t).length){const{data:e,event:a}=t,i=a?["send",a]:["send"];window.sd("dataLayer",(0,n.A)(e)),window.sd(...i),s.push({event:e?.events||a,payload:e||"",sender:"window.sd"}),o.push({clientEventName:e?.events||a,sender:"window.sd"})}return{reportsForEventViewer:s,reportsForNewRelic:o}},v=e=>e?"modal":"in-page",h=({carBravoAsCpo:e=!1,certified:t,classification:a,compositeType:i,newOrUsed:n})=>{if(e&&c({classification:a,newOrUsed:n}))return l.CERTIFIED;const r=i?i?.toUpperCase?.():"DEFAULT";let s=l[r];return void 0!==s&&"DEFAULT"!==r||(s="used"!==n||"true"!==t&&!0!==t?l[(n||"DEFAULT").toUpperCase()]:l.CERTIFIED),s},f=({mapping:e,vehicle:t})=>{let a={};if(t&&Object.keys(t).length){const{carBravoAsCpo:i=!1}=e?.configuration||{},{classification:n,inventoryType:r,modelYear:s,make:o,model:l,trim:c,engine:d,transmission:p,interiorColor:u,exteriorColor:g,vin:m,internetPrice:v,msrp:f,fuelType:y,bodyStyle:C,driveLine:w,certified:T,stockNumber:b,newOrUsed:D}=t;a={status:h({carBravoAsCpo:i,certified:T,classification:n,compositeType:r,newOrUsed:D}),year:s,make:o,model:l,trim:c,engine:d,transmission:p,interiorColor:u,exteriorColor:g,vin:m,msrp:f,displayedPrice:v,fuelType:y,bodyStyle:C,driveTrain:w,stockNumber:b}}return a},y=({franchises:e=[],abbreviate:t=!1})=>{let a="";return e?.sort?.()?.forEach?.((e,i,n)=>{const r=t?e.substring(0,2):e;i===n.length-1?a+=r:a+=`${r}|`}),a},C=({isVlp:e=!1,pageName:t,pageWidgets:a=[],vehicleResultCount:i})=>{const n=e&&a.includes("v9.widgets.inventory-listing.default");return e&&!n||n&&![null,""].includes(i)||a?.includes?.("ws-inv-listing")||t?.includes?.("NO_RESULTS")},w=({pageName:e,pageWidgets:t})=>t?.includes?.("v9.widgets.inventory-featured.default.v1")&&!e?.includes?.("PROMOTIONS_LISTING")&&!e?.includes?.("NO_RESULTS")&&"INDEX"!==e,T=({_eventData:e,mapping:t={},mapping:{configuration:{abbreviatePageBrand:a=!1,dealerBac:n="",dealerLDA:r="",dealerTDA:s="",pageBrand:o="",retailerId:l=""}}={}})=>{const{dealership:{city:c="",dealershipName:d="",postalCode:p="",stateProvince:u=""}={},page:{attributes:{locale:g="",vehicleResultCount:m}={},pageInfo:{isShowroomOverview:v=!1,isVdp:h=!1,isVlp:T=!1,pageName:b="",pagePath:D="",pageWidgets:k=[]}={},trackingTags:E={}}={},site:{design:{variationId:S=""}={},franchises:A=[],siteInfo:{tier:I=""}={}}={},user:{userCity:N,userPostalCode:R,userState:V}={},vehicles:O=[]}=window.DDC.dataLayer;let L;L=w({pageName:b,pageWidgets:k})?"Vehicle Listing":v?"Model Showroom":A?.includes?.("subaru")&&"/financing/index.htm"===D?"Finance":(({isVlp:e=!1,pageName:t,pageType:a="",pageWidgets:i=[],trackingTags:n={},vehicleResultCount:r})=>n?.pageType||a||C({isVlp:e,pageName:t,pageWidgets:i,vehicleResultCount:r})&&"Vehicle Listing"||"Other")({franchises:A,isVlp:T,pageName:b,pagePath:D,pageType:t.pagealias.pageType,pageWidgets:k,trackingTags:E,vehicleResultCount:m});const P={...n&&{dealerBac:`[[dealerCode.${l}]]`},dealerCity:c,...r&&{dealerLDA:`[[dealerCode.${r}]]`},dealerName:d,dealerState:u,...s&&{dealerTDA:`[[dealerCode.${s}]]`},dealerZipCode:p,language:g.indexOf("_")>-1?g.substr(0,g.indexOf("_")):g,pageBrand:o||y({franchises:A,abbreviate:a}),dealerBrand:o||y({franchises:A,abbreviate:a}),pageType:L,sessionId:i.RY.getItem("userSessionId"),siteTechnologyVersion:S,userCity:N,userState:V,userZipCode:R,websiteTier:I.replace("tier","Tier ")};return h&&(P.vehicleDetails=f({mapping:t,vehicle:O[0]})),b.indexOf("404")>-1&&(P.errorCode="404"),P},b=(e,t)=>{let a;return t instanceof Element&&(a=e.find(({selector:e})=>{let a;return"string"==typeof e?a=t.matches(e):e instanceof Array&&(a=e.find(e=>t.matches(e))),a})),a},D=e=>{const t=Object.values(p).find(t=>e?.url?.includes(t.param));return!t&&e?.attributes?.["data-navigation-id"]&&e?.url?.includes("carbravo")?p.CARBRAVONAV:t},k=({element:e,eventData:t,groupingLinkTypeSelectors:a=[],groupingLocationSelectors:i=[],mapping:n})=>{const{widgetName:o}=t;let l,c=!0;if("ws-inv-listing"===o&&t?.attributes?.class?.includes?.("window-sticker-link")&&(c=!1),c){const{isTelephonicUrl:o}=t;if(e?.matches?.(".navbar .nav-directions-button a, .page-header .adr a")&&t.url.includes("directions"))l={events:"getDirections"};else if(o){const{department:e,departmentId:a}=t,i=["Sales","Service","Parts"],n={SALES:"Sales",SERVICE:"Service",PARTS:"Parts"},r=n[e]?n[e]:e;l={clickToCallDepartment:(r&&i.includes(r)?r:n[a])||"Other",events:"clickToCall"}}else{const{attributes:{"data-src":o,"data-link-type":c}={},text:d,url:p}=t;let{linkType:u}=t;const{events:g,type:m}=b([...a,...r],e)||{};!u&&m&&(u=m);
1const v=g||"linkClick";u=c||u||"CTA";const{location:h}=b([...i,...s],e)||{location:t.location};let y;const{isVdp:C,isVlp:w}=window.DDC.dataLayer.page.pageInfo;if((C||w)&&(p||o)?.includes("api/legacy/pse/windowsticker")){const{status:e,year:a,make:i,model:r,vin:s}=f({mapping:n,vehicle:t?.vehicle||C&&window.DDC.dataLayer.vehicles[0]});u="Monroney Label",y={status:e,year:a,make:i,model:r,vin:s}}let T=h;if("mainNav"===h&&(T="Footer"===t.trackingSection?"footer":"global nav"),u){const{pageType:e}=window.DDC.WidgetData["ws-tagging"].mapping.shiftnative;l={events:v,...u&&{linkType:u},...T&&{location:T},...e&&{pageType:e},...y&&{vehicleDetails:y},...["CTA","Monroney Label"].includes(u)&&{linkText:d}}}const{location:k,linkDestination:E}=D(t)||{};k&&(l.location=k,l.linkDestination=E)}}return{data:l}},E=({eventData:e,mapping:t})=>({data:{displayType:v(e.isModal),events:"formFieldInteraction",formFieldName:u(e.fieldName),formType:g({trackingId:e.trackingId,mapping:t}),formVehicle:f({mapping:t,vehicle:e.vehicle})}}),S=({mapping:e}={})=>{const t="New",a="Used",i="CPO",n="Mixed",r="",{carBravoAsCpo:s=!1}=e?.configuration||{};let o=r;const{vehicles:l}=window.DDC.dataLayer;if(l.length){const e=l.some(e=>"new"===e.newOrUsed),r=l.some(e=>"used"===e.newOrUsed),d=l.some(e=>"true"===e.certified||!0===e.certified),p=!l.some(e=>"false"===e.certified||!1===e.certified),u=s&&l.every(c);o=e&&r?n:e?t:p||u?i:d?n:a}return o},A=(e,t)=>{const a=e||"All";return a.replace?a.replace(/,/g,t):a}},3679(e,t,a){a.d(t,{Ar:()=>r,RY:()=>s});Object.freeze({SPECIALS_EVENT:"specialsEvent",THIRD_PARTY_USER_EVENT:"thirdPartyUserEvent",TRACK_EVENT:"trackEvent",WIDGET_USER_EVENT:"widgetUserEvent"});const i=(e,t)=>{try{const a=void 0===t&&"undefined"!=typeof window?window:t;return a?.[e]||null}catch(e){return null}},n=e=>({getItem:(t,a)=>{try{return i(e,a)?.getItem(t)??null}catch(e){return null}},setItem:(t,a,n)=>{try{i(e,n)?.setItem(t,a)}catch(e){}},isAvailable:t=>{try{const a=i(e,t);return a?.getItem("ws-tagging-storage-check"),null!==a}catch(e){return!1}},removeItem:(t,a)=>{try{i(e,a)?.removeItem(t)}catch(e){}}}),r=n("localStorage"),s=n("sessionStorage")}}]); 2//# sourceMappingURL=bundle.889.23766f57201e8bbcf015898bc742f6af.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.