1(function(global){"use strict";var STORES={lodi:{key:"lodi",label:"Lodi",name:"Lodi, NJ",addr:"199 US Highway 46, Lodi, NJ 07644",lat:40.8752,lng:-74.069,phoneText:"(973) 778-0812",phoneHref:"tel:+19737780812",hours:[{day:"Mon \u2013 Sat",time:"8am \u2013 7pm"},{day:"Sunday",time:"9am \u2013 5pm"}],mapsUrl:"https://www.google.com/maps/place/199+US-46,+Lodi,+NJ+07644",embedUrl:"https://maps.google.com/maps?q=40.8752,-74.069&z=13&output=embed",services:"Grills, propane tanks, refills & accessories"},toms:{key:"toms",label:"Toms River",name:"Toms River, NJ",addr:"642 Fischer Blvd, Toms River, NJ 08753",lat:39.9591,lng:-74.1259,phoneText:"(732) 228-7958",phoneHref:"tel:+17322287958",hours:[{day:"Mon \u2013 Fri",time:"9am \u2013 7pm"},{day:"Sat \u2013 Sun",time:"9am \u2013 6pm"}],mapsUrl:"https://www.google.com/maps/place/642+Fischer+Blvd,+Toms+River,+NJ+08753",embedUrl:"https://maps.google.com/maps?q=39.9591,-74.1259&z=13&output=embed",services:"Grills, propane tanks, refills & accessories"}},STORE_LIST=[STORES.lodi,STORES.toms],PREFIX_COUNTY={109:{county:"Rockland",state:"NY",fallbackRes:"Friday"},125:{county:"Orange",state:"NY",fallbackRes:"Friday"},127:{county:"Sullivan",state:"NY",fallbackRes:"Friday"},"070":{county:"Essex",state:"NJ",fallbackRes:"Tuesday"},"071":{county:"Essex",state:"NJ",fallbackRes:"Tuesday"},"072":{county:"Union",state:"NJ",fallbackRes:"Tuesday"},"073":{county:"Hudson",state:"NJ",fallbackRes:"Tuesday"},"074":{county:"Passaic",state:"NJ",fallbackRes:"Wednesday"},"075":{county:"Passaic",state:"NJ",fallbackRes:"Wednesday"},"076":{county:"Bergen",state:"NJ",fallbackRes:"Monday"},"077":{county:"Monmouth",state:"NJ",fallbackRes:"Monday"},"078":{county:"Morris",state:"NJ",fallbackRes:"Wednesday"},"079":{county:"Morris",state:"NJ",fallbackRes:"Thursday"},"080":{county:"Camden",state:"NJ",fallbackRes:"Friday"},"081":{county:"Camden",state:"NJ",fallbackRes:"Friday"},"082":{county:"Atlantic",state:"NJ",fallbackRes:"Thursday"},"083":{county:"Cumberland",state:"NJ",fallbackRes:"Thursday"},"084":{county:"Atlantic",state:"NJ",fallbackRes:"Thursday"},"085":{county:"Mercer",state:"NJ",fallbackRes:"Saturday"},"086":{county:"Mercer",state:"NJ",fallbackRes:"Wednesday"},"087":{county:"Ocean",state:"NJ",fallbackRes:"Tuesday"},"088":{county:"Middlesex",state:"NJ",fallbackRes:"Wednesday"},"089":{county:"Middlesex",state:"NJ",fallbackRes:"Saturday"}},COUNTY_DELIVERY={"Bergen|NJ":{days:["Monday","Thursday"],withinWeek:!1},"Essex|NJ":{days:["Tuesday","Friday"],withinWeek:!1},"Hudson|NJ":{days:["Monday","Thursday"],withinWeek:!1},"Hunterdon|NJ":{withinWeek:!0},"Mercer|NJ":{days:["Thursday"],withinWeek:!1},"Middlesex|NJ":{days:["Wednesday"],withinWeek:!1},"Monmouth|NJ":{days:["Wednesday"],withinWeek:!1},"Morris|NJ":{days:["Wednesday"],withinWeek:!1},"Ocean|NJ":{days:["Wednesday"],withinWeek:!1},"Passaic|NJ":{days:["Monday","Thursday"],withinWeek:!1},"Somerset|NJ":{days:["Friday"],withinWeek:!1},"Sussex|NJ":{withinWeek:!0},"Union|NJ":{days:["Tuesday","Friday"],withinWeek:!1},"Warren|NJ":{withinWeek:!0},"Rockland|NY":{days:["Thursday"],withinWeek:!1},"Orange|NY":{days:["Thursday"],withinWeek:!1}};function residentialScheduleLabel(sched){return sched?sched.withinWeek?"within 1 week":!sched.days||!sched.days.length?"":sched.days.length===1?sched.days[0]:sched.days.length===2?sched.days[0]+" & "+sched.days[1]:sched.days.slice(0,-1).join(", ")+" & "+sched.days[sched.days.length-1]:""}function grillDeliveryDisplay(resLabel){return resLabel?resLabel==="within 1 week"?"within 1 week":resLabel.indexOf("&")!==-1?resLabel.split(" & ").map(function(day){return day+"s"}).join(" & "):resLabel+"s":""}function deliveryScheduleForZip(zip){var prefix=String(zip||"").slice(0,3),loc=PREFIX_COUNTY[prefix];if(!loc)return null;var sched=COUNTY_DELIVERY[loc.county+"|"+loc.state],res=sched?residentialScheduleLabel(sched):loc.fallbackRes;return res?{res,com:"next business day"}:null}function isZip(z){return/^\d{5}$/.test(String(z||"").trim())}function toRad(deg){return deg*Math.PI/180}function distanceMiles(lat1,lng1,lat2,lng2){var R=3958.8,dLat=toRad(lat2-lat1),dLng=toRad(lng2-lng1),a=Math.sin(dLat/2)*Math.sin(dLat/2)+Math.cos(toRad(lat1))*Math.cos(toRad(lat2))*Math.sin(dLng/2)*Math.sin(dLng/2);return R*2*Math.atan2(Math.sqrt(a),Math.sqrt(1-a))}function formatDistance(miles){return miles<1?"< 1 mi":miles<10?miles.toFixed(1)+" mi":Math.round(miles)+" mi"}function shortStoreAddress(store){var street=store.addr.split(",")[0].replace("Highway","Hwy");return street+", "+store.label}async function fetchZipCoords(zip){try{var controller=new AbortController,timeout=setTimeout(function(){controller.abort()},6e3),response=await fetch("https://api.zippopotam.us/us/"+encodeURIComponent(zip),{signal:controller.signal});if(clearTimeout(timeout),!response.ok)return null;var data=await response.json();return!data.places||!data.places.length?null:{lat:parseFloat(data.places[0].latitude),lng:parseFloat(data.places[0].longitude)}}catch{return null}}async function findAllDistances(zip){var coords=await fetchZipCoords(zip);if(!coords){var z=String(zip),southJerseyPrefixes=["080","081","082","083","084","085","087","088","089"],prefix3=z.
1slice(0,3);coords=southJerseyPrefixes.indexOf(prefix3)!==-1?{lat:39.95,lng:-74.2}:{lat:40.85,lng:-74.1}}var lodiMiles=distanceMiles(coords.lat,coords.lng,STORES.lodi.lat,STORES.lodi.lng),tomsMiles=distanceMiles(coords.lat,coords.lng,STORES.toms.lat,STORES.toms.lng),store=lodiMiles<=tomsMiles?STORES.lodi:STORES.toms,miles=Math.min(lodiMiles,tomsMiles);return{store,miles,lodiMiles,tomsMiles,distances:{lodi:lodiMiles,toms:tomsMiles}}}function saveZip(zip,storeKey){if(isZip(zip))try{localStorage.setItem("mp_zip",String(zip).replace(/\D/g,"").slice(0,5)),storeKey&&localStorage.setItem("mp_store",String(storeKey).slice(0,20))}catch{}}function loadZip(){try{return localStorage.getItem("mp_zip")||""}catch{return""}}function getStore(key){return STORES[key]||null}global.MPStores={STORES,STORE_LIST,isZip,formatDistance,shortStoreAddress,findAllDistances,deliveryScheduleForZip,grillDeliveryDisplay,saveZip,loadZip,getStore}})(typeof window<"u"?window:this); 2//# sourceMappingURL=/cdn/shop/t/15/assets/mp-stores.js.map?v=5016452035367864701783403363
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.