CINXE.COM

How Dynamic Pricing Tech is Cutting Grocers’ Food Waste

<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1"/><meta name="robots" content="max-image-preview:large"/><title>How Dynamic Pricing Tech is Cutting Grocers’ Food Waste</title><meta name="description" content="Dynamic pricing software like Wasteless uses AI to reduce food waste and boost grocery profits by automatically adjusting prices for perishables as they approach expiration, encouraging earlier purchases with smaller markdowns. Since its launch in 2017, the technology has helped grocers reduce waste by up to 80%, save millions, and increase revenue, particularly benefiting meat, poultry, and fish sales, while addressing sustainability and market challenges."/><meta property="og:title" content="How Dynamic Pricing Tech is Cutting Grocers’ Food Waste"/><meta property="og:description" content="Dynamic pricing software like Wasteless uses AI to reduce food waste and boost grocery profits by automatically adjusting prices for perishables as they approach expiration, encouraging earlier purchases with smaller markdowns. Since its launch in 2017, the technology has helped grocers reduce waste by up to 80%, save millions, and increase revenue, particularly benefiting meat, poultry, and fish sales, while addressing sustainability and market challenges."/><meta property="og:url" content="https://www.waste360.com/food-waste/how-dynamic-pricing-tech-is-cutting-grocers-food-waste"/><meta property="og:type" content="article"/><meta property="og:image" content="https://eu-images.contentstack.com/v3/assets/blt4a147f9e36f0754a/blt504d9ded2bf0c0bb/651ff88cac22389e4abffe20/grocery_20store_20waste_20MR1540.jpg?disable=upscale&amp;width=1200&amp;height=630&amp;fit=crop"/><meta property="oc:keywords" content="Food Waste, Organic Waste"/><link rel="canonical" href="https://www.waste360.com/food-waste/how-dynamic-pricing-tech-is-cutting-grocers-food-waste"/><script type="application/ld+json">{"@context":"https://schema.org","@type":"Article","datePublished":"2024-10-15T02:46:24.000Z","dateModified":"2024-10-16T03:11:23.570Z","headline":"How Dynamic Pricing Tech is Cutting Grocers’ Food Waste","mainEntityOfPage":"https://www.waste360.com/food-waste/how-dynamic-pricing-tech-is-cutting-grocers-food-waste","image":{"@type":"ImageObject","url":"https://eu-images.contentstack.com/v3/assets/blt4a147f9e36f0754a/blt504d9ded2bf0c0bb/651ff88cac22389e4abffe20/grocery_20store_20waste_20MR1540.jpg","caption":"","creditText":"Jim West / Alamy Stock Photo"},"author":[{"@type":"Person","name":"Arlene Karidis","image":"https://eu-images.contentstack.com/v3/assets/blt4a147f9e36f0754a/blt03c475d40ab16e78/66ab7b7c75e867d151d741bc/20240721_150521.jpg","url":"https://www.waste360.com/author/arlene-karidis"}],"publisher":{"@type":["NewsMediaOrganization","Organization","OnlineBusiness"],"identifier":"https://www.waste360.com","name":"Waste360","url":"https://www.waste360.com","sameAs":["https://www.facebook.com/WasteExpo/","https://twitter.com/Waste360","https://www.linkedin.com/company/waste360/","https://www.youtube.com/channel/UC_L072N_d-bkq7RA3wGCUnQ","https://www.instagram.com/wasteexpo/"],"foundingDate":"2005","description":"Serving 90,000+ professionals worldwide, Waste360 is the leading information, event, commerce and education provider to the solid waste, recycling, organics and sustainable communities and plays a critical role in connecting industry professionals worldwide. Anchored by its flagship event, WasteExpo and digital properties, including Waste360.com, Waste360 continues to grow and evolve its portfolio to meet the needs of the industry.","logo":{"@type":"ImageObject","url":"https://www.waste360.com/build/_assets/Waste360-MLHPYH5L.svg","width":{"@type":"QuantitativeValue","value":281},"height":{"@type":"QuantitativeValue","value":112}}}}</script><script type="application/ld+json">{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://www.waste360.com"},{"@type":"ListItem","position":2,"name":"Food Waste","item":"https://www.waste360.com/organic-waste/food-waste"}]}</script><link rel="preload" href="https://eu-images.contentstack.com/v3/assets/blt4a147f9e36f0754a/blt504d9ded2bf0c0bb/651ff88cac22389e4abffe20/grocery_20store_20waste_20MR1540.jpg?width=1280&amp;auto=webp&amp;quality=10&amp;format=jpg&amp;disable=upscale&amp;blur=40" as="image"/><meta property="twitter:card" content="summary"/><script type="text/javascript">window.NREUM||(NREUM={});NREUM.init={distributed_tracing:{enabled:true},privacy:{cookies_enabled:true},ajax:{deny_list:["bam.eu01.nr-data.net"]}}; ;NREUM.loader_config={accountID:"3936348",trustKey:"3288925",agentID:"538600227",licenseKey:"NRJS-26ae6a3b09493bbcc87",applicationID:"538600227"}; ;NREUM.info={beacon:"bam.eu01.nr-data.net",errorBeacon:"bam.eu01.nr-data.net",licenseKey:"NRJS-26ae6a3b09493bbcc87",applicationID:"538600227",sa:1}; ;/*! For license information please see nr-loader-spa-1.274.0.min.js.LICENSE.txt */ (()=>{var e,t,r={8122:(e,t,r)=>{"use strict";r.d(t,{a:()=>i});var n=r(944);function i(e,t){try{if(!e||"object"!=typeof e)return(0,n.R)(3);if(!t||"object"!=typeof t)return(0,n.R)(4);const r=Object.create(Object.getPrototypeOf(t),Object.getOwnPropertyDescriptors(t)),o=0===Object.keys(r).length?e:r;for(let a in o)if(void 0!==e[a])try{if(null===e[a]){r[a]=null;continue}Array.isArray(e[a])&&Array.isArray(t[a])?r[a]=Array.from(new Set([...e[a],...t[a]])):"object"==typeof e[a]&&"object"==typeof t[a]?r[a]=i(e[a],t[a]):r[a]=e[a]}catch(e){(0,n.R)(1,e)}return r}catch(e){(0,n.R)(2,e)}}},2555:(e,t,r)=>{"use strict";r.d(t,{Vp:()=>c,fn:()=>s,x1:()=>u});var n=r(384),i=r(8122);const o={beacon:n.NT.beacon,errorBeacon:n.NT.errorBeacon,licenseKey:void 0,applicationID:void 0,sa:void 0,queueTime:void 0,applicationTime:void 0,ttGuid:void 0,user:void 0,account:void 0,product:void 0,extra:void 0,jsAttributes:{},userAttributes:void 0,atts:void 0,transactionName:void 0,tNamePlain:void 0},a={};function s(e){try{const t=c(e);return!!t.licenseKey&&!!t.errorBeacon&&!!t.applicationID}catch(e){return!1}}function c(e){if(!e)throw new Error("All info objects require an agent identifier!");if(!a[e])throw new Error("Info for ".concat(e," was never set"));return a[e]}function u(e,t){if(!e)throw new Error("All info objects require an agent identifier!");a[e]=(0,i.a)(t,o);const r=(0,n.nY)(e);r&&(r.info=a[e])}},9417:(e,t,r)=>{"use strict";r.d(t,{D0:()=>h,gD:()=>g,xN:()=>p});var n=r(993);const i=e=>{if(!e||"string"!=typeof e)return!1;try{document.createDocumentFragment().querySelector(e)}catch{return!1}return!0};var o=r(2614),a=r(944),s=r(384),c=r(8122);const u="[data-nr-mask]",d=()=>{const e={mask_selector:"*",block_selector:"[data-nr-block]",mask_input_options:{color:!1,date:!1,"datetime-local":!1,email:!1,month:!1,number:!1,range:!1,search:!1,tel:!1,text:!1,time:!1,url:!1,week:!1,textarea:!1,select:!1,password:!0}};return{ajax:{deny_list:void 0,block_internal:!0,enabled:!0,harvestTimeSeconds:10,autoStart:!0},distributed_tracing:{enabled:void 0,exclude_newrelic_header:void 0,cors_use_newrelic_header:void 0,cors_use_tracecontext_headers:void 0,allowed_origins:void 0},feature_flags:[],generic_events:{enabled:!0,harvestTimeSeconds:30,autoStart:!0},harvest:{tooManyRequestsDelay:60},jserrors:{enabled:!0,harvestTimeSeconds:10,autoStart:!0},logging:{enabled:!0,harvestTimeSeconds:10,autoStart:!0,level:n.p_.INFO},metrics:{enabled:!0,autoStart:!0},obfuscate:void 0,page_action:{enabled:!0},page_view_event:{enabled:!0,autoStart:!0},page_view_timing:{enabled:!0,harvestTimeSeconds:30,autoStart:!0},performance:{capture_marks:!1,capture_measures:!1},privacy:{cookies_enabled:!0},proxy:{assets:void 0,beacon:void 0},session:{expiresMs:o.wk,inactiveMs:o.BB},session_replay:{autoStart:!0,enabled:!1,harvestTimeSeconds:60,preload:!1,sampling_rate:10,error_sampling_rate:100,collect_fonts:!1,inline_images:!1,fix_stylesheets:!0,mask_all_inputs:!0,get mask_text_selector(){return e.mask_selector},set mask_text_selector(t){i(t)?e.mask_selector="".concat(t,",").concat(u):""===t||null===t?e.mask_selector=u:(0,a.R)(5,t)},get block_class(){return"nr-block"},get ignore_class(){return"nr-ignore"},get mask_text_class(){return"nr-mask"},get block_selector(){return e.block_selector},set block_selector(t){i(t)?e.block_selector+=",".concat(t):""!==t&&(0,a.R)(6,t)},get mask_input_options(){return e.mask_input_options},set mask_input_options(t){t&&"object"==typeof t?e.mask_input_options={...t,password:!0}:(0,a.R)(7,t)}},session_trace:{enabled:!0,harvestTimeSeconds:10,autoStart:!0},soft_navigations:{enabled:!0,harvestTimeSeconds:10,autoStart:!0},spa:{enabled:!0,harvestTimeSeconds:10,autoStart:!0},ssl:void 0,user_actions:{enabled:!0}}},l={},f="All configuration objects require an agent identifier!";function h(e){if(!e)throw new Error(f);if(!l[e])throw new Error("Configuration for ".concat(e," was never set"));return l[e]}function p(e,t){if(!e)throw new Error(f);l[e]=(0,c.a)(t,d());const r=(0,s.nY)(e);r&&(r.init=l[e])}function g(e,t){if(!e)throw new Error(f);var r=h(e);if(r){for(var n=t.split("."),i=0;i<n.length-1;i++)if("object"!=typeof(r=r[n[i]]))return;r=r[n[n.length-1]]}return r}},5603:(e,t,r)=>{"use strict";r.d(t,{a:()=>c,o:()=>s});var n=r(384),i=r(8122);const o={accountID:void 0,trustKey:void 0,agentID:void 0,licenseKey:void 0,applicationID:void 0,xpid:void 0},a={};function s(e){if(!e)throw new Error("All loader-config objects require an agent identifier!");if(!a[e])throw new Error("LoaderConfig for ".concat(e," was never set"));return a[e]}function c(e,t){if(!e)throw new Error("All loader-config objects require an agent identifier!");a[e]=(0,i.a)(t,o);const r=(0,n.nY)(e);r&&(r.loader_config=a[e])}},3371:(e,t,r)=>{"use strict";r.d(t,{V:()=>f,f:()=>l});var n=r(8122),i=r(384),o=r(6154),a=r(9324);let s=0;const c={buildEnv:a.F3,distMethod:a.Xs,version:a.xv,originTime:o.WN},u={customTransaction:void 0,disabled:!1,isolatedBacklog:!1,loaderType:void 0,maxBytes:3e4,onerror:void 0,ptid:void 0,releaseIds:{},appMetadata:{},session:void 0,denyList:void 0,timeKeeper:void 0,obfuscator:void 0},d={};function l(e){if(!e)throw new Error("All runtime objects require an agent identifier!");if(!d[e])throw new Error("Runtime for ".concat(e," was never set"));return d[e]}function f(e,t){if(!e)throw new Error("All runtime objects require an agent identifier!");d[e]={...(0,n.a)(t,u),...c},Object.hasOwnProperty.call(d[e],"harvestCount")||Object.defineProperty(d[e],"harvestCount",{get:()=>++s});const r=(0,i.nY)(e);r&&(r.runtime=d[e])}},9324:(e,t,r)=>{"use strict";r.d(t,{F3:()=>i,Xs:()=>o,Yq:()=>a,xv:()=>n});const n="1.274.0",i="PROD",o="CDN",a="^2.0.0-alpha.17"},6154:(e,t,r)=>{"use strict";r.d(t,{A4:()=>s,OF:()=>d,RI:()=>i,WN:()=>h,bv:()=>o,gm:()=>a,lR:()=>f,m:()=>u,mw:()=>c,sb:()=>l});var n=r(1863);const i="undefined"!=typeof window&&!!window.document,o="undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self.navigator instanceof WorkerNavigator||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis.navigator instanceof WorkerNavigator),a=i?window:"undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis),s="complete"===a?.document?.readyState,c=Boolean("hidden"===a?.document?.visibilityState),u=""+a?.location,d=/iPad|iPhone|iPod/.test(a.navigator?.userAgent),l=d&&"undefined"==typeof SharedWorker,f=(()=>{const e=a.navigator?.userAgent?.match(/Firefox[/\s](\d+\.\d+)/);return Array.isArray(e)&&e.length>=2?+e[1]:0})(),h=Date.now()-(0,n.t)()},7295:(e,t,r)=>{"use strict";r.d(t,{Xv:()=>a,gX:()=>i,iW:()=>o});var n=[];function i(e){if(!e||o(e))return!1;if(0===n.length)return!0;for(var t=0;t<n.length;t++){var r=n[t];if("*"===r.hostname)return!1;if(s(r.hostname,e.hostname)&&c(r.pathname,e.pathname))return!1}return!0}function o(e){return void 0===e.hostname}function a(e){if(n=[],e&&e.length)for(var t=0;t<e.length;t++){let r=e[t];if(!r)continue;0===r.indexOf("http://")?r=r.substring(7):0===r.indexOf("https://")&&(r=r.substring(8));const i=r.indexOf("/");let o,a;i>0?(o=r.substring(0,i),a=r.substring(i)):(o=r,a="");let[s]=o.split(":");n.push({hostname:s,pathname:a})}}function s(e,t){return!(e.length>t.length)&&t.indexOf(e)===t.length-e.length}function c(e,t){return 0===e.indexOf("/")&&(e=e.substring(1)),0===t.indexOf("/")&&(t=t.substring(1)),""===e||e===t}},1687:(e,t,r)=>{"use strict";r.d(t,{Ak:()=>c,Ze:()=>l,x3:()=>u});var n=r(7836),i=r(3606),o=r(860),a=r(2646);const s={};function c(e,t){const r={staged:!1,priority:o.P3[t]||0};d(e),s[e].get(t)||s[e].set(t,r)}function u(e,t){e&&s[e]&&(s[e].get(t)&&s[e].delete(t),h(e,t,!1),s[e].size&&f(e))}function d(e){if(!e)throw new Error("agentIdentifier required");s[e]||(s[e]=new Map)}function l(e="",t="feature",r=!1){if(d(e),!e||!s[e].get(t)||r)return h(e,t);s[e].get(t).staged=!0,f(e)}function f(e){const t=Array.from(s[e]);t.every((([e,t])=>t.staged))&&(t.sort(((e,t)=>e[1].priority-t[1].priority)),t.forEach((([t])=>{s[e].delete(t),h(e,t)})))}function h(e,t,r=!0){const o=e?n.ee.get(e):n.ee,s=i.i.handlers;if(!o.aborted&&o.backlog&&s){if(r){const e=o.backlog[t],r=s[t];if(r){for(let t=0;e&&t<e.length;++t)p(e[t],r);Object.entries(r).forEach((([e,t])=>{Object.values(t||{}).forEach((t=>{t[0]?.on&&t[0]?.context()instanceof a.y&&t[0].on(e,t[1])}))}))}}o.isolatedBacklog||delete s[t],o.backlog[t]=null,o.emit("drain-"+t,[])}}function p(e,t){var r=e[1];Object.values(t[r]||{}).forEach((t=>{var r=e[0];if(t[0]===r){var n=t[1],i=e[3],o=e[2];n.apply(i,o)}}))}},7836:(e,t,r)=>{"use strict";r.d(t,{P:()=>c,ee:()=>u});var n=r(384),i=r(8990),o=r(3371),a=r(2646),s=r(5607);const c="nr@context:".concat(s.W),u=function e(t,r){var n={},s={},d={},l=!1;try{l=16===r.length&&(0,o.f)(r).isolatedBacklog}catch(e){}var f={on:p,addEventListener:p,removeEventListener:function(e,t){var r=n[e];if(!r)return;for(var i=0;i<r.length;i++)r[i]===t&&r.splice(i,1)},emit:function(e,r,n,i,o){!1!==o&&(o=!0);if(u.aborted&&!i)return;t&&o&&t.emit(e,r,n);for(var a=h(n),c=g(e),d=c.length,l=0;l<d;l++)c[l].apply(a,r);var p=v()[s[e]];p&&p.push([f,e,r,a]);return a},get:m,listeners:g,context:h,buffer:function(e,t){const r=v();if(t=t||"feature",f.aborted)return;Object.entries(e||{}).forEach((([e,n])=>{s[n]=t,t in r||(r[t]=[])}))},abort:function(){f._aborted=!0,Object.keys(f.backlog).forEach((e=>{delete f.backlog[e]}))},isBuffering:function(e){return!!v()[s[e]]},debugId:r,backlog:l?{}:t&&"object"==typeof t.backlog?t.backlog:{},isolatedBacklog:l};return Object.defineProperty(f,"aborted",{get:()=>{let e=f._aborted||!1;return e||(t&&(e=t.aborted),e)}}),f;function h(e){return e&&e instanceof a.y?e:e?(0,i.I)(e,c,(()=>new a.y(c))):new a.y(c)}function p(e,t){n[e]=g(e).concat(t)}function g(e){return n[e]||[]}function m(t){return d[t]=d[t]||e(f,t)}function v(){return f.backlog}}(void 0,"globalEE"),d=(0,n.Zm)();d.ee||(d.ee=u)},2646:(e,t,r)=>{"use strict";r.d(t,{y:()=>n});class n{constructor(e){this.contextId=e}}},9908:(e,t,r)=>{"use strict";r.d(t,{d:()=>n,p:()=>i});var n=r(7836).ee.get("handle");function i(e,t,r,i,o){o?(o.buffer([e],i),o.emit(e,t,r)):(n.buffer([e],i),n.emit(e,t,r))}},3606:(e,t,r)=>{"use strict";r.d(t,{i:()=>o});var n=r(9908);o.on=a;var i=o.handlers={};function o(e,t,r,o){a(o||n.d,i,e,t,r)}function a(e,t,r,i,o){o||(o="feature"),e||(e=n.d);var a=t[o]=t[o]||{};(a[r]=a[r]||[]).push([e,i])}},3878:(e,t,r)=>{"use strict";function n(e,t){return{capture:e,passive:!1,signal:t}}function i(e,t,r=!1,i){window.addEventListener(e,t,n(r,i))}function o(e,t,r=!1,i){document.addEventListener(e,t,n(r,i))}r.d(t,{DD:()=>o,jT:()=>n,sp:()=>i})},5607:(e,t,r)=>{"use strict";r.d(t,{W:()=>n});const n=(0,r(9566).bz)()},9566:(e,t,r)=>{"use strict";r.d(t,{LA:()=>s,ZF:()=>c,bz:()=>a,el:()=>u});var n=r(6154);const i="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx";function o(e,t){return e?15&e[t]:16*Math.random()|0}function a(){const e=n.gm?.crypto||n.gm?.msCrypto;let t,r=0;return e&&e.getRandomValues&&(t=e.getRandomValues(new Uint8Array(30))),i.split("").map((e=>"x"===e?o(t,r++).toString(16):"y"===e?(3&o()|8).toString(16):e)).join("")}function s(e){const t=n.gm?.crypto||n.gm?.msCrypto;let r,i=0;t&&t.getRandomValues&&(r=t.getRandomValues(new Uint8Array(e)));const a=[];for(var s=0;s<e;s++)a.push(o(r,i++).toString(16));return a.join("")}function c(){return s(16)}function u(){return s(32)}},2614:(e,t,r)=>{"use strict";r.d(t,{BB:()=>a,H3:()=>n,g:()=>u,iL:()=>c,tS:()=>s,uh:()=>i,wk:()=>o});const n="NRBA",i="SESSION",o=144e5,a=18e5,s={STARTED:"session-started",PAUSE:"session-pause",RESET:"session-reset",RESUME:"session-resume",UPDATE:"session-update"},c={SAME_TAB:"same-tab",CROSS_TAB:"cross-tab"},u={OFF:0,FULL:1,ERROR:2}},1863:(e,t,r)=>{"use strict";function n(){return Math.floor(performance.now())}r.d(t,{t:()=>n})},7485:(e,t,r)=>{"use strict";r.d(t,{D:()=>i});var n=r(6154);function i(e){if(0===(e||"").indexOf("data:"))return{protocol:"data"};try{const t=new URL(e,location.href),r={port:t.port,hostname:t.hostname,pathname:t.pathname,search:t.search,protocol:t.protocol.slice(0,t.protocol.indexOf(":")),sameOrigin:t.protocol===n.gm?.location?.protocol&&t.host===n.gm?.location?.host};return r.port&&""!==r.port||("http:"===t.protocol&&(r.port="80"),"https:"===t.protocol&&(r.port="443")),r.pathname&&""!==r.pathname?r.pathname.startsWith("/")||(r.pathname="/".concat(r.pathname)):r.pathname="/",r}catch(e){return{}}}},944:(e,t,r)=>{"use strict";function n(e,t){"function"==typeof console.debug&&console.debug("New Relic Warning: https://github.com/newrelic/newrelic-browser-agent/blob/main/docs/warning-codes.md#".concat(e),t)}r.d(t,{R:()=>n})},5284:(e,t,r)=>{"use strict";r.d(t,{t:()=>c,B:()=>s});var n=r(7836),i=r(6154);const o="newrelic";const a=new Set,s={};function c(e,t){const r=n.ee.get(t);s[t]??={},e&&"object"==typeof e&&(a.has(t)||(r.emit("rumresp",[e]),s[t]=e,a.add(t),function(e={}){try{i.gm.dispatchEvent(new CustomEvent(o,{detail:e}))}catch(e){}}({loaded:!0})))}},8990:(e,t,r)=>{"use strict";r.d(t,{I:()=>i});var n=Object.prototype.hasOwnProperty;function i(e,t,r){if(n.call(e,t))return e[t];var i=r();if(Object.defineProperty&&Object.keys)try{return Object.defineProperty(e,t,{value:i,writable:!0,enumerable:!1}),i}catch(e){}return e[t]=i,i}},6389:(e,t,r)=>{"use strict";function n(e,t=500,r={}){const n=r?.leading||!1;let i;return(...r)=>{n&&void 0===i&&(e.apply(this,r),i=setTimeout((()=>{i=clearTimeout(i)}),t)),n||(clearTimeout(i),i=setTimeout((()=>{e.apply(this,r)}),t))}}function i(e){let t=!1;return(...r)=>{t||(t=!0,e.apply(this,r))}}r.d(t,{J:()=>i,s:()=>n})},3304:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});var n=r(7836);const i=()=>{const e=new WeakSet;return(t,r)=>{if("object"==typeof r&&null!==r){if(e.has(r))return;e.add(r)}return r}};function o(e){try{return JSON.stringify(e,i())??""}catch(e){try{n.ee.emit("internal-error",[e])}catch(e){}return""}}},5289:(e,t,r)=>{"use strict";r.d(t,{GG:()=>o,sB:()=>a});var n=r(3878);function i(){return"undefined"==typeof document||"complete"===document.readyState}function o(e,t){if(i())return e();(0,n.sp)("load",e,t)}function a(e){if(i())return e();(0,n.DD)("DOMContentLoaded",e)}},384:(e,t,r)=>{"use strict";r.d(t,{NT:()=>o,US:()=>d,Zm:()=>a,bQ:()=>c,dV:()=>s,nY:()=>u,pV:()=>l});var n=r(6154),i=r(1863);const o={beacon:"bam.nr-data.net",errorBeacon:"bam.nr-data.net"};function a(){return n.gm.NREUM||(n.gm.NREUM={}),void 0===n.gm.newrelic&&(n.gm.newrelic=n.gm.NREUM),n.gm.NREUM}function s(){let e=a();return e.o||(e.o={ST:n.gm.setTimeout,SI:n.gm.setImmediate,CT:n.gm.clearTimeout,XHR:n.gm.XMLHttpRequest,REQ:n.gm.Request,EV:n.gm.Event,PR:n.gm.Promise,MO:n.gm.MutationObserver,FETCH:n.gm.fetch,WS:n.gm.WebSocket}),e}function c(e,t){let r=a();r.initializedAgents??={},t.initializedAt={ms:(0,i.t)(),date:new Date},r.initializedAgents[e]=t}function u(e){let t=a();return t.initializedAgents?.[e]}function d(e,t){a()[e]=t}function l(){return function(){let e=a();const t=e.info||{};e.info={beacon:o.beacon,errorBeacon:o.errorBeacon,...t}}(),function(){let e=a();const t=e.init||{};e.init={...t}}(),s(),function(){let e=a();const t=e.loader_config||{};e.loader_config={...t}}(),a()}},2843:(e,t,r)=>{"use strict";r.d(t,{u:()=>i});var n=r(3878);function i(e,t=!1,r,i){(0,n.DD)("visibilitychange",(function(){if(t)return void("hidden"===document.visibilityState&&e());e(document.visibilityState)}),r,i)}},8139:(e,t,r)=>{"use strict";r.d(t,{u:()=>f});var n=r(7836),i=r(3434),o=r(8990),a=r(6154);const s={},c=a.gm.XMLHttpRequest,u="addEventListener",d="removeEventListener",l="nr@wrapped:".concat(n.P);function f(e){var t=function(e){return(e||n.ee).get("events")}(e);if(s[t.debugId]++)return t;s[t.debugId]=1;var r=(0,i.YM)(t,!0);function f(e){r.inPlace(e,[u,d],"-",p)}function p(e,t){return e[1]}return"getPrototypeOf"in Object&&(a.RI&&h(document,f),h(a.gm,f),h(c.prototype,f)),t.on(u+"-start",(function(e,t){var n=e[1];if(null!==n&&("function"==typeof n||"object"==typeof n)){var i=(0,o.I)(n,l,(function(){var e={object:function(){if("function"!=typeof n.handleEvent)return;return n.handleEvent.apply(n,arguments)},function:n}[typeof n];return e?r(e,"fn-",null,e.name||"anonymous"):n}));this.wrapped=e[1]=i}})),t.on(d+"-start",(function(e){e[1]=this.wrapped||e[1]})),t}function h(e,t,...r){let n=e;for(;"object"==typeof n&&!Object.prototype.hasOwnProperty.call(n,u);)n=Object.getPrototypeOf(n);n&&t(n,...r)}},3434:(e,t,r)=>{"use strict";r.d(t,{Jt:()=>o,YM:()=>c});var n=r(7836),i=r(5607);const o="nr@original:".concat(i.W);var a=Object.prototype.hasOwnProperty,s=!1;function c(e,t){return e||(e=n.ee),r.inPlace=function(e,t,n,i,o){n||(n="");const a="-"===n.charAt(0);for(let s=0;s<t.length;s++){const c=t[s],u=e[c];d(u)||(e[c]=r(u,a?c+n:n,i,c,o))}},r.flag=o,r;function r(t,r,n,s,c){return d(t)?t:(r||(r=""),nrWrapper[o]=t,function(e,t,r){if(Object.defineProperty&&Object.keys)try{return Object.keys(e).forEach((function(r){Object.defineProperty(t,r,{get:function(){return e[r]},set:function(t){return e[r]=t,t}})})),t}catch(e){u([e],r)}for(var n in e)a.call(e,n)&&(t[n]=e[n])}(t,nrWrapper,e),nrWrapper);function nrWrapper(){var o,a,d,l;try{a=this,o=[...arguments],d="function"==typeof n?n(o,a):n||{}}catch(t){u([t,"",[o,a,s],d],e)}i(r+"start",[o,a,s],d,c);try{return l=t.apply(a,o)}catch(e){throw i(r+"err",[o,a,e],d,c),e}finally{i(r+"end",[o,a,l],d,c)}}}function i(r,n,i,o){if(!s||t){var a=s;s=!0;try{e.emit(r,n,i,t,o)}catch(t){u([t,r,n,i],e)}s=a}}}function u(e,t){t||(t=n.ee);try{t.emit("internal-error",e)}catch(e){}}function d(e){return!(e&&"function"==typeof e&&e.apply&&!e[o])}},9300:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.ajax},3333:(e,t,r)=>{"use strict";r.d(t,{TZ:()=>n,Zp:()=>i,mq:()=>s,nf:()=>a,qN:()=>o});const n=r(860).K7.genericEvents,i=["auxclick","click","copy","keydown","paste","scrollend"],o=["focus","blur"],a=4,s=1e3},6774:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.jserrors},993:(e,t,r)=>{"use strict";r.d(t,{ET:()=>o,TZ:()=>a,p_:()=>i});var n=r(860);const i={ERROR:"ERROR",WARN:"WARN",INFO:"INFO",DEBUG:"DEBUG",TRACE:"TRACE"},o="log",a=n.K7.logging},3785:(e,t,r)=>{"use strict";r.d(t,{R:()=>c,b:()=>u});var n=r(9908),i=r(1863),o=r(860),a=r(3969),s=r(993);function c(e,t,r={},c=s.p_.INFO){(0,n.p)(a.xV,["API/logging/".concat(c.toLowerCase(),"/called")],void 0,o.K7.metrics,e),(0,n.p)(s.ET,[(0,i.t)(),t,r,c],void 0,o.K7.logging,e)}function u(e){return"string"==typeof e&&Object.values(s.p_).some((t=>t===e.toUpperCase().trim()))}},3969:(e,t,r)=>{"use strict";r.d(t,{TZ:()=>n,XG:()=>s,rs:()=>i,xV:()=>a,z_:()=>o});const n=r(860).K7.metrics,i="sm",o="cm",a="storeSupportabilityMetrics",s="storeEventMetrics"},6630:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.pageViewEvent},782:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.pageViewTiming},6344:(e,t,r)=>{"use strict";r.d(t,{BB:()=>d,G4:()=>o,Qb:()=>l,TZ:()=>i,Ug:()=>a,_s:()=>s,bc:()=>u,yP:()=>c});var n=r(2614);const i=r(860).K7.sessionReplay,o={RECORD:"recordReplay",PAUSE:"pauseReplay",REPLAY_RUNNING:"replayRunning",ERROR_DURING_REPLAY:"errorDuringReplay"},a=.12,s={DomContentLoaded:0,Load:1,FullSnapshot:2,IncrementalSnapshot:3,Meta:4,Custom:5},c={[n.g.ERROR]:15e3,[n.g.FULL]:3e5,[n.g.OFF]:0},u={RESET:{message:"Session was reset",sm:"Reset"},IMPORT:{message:"Recorder failed to import",sm:"Import"},TOO_MANY:{message:"429: Too Many Requests",sm:"Too-Many"},TOO_BIG:{message:"Payload was too large",sm:"Too-Big"},CROSS_TAB:{message:"Session Entity was set to OFF on another tab",sm:"Cross-Tab"},ENTITLEMENTS:{message:"Session Replay is not allowed and will not be started",sm:"Entitlement"}},d=5e3,l={API:"api"}},5270:(e,t,r)=>{"use strict";r.d(t,{Aw:()=>c,CT:()=>u,SR:()=>s});var n=r(384),i=r(9417),o=r(7767),a=r(6154);function s(e){return!!(0,n.dV)().o.MO&&(0,o.V)(e)&&!0===(0,i.gD)(e,"session_trace.enabled")}function c(e){return!0===(0,i.gD)(e,"session_replay.preload")&&s(e)}function u(e,t){const r=t.correctAbsoluteTimestamp(e);return{originalTimestamp:e,correctedTimestamp:r,timestampDiff:e-r,originTime:a.WN,correctedOriginTime:t.correctedOriginTime,originTimeDiff:Math.floor(a.WN-t.correctedOriginTime)}}},3738:(e,t,r)=>{"use strict";r.d(t,{He:()=>i,Kp:()=>s,Lc:()=>u,Rz:()=>d,TZ:()=>n,bD:()=>o,d3:()=>a,jx:()=>l,uP:()=>c});const n=r(860).K7.sessionTrace,i="bstResource",o="resource",a="-start",s="-end",c="fn"+a,u="fn"+s,d="pushState",l=1e3},3962:(e,t,r)=>{"use strict";r.d(t,{AM:()=>o,O2:()=>s,Qu:()=>c,TZ:()=>a,ih:()=>u,tC:()=>i});var n=r(860);const i=["click","keydown","submit"],o="api",a=n.K7.softNav,s={INITIAL_PAGE_LOAD:"",ROUTE_CHANGE:1,UNSPECIFIED:2},c={INTERACTION:1,AJAX:2,CUSTOM_END:3,CUSTOM_TRACER:4},u={IP:"in progress",FIN:"finished",CAN:"cancelled"}},7378:(e,t,r)=>{"use strict";r.d(t,{$p:()=>x,BR:()=>b,Kp:()=>R,L3:()=>y,Lc:()=>c,NC:()=>o,SG:()=>d,TZ:()=>i,U6:()=>p,UT:()=>m,d3:()=>w,dT:()=>f,e5:()=>A,gx:()=>v,l9:()=>l,oW:()=>h,op:()=>g,rw:()=>u,tH:()=>E,uP:()=>s,wW:()=>T,xq:()=>a});var n=r(384);const i=r(860).K7.spa,o=["click","submit","keypress","keydown","keyup","change"],a=999,s="fn-start",c="fn-end",u="cb-start",d="api-ixn-",l="remaining",f="interaction",h="spaNode",p="jsonpNode",g="fetch-start",m="fetch-done",v="fetch-body-",b="jsonp-end",y=(0,n.dV)().o.ST,w="-start",R="-end",x="-body",T="cb"+R,A="jsTime",E="fetch"},4234:(e,t,r)=>{"use strict";r.d(t,{W:()=>o});var n=r(7836),i=r(1687);class o{constructor(e,t){this.agentIdentifier=e,this.ee=n.ee.get(e),this.featureName=t,this.blocked=!1}deregisterDrain(){(0,i.x3)(this.agentIdentifier,this.featureName)}}},7767:(e,t,r)=>{"use strict";r.d(t,{V:()=>o});var n=r(9417),i=r(6154);const o=e=>i.RI&&!0===(0,n.gD)(e,"privacy.cookies_enabled")},425:(e,t,r)=>{"use strict";r.d(t,{j:()=>j});var n=r(860),i=r(2555),o=r(3371),a=r(9908),s=r(7836),c=r(1687),u=r(5289),d=r(6154),l=r(944),f=r(3969),h=r(384),p=r(6344);const g=["setErrorHandler","finished","addToTrace","addRelease","addPageAction","setCurrentRouteName","setPageViewName","setCustomAttribute","interaction","noticeError","setUserId","setApplicationVersion","start",p.G4.RECORD,p.G4.PAUSE,"log","wrapLogger"],m=["setErrorHandler","finished","addToTrace","addRelease"];var v=r(1863),b=r(2614),y=r(993),w=r(3785),R=r(2646),x=r(3434);function T(e,t,r,n){if("object"!=typeof t||!t||"string"!=typeof r||!r||"function"!=typeof t[r])return(0,l.R)(29);const i=function(e){return(e||s.ee).get("logger")}(e),o=(0,x.YM)(i),a=new R.y(s.P);return a.level=n.level,a.customAttributes=n.customAttributes,o.inPlace(t,[r],"wrap-logger-",a),i}function A(){const e=(0,h.pV)();g.forEach((t=>{e[t]=(...r)=>function(t,...r){let n=[];return Object.values(e.initializedAgents).forEach((e=>{e&&e.api?e.exposed&&e.api[t]&&n.push(e.api[t](...r)):(0,l.R)(38,t)})),n.length>1?n:n[0]}(t,...r)}))}const E={};var S=r(9417),N=r(5603),O=r(5284);const _=e=>{const t=e.startsWith("http");e+="/",r.p=t?e:"https://"+e};let I=!1;function j(e,t={},g,R){let{init:x,info:j,loader_config:P,runtime:C={},exposed:k=!0}=t;C.loaderType=g;const L=(0,h.pV)();j||(x=L.init,j=L.info,P=L.loader_config),(0,S.xN)(e.agentIdentifier,x||{}),(0,N.a)(e.agentIdentifier,P||{}),j.jsAttributes??={},d.bv&&(j.jsAttributes.isWorker=!0),(0,i.x1)(e.agentIdentifier,j);const H=(0,S.D0)(e.agentIdentifier),D=[j.beacon,j.errorBeacon];I||(H.proxy.assets&&(_(H.proxy.assets),D.push(H.proxy.assets)),H.proxy.beacon&&D.push(H.proxy.beacon),A(),(0,h.US)("activatedFeatures",O.B),e.runSoftNavOverSpa&&=!0===H.soft_navigations.enabled&&H.feature_flags.includes("soft_nav")),C.denyList=[...H.ajax.deny_list||[],...H.ajax.block_internal?D:[]],C.ptid=e.agentIdentifier,(0,o.V)(e.agentIdentifier,C),e.ee=s.ee.get(e.agentIdentifier),void 0===e.api&&(e.api=function(e,t,h=!1){t||(0,c.Ak)(e,"api");const g={};var R=s.ee.get(e),x=R.get("tracer");E[e]=b.g.OFF,R.on(p.G4.REPLAY_RUNNING,(t=>{E[e]=t}));var A="api-",S=A+"ixn-";function N(t,r,n,o){const a=(0,i.Vp)(e);return null===r?delete a.jsAttributes[t]:(0,i.x1)(e,{...a,jsAttributes:{...a.jsAttributes,[t]:r}}),I(A,n,!0,o||null===r?"session":void 0)(t,r)}function O(){}g.log=function(e,{customAttributes:t={},level:r=y.p_.INFO}={}){(0,a.p)(f.xV,["API/log/called"],void 0,n.K7.metrics,R),(0,w.R)(R,e,t,r)},g.wrapLogger=(e,t,{customAttributes:r={},level:i=y.p_.INFO}={})=>{(0,a.p)(f.xV,["API/wrapLogger/called"],void 0,n.K7.metrics,R),T(R,e,t,{customAttributes:r,level:i})},m.forEach((e=>{g[e]=I(A,e,!0,"api")})),g.addPageAction=I(A,"addPageAction",!0,n.K7.genericEvents),g.setPageViewName=function(t,r){if("string"==typeof t)return"/"!==t.charAt(0)&&(t="/"+t),(0,o.f)(e).customTransaction=(r||"http://custom.transaction")+t,I(A,"setPageViewName",!0)()},g.setCustomAttribute=function(e,t,r=!1){if("string"==typeof e){if(["string","number","boolean"].includes(typeof t)||null===t)return N(e,t,"setCustomAttribute",r);(0,l.R)(40,typeof t)}else(0,l.R)(39,typeof e)},g.setUserId=function(e){if("string"==typeof e||null===e)return N("enduser.id",e,"setUserId",!0);(0,l.R)(41,typeof e)},g.setApplicationVersion=function(e){if("string"==typeof e||null===e)return N("application.version",e,"setApplicationVersion",!1);(0,l.R)(42,typeof e)},g.start=()=>{try{(0,a.p)(f.xV,["API/start/called"],void 0,n.K7.metrics,R),R.emit("manual-start-all")}catch(e){(0,l.R)(23,e)}},g[p.G4.RECORD]=function(){(0,a.p)(f.xV,["API/recordReplay/called"],void 0,n.K7.metrics,R),(0,a.p)(p.G4.RECORD,[],void 0,n.K7.sessionReplay,R)},g[p.G4.PAUSE]=function(){(0,a.p)(f.xV,["API/pauseReplay/called"],void 0,n.K7.metrics,R),(0,a.p)(p.G4.PAUSE,[],void 0,n.K7.sessionReplay,R)},g.interaction=function(e){return(new O).get("object"==typeof e?e:{})};const _=O.prototype={createTracer:function(e,t){var r={},i=this,o="function"==typeof t;return(0,a.p)(f.xV,["API/createTracer/called"],void 0,n.K7.metrics,R),h||(0,a.p)(S+"tracer",[(0,v.t)(),e,r],i,n.K7.spa,R),function(){if(x.emit((o?"":"no-")+"fn-start",[(0,v.t)(),i,o],r),o)try{return t.apply(this,arguments)}catch(e){const t="string"==typeof e?new Error(e):e;throw x.emit("fn-err",[arguments,this,t],r),t}finally{x.emit("fn-end",[(0,v.t)()],r)}}}};function I(e,t,r,i){return function(){return(0,a.p)(f.xV,["API/"+t+"/called"],void 0,n.K7.metrics,R),i&&(0,a.p)(e+t,[(0,v.t)(),...arguments],r?null:this,i,R),r?void 0:this}}function j(){r.e(478).then(r.bind(r,8778)).then((({setAPI:t})=>{t(e),(0,c.Ze)(e,"api")})).catch((e=>{(0,l.R)(27,e),R.abort()}))}return["actionText","setName","setAttribute","save","ignore","onEnd","getContext","end","get"].forEach((e=>{_[e]=I(S,e,void 0,h?n.K7.softNav:n.K7.spa)})),g.setCurrentRouteName=h?I(S,"routeName",void 0,n.K7.softNav):I(A,"routeName",!0,n.K7.spa),g.noticeError=function(t,r){"string"==typeof t&&(t=new Error(t)),(0,a.p)(f.xV,["API/noticeError/called"],void 0,n.K7.metrics,R),(0,a.p)("err",[t,(0,v.t)(),!1,r,!!E[e]],void 0,n.K7.jserrors,R)},d.RI?(0,u.GG)((()=>j()),!0):j(),g}(e.agentIdentifier,R,e.runSoftNavOverSpa)),void 0===e.exposed&&(e.exposed=k),I=!0}},8374:(e,t,r)=>{r.nc=(()=>{try{return document?.currentScript?.nonce}catch(e){}return""})()},860:(e,t,r)=>{"use strict";r.d(t,{$J:()=>o,K7:()=>n,P3:()=>i});const n={ajax:"ajax",genericEvents:"generic_events",jserrors:"jserrors",logging:"logging",metrics:"metrics",pageAction:"page_action",pageViewEvent:"page_view_event",pageViewTiming:"page_view_timing",sessionReplay:"session_replay",sessionTrace:"session_trace",softNav:"soft_navigations",spa:"spa"},i={[n.pageViewEvent]:1,[n.pageViewTiming]:2,[n.metrics]:3,[n.jserrors]:4,[n.spa]:5,[n.ajax]:6,[n.sessionTrace]:7,[n.softNav]:8,[n.sessionReplay]:9,[n.logging]:10,[n.genericEvents]:11},o={[n.pageViewTiming]:"events",[n.ajax]:"events",[n.spa]:"events",[n.softNav]:"events",[n.metrics]:"jserrors",[n.jserrors]:"jserrors",[n.sessionTrace]:"browser/blobs",[n.sessionReplay]:"browser/blobs",[n.logging]:"browser/logs",[n.genericEvents]:"ins"}}},n={};function i(e){var t=n[e];if(void 0!==t)return t.exports;var o=n[e]={exports:{}};return r[e](o,o.exports,i),o.exports}i.m=r,i.d=(e,t)=>{for(var r in t)i.o(t,r)&&!i.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},i.f={},i.e=e=>Promise.all(Object.keys(i.f).reduce(((t,r)=>(i.f[r](e,t),t)),[])),i.u=e=>({212:"nr-spa-compressor",249:"nr-spa-recorder",478:"nr-spa"}[e]+"-1.274.0.min.js"),i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),e={},t="NRBA-1.274.0.PROD:",i.l=(r,n,o,a)=>{if(e[r])e[r].push(n);else{var s,c;if(void 0!==o)for(var u=document.getElementsByTagName("script"),d=0;d<u.length;d++){var l=u[d];if(l.getAttribute("src")==r||l.getAttribute("data-webpack")==t+o){s=l;break}}if(!s){c=!0;var f={478:"sha512-1vUqEfJPB8Pihje9mv5CfYgkitO1FWcS+UQb84DbXqP8oYctRv4/lzl/MzNLPlRhcY1WVDBGL20I8vm6s2VV7g==",249:"sha512-Y/BeZAh6VSTmUtUNmS5XdyKxL92s30Fyyj8xVW76HSPxcKItL4+x2+kGMZc8pMJnUpZDz1L4eftZQAJh3D8NnA==",212:"sha512-Gn2tQ3qog5Yhrx/gRutkSTYPp+7nkKFt4/mIXg99LxcNpMDAYJZDBYmAACdoHNM86+iq1F3cBcQotFNzjIX8bw=="};(s=document.createElement("script")).charset="utf-8",s.timeout=120,i.nc&&s.setAttribute("nonce",i.nc),s.setAttribute("data-webpack",t+o),s.src=r,0!==s.src.indexOf(window.location.origin+"/")&&(s.crossOrigin="anonymous"),f[a]&&(s.integrity=f[a])}e[r]=[n];var h=(t,n)=>{s.onerror=s.onload=null,clearTimeout(p);var i=e[r];if(delete e[r],s.parentNode&&s.parentNode.removeChild(s),i&&i.forEach((e=>e(n))),t)return t(n)},p=setTimeout(h.bind(null,void 0,{type:"timeout",target:s}),12e4);s.onerror=h.bind(null,s.onerror),s.onload=h.bind(null,s.onload),c&&document.head.appendChild(s)}},i.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.p="https://js-agent.newrelic.com/",(()=>{var e={38:0,788:0};i.f.j=(t,r)=>{var n=i.o(e,t)?e[t]:void 0;if(0!==n)if(n)r.push(n[2]);else{var o=new Promise(((r,i)=>n=e[t]=[r,i]));r.push(n[2]=o);var a=i.p+i.u(t),s=new Error;i.l(a,(r=>{if(i.o(e,t)&&(0!==(n=e[t])&&(e[t]=void 0),n)){var o=r&&("load"===r.type?"missing":r.type),a=r&&r.target&&r.target.src;s.message="Loading chunk "+t+" failed.\n("+o+": "+a+")",s.name="ChunkLoadError",s.type=o,s.request=a,n[1](s)}}),"chunk-"+t,t)}};var t=(t,r)=>{var n,o,[a,s,c]=r,u=0;if(a.some((t=>0!==e[t]))){for(n in s)i.o(s,n)&&(i.m[n]=s[n]);if(c)c(i)}for(t&&t(r);u<a.length;u++)o=a[u],i.o(e,o)&&e[o]&&e[o][0](),e[o]=0},r=self["webpackChunk:NRBA-1.274.0.PROD"]=self["webpackChunk:NRBA-1.274.0.PROD"]||[];r.forEach(t.bind(null,0)),r.push=t.bind(null,r.push.bind(r))})(),(()=>{"use strict";i(8374);var e=i(944),t=i(6344),r=i(9566);class n{agentIdentifier;constructor(e=(0,r.LA)(16)){this.agentIdentifier=e}#e(t,...r){if("function"==typeof this.api?.[t])return this.api[t](...r);(0,e.R)(35,t)}addPageAction(e,t){return this.#e("addPageAction",e,t)}setPageViewName(e,t){return this.#e("setPageViewName",e,t)}setCustomAttribute(e,t,r){return this.#e("setCustomAttribute",e,t,r)}noticeError(e,t){return this.#e("noticeError",e,t)}setUserId(e){return this.#e("setUserId",e)}setApplicationVersion(e){return this.#e("setApplicationVersion",e)}setErrorHandler(e){return this.#e("setErrorHandler",e)}addRelease(e,t){return this.#e("addRelease",e,t)}log(e,t){return this.#e("log",e,t)}}class o extends n{#e(t,...r){if("function"==typeof this.api?.[t])return this.api[t](...r);(0,e.R)(35,t)}start(){return this.#e("start")}finished(e){return this.#e("finished",e)}recordReplay(){return this.#e(t.G4.RECORD)}pauseReplay(){return this.#e(t.G4.PAUSE)}addToTrace(e){return this.#e("addToTrace",e)}setCurrentRouteName(e){return this.#e("setCurrentRouteName",e)}interaction(){return this.#e("interaction")}wrapLogger(e,t,r){return this.#e("wrapLogger",e,t,r)}}var a=i(860),s=i(9417);const c=Object.values(a.K7);function u(e){const t={};return c.forEach((r=>{t[r]=function(e,t){return!0===(0,s.gD)(t,"".concat(e,".enabled"))}(r,e)})),t}var d=i(425);var l=i(1687),f=i(4234),h=i(5289),p=i(6154),g=i(5270),m=i(7767),v=i(6389);class b extends f.W{constructor(e,t,r=!0){super(e.agentIdentifier,t),this.auto=r,this.abortHandler=void 0,this.featAggregate=void 0,this.onAggregateImported=void 0,!1===e.init[this.featureName].autoStart&&(this.auto=!1),this.auto?(0,l.Ak)(e.agentIdentifier,t):this.ee.on("manual-start-all",(0,v.J)((()=>{(0,l.Ak)(e.agentIdentifier,this.featureName),this.auto=!0,this.importAggregator(e)})))}importAggregator(t,r={}){if(this.featAggregate||!this.auto)return;let n;this.onAggregateImported=new Promise((e=>{n=e}));const o=async()=>{let o;try{if((0,m.V)(this.agentIdentifier)){const{setupAgentSession:e}=await i.e(478).then(i.bind(i,6526));o=e(t)}}catch(t){(0,e.R)(20,t),this.ee.emit("internal-error",[t]),this.featureName===a.K7.sessionReplay&&this.abortHandler?.()}try{if(t.sharedAggregator)await t.sharedAggregator;else{t.sharedAggregator=i.e(478).then(i.bind(i,9337));const{EventAggregator:e}=await t.sharedAggregator;t.sharedAggregator=new e}if(!this.#t(this.featureName,o))return(0,l.Ze)(this.agentIdentifier,this.featureName),void n(!1);const{lazyFeatureLoader:e}=await i.e(478).then(i.bind(i,6103)),{Aggregate:a}=await e(this.featureName,"aggregate");this.featAggregate=new a(t,r),n(!0)}catch(t){(0,e.R)(34,t),this.abortHandler?.(),(0,l.Ze)(this.agentIdentifier,this.featureName,!0),n(!1),this.ee&&this.ee.abort()}};p.RI?(0,h.GG)((()=>o()),!0):o()}#t(e,t){switch(e){case a.K7.sessionReplay:return(0,g.SR)(this.agentIdentifier)&&!!t;case a.K7.sessionTrace:return!!t;default:return!0}}}var y=i(6630);class w extends b{static featureName=y.T;constructor(e,t=!0){super(e,y.T,t),this.importAggregator(e)}}var R=i(384);var x=i(9908),T=i(2843),A=i(3878),E=i(782),S=i(1863);class N extends b{static featureName=E.T;constructor(e,t=!0){super(e,E.T,t),p.RI&&((0,T.u)((()=>(0,x.p)("docHidden",[(0,S.t)()],void 0,E.T,this.ee)),!0),(0,A.sp)("pagehide",(()=>(0,x.p)("winPagehide",[(0,S.t)()],void 0,E.T,this.ee))),this.importAggregator(e))}}var O=i(3969);class _ extends b{static featureName=O.TZ;constructor(e,t=!0){super(e,O.TZ,t),this.importAggregator(e)}}var I=i(6774),j=i(3304);class P{constructor(e,t,r,n,i){this.name="UncaughtError",this.message="string"==typeof e?e:(0,j.A)(e),this.sourceURL=t,this.line=r,this.column=n,this.__newrelic=i}}function C(e){return H(e)?e:new P(void 0!==e?.message?e.message:e,e?.filename||e?.sourceURL,e?.lineno||e?.line,e?.colno||e?.col,e?.__newrelic)}function k(e){const t="Unhandled Promise Rejection";if(!e?.reason)return;if(H(e.reason))try{return e.reason.message=t+": "+e.reason.message,C(e.reason)}catch(t){return C(e.reason)}const r=C(e.reason);return r.message=t+": "+r?.message,r}function L(e){if(e.error instanceof SyntaxError&&!/:\d+$/.test(e.error.stack?.trim())){const t=new P(e.message,e.filename,e.lineno,e.colno,e.error.__newrelic);return t.name=SyntaxError.name,t}return H(e.error)?e.error:C(e)}function H(e){return e instanceof Error&&!!e.stack}class D extends b{static featureName=I.T;#r=!1;constructor(e,r=!0){super(e,I.T,r);try{this.removeOnAbort=new AbortController}catch(e){}this.ee.on("internal-error",(e=>{this.abortHandler&&(0,x.p)("ierr",[C(e),(0,S.t)(),!0,{},this.#r],void 0,this.featureName,this.ee)})),this.ee.on(t.G4.REPLAY_RUNNING,(e=>{this.#r=e})),p.gm.addEventListener("unhandledrejection",(e=>{this.abortHandler&&(0,x.p)("err",[k(e),(0,S.t)(),!1,{unhandledPromiseRejection:1},this.#r],void 0,this.featureName,this.ee)}),(0,A.jT)(!1,this.removeOnAbort?.signal)),p.gm.addEventListener("error",(e=>{this.abortHandler&&(0,x.p)("err",[L(e),(0,S.t)(),!1,{},this.#r],void 0,this.featureName,this.ee)}),(0,A.jT)(!1,this.removeOnAbort?.signal)),this.abortHandler=this.#n,this.importAggregator(e)}#n(){this.removeOnAbort?.abort(),this.abortHandler=void 0}}var M=i(8990);let K=1;const U="nr@id";function V(e){const t=typeof e;return!e||"object"!==t&&"function"!==t?-1:e===p.gm?0:(0,M.I)(e,U,(function(){return K++}))}function G(e){if("string"==typeof e&&e.length)return e.length;if("object"==typeof e){if("undefined"!=typeof ArrayBuffer&&e instanceof ArrayBuffer&&e.byteLength)return e.byteLength;if("undefined"!=typeof Blob&&e instanceof Blob&&e.size)return e.size;if(!("undefined"!=typeof FormData&&e instanceof FormData))try{return(0,j.A)(e).length}catch(e){return}}}var F=i(8139),B=i(7836),W=i(3434);const z={},q=["open","send"];function Z(t){var r=t||B.ee;const n=function(e){return(e||B.ee).get("xhr")}(r);if(z[n.debugId]++)return n;z[n.debugId]=1,(0,F.u)(r);var i=(0,W.YM)(n),o=p.gm.XMLHttpRequest,a=p.gm.MutationObserver,s=p.gm.Promise,c=p.gm.setInterval,u="readystatechange",d=["onload","onerror","onabort","onloadstart","onloadend","onprogress","ontimeout"],l=[],f=p.gm.XMLHttpRequest=function(t){const r=new o(t),a=n.context(r);try{n.emit("new-xhr",[r],a),r.addEventListener(u,(s=a,function(){var e=this;e.readyState>3&&!s.resolved&&(s.resolved=!0,n.emit("xhr-resolved",[],e)),i.inPlace(e,d,"fn-",y)}),(0,A.jT)(!1))}catch(t){(0,e.R)(15,t);try{n.emit("internal-error",[t])}catch(e){}}var s;return r};function h(e,t){i.inPlace(t,["onreadystatechange"],"fn-",y)}if(function(e,t){for(var r in e)t[r]=e[r]}(o,f),f.prototype=o.prototype,i.inPlace(f.prototype,q,"-xhr-",y),n.on("send-xhr-start",(function(e,t){h(e,t),function(e){l.push(e),a&&(g?g.then(b):c?c(b):(m=-m,v.data=m))}(t)})),n.on("open-xhr-start",h),a){var g=s&&s.resolve();if(!c&&!s){var m=1,v=document.createTextNode(m);new a(b).observe(v,{characterData:!0})}}else r.on("fn-end",(function(e){e[0]&&e[0].type===u||b()}));function b(){for(var e=0;e<l.length;e++)h(0,l[e]);l.length&&(l=[])}function y(e,t){return t}return n}var Y="fetch-",X=Y+"body-",J=["arrayBuffer","blob","json","text","formData"],Q=p.gm.Request,ee=p.gm.Response,te="prototype";const re={};function ne(e){const t=function(e){return(e||B.ee).get("fetch")}(e);if(!(Q&&ee&&p.gm.fetch))return t;if(re[t.debugId]++)return t;function r(e,r,n){var i=e[r];"function"==typeof i&&(e[r]=function(){var e,r=[...arguments],o={};t.emit(n+"before-start",[r],o),o[B.P]&&o[B.P].dt&&(e=o[B.P].dt);var a=i.apply(this,r);return t.emit(n+"start",[r,e],a),a.then((function(e){return t.emit(n+"end",[null,e],a),e}),(function(e){throw t.emit(n+"end",[e],a),e}))})}return re[t.debugId]=1,J.forEach((e=>{r(Q[te],e,X),r(ee[te],e,X)})),r(p.gm,"fetch",Y),t.on(Y+"end",(function(e,r){var n=this;if(r){var i=r.headers.get("content-length");null!==i&&(n.rxSize=i),t.emit(Y+"done",[null,r],n)}else t.emit(Y+"done",[e],n)})),t}var ie=i(7485),oe=i(5603);class ae{constructor(e){this.agentIdentifier=e}generateTracePayload(e){if(!this.shouldGenerateTrace(e))return null;var t=(0,oe.o)(this.agentIdentifier);if(!t)return null;var n=(t.accountID||"").toString()||null,i=(t.agentID||"").toString()||null,o=(t.trustKey||"").toString()||null;if(!n||!i)return null;var a=(0,r.ZF)(),s=(0,r.el)(),c=Date.now(),u={spanId:a,traceId:s,timestamp:c};return(e.sameOrigin||this.isAllowedOrigin(e)&&this.useTraceContextHeadersForCors())&&(u.traceContextParentHeader=this.generateTraceContextParentHeader(a,s),u.traceContextStateHeader=this.generateTraceContextStateHeader(a,c,n,i,o)),(e.sameOrigin&&!this.excludeNewrelicHeader()||!e.sameOrigin&&this.isAllowedOrigin(e)&&this.useNewrelicHeaderForCors())&&(u.newrelicHeader=this.generateTraceHeader(a,s,c,n,i,o)),u}generateTraceContextParentHeader(e,t){return"00-"+t+"-"+e+"-01"}generateTraceContextStateHeader(e,t,r,n,i){return i+"@nr=0-1-"+r+"-"+n+"-"+e+"----"+t}generateTraceHeader(e,t,r,n,i,o){if(!("function"==typeof p.gm?.btoa))return null;var a={v:[0,1],d:{ty:"Browser",ac:n,ap:i,id:e,tr:t,ti:r}};return o&&n!==o&&(a.d.tk=o),btoa((0,j.A)(a))}shouldGenerateTrace(e){return this.isDtEnabled()&&this.isAllowedOrigin(e)}isAllowedOrigin(e){var t=!1,r={};if((0,s.gD)(this.agentIdentifier,"distributed_tracing")&&(r=(0,s.D0)(this.agentIdentifier).distributed_tracing),e.sameOrigin)t=!0;else if(r.allowed_origins instanceof Array)for(var n=0;n<r.allowed_origins.length;n++){var i=(0,ie.D)(r.allowed_origins[n]);if(e.hostname===i.hostname&&e.protocol===i.protocol&&e.port===i.port){t=!0;break}}return t}isDtEnabled(){var e=(0,s.gD)(this.agentIdentifier,"distributed_tracing");return!!e&&!!e.enabled}excludeNewrelicHeader(){var e=(0,s.gD)(this.agentIdentifier,"distributed_tracing");return!!e&&!!e.exclude_newrelic_header}useNewrelicHeaderForCors(){var e=(0,s.gD)(this.agentIdentifier,"distributed_tracing");return!!e&&!1!==e.cors_use_newrelic_header}useTraceContextHeadersForCors(){var e=(0,s.gD)(this.agentIdentifier,"distributed_tracing");return!!e&&!!e.cors_use_tracecontext_headers}}var se=i(9300),ce=i(7295),ue=["load","error","abort","timeout"],de=ue.length,le=(0,R.dV)().o.REQ,fe=(0,R.dV)().o.XHR;class he extends b{static featureName=se.T;constructor(e,t=!0){super(e,se.T,t),this.dt=new ae(e.agentIdentifier),this.handler=(e,t,r,n)=>(0,x.p)(e,t,r,n,this.ee);try{const e={xmlhttprequest:"xhr",fetch:"fetch",beacon:"beacon"};p.gm?.performance?.getEntriesByType("resource").forEach((t=>{if(t.initiatorType in e&&0!==t.responseStatus){const r={status:t.responseStatus},n={rxSize:t.transferSize,duration:Math.floor(t.duration),cbTime:0};pe(r,t.name),this.handler("xhr",[r,n,t.startTime,t.responseEnd,e[t.initiatorType]],void 0,a.K7.ajax)}}))}catch(e){}ne(this.ee),Z(this.ee),function(e,t,r,n){function i(e){var t=this;t.totalCbs=0,t.called=0,t.cbTime=0,t.end=R,t.ended=!1,t.xhrGuids={},t.lastSize=null,t.loadCaptureCalled=!1,t.params=this.params||{},t.metrics=this.metrics||{},e.addEventListener("load",(function(r){T(t,e)}),(0,A.jT)(!1)),p.lR||e.addEventListener("progress",(function(e){t.lastSize=e.loaded}),(0,A.jT)(!1))}function o(e){this.params={method:e[0]},pe(this,e[1]),this.metrics={}}function s(t,r){e.loader_config.xpid&&this.sameOrigin&&r.setRequestHeader("X-NewRelic-ID",e.loader_config.xpid);var i=n.generateTracePayload(this.parsedOrigin);if(i){var o=!1;i.newrelicHeader&&(r.setRequestHeader("newrelic",i.newrelicHeader),o=!0),i.traceContextParentHeader&&(r.setRequestHeader("traceparent",i.traceContextParentHeader),i.traceContextStateHeader&&r.setRequestHeader("tracestate",i.traceContextStateHeader),o=!0),o&&(this.dt=i)}}function c(e,r){var n=this.metrics,i=e[0],o=this;if(n&&i){var a=G(i);a&&(n.txSize=a)}this.startTime=(0,S.t)(),this.body=i,this.listener=function(e){try{"abort"!==e.type||o.loadCaptureCalled||(o.params.aborted=!0),("load"!==e.type||o.called===o.totalCbs&&(o.onloadCalled||"function"!=typeof r.onload)&&"function"==typeof o.end)&&o.end(r)}catch(e){try{t.emit("internal-error",[e])}catch(e){}}};for(var s=0;s<de;s++)r.addEventListener(ue[s],this.listener,(0,A.jT)(!1))}function u(e,t,r){this.cbTime+=e,t?this.onloadCalled=!0:this.called+=1,this.called!==this.totalCbs||!this.onloadCalled&&"function"==typeof r.onload||"function"!=typeof this.end||this.end(r)}function d(e,t){var r=""+V(e)+!!t;this.xhrGuids&&!this.xhrGuids[r]&&(this.xhrGuids[r]=!0,this.totalCbs+=1)}function l(e,t){var r=""+V(e)+!!t;this.xhrGuids&&this.xhrGuids[r]&&(delete this.xhrGuids[r],this.totalCbs-=1)}function f(){this.endTime=(0,S.t)()}function h(e,r){r instanceof fe&&"load"===e[0]&&t.emit("xhr-load-added",[e[1],e[2]],r)}function g(e,r){r instanceof fe&&"load"===e[0]&&t.emit("xhr-load-removed",[e[1],e[2]],r)}function m(e,t,r){t instanceof fe&&("onload"===r&&(this.onload=!0),("load"===(e[0]&&e[0].type)||this.onload)&&(this.xhrCbStart=(0,S.t)()))}function v(e,r){this.xhrCbStart&&t.emit("xhr-cb-time",[(0,S.t)()-this.xhrCbStart,this.onload,r],r)}function b(e){var t,r=e[1]||{};if("string"==typeof e[0]?0===(t=e[0]).length&&p.RI&&(t=""+p.gm.location.href):e[0]&&e[0].url?t=e[0].url:p.gm?.URL&&e[0]&&e[0]instanceof URL?t=e[0].href:"function"==typeof e[0].toString&&(t=e[0].toString()),"string"==typeof t&&0!==t.length){t&&(this.parsedOrigin=(0,ie.D)(t),this.sameOrigin=this.parsedOrigin.sameOrigin);var i=n.generateTracePayload(this.parsedOrigin);if(i&&(i.newrelicHeader||i.traceContextParentHeader))if(e[0]&&e[0].headers)s(e[0].headers,i)&&(this.dt=i);else{var o={};for(var a in r)o[a]=r[a];o.headers=new Headers(r.headers||{}),s(o.headers,i)&&(this.dt=i),e.length>1?e[1]=o:e.push(o)}}function s(e,t){var r=!1;return t.newrelicHeader&&(e.set("newrelic",t.newrelicHeader),r=!0),t.traceContextParentHeader&&(e.set("traceparent",t.traceContextParentHeader),t.traceContextStateHeader&&e.set("tracestate",t.traceContextStateHeader),r=!0),r}}function y(e,t){this.params={},this.metrics={},this.startTime=(0,S.t)(),this.dt=t,e.length>=1&&(this.target=e[0]),e.length>=2&&(this.opts=e[1]);var r,n=this.opts||{},i=this.target;"string"==typeof i?r=i:"object"==typeof i&&i instanceof le?r=i.url:p.gm?.URL&&"object"==typeof i&&i instanceof URL&&(r=i.href),pe(this,r);var o=(""+(i&&i instanceof le&&i.method||n.method||"GET")).toUpperCase();this.params.method=o,this.body=n.body,this.txSize=G(n.body)||0}function w(e,t){if(this.endTime=(0,S.t)(),this.params||(this.params={}),(0,ce.iW)(this.params))return;let n;this.params.status=t?t.status:0,"string"==typeof this.rxSize&&this.rxSize.length>0&&(n=+this.rxSize);const i={txSize:this.txSize,rxSize:n,duration:(0,S.t)()-this.startTime};r("xhr",[this.params,i,this.startTime,this.endTime,"fetch"],this,a.K7.ajax)}function R(e){const t=this.params,n=this.metrics;if(!this.ended){this.ended=!0;for(let t=0;t<de;t++)e.removeEventListener(ue[t],this.listener,!1);t.aborted||(0,ce.iW)(t)||(n.duration=(0,S.t)()-this.startTime,this.loadCazptureCalled||4!==e.readyState?null==t.status&&(t.status=0):T(this,e),n.cbTime=this.cbTime,r("xhr",[t,n,this.startTime,this.endTime,"xhr"],this,a.K7.ajax))}}function T(e,r){e.params.status=r.status;var n=function(e,t){var r=e.responseType;return"json"===r&&null!==t?t:"arraybuffer"===r||"blob"===r||"json"===r?G(e.response):"text"===r||""===r||void 0===r?G(e.responseText):void 0}(r,e.lastSize);if(n&&(e.metrics.rxSize=n),e.sameOrigin){var i=r.getResponseHeader("X-NewRelic-App-Data");i&&((0,x.p)(O.rs,["Ajax/CrossApplicationTracing/Header/Seen"],void 0,a.K7.metrics,t),e.params.cat=i.split(", ").pop())}e.loadCaptureCalled=!0}t.on("new-xhr",i),t.on("open-xhr-start",o),t.on("open-xhr-end",s),t.on("send-xhr-start",c),t.on("xhr-cb-time",u),t.on("xhr-load-added",d),t.on("xhr-load-removed",l),t.on("xhr-resolved",f),t.on("addEventListener-end",h),t.on("removeEventListener-end",g),t.on("fn-end",v),t.on("fetch-before-start",b),t.on("fetch-start",y),t.on("fn-start",m),t.on("fetch-done",w)}(e,this.ee,this.handler,this.dt),this.importAggregator(e)}}function pe(e,t){var r=(0,ie.D)(t),n=e.params||e;n.hostname=r.hostname,n.port=r.port,n.protocol=r.protocol,n.host=r.hostname+":"+r.port,n.pathname=r.pathname,e.parsedOrigin=r,e.sameOrigin=r.sameOrigin}const ge={},me=["pushState","replaceState"];function ve(e){const t=function(e){return(e||B.ee).get("history")}(e);return!p.RI||ge[t.debugId]++||(ge[t.debugId]=1,(0,W.YM)(t).inPlace(window.history,me,"-")),t}var be=i(3738);const{He:ye,bD:we,d3:Re,Kp:xe,TZ:Te,Lc:Ae,uP:Ee,Rz:Se}=be;class Ne extends b{static featureName=Te;constructor(e,t=!0){super(e,Te,t);if(!(0,m.V)(this.agentIdentifier))return void this.deregisterDrain();const r=this.ee;let n;ve(r),this.eventsEE=(0,F.u)(r),this.eventsEE.on(Ee,(function(e,t){this.bstStart=(0,S.t)()})),this.eventsEE.on(Ae,(function(e,t){(0,x.p)("bst",[e[0],t,this.bstStart,(0,S.t)()],void 0,a.K7.sessionTrace,r)})),r.on(Se+Re,(function(e){this.time=(0,S.t)(),this.startPath=location.pathname+location.hash})),r.on(Se+xe,(function(e){(0,x.p)("bstHist",[location.pathname+location.hash,this.startPath,this.time],void 0,a.K7.sessionTrace,r)}));try{n=new PerformanceObserver((e=>{const t=e.getEntries();(0,x.p)(ye,[t],void 0,a.K7.sessionTrace,r)})),n.observe({type:we,buffered:!0})}catch(e){}this.importAggregator(e,{resourceObserver:n})}}var Oe=i(2614);class _e extends b{static featureName=t.TZ;#i;#o;constructor(e,r=!0){let n;super(e,t.TZ,r),this.replayRunning=!1,this.#o=e;try{n=JSON.parse(localStorage.getItem("".concat(Oe.H3,"_").concat(Oe.uh)))}catch(e){}(0,g.SR)(e.agentIdentifier)&&this.ee.on(t.G4.RECORD,(()=>this.#a())),this.#s(n)?(this.#i=n?.sessionReplayMode,this.#c()):this.importAggregator(e),this.ee.on("err",(e=>{this.replayRunning&&(this.errorNoticed=!0,(0,x.p)(t.G4.ERROR_DURING_REPLAY,[e],void 0,this.featureName,this.ee))})),this.ee.on(t.G4.REPLAY_RUNNING,(e=>{this.replayRunning=e}))}#s(e){return e&&(e.sessionReplayMode===Oe.g.FULL||e.sessionReplayMode===Oe.g.ERROR)||(0,g.Aw)(this.agentIdentifier)}#u=!1;async#c(e){if(!this.#u){this.#u=!0;try{const{Recorder:t}=await Promise.all([i.e(478),i.e(249)]).then(i.bind(i,8589));this.recorder??=new t({mode:this.#i,agentIdentifier:this.agentIdentifier,trigger:e,ee:this.ee}),this.recorder.startRecording(),this.abortHandler=this.recorder.stopRecording}catch(e){}this.importAggregator(this.#o,{recorder:this.recorder,errorNoticed:this.errorNoticed})}}#a(){this.featAggregate?this.featAggregate.mode!==Oe.g.FULL&&this.featAggregate.initializeRecording(Oe.g.FULL,!0):(this.#i=Oe.g.FULL,this.#c(t.Qb.API),this.recorder&&this.recorder.parent.mode!==Oe.g.FULL&&(this.recorder.parent.mode=Oe.g.FULL,this.recorder.stopRecording(),this.recorder.startRecording(),this.abortHandler=this.recorder.stopRecording))}}var Ie=i(3962);class je extends b{static featureName=Ie.TZ;constructor(e,t=!0){if(super(e,Ie.TZ,t),!p.RI||!(0,R.dV)().o.MO)return;const r=ve(this.ee);Ie.tC.forEach((e=>{(0,A.sp)(e,(e=>{a(e)}),!0)}));const n=()=>(0,x.p)("newURL",[(0,S.t)(),""+window.location],void 0,this.featureName,this.ee);r.on("pushState-end",n),r.on("replaceState-end",n);try{this.removeOnAbort=new AbortController}catch(e){}(0,A.sp)("popstate",(e=>(0,x.p)("newURL",[e.timeStamp,""+window.location],void 0,this.featureName,this.ee)),!0,this.removeOnAbort?.signal);let i=!1;const o=new((0,R.dV)().o.MO)(((e,t)=>{i||(i=!0,requestAnimationFrame((()=>{(0,x.p)("newDom",[(0,S.t)()],void 0,this.featureName,this.ee),i=!1})))})),a=(0,v.s)((e=>{(0,x.p)("newUIEvent",[e],void 0,this.featureName,this.ee),o.observe(document.body,{attributes:!0,childList:!0,subtree:!0,characterData:!0})}),100,{leading:!0});this.abortHandler=function(){this.removeOnAbort?.abort(),o.disconnect(),this.abortHandler=void 0},this.importAggregator(e,{domObserver:o})}}var Pe=i(7378);const Ce={},ke=["appendChild","insertBefore","replaceChild"];function Le(e){const t=function(e){return(e||B.ee).get("jsonp")}(e);if(!p.RI||Ce[t.debugId])return t;Ce[t.debugId]=!0;var r=(0,W.YM)(t),n=/[?&](?:callback|cb)=([^&#]+)/,i=/(.*)\.([^.]+)/,o=/^(\w+)(\.|$)(.*)$/;function a(e,t){if(!e)return t;const r=e.match(o),n=r[1];return a(r[3],t[n])}return r.inPlace(Node.prototype,ke,"dom-"),t.on("dom-start",(function(e){!function(e){if(!e||"string"!=typeof e.nodeName||"script"!==e.nodeName.toLowerCase())return;if("function"!=typeof e.addEventListener)return;var o=(s=e.src,c=s.match(n),c?c[1]:null);var s,c;if(!o)return;var u=function(e){var t=e.match(i);if(t&&t.length>=3)return{key:t[2],parent:a(t[1],window)};return{key:e,parent:window}}(o);if("function"!=typeof u.parent[u.key])return;var d={};function l(){t.emit("jsonp-end",[],d),e.removeEventListener("load",l,(0,A.jT)(!1)),e.removeEventListener("error",f,(0,A.jT)(!1))}function f(){t.emit("jsonp-error",[],d),t.emit("jsonp-end",[],d),e.removeEventListener("load",l,(0,A.jT)(!1)),e.removeEventListener("error",f,(0,A.jT)(!1))}r.inPlace(u.parent,[u.key],"cb-",d),e.addEventListener("load",l,(0,A.jT)(!1)),e.addEventListener("error",f,(0,A.jT)(!1)),t.emit("new-jsonp",[e.src],d)}(e[0])})),t}const He={};function De(e){const t=function(e){return(e||B.ee).get("promise")}(e);if(He[t.debugId])return t;He[t.debugId]=!0;var r=t.context,n=(0,W.YM)(t),i=p.gm.Promise;return i&&function(){function e(r){var o=t.context(),a=n(r,"executor-",o,null,!1);const s=Reflect.construct(i,[a],e);return t.context(s).getCtx=function(){return o},s}p.gm.Promise=e,Object.defineProperty(e,"name",{value:"Promise"}),e.toString=function(){return i.toString()},Object.setPrototypeOf(e,i),["all","race"].forEach((function(r){const n=i[r];e[r]=function(e){let i=!1;[...e||[]].forEach((e=>{this.resolve(e).then(a("all"===r),a(!1))}));const o=n.apply(this,arguments);return o;function a(e){return function(){t.emit("propagate",[null,!i],o,!1,!1),i=i||!e}}}})),["resolve","reject"].forEach((function(r){const n=i[r];e[r]=function(e){const r=n.apply(this,arguments);return e!==r&&t.emit("propagate",[e,!0],r,!1,!1),r}})),e.prototype=i.prototype;const o=i.prototype.then;i.prototype.then=function(...e){var i=this,a=r(i);a.promise=i,e[0]=n(e[0],"cb-",a,null,!1),e[1]=n(e[1],"cb-",a,null,!1);const s=o.apply(this,e);return a.nextPromise=s,t.emit("propagate",[i,!0],s,!1,!1),s},i.prototype.then[W.Jt]=o,t.on("executor-start",(function(e){e[0]=n(e[0],"resolve-",this,null,!1),e[1]=n(e[1],"resolve-",this,null,!1)})),t.on("executor-err",(function(e,t,r){e[1](r)})),t.on("cb-end",(function(e,r,n){t.emit("propagate",[n,!0],this.nextPromise,!1,!1)})),t.on("propagate",(function(e,r,n){this.getCtx&&!r||(this.getCtx=function(){if(e instanceof Promise)var r=t.context(e);return r&&r.getCtx?r.getCtx():this})}))}(),t}const Me={},Ke="setTimeout",Ue="setInterval",Ve="clearTimeout",Ge="-start",Fe=[Ke,"setImmediate",Ue,Ve,"clearImmediate"];function Be(e){const t=function(e){return(e||B.ee).get("timer")}(e);if(Me[t.debugId]++)return t;Me[t.debugId]=1;var r=(0,W.YM)(t);return r.inPlace(p.gm,Fe.slice(0,2),Ke+"-"),r.inPlace(p.gm,Fe.slice(2,3),Ue+"-"),r.inPlace(p.gm,Fe.slice(3),Ve+"-"),t.on(Ue+Ge,(function(e,t,n){e[0]=r(e[0],"fn-",null,n)})),t.on(Ke+Ge,(function(e,t,n){this.method=n,this.timerDuration=isNaN(e[1])?0:+e[1],e[0]=r(e[0],"fn-",this,n)})),t}const We={};function ze(e){const t=function(e){return(e||B.ee).get("mutation")}(e);if(!p.RI||We[t.debugId])return t;We[t.debugId]=!0;var r=(0,W.YM)(t),n=p.gm.MutationObserver;return n&&(window.MutationObserver=function(e){return this instanceof n?new n(r(e,"fn-")):n.apply(this,arguments)},MutationObserver.prototype=n.prototype),t}const{TZ:qe,d3:Ze,Kp:Ye,$p:Xe,wW:Je,e5:Qe,tH:$e,uP:et,rw:tt,Lc:rt}=Pe;class nt extends b{static featureName=qe;constructor(e,t=!0){if(super(e,qe,t),!p.RI)return;try{this.removeOnAbort=new AbortController}catch(e){}let r,n=0;const i=this.ee.get("tracer"),o=Le(this.ee),a=De(this.ee),s=Be(this.ee),c=Z(this.ee),u=this.ee.get("events"),d=ne(this.ee),l=ve(this.ee),f=ze(this.ee);function h(e,t){l.emit("newURL",[""+window.location,t])}function g(){n++,r=window.location.hash,this[et]=(0,S.t)()}function m(){n--,window.location.hash!==r&&h(0,!0);var e=(0,S.t)();this[Qe]=~~this[Qe]+e-this[et],this[rt]=e}function v(e,t){e.on(t,(function(){this[t]=(0,S.t)()}))}this.ee.on(et,g),a.on(tt,g),o.on(tt,g),this.ee.on(rt,m),a.on(Je,m),o.on(Je,m),this.ee.on("fn-err",((...t)=>{t[2]?.__newrelic?.[e.agentIdentifier]||(0,x.p)("function-err",[...t],void 0,this.featureName,this.ee)})),this.ee.buffer([et,rt,"xhr-resolved"],this.featureName),u.buffer([et],this.featureName),s.buffer(["setTimeout"+Ye,"clearTimeout"+Ze,et],this.featureName),c.buffer([et,"new-xhr","send-xhr"+Ze],this.featureName),d.buffer([$e+Ze,$e+"-done",$e+Xe+Ze,$e+Xe+Ye],this.featureName),l.buffer(["newURL"],this.featureName),f.buffer([et],this.featureName),a.buffer(["propagate",tt,Je,"executor-err","resolve"+Ze],this.featureName),i.buffer([et,"no-"+et],this.featureName),o.buffer(["new-jsonp","cb-start","jsonp-error","jsonp-end"],this.featureName),v(d,$e+Ze),v(d,$e+"-done"),v(o,"new-jsonp"),v(o,"jsonp-end"),v(o,"cb-start"),l.on("pushState-end",h),l.on("replaceState-end",h),window.addEventListener("hashchange",h,(0,A.jT)(!0,this.removeOnAbort?.signal)),window.addEventListener("load",h,(0,A.jT)(!0,this.removeOnAbort?.signal)),window.addEventListener("popstate",(function(){h(0,n>1)}),(0,A.jT)(!0,this.removeOnAbort?.signal)),this.abortHandler=this.#n,this.importAggregator(e)}#n(){this.removeOnAbort?.abort(),this.abortHandler=void 0}}var it=i(3333);class ot extends b{static featureName=it.TZ;constructor(e,t=!0){super(e,it.TZ,t);const r=[e.init.page_action.enabled,e.init.performance.capture_marks,e.init.performance.capture_measures,e.init.user_actions.enabled];p.RI&&e.init.user_actions.enabled&&(it.Zp.forEach((e=>(0,A.sp)(e,(e=>(0,x.p)("ua",[e],void 0,this.featureName,this.ee)),!0))),it.qN.forEach((e=>(0,A.sp)(e,(e=>(0,x.p)("ua",[e],void 0,this.featureName,this.ee)))))),r.some((e=>e))?this.importAggregator(e):this.deregisterDrain()}}var at=i(993),st=i(3785);class ct extends b{static featureName=at.TZ;constructor(e,t=!0){super(e,at.TZ,t);const r=this.ee;this.ee.on("wrap-logger-end",(function([e]){const{level:t,customAttributes:n}=this;(0,st.R)(r,e,n,t)})),this.importAggregator(e)}}new class extends o{constructor(t,r){super(r),p.gm?(this.features={},(0,R.bQ)(this.agentIdentifier,this),this.desiredFeatures=new Set(t.features||[]),this.desiredFeatures.add(w),this.runSoftNavOverSpa=[...this.desiredFeatures].some((e=>e.featureName===a.K7.softNav)),(0,d.j)(this,t,t.loaderType||"agent"),this.run()):(0,e.R)(21)}get config(){return{info:this.info,init:this.init,loader_config:this.loader_config,runtime:this.runtime}}run(){try{const t=u(this.agentIdentifier),r=[...this.desiredFeatures];r.sort(((e,t)=>a.P3[e.featureName]-a.P3[t.featureName])),r.forEach((r=>{if(!t[r.featureName]&&r.featureName!==a.K7.pageViewEvent)return;if(this.runSoftNavOverSpa&&r.featureName===a.K7.spa)return;if(!this.runSoftNavOverSpa&&r.featureName===a.K7.softNav)return;const n=function(e){switch(e){case a.K7.ajax:return[a.K7.jserrors];case a.K7.sessionTrace:return[a.K7.ajax,a.K7.pageViewEvent];case a.K7.sessionReplay:return[a.K7.sessionTrace];case a.K7.pageViewTiming:return[a.K7.pageViewEvent];default:return[]}}(r.featureName).filter((e=>!(e in this.features)));n.length>0&&(0,e.R)(36,{targetFeature:r.featureName,missingDependencies:n}),this.features[r.featureName]=new r(this)}))}catch(t){(0,e.R)(22,t);for(const e in this.features)this.features[e].abortHandler?.();const r=(0,R.Zm)();delete r.initializedAgents[this.agentIdentifier]?.api,delete r.initializedAgents[this.agentIdentifier]?.features,delete this.sharedAggregator;return r.ee.get(this.agentIdentifier).abort(),!1}}}({features:[he,w,N,Ne,_e,_,D,ot,ct,je,nt],loaderType:"spa"})})()})(); </script><link rel="preconnect" href="https://cdn.cookielaw.org"/><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin="anonymous"/><link rel="preconnect" href="https://fonts.googleapis.com" crossorigin="anonymous"/><link rel="preconnect" href="https://www.googletagmanager.com"/><link rel="stylesheet" href="/build/_assets/styles.generated-IVZR5GKI.css"/><link rel="prefetch" href="/register"/><link rel="stylesheet" href="/build/_assets/brand.generated-RFG6V5MK.css"/><link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Source+Sans+3:ital,wght@0,400;0,600;0,700;1,400;1,600;1,700&amp;display=swap"/><link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Source+Sans+3:ital,wght@0,400;0,600;0,700;1,400;1,600;1,700&amp;display=swap"/><link rel="icon" type="image/x-icon" href="/build/_assets/waste360-ML4OMBH6.ico"/><script type="text/javascript" src="https://cdn.cookielaw.org/consent/864e30c1-0758-4541-9f4d-4b7459e07fc4/OtAutoBlock.js"></script><script type="text/javascript" src="https://cdn.cookielaw.org/scripttemplates/otSDKStub.js" data-domain-script="864e30c1-0758-4541-9f4d-4b7459e07fc4"></script><script> function OptanonWrapper() { const isClosed = OneTrust.IsAlertBoxClosed() const allowPersonalised = /,C0004,/.test(OnetrustActiveGroups) console.log('cookieBannerConsentChanged emit', isClosed, allowPersonalised) const event = new CustomEvent('cookieBannerConsentChanged', { detail: { allowPersonalised, isClosed } }) window.dispatchEvent(event) }</script><script async="" src="https://securepubads.g.doubleclick.net/tag/js/gpt.js" type="text/javascript"></script><link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css"/><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.3.0/font/bootstrap-icons.css"/></head><body class="brand-waste360 "><noscript></noscript><div id="bigsky_v"></div><div id="fb-root"></div><main data-theme="theme2" class="Provider"><div data-testid="ad_blocker" class="ads ad adsbox doubleclick ad-placement carbon-ads" style="height:1px;width:1px;position:absolute;left:-999em;top:-999em"></div><div><div data-template="layout" class="Layout"><nav data-module="navigation" aria-label="navigation" class="Navigation"><div data-testid="header" class="Navigation-HeaderWrapper"><div class="FullScreenBackground Navigation-HeaderBackground"></div><div class="Navigation-Header"><div class="InformaBar" data-component="informa-bar"><div class="InformaBar-ContentSection InformaBar-ContentSection_hidden" data-testid="informa-bar-content-section"><div class="InformaBar-LeftSection" data-testid="informa-bar-left-section"><div>Waste360 is part of the Informa Markets Division of Informa PLC</div><div><a class="InformaBar-SubMenuItem" data-testid="informa-bar-sub-menu-item" href="http://informa.com/" title="Informa PLC" target="_blank" rel="noreferrer">Informa PLC</a><span class="InformaBar-Delimiter">|</span><a class="InformaBar-SubMenuItem" data-testid="informa-bar-sub-menu-item" href="https://informa.com/about-us/" title="ABOUT US" target="_blank" rel="noreferrer">ABOUT US</a><span class="InformaBar-Delimiter">|</span><a class="InformaBar-SubMenuItem" data-testid="informa-bar-sub-menu-item" href="http://informa.com/Investors/" title="INVESTOR RELATIONS" target="_blank" rel="noreferrer">INVESTOR RELATIONS</a><span class="InformaBar-Delimiter">|</span><a class="InformaBar-SubMenuItem" data-testid="informa-bar-sub-menu-item" href="http://informa.com/Talent/" title="TALENT" target="_blank" rel="noreferrer">TALENT</a></div></div><div class="InformaBar-RightSection" data-testid="informa-bar-right-section">This site is operated by a business or businesses owned by Informa PLC and all copyright resides with them. Informa PLC&#x27;s registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. Number 8860726.</div></div><div class="InformaBar-LogoSection" data-testid="informa-bar-logo-section" role="button" tabindex="0" aria-label="Open Informa bar"><div class="InformaBar-LogoWrapper"><img class="InformaBar-Logo" src="/build/_assets/informaLogoWhite-RZAE7EJI.png" alt="Logo Informa"/></div><span class="InformaBar-IconWrapper InformaBar-IconWrapper_closed"><svg viewBox="0 0 320 512" aria-hidden="true" focusable="false" role="img" xml:space="preserve" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="currentColor" height="100%"><path fill="#ffffff" d="M288.662 352H31.338c-17.818 0-26.741-21.543-14.142-34.142l128.662-128.662c7.81-7.81 20.474-7.81 28.284 0l128.662 128.662c12.6 12.599 3.676 34.142-14.142 34.142z"></path></svg></span></div></div></div></div><div class="Navigation-SecondaryMenuWrapper"><div class="FullScreenBackground Navigation-SecondaryMenuBackground"></div><div class="Navigation-SecondaryMenu"><nav data-testid="SecondaryMenu" class="SecondaryMenu"><a class="SecondaryMenu-Link" data-discover="true" href="/series/in-session">Waste360 In Session</a><a class="SecondaryMenu-Link" target="_blank" href="https://www.wasteexpo.com/en/home.html">WasteExpo</a><a class="SecondaryMenu-Link" target="_blank" href="https://www.wwettshow.com/en/show-info.html">WWETT Show</a></nav></div></div><div style="padding-top:0px"></div><div id="navigation-header" class="Navigation-NavBase"><div data-testid="navBase" class="NavBase"><div class="NavBase-Content"><div class="FullScreenBackground NavBase-SecondaryMenuBackground"></div><div class="NavBase-HeaderWrapper"><div class="NavBase-IconsWrapper"><button data-testid="navBase-megaMenuButton" class="NavBase-MegaMenuButton" aria-label="Open Mega menu"><span data-component="icon" data-name="Bars" class="NavBase-MegaMenuIcon NavBase-MegaMenuIcon_iconVariant_small NavBase-MegaMenuIcon_iconType_bars" style="mask-image:url(/build/_assets/Bars-FH3E7I2L.svg);-webkit-mask-image:url(/build/_assets/Bars-FH3E7I2L.svg);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></button><button data-testid="SearchButtonDesktop" class="NavBase-SearchButtonDesktop" aria-label="Open Search"><span data-component="icon" data-name="Search" class="NavBase-SearchIcon NavBase-SearchIcon_iconVariant_large NavBase-SearchIcon_iconType_search" style="mask-image:url(/build/_assets/Search-W7JQC6FV.svg);-webkit-mask-image:url(/build/_assets/Search-W7JQC6FV.svg);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></button><button data-testid="SearchButtonTablet" class="NavBase-SearchButtonTablet" aria-label="Open Search in MegaMenu"><span data-component="icon" data-name="Search" class="NavBase-SearchIcon NavBase-SearchIcon_iconVariant_small NavBase-SearchIcon_iconType_search" style="mask-image:url(/build/_assets/Search-W7JQC6FV.svg);-webkit-mask-image:url(/build/_assets/Search-W7JQC6FV.svg);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></button></div><div class="NavBase-LogoWrapper"><button data-testid="navBase-LogoMegaMenuButton" class="NavBase-LogoMegaMenuButton" aria-label="Open Mega menu"><span data-component="icon" data-name="Bars" class="NavBase-LogoMegaMenuIcon NavBase-LogoMegaMenuIcon_iconVariant_small NavBase-LogoMegaMenuIcon_iconType_bars" style="mask-image:url(/build/_assets/Bars-FH3E7I2L.svg);-webkit-mask-image:url(/build/_assets/Bars-FH3E7I2L.svg);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></button><a class="NavBase-Logo" data-discover="true" href="/"><img data-testid="logo-image" data-component="image" class="NavBase-LogoImage" data-src="https://eu-images.contentstack.com/v3/assets/blt4a147f9e36f0754a/bltcfcab7ea2647893c/65831f7be6602b040a7a3cad/Waste260_-_Logo.svg?width=476&amp;auto=webp&amp;quality=80&amp;disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt4a147f9e36f0754a/bltcfcab7ea2647893c/65831f7be6602b040a7a3cad/Waste260_-_Logo.svg?width=476&amp;auto=webp&amp;quality=80&amp;disable=upscale" loading="lazy" alt="Waste 360" title="Waste 360"/></a></div><div class="NavBase-RegisterWrapper"><div data-module="newsletter-signup-promo"><div class="NewsletterSignupPromo-Button NewsletterSignupPromo-Button_small NewsletterSignupButton"><button data-component="button" data-testid="headerSmallNewsletterButton" class="Button Button_size_small Button_variant_primaryFilled" type="button"><span data-component="icon" data-name="Email" class="Button-Icon Button-Icon_position_left" style="mask-image:url(/build/_assets/Email-KQOBQENG.svg);-webkit-mask-image:url(/build/_assets/Email-KQOBQENG.svg);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span><span class="Button-ContentWrapper">Subscribe</span></button></div><div class="NewsletterSignupPromo-Button NewsletterSignupPromo-Button_medium NewsletterSignupButton"><div data-component="social-share" class="SocialShare SocialShare_variant_layout Layout-SocialShare"><a target="_blank" rel="noreferrer" aria-label="Facebook" class="Layout-SocialLink" href="https://www.facebook.com/WasteExpo/"><span class="SocialShare-IconWrapper SocialShare-IconWrapper_variant_layout"><span data-component="icon" data-name="Facebook" class="SocialShare-Icon SocialShare-Icon_variant_layout SocialShare-Icon_type_facebook" style="mask-image:url(/build/_assets/Facebook-RJUWWKYQ.svg);-webkit-mask-image:url(/build/_assets/Facebook-RJUWWKYQ.svg);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></span></a><a target="_blank" rel="noreferrer" aria-label="Twitter" class="Layout-SocialLink" href="https://twitter.com/Waste360"><span class="SocialShare-IconWrapper SocialShare-IconWrapper_variant_layout"><span data-component="icon" data-name="Twitter" class="SocialShare-Icon SocialShare-Icon_variant_layout SocialShare-Icon_type_twitter" style="mask-image:url(/build/_assets/Twitter-IDJ3OL2U.svg);-webkit-mask-image:url(/build/_assets/Twitter-IDJ3OL2U.svg);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></span></a><a target="_blank" rel="noreferrer" aria-label="Linkedin" class="Layout-SocialLink" href="https://www.linkedin.com/company/waste360/"><span class="SocialShare-IconWrapper SocialShare-IconWrapper_variant_layout"><span data-component="icon" data-name="Linkedin" class="SocialShare-Icon SocialShare-Icon_variant_layout SocialShare-Icon_type_linkedin" style="mask-image:url(/build/_assets/Linkedin-ETJB4UTB.svg);-webkit-mask-image:url(/build/_assets/Linkedin-ETJB4UTB.svg);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></span></a><a target="_blank" rel="noreferrer" aria-label="Youtube" class="Layout-SocialLink" href="https://www.youtube.com/channel/UC_L072N_d-bkq7RA3wGCUnQ"><span class="SocialShare-IconWrapper SocialShare-IconWrapper_variant_layout"><span data-component="icon" data-name="Youtube" class="SocialShare-Icon SocialShare-Icon_variant_layout SocialShare-Icon_type_youtube" style="mask-image:url(/build/_assets/Youtube-FHDA3BK4.svg);-webkit-mask-image:url(/build/_assets/Youtube-FHDA3BK4.svg);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></span></a></div><button data-component="button" data-testid="headerMediumNewsletterButton" class="Button Button_size_medium Button_variant_primaryFilled" type="button"><span data-component="icon" data-name="Email" class="Button-Icon Button-Icon_position_left" style="mask-image:url(/build/_assets/Email-KQOBQENG.svg);-webkit-mask-image:url(/build/_assets/Email-KQOBQENG.svg);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span><span class="Button-ContentWrapper">Subscribe</span></button></div></div><button data-testid="RegisterSearchButton" class="NavBase-RegisterSearchButton" aria-label="Open Search in MegaMenu"><span data-component="icon" data-name="Search" class="NavBase-SearchIcon NavBase-SearchIcon_iconVariant_large NavBase-SearchIcon_iconType_search" style="mask-image:url(/build/_assets/Search-W7JQC6FV.svg);-webkit-mask-image:url(/build/_assets/Search-W7JQC6FV.svg);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></button></div></div><div class="NavBase-SearchWrapper"><div class="FullScreenBackground NavBase-SearchBackground"></div><button data-testid="SearchCloseButton" class="NavBase-SearchCloseButton" aria-label="Close Search"><span data-component="icon" data-name="Close" class="NavBase-SearchIcon NavBase-SearchIcon_iconVariant_medium NavBase-SearchIcon_iconType_close" style="mask-image:url(/build/_assets/Close-INMB7UB6.svg);-webkit-mask-image:url(/build/_assets/Close-INMB7UB6.svg);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></button></div></div></div><div class="Navigation-MainMenu"><div data-testid="mainMenu"><div class="FullScreenBackground MainMenu-BackgroundSubmenu"></div><div class="FullScreenBackground MainMenu-BackgroundMenuItem"></div><div class="MainMenu-Content"><div class="MainMenu-MegaMenuButtonWrapper"><button data-testid="mainMenu-MegaMenuButton" aria-label="Open MegaMenu" class="MainMenu-MegaMenuButton"><span data-component="icon" data-name="Bars" class="MainMenu-MegaMenuIcon" style="mask-image:url(/build/_assets/Bars-FH3E7I2L.svg);-webkit-mask-image:url(/build/_assets/Bars-FH3E7I2L.svg);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></button></div><div class="MainMenu-ItemsWrapper" role="menu"><div class="MainMenu-MenuItemWrapper"><div class="MainMenu-MenuItem" role="menuitem" tabindex="0" data-testid="openSubMenu" aria-label="Open Sub menu of Industry Insights"><span class="MainMenu-MainTitle">Industry Insights<span data-component="icon" data-name="ChevronDown" class="MainMenu-SubMenuIcon" style="mask-image:url(/build/_assets/ChevronDown-Z5GRR2FF.svg);-webkit-mask-image:url(/build/_assets/ChevronDown-Z5GRR2FF.svg);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></span></div><div class="MainMenu-SubMenuWrapper"><div class="MainMenu-SubMenuContent"><div data-module="sub-menu" class="SubMenu MainMenu-SubMenu" role="presentation"><div class="SubMenu-Container"><div class="SubMenu-RelatedTopicsWrapper"><h4 class="SubMenu-RelatedTopics">Related Topics</h4><div class="SubMenu-CasualLinkWrapper" data-testid="related"><ul class="SubMenu-CasualLinkList"><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" data-discover="true" href="/industry-insights/waste-management-business">Waste Management Business</a></li><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" data-discover="true" href="/industry-insights/labor-force">Labor Force</a></li><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" data-discover="true" href="/industry-insights/waste-management-finance">Waste Management Finance</a></li><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" data-discover="true" href="/industry-insights/waste-legislation">Waste Legislation</a></li></ul><ul class="SubMenu-CasualLinkList"><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" data-discover="true" href="/industry-insights/mergers-acquisitions">Mergers and Acquisitions</a></li><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" data-discover="true" href="/industry-insights/product-news">Product News</a></li><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" data-discover="true" href="/industry-insights/commodities-pricing">Commodities Pricing</a></li></ul></div></div><div class="SubMenu-RecentContentWrapper" data-testid="recent"><div class="SubMenu-RecentContentHeading"><h4 data-testid="recent-title" class="SubMenu-RecentText">Recent in <a class="SubMenu-RecentTopicTerm" data-discover="true" href="/industry-insights">Industry Insights</a></h4><div data-testid="see-more" class="SubMenu-SeeMore"><a class="SubMenu-MoreContent" data-discover="true" href="/industry-insights"><span class="SubMenu-SeeMoreText">See All</span><span data-component="icon" data-name="ChevronRight" class="SubMenu-SeeMoreIcon" style="mask-image:url(/build/_assets/ChevronRight-W5LPP5NG.svg);-webkit-mask-image:url(/build/_assets/ChevronRight-W5LPP5NG.svg);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></a></div></div><div class="SubMenu-ContentWrapper"><div class="ContentPreview" data-module="content-preview" data-variant="card-vertical"><div class="ContentPreview-Wrapper ContentPreview-Wrapper_variant_cardVertical"><a data-testid="thumbnail" data-discover="true" href="/industry-insights/how-municipalities-and-counties-chose-winning-waste-service-contracts"><div class="ContentPreview-ImageContainer"><span data-testid="content-preview-screen-reader-text" class="ContentPreview-ImageScreenReaderText">thumbnail</span><img data-testid="content-preview-image" data-component="image" class="ContentPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt4a147f9e36f0754a/blt197f6bf3543c0132/668d76deca9a046f121bf44a/contract_MR1540.jpg?width=700&amp;auto=webp&amp;quality=80&amp;disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt4a147f9e36f0754a/blt197f6bf3543c0132/668d76deca9a046f121bf44a/contract_MR1540.jpg?width=700&amp;auto=webp&amp;quality=80&amp;disable=upscale" loading="lazy" alt="" title=""/></div></a><a data-component="keyword" class="Keyword Keyword_variant_standard Keyword_title_industryInsights ContentPreview-Category" data-discover="true" href="/industry-insights">Industry Insights</a><div class="VerticalCard"><div class="VerticalCard-Body"><a class="VerticalCard-Title VerticalCard-Title_displayOption_default" data-testid="preview-default-title" data-discover="true" href="/industry-insights/how-municipalities-and-counties-chose-winning-waste-service-contracts">How Municipalities and Counties Chose Winning Waste Service Contracts</a><a class="VerticalCard-Title VerticalCard-Title_displayOption_mobile" data-testid="preview-mobile-title" data-discover="true" href="/industry-insights/how-municipalities-and-counties-chose-winning-waste-service-contracts">How Municipalities and Counties Chose Winning Waste Service Contracts</a><div class="Contributors Contributors_variant_slimline VerticalCard-ContributorsWrapper" data-component="contributors"><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" data-discover="true" href="/author/arlene-karidis">Arlene Karidis</a></div></div></div><div class="VerticalCard-Footer"><span class="VerticalCard-Date" data-testid="vertical-card-date">Nov 26, 2024</span><div data-module="card-time" class="CardTime"><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>5 Min<!-- --> <!-- -->Read</span></div></div></div></div></div></div><div class="ContentPreview" data-module="content-preview" data-variant="card-vertical"><div class="ContentPreview-Wrapper ContentPreview-Wrapper_variant_cardVertical"><a data-testid="thumbnail" data-discover="true" href="/industry-insights/terex-names-jennifer-kong-picarello-chief-financial-officer"><div class="ContentPreview-ImageContainer"><span data-testid="content-preview-screen-reader-text" class="ContentPreview-ImageScreenReaderText">thumbnail</span><img data-testid="content-preview-image" data-component="image" class="ContentPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt4a147f9e36f0754a/blt36081704a00e3f99/651ff8d511d30c87577f9a7e/leadershipfeat.png?width=700&amp;auto=webp&amp;quality=80&amp;disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt4a147f9e36f0754a/blt36081704a00e3f99/651ff8d511d30c87577f9a7e/leadershipfeat.png?width=700&amp;auto=webp&amp;quality=80&amp;disable=upscale" loading="lazy" alt="" title=""/></div></a><a data-component="keyword" class="Keyword Keyword_variant_standard Keyword_title_industryInsights ContentPreview-Category" data-discover="true" href="/industry-insights">Industry Insights</a><div class="VerticalCard"><div class="VerticalCard-Body"><a class="VerticalCard-Title VerticalCard-Title_displayOption_default" data-testid="preview-default-title" style="margin-bottom:0" data-discover="true" href="/industry-insights/terex-names-jennifer-kong-picarello-chief-financial-officer">Terex Names Jennifer Kong-Picarello Chief Financial Officer</a><a class="VerticalCard-Title VerticalCard-Title_displayOption_mobile" data-testid="preview-mobile-title" style="margin-bottom:0" data-discover="true" href="/industry-insights/terex-names-jennifer-kong-picarello-chief-financial-officer">Terex Names Jennifer Kong-Picarello Chief Financial Officer</a></div><div class="VerticalCard-Footer"><span class="VerticalCard-Date" data-testid="vertical-card-date">Nov 25, 2024</span><div data-module="card-time" class="CardTime"><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>2 Min<!-- --> <!-- -->Read</span></div></div></div></div></div></div></div></div></div></div></div></div></div><div class="MainMenu-MenuItemWrapper"><div class="MainMenu-MenuItem" role="menuitem" tabindex="0" data-testid="openSubMenu" aria-label="Open Sub menu of Collection"><span class="MainMenu-MainTitle">Collection<span data-component="icon" data-name="ChevronDown" class="MainMenu-SubMenuIcon" style="mask-image:url(/build/_assets/ChevronDown-Z5GRR2FF.svg);-webkit-mask-image:url(/build/_assets/ChevronDown-Z5GRR2FF.svg);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></span></div><div class="MainMenu-SubMenuWrapper"><div class="MainMenu-SubMenuContent"><div data-module="sub-menu" class="SubMenu MainMenu-SubMenu" role="presentation"><div class="SubMenu-Container"><div class="SubMenu-RelatedTopicsWrapper"><h4 class="SubMenu-RelatedTopics">Related Topics</h4><div class="SubMenu-CasualLinkWrapper" data-testid="related"><ul class="SubMenu-CasualLinkList"><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" data-discover="true" href="/waste-collection-transfer/junk-haulers">Junk Haulers</a></li><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" data-discover="true" href="/waste-collection-transfer/hazardous-waste">Hazardous Waste</a></li><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" data-discover="true" href="/waste-collection-transfer/commercial-waste">Commercial Waste</a></li><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" data-discover="true" href="/waste-collection-transfer/construction-waste">Construction Waste</a></li><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" data-discover="true" href="/waste-collection-transfer/medical-waste">Medical Waste</a></li></ul><ul class="SubMenu-CasualLinkList"><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" data-discover="true" href="/waste-collection-transfer/residential-waste">Residential Waste</a></li><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" data-discover="true" href="/waste-collection-transfer/transfer-stations">Transfer Stations</a></li><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" data-discover="true" href="/waste-collection-transfer/waste-producers">Waste Producers</a></li><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" data-discover="true" href="/waste-collection-transfer/waste-reduction">Waste Reduction</a></li><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" data-discover="true" href="/waste-collection-transfer/smart-waste-technology">Smart Waste Technology</a></li></ul></div></div><div class="SubMenu-RecentContentWrapper" data-testid="recent"><div class="SubMenu-RecentContentHeading"><h4 data-testid="recent-title" class="SubMenu-RecentText">Recent in <a class="SubMenu-RecentTopicTerm" data-discover="true" href="/waste-collection-transfer">Collection</a></h4><div data-testid="see-more" class="SubMenu-SeeMore"><a class="SubMenu-MoreContent" data-discover="true" href="/waste-collection-transfer"><span class="SubMenu-SeeMoreText">See All</span><span data-component="icon" data-name="ChevronRight" class="SubMenu-SeeMoreIcon" style="mask-image:url(/build/_assets/ChevronRight-W5LPP5NG.svg);-webkit-mask-image:url(/build/_assets/ChevronRight-W5LPP5NG.svg);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></a></div></div><div class="SubMenu-ContentWrapper"><div class="ContentPreview" data-module="content-preview" data-variant="card-vertical"><div class="ContentPreview-Wrapper ContentPreview-Wrapper_variant_cardVertical"><a data-testid="thumbnail" data-discover="true" href="/waste-recycling/waste-pro-assists-municipalities-in-recovering-from-hurricanes-helene-and-milton"><div class="ContentPreview-ImageContainer"><span data-testid="content-preview-screen-reader-text" class="ContentPreview-ImageScreenReaderText">thumbnail</span><img data-testid="content-preview-image" data-component="image" class="ContentPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt4a147f9e36f0754a/blt747561af824fb734/6712619e72cf9736d919fb9e/hurricanefeat.png?width=700&amp;auto=webp&amp;quality=80&amp;disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt4a147f9e36f0754a/blt747561af824fb734/6712619e72cf9736d919fb9e/hurricanefeat.png?width=700&amp;auto=webp&amp;quality=80&amp;disable=upscale" loading="lazy" alt="" title=""/></div></a><a data-component="keyword" class="Keyword Keyword_variant_standard Keyword_title_wasteRecycling ContentPreview-Category" data-discover="true" href="/waste-recycling">Waste Recycling</a><div class="VerticalCard"><div class="VerticalCard-Body"><a class="VerticalCard-Title VerticalCard-Title_displayOption_default" data-testid="preview-default-title" data-discover="true" href="/waste-recycling/waste-pro-assists-municipalities-in-recovering-from-hurricanes-helene-and-milton">Waste Pro Assists Municipalities in Recovering from Hurricanes Helene and Milton</a><a class="VerticalCard-Title VerticalCard-Title_displayOption_mobile" data-testid="preview-mobile-title" data-discover="true" href="/waste-recycling/waste-pro-assists-municipalities-in-recovering-from-hurricanes-helene-and-milton">Waste Pro Assists Municipalities in Recovering from Hurricanes Helene and Milton</a><div class="Contributors Contributors_variant_slimline VerticalCard-ContributorsWrapper" data-component="contributors"><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" data-discover="true" href="/author/arlene-karidis">Arlene Karidis</a></div></div></div><div class="VerticalCard-Footer"><span class="VerticalCard-Date" data-testid="vertical-card-date">Oct 18, 2024</span><div data-module="card-time" class="CardTime"><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>6 Min<!-- --> <!-- -->Read</span></div></div></div></div></div></div><div class="ContentPreview" data-module="content-preview" data-variant="card-vertical"><div class="ContentPreview-Wrapper ContentPreview-Wrapper_variant_cardVertical"><a data-testid="thumbnail" data-discover="true" href="/waste-collection-transfer/rutherford-county-tenn-signs-contract-with-wm-to-handle-waste-at-new-transfer-station"><div class="ContentPreview-ImageContainer"><span data-testid="content-preview-screen-reader-text" class="ContentPreview-ImageScreenReaderText">thumbnail</span><img data-testid="content-preview-image" data-component="image" class="ContentPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt4a147f9e36f0754a/bltb83f0c5e8ff74ee9/66b0c8f0447e5b4784ccfa4c/ruthaford_county_MR1540.jpg?width=700&amp;auto=webp&amp;quality=80&amp;disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt4a147f9e36f0754a/bltb83f0c5e8ff74ee9/66b0c8f0447e5b4784ccfa4c/ruthaford_county_MR1540.jpg?width=700&amp;auto=webp&amp;quality=80&amp;disable=upscale" loading="lazy" alt="" title=""/></div></a><a data-component="keyword" class="Keyword Keyword_variant_standard Keyword_title_wasteCollectionTransfer ContentPreview-Category" data-discover="true" href="/waste-collection-transfer">Waste Collection &amp; Transfer</a><div class="VerticalCard"><div class="VerticalCard-Body"><a class="VerticalCard-Title VerticalCard-Title_displayOption_default" data-testid="preview-default-title" style="margin-bottom:0" data-discover="true" href="/waste-collection-transfer/rutherford-county-tenn-signs-contract-with-wm-to-handle-waste-at-new-transfer-station">Rutherford County, Tenn. Signs Contract with WM to Handle Waste at New Transfer Station</a><a class="VerticalCard-Title VerticalCard-Title_displayOption_mobile" data-testid="preview-mobile-title" style="margin-bottom:0" data-discover="true" href="/waste-collection-transfer/rutherford-county-tenn-signs-contract-with-wm-to-handle-waste-at-new-transfer-station">Rutherford County, Tenn. Signs Contract with WM to Handle Waste at New Transfer Station</a></div><div class="VerticalCard-Footer"><span class="VerticalCard-Date" data-testid="vertical-card-date">Aug 5, 2024</span><div data-module="card-time" class="CardTime"><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>1 Min<!-- --> <!-- -->Read</span></div></div></div></div></div></div></div></div></div></div></div></div></div><div class="MainMenu-MenuItemWrapper"><div class="MainMenu-MenuItem" role="menuitem" tabindex="0" data-testid="openSubMenu" aria-label="Open Sub menu of Energy"><span class="MainMenu-MainTitle">Energy<span data-component="icon" data-name="ChevronDown" class="MainMenu-SubMenuIcon" style="mask-image:url(/build/_assets/ChevronDown-Z5GRR2FF.svg);-webkit-mask-image:url(/build/_assets/ChevronDown-Z5GRR2FF.svg);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></span></div><div class="MainMenu-SubMenuWrapper"><div class="MainMenu-SubMenuContent"><div data-module="sub-menu" class="SubMenu MainMenu-SubMenu" role="presentation"><div class="SubMenu-Container"><div class="SubMenu-RelatedTopicsWrapper"><h4 class="SubMenu-RelatedTopics">Related Topics</h4><div class="SubMenu-CasualLinkWrapper" data-testid="related"><ul class="SubMenu-CasualLinkList"><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" data-discover="true" href="/waste-to-energy/gas-to-energy">Gas-to-Energy</a></li><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" data-discover="true" href="/waste-to-energy/solar">Solar</a></li></ul><ul class="SubMenu-CasualLinkList"><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" data-discover="true" href="/waste-to-energy/hydrogen">Hydrogen</a></li><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" data-discover="true" href="/waste-to-energy/biofuel">Biofuel</a></li></ul></div></div><div class="SubMenu-RecentContentWrapper" data-testid="recent"><div class="SubMenu-RecentContentHeading"><h4 data-testid="recent-title" class="SubMenu-RecentText">Recent in <a class="SubMenu-RecentTopicTerm" data-discover="true" href="/waste-to-energy">Energy</a></h4><div data-testid="see-more" class="SubMenu-SeeMore"><a class="SubMenu-MoreContent" data-discover="true" href="/waste-to-energy"><span class="SubMenu-SeeMoreText">See All</span><span data-component="icon" data-name="ChevronRight" class="SubMenu-SeeMoreIcon" style="mask-image:url(/build/_assets/ChevronRight-W5LPP5NG.svg);-webkit-mask-image:url(/build/_assets/ChevronRight-W5LPP5NG.svg);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></a></div></div><div class="SubMenu-ContentWrapper"><div class="ContentPreview" data-module="content-preview" data-variant="card-vertical"><div class="ContentPreview-Wrapper ContentPreview-Wrapper_variant_cardVertical"><a data-testid="thumbnail" data-discover="true" href="/waste-to-energy/lincoln-ne-signs-contract-with-sparq-renewables-for-rng-facility"><div class="ContentPreview-ImageContainer"><span data-testid="content-preview-screen-reader-text" class="ContentPreview-ImageScreenReaderText">thumbnail</span><img data-testid="content-preview-image" data-component="image" class="ContentPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt4a147f9e36f0754a/bltb587e7ca13ba8ab1/673e428d6f38b3f21d75b155/renewable_natural_gas_MR1540.jpg?width=700&amp;auto=webp&amp;quality=80&amp;disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt4a147f9e36f0754a/bltb587e7ca13ba8ab1/673e428d6f38b3f21d75b155/renewable_natural_gas_MR1540.jpg?width=700&amp;auto=webp&amp;quality=80&amp;disable=upscale" loading="lazy" alt="" title=""/></div></a><a data-component="keyword" class="Keyword Keyword_variant_standard Keyword_title_wasteToEnergy ContentPreview-Category" data-discover="true" href="/waste-to-energy">Waste to Energy</a><div class="VerticalCard"><div class="VerticalCard-Body"><a class="VerticalCard-Title VerticalCard-Title_displayOption_default" data-testid="preview-default-title" style="margin-bottom:0" data-discover="true" href="/waste-to-energy/lincoln-ne-signs-contract-with-sparq-renewables-for-rng-facility">Lincoln, Neb. Signs Contract with Sparq Renewables for RNG Facility</a><a class="VerticalCard-Title VerticalCard-Title_displayOption_mobile" data-testid="preview-mobile-title" style="margin-bottom:0" data-discover="true" href="/waste-to-energy/lincoln-ne-signs-contract-with-sparq-renewables-for-rng-facility">Lincoln, Neb. Signs Contract with Sparq Renewables for RNG Facility</a></div><div class="VerticalCard-Footer"><span class="VerticalCard-Date" data-testid="vertical-card-date">Nov 21, 2024</span><div data-module="card-time" class="CardTime"><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>1 Min<!-- --> <!-- -->Read</span></div></div></div></div></div></div><div class="ContentPreview" data-module="content-preview" data-variant="card-vertical"><div class="ContentPreview-Wrapper ContentPreview-Wrapper_variant_cardVertical"><a data-testid="thumbnail" data-discover="true" href="/waste-to-energy/metgen-integration-with-newenergyblue-will-create-full-array-of-biochemicals-refined-from-agricultural-waste"><div class="ContentPreview-ImageContainer"><span data-testid="content-preview-screen-reader-text" class="ContentPreview-ImageScreenReaderText">thumbnail</span><img data-testid="content-preview-image" data-component="image" class="ContentPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt4a147f9e36f0754a/blt8727e43b5d281489/65552d3b0d9812040ab5df6d/Group_5574.svg?width=700&amp;auto=webp&amp;quality=80&amp;disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt4a147f9e36f0754a/blt8727e43b5d281489/65552d3b0d9812040ab5df6d/Group_5574.svg?width=700&amp;auto=webp&amp;quality=80&amp;disable=upscale" loading="lazy" alt="" title=""/></div></a><a data-component="keyword" class="Keyword Keyword_variant_standard Keyword_title_wasteToEnergy ContentPreview-Category" data-discover="true" href="/waste-to-energy">Waste to Energy</a><div class="VerticalCard"><div class="VerticalCard-Body"><a class="VerticalCard-Title VerticalCard-Title_displayOption_default" data-testid="preview-default-title" style="margin-bottom:0" data-discover="true" href="/waste-to-energy/metgen-integration-with-newenergyblue-will-create-full-array-of-biochemicals-refined-from-agricultural-waste">MetGen integration with NewEnergyBlue will create full array of biochemicals refined from agricultural waste</a><a class="VerticalCard-Title VerticalCard-Title_displayOption_mobile" data-testid="preview-mobile-title" style="margin-bottom:0" data-discover="true" href="/waste-to-energy/metgen-integration-with-newenergyblue-will-create-full-array-of-biochemicals-refined-from-agricultural-waste">MetGen integration with NewEnergyBlue will create full array of biochemicals refined from agricultural waste</a></div><div class="VerticalCard-Footer"><span class="VerticalCard-Date" data-testid="vertical-card-date">Nov 18, 2024</span><div data-module="card-time" class="CardTime"><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>3 Min<!-- --> <!-- -->Read</span></div></div></div></div></div></div></div></div></div></div></div></div></div><div class="MainMenu-MenuItemWrapper"><div class="MainMenu-MenuItem" role="menuitem" tabindex="0" data-testid="openSubMenu" aria-label="Open Sub menu of Fleets"><span class="MainMenu-MainTitle">Fleets<span data-component="icon" data-name="ChevronDown" class="MainMenu-SubMenuIcon" style="mask-image:url(/build/_assets/ChevronDown-Z5GRR2FF.svg);-webkit-mask-image:url(/build/_assets/ChevronDown-Z5GRR2FF.svg);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></span></div><div class="MainMenu-SubMenuWrapper"><div class="MainMenu-SubMenuContent"><div data-module="sub-menu" class="SubMenu MainMenu-SubMenu" role="presentation"><div class="SubMenu-Container"><div class="SubMenu-RelatedTopicsWrapper"><h4 class="SubMenu-RelatedTopics">Related Topics</h4><div class="SubMenu-CasualLinkWrapper" data-testid="related"><ul class="SubMenu-CasualLinkList"><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" data-discover="true" href="/fleet-technology/automation">Automation</a></li></ul><ul class="SubMenu-CasualLinkList"><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" data-discover="true" href="/fleet-technology/route-optimization">Route Optimization</a></li></ul></div></div><div class="SubMenu-RecentContentWrapper" data-testid="recent"><div class="SubMenu-RecentContentHeading"><h4 data-testid="recent-title" class="SubMenu-RecentText">Recent in <a class="SubMenu-RecentTopicTerm" data-discover="true" href="/fleet-technology">Fleets</a></h4><div data-testid="see-more" class="SubMenu-SeeMore"><a class="SubMenu-MoreContent" data-discover="true" href="/fleet-technology"><span class="SubMenu-SeeMoreText">See All</span><span data-component="icon" data-name="ChevronRight" class="SubMenu-SeeMoreIcon" style="mask-image:url(/build/_assets/ChevronRight-W5LPP5NG.svg);-webkit-mask-image:url(/build/_assets/ChevronRight-W5LPP5NG.svg);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></a></div></div><div class="SubMenu-ContentWrapper"><div class="ContentPreview" data-module="content-preview" data-variant="card-vertical"><div class="ContentPreview-Wrapper ContentPreview-Wrapper_variant_cardVertical"><a data-testid="thumbnail" data-discover="true" href="/fleet-technology/hyzon-completes-successful-trial-of-fuel-cell-refuse-truck-with-new-way-mt-diablo-resource-recovery"><div class="ContentPreview-ImageContainer"><span data-testid="content-preview-screen-reader-text" class="ContentPreview-ImageScreenReaderText">Hyzon, New Way Fuel Cell Powered Truck</span><img data-testid="content-preview-image" data-component="image" class="ContentPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt4a147f9e36f0754a/blta82d2795bbfaf66e/6736050ff50a046d3caebfd7/newwayfeat.png?width=700&amp;auto=webp&amp;quality=80&amp;disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt4a147f9e36f0754a/blta82d2795bbfaf66e/6736050ff50a046d3caebfd7/newwayfeat.png?width=700&amp;auto=webp&amp;quality=80&amp;disable=upscale" loading="lazy" alt="" title=""/></div></a><a data-component="keyword" class="Keyword Keyword_variant_standard Keyword_title_fleetTechnology ContentPreview-Category" data-discover="true" href="/fleet-technology">Fleet Technology</a><div class="VerticalCard"><div class="VerticalCard-Body"><a class="VerticalCard-Title VerticalCard-Title_displayOption_default" data-testid="preview-default-title" style="margin-bottom:0" data-discover="true" href="/fleet-technology/hyzon-completes-successful-trial-of-fuel-cell-refuse-truck-with-new-way-mt-diablo-resource-recovery">Hyzon Completes Successful Trial of Fuel Cell Refuse Truck with New Way, Mt. Diablo Resource Recovery</a><a class="VerticalCard-Title VerticalCard-Title_displayOption_mobile" data-testid="preview-mobile-title" style="margin-bottom:0" data-discover="true" href="/fleet-technology/hyzon-completes-successful-trial-of-fuel-cell-refuse-truck-with-new-way-mt-diablo-resource-recovery">Hyzon Completes Successful Trial of Fuel Cell Refuse Truck with New Way, Mt. Diablo Resource Recovery</a></div><div class="VerticalCard-Footer"><span class="VerticalCard-Date" data-testid="vertical-card-date">Nov 14, 2024</span><div data-module="card-time" class="CardTime"><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>3 Min<!-- --> <!-- -->Read</span></div></div></div></div></div></div><div class="ContentPreview" data-module="content-preview" data-variant="card-vertical"><div class="ContentPreview-Wrapper ContentPreview-Wrapper_variant_cardVertical"><a data-testid="thumbnail" data-discover="true" href="/fleet-technology/truckpay-announces-partnership-with-green-halo"><div class="ContentPreview-ImageContainer"><span data-testid="content-preview-screen-reader-text" class="ContentPreview-ImageScreenReaderText">thumbnail</span><img data-testid="content-preview-image" data-component="image" class="ContentPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt4a147f9e36f0754a/blt226f6b4f0c9040a1/651ff979c58f142b8831a4e0/partnershipfeat_1.png?width=700&amp;auto=webp&amp;quality=80&amp;disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt4a147f9e36f0754a/blt226f6b4f0c9040a1/651ff979c58f142b8831a4e0/partnershipfeat_1.png?width=700&amp;auto=webp&amp;quality=80&amp;disable=upscale" loading="lazy" alt="" title=""/></div></a><a data-component="keyword" class="Keyword Keyword_variant_standard Keyword_title_fleetTechnology ContentPreview-Category" data-discover="true" href="/fleet-technology">Fleet Technology</a><div class="VerticalCard"><div class="VerticalCard-Body"><a class="VerticalCard-Title VerticalCard-Title_displayOption_default" data-testid="preview-default-title" style="margin-bottom:0" data-discover="true" href="/fleet-technology/truckpay-announces-partnership-with-green-halo">TruckPay Announces Partnership with Green Halo</a><a class="VerticalCard-Title VerticalCard-Title_displayOption_mobile" data-testid="preview-mobile-title" style="margin-bottom:0" data-discover="true" href="/fleet-technology/truckpay-announces-partnership-with-green-halo">TruckPay Announces Partnership with Green Halo</a></div><div class="VerticalCard-Footer"><span class="VerticalCard-Date" data-testid="vertical-card-date">Nov 13, 2024</span><div data-module="card-time" class="CardTime"><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>2 Min<!-- --> <!-- -->Read</span></div></div></div></div></div></div></div></div></div></div></div></div></div><div class="MainMenu-MenuItemWrapper"><div class="MainMenu-MenuItem" role="menuitem" tabindex="0" data-testid="openSubMenu" aria-label="Open Sub menu of Landfill"><span class="MainMenu-MainTitle">Landfill<span data-component="icon" data-name="ChevronDown" class="MainMenu-SubMenuIcon" style="mask-image:url(/build/_assets/ChevronDown-Z5GRR2FF.svg);-webkit-mask-image:url(/build/_assets/ChevronDown-Z5GRR2FF.svg);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></span></div><div class="MainMenu-SubMenuWrapper"><div class="MainMenu-SubMenuContent"><div data-module="sub-menu" class="SubMenu MainMenu-SubMenu" role="presentation"><div class="SubMenu-Container"><div class="SubMenu-RelatedTopicsWrapper"><h4 class="SubMenu-RelatedTopics">Related Topics</h4><div class="SubMenu-CasualLinkWrapper" data-testid="related"><ul class="SubMenu-CasualLinkList"><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" data-discover="true" href="/landfill/design-construction">Design and Construction</a></li><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" data-discover="true" href="/landfill/equipment">Equipment</a></li></ul><ul class="SubMenu-CasualLinkList"><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" data-discover="true" href="/landfill/leachate">Leachate</a></li><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" data-discover="true" href="/landfill/nuisances">Nuisances</a></li></ul></div></div><div class="SubMenu-RecentContentWrapper" data-testid="recent"><div class="SubMenu-RecentContentHeading"><h4 data-testid="recent-title" class="SubMenu-RecentText">Recent in <a class="SubMenu-RecentTopicTerm" data-discover="true" href="/landfill">Landfill</a></h4><div data-testid="see-more" class="SubMenu-SeeMore"><a class="SubMenu-MoreContent" data-discover="true" href="/landfill"><span class="SubMenu-SeeMoreText">See All</span><span data-component="icon" data-name="ChevronRight" class="SubMenu-SeeMoreIcon" style="mask-image:url(/build/_assets/ChevronRight-W5LPP5NG.svg);-webkit-mask-image:url(/build/_assets/ChevronRight-W5LPP5NG.svg);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></a></div></div><div class="SubMenu-ContentWrapper"><div class="ContentPreview" data-module="content-preview" data-variant="card-vertical"><div class="ContentPreview-Wrapper ContentPreview-Wrapper_variant_cardVertical"><a data-testid="thumbnail" data-discover="true" href="/landfill/maui-secures-79-acres-for-wildfire-debris-landfill-expansion"><div class="ContentPreview-ImageContainer"><span data-testid="content-preview-screen-reader-text" class="ContentPreview-ImageScreenReaderText">thumbnail</span><img data-testid="content-preview-image" data-component="image" class="ContentPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt4a147f9e36f0754a/blt8727e43b5d281489/65552d3b0d9812040ab5df6d/Group_5574.svg?width=700&amp;auto=webp&amp;quality=80&amp;disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt4a147f9e36f0754a/blt8727e43b5d281489/65552d3b0d9812040ab5df6d/Group_5574.svg?width=700&amp;auto=webp&amp;quality=80&amp;disable=upscale" loading="lazy" alt="" title=""/></div></a><a data-component="keyword" class="Keyword Keyword_variant_standard Keyword_title_landfill ContentPreview-Category" data-discover="true" href="/landfill">Landfill</a><div class="VerticalCard"><div class="VerticalCard-Body"><a class="VerticalCard-Title VerticalCard-Title_displayOption_default" data-testid="preview-default-title" style="margin-bottom:0" data-discover="true" href="/landfill/maui-secures-79-acres-for-wildfire-debris-landfill-expansion">Maui Secures 79 Acres for Wildfire Debris, Landfill Expansion</a><a class="VerticalCard-Title VerticalCard-Title_displayOption_mobile" data-testid="preview-mobile-title" style="margin-bottom:0" data-discover="true" href="/landfill/maui-secures-79-acres-for-wildfire-debris-landfill-expansion">Maui Secures 79 Acres for Wildfire Debris, Landfill Expansion</a></div><div class="VerticalCard-Footer"><span class="VerticalCard-Date" data-testid="vertical-card-date">Nov 21, 2024</span><div data-module="card-time" class="CardTime"><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>1 Min<!-- --> <!-- -->Read</span></div></div></div></div></div></div><div class="ContentPreview" data-module="content-preview" data-variant="card-vertical"><div class="ContentPreview-Wrapper ContentPreview-Wrapper_variant_cardVertical"><a data-testid="thumbnail" data-discover="true" href="/landfill/vision-rng-waste-connections-collaborate-on-rng-plant-at-nebraska-landfill"><div class="ContentPreview-ImageContainer"><span data-testid="content-preview-screen-reader-text" class="ContentPreview-ImageScreenReaderText">thumbnail</span><img data-testid="content-preview-image" data-component="image" class="ContentPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt4a147f9e36f0754a/blt877adfe70160ac49/673e4f55c87f3d1fb39282d8/Untitled_design_(6).png?width=700&amp;auto=webp&amp;quality=80&amp;disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt4a147f9e36f0754a/blt877adfe70160ac49/673e4f55c87f3d1fb39282d8/Untitled_design_(6).png?width=700&amp;auto=webp&amp;quality=80&amp;disable=upscale" loading="lazy" alt="" title=""/></div></a><a data-component="keyword" class="Keyword Keyword_variant_standard Keyword_title_landfill ContentPreview-Category" data-discover="true" href="/landfill">Landfill</a><div class="VerticalCard"><div class="VerticalCard-Body"><a class="VerticalCard-Title VerticalCard-Title_displayOption_default" data-testid="preview-default-title" style="margin-bottom:0" data-discover="true" href="/landfill/vision-rng-waste-connections-collaborate-on-rng-plant-at-nebraska-landfill">Vision RNG, Waste Connections Collaborate on RNG Plant at Nebraska Landfill</a><a class="VerticalCard-Title VerticalCard-Title_displayOption_mobile" data-testid="preview-mobile-title" style="margin-bottom:0" data-discover="true" href="/landfill/vision-rng-waste-connections-collaborate-on-rng-plant-at-nebraska-landfill">Vision RNG, Waste Connections Collaborate on RNG Plant at Nebraska Landfill</a></div><div class="VerticalCard-Footer"><span class="VerticalCard-Date" data-testid="vertical-card-date">Nov 20, 2024</span><div data-module="card-time" class="CardTime"><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>1 Min<!-- --> <!-- -->Read</span></div></div></div></div></div></div></div></div></div></div></div></div></div><div class="MainMenu-MenuItemWrapper"><div class="MainMenu-MenuItem" role="menuitem" tabindex="0" data-testid="openSubMenu" aria-label="Open Sub menu of Organics"><span class="MainMenu-MainTitle">Organics<span data-component="icon" data-name="ChevronDown" class="MainMenu-SubMenuIcon" style="mask-image:url(/build/_assets/ChevronDown-Z5GRR2FF.svg);-webkit-mask-image:url(/build/_assets/ChevronDown-Z5GRR2FF.svg);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></span></div><div class="MainMenu-SubMenuWrapper"><div class="MainMenu-SubMenuContent"><div data-module="sub-menu" class="SubMenu MainMenu-SubMenu" role="presentation"><div class="SubMenu-Container"><div class="SubMenu-RelatedTopicsWrapper"><h4 class="SubMenu-RelatedTopics">Related Topics</h4><div class="SubMenu-CasualLinkWrapper" data-testid="related"><ul class="SubMenu-CasualLinkList"><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" data-discover="true" href="/organic-waste/anaerobic-digestion">Anaerobic Digestion</a></li><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" data-discover="true" href="/organic-waste/composting">Composting</a></li></ul><ul class="SubMenu-CasualLinkList"><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" data-discover="true" href="/organic-waste/food-waste">Food Waste</a></li><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" data-discover="true" href="/organic-waste/yard-waste">Yard Waste</a></li></ul></div></div><div class="SubMenu-RecentContentWrapper" data-testid="recent"><div class="SubMenu-RecentContentHeading"><h4 data-testid="recent-title" class="SubMenu-RecentText">Recent in <a class="SubMenu-RecentTopicTerm" data-discover="true" href="/organic-waste">Organics</a></h4><div data-testid="see-more" class="SubMenu-SeeMore"><a class="SubMenu-MoreContent" data-discover="true" href="/organic-waste"><span class="SubMenu-SeeMoreText">See All</span><span data-component="icon" data-name="ChevronRight" class="SubMenu-SeeMoreIcon" style="mask-image:url(/build/_assets/ChevronRight-W5LPP5NG.svg);-webkit-mask-image:url(/build/_assets/ChevronRight-W5LPP5NG.svg);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></a></div></div><div class="SubMenu-ContentWrapper"><div class="ContentPreview" data-module="content-preview" data-variant="card-vertical"><div class="ContentPreview-Wrapper ContentPreview-Wrapper_variant_cardVertical"><a data-testid="thumbnail" data-discover="true" href="/food-waste/food-cycle-science-and-waste-connections-team-up-with-canton-texas-to-combat-food-waste"><div class="ContentPreview-ImageContainer"><span data-testid="content-preview-screen-reader-text" class="ContentPreview-ImageScreenReaderText">thumbnail</span><img data-testid="content-preview-image" data-component="image" class="ContentPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt4a147f9e36f0754a/blt41e3910cbd1248d9/66a245e99576a3422f9ffbbb/partnershipfeat.png?width=700&amp;auto=webp&amp;quality=80&amp;disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt4a147f9e36f0754a/blt41e3910cbd1248d9/66a245e99576a3422f9ffbbb/partnershipfeat.png?width=700&amp;auto=webp&amp;quality=80&amp;disable=upscale" loading="lazy" alt="" title=""/></div></a><a data-component="keyword" class="Keyword Keyword_variant_standard Keyword_title_foodWaste ContentPreview-Category" data-discover="true" href="/organic-waste/food-waste">Food Waste</a><div class="VerticalCard"><div class="VerticalCard-Body"><a class="VerticalCard-Title VerticalCard-Title_displayOption_default" data-testid="preview-default-title" style="margin-bottom:0" data-discover="true" href="/food-waste/food-cycle-science-and-waste-connections-team-up-with-canton-texas-to-combat-food-waste">Food Cycle Science and Waste Connections Team Up with Canton, Texas to Combat Food Waste</a><a class="VerticalCard-Title VerticalCard-Title_displayOption_mobile" data-testid="preview-mobile-title" style="margin-bottom:0" data-discover="true" href="/food-waste/food-cycle-science-and-waste-connections-team-up-with-canton-texas-to-combat-food-waste">Food Cycle Science and Waste Connections Team Up with Canton, Texas to Combat Food Waste</a></div><div class="VerticalCard-Footer"><span class="VerticalCard-Date" data-testid="vertical-card-date">Nov 22, 2024</span><div data-module="card-time" class="CardTime"><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>2 Min<!-- --> <!-- -->Read</span></div></div></div></div></div></div><div class="ContentPreview" data-module="content-preview" data-variant="card-vertical"><div class="ContentPreview-Wrapper ContentPreview-Wrapper_variant_cardVertical"><a data-testid="thumbnail" data-discover="true" href="/organic-waste/how-california-jurisdictions-are-beefing-up-organics-diversion-compliance"><div class="ContentPreview-ImageContainer"><span data-testid="content-preview-screen-reader-text" class="ContentPreview-ImageScreenReaderText">thumbnail</span><img data-testid="content-preview-image" data-component="image" class="ContentPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt4a147f9e36f0754a/blt5dbf83491f85b9e7/673e9b5ff158f8a78f82d18a/Untitled_design_(7).png?width=700&amp;auto=webp&amp;quality=80&amp;disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt4a147f9e36f0754a/blt5dbf83491f85b9e7/673e9b5ff158f8a78f82d18a/Untitled_design_(7).png?width=700&amp;auto=webp&amp;quality=80&amp;disable=upscale" loading="lazy" alt="" title=""/></div></a><a data-component="keyword" class="Keyword Keyword_variant_standard Keyword_title_organicWaste ContentPreview-Category" data-discover="true" href="/organic-waste">Organic Waste</a><div class="VerticalCard"><div class="VerticalCard-Body"><a class="VerticalCard-Title VerticalCard-Title_displayOption_default" data-testid="preview-default-title" data-discover="true" href="/organic-waste/how-california-jurisdictions-are-beefing-up-organics-diversion-compliance">How California Jurisdictions are Beefing up Organics Diversion Compliance</a><a class="VerticalCard-Title VerticalCard-Title_displayOption_mobile" data-testid="preview-mobile-title" data-discover="true" href="/organic-waste/how-california-jurisdictions-are-beefing-up-organics-diversion-compliance">How California Jurisdictions are Beefing up Organics Diversion Compliance</a><div class="Contributors Contributors_variant_slimline VerticalCard-ContributorsWrapper" data-component="contributors"><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" data-discover="true" href="/author/arlene-karidis">Arlene Karidis</a></div></div></div><div class="VerticalCard-Footer"><span class="VerticalCard-Date" data-testid="vertical-card-date">Nov 20, 2024</span><div data-module="card-time" class="CardTime"><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>5 Min<!-- --> <!-- -->Read</span></div></div></div></div></div></div></div></div></div></div></div></div></div><div class="MainMenu-MenuItemWrapper"><div class="MainMenu-MenuItem" role="menuitem" tabindex="0" data-testid="openSubMenu" aria-label="Open Sub menu of Recycling"><span class="MainMenu-MainTitle">Recycling<span data-component="icon" data-name="ChevronDown" class="MainMenu-SubMenuIcon" style="mask-image:url(/build/_assets/ChevronDown-Z5GRR2FF.svg);-webkit-mask-image:url(/build/_assets/ChevronDown-Z5GRR2FF.svg);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></span></div><div class="MainMenu-SubMenuWrapper"><div class="MainMenu-SubMenuContent"><div data-module="sub-menu" class="SubMenu MainMenu-SubMenu" role="presentation"><div class="SubMenu-Container"><div class="SubMenu-RelatedTopicsWrapper"><h4 class="SubMenu-RelatedTopics">Related Topics</h4><div class="SubMenu-CasualLinkWrapper" data-testid="related"><ul class="SubMenu-CasualLinkList"><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" data-discover="true" href="/waste-recycling/e-waste">E-Waste</a></li><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" data-discover="true" href="/waste-recycling/glass">Glass</a></li><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" data-discover="true" href="/waste-recycling/metals">Metals</a></li><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" data-discover="true" href="/waste-recycling/paper">Paper</a></li><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" data-discover="true" href="/waste-recycling/plastics">Plastics</a></li><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" data-discover="true" href="/waste-recycling/aluminum">Aluminum</a></li></ul><ul class="SubMenu-CasualLinkList"><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" data-discover="true" href="/waste-recycling/cardboard">Cardboard</a></li><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" data-discover="true" href="/waste-recycling/wastewater">Wastewater</a></li><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" data-discover="true" href="/waste-recycling/textiles">Textiles</a></li><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" data-discover="true" href="/waste-recycling/cannabis">Cannabis</a></li><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" data-discover="true" href="/waste-recycling/source-separation">Source Separation</a></li></ul></div></div><div class="SubMenu-RecentContentWrapper" data-testid="recent"><div class="SubMenu-RecentContentHeading"><h4 data-testid="recent-title" class="SubMenu-RecentText">Recent in <a class="SubMenu-RecentTopicTerm" data-discover="true" href="/waste-recycling">Recycling</a></h4><div data-testid="see-more" class="SubMenu-SeeMore"><a class="SubMenu-MoreContent" data-discover="true" href="/waste-recycling"><span class="SubMenu-SeeMoreText">See All</span><span data-component="icon" data-name="ChevronRight" class="SubMenu-SeeMoreIcon" style="mask-image:url(/build/_assets/ChevronRight-W5LPP5NG.svg);-webkit-mask-image:url(/build/_assets/ChevronRight-W5LPP5NG.svg);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></a></div></div><div class="SubMenu-ContentWrapper"><div class="ContentPreview" data-module="content-preview" data-variant="card-vertical"><div class="ContentPreview-Wrapper ContentPreview-Wrapper_variant_cardVertical"><a data-testid="thumbnail" data-discover="true" href="/waste-recycling/nwra-pushes-for-transparency-in-labels-and-equitable-epr-legislation"><div class="ContentPreview-ImageContainer"><span data-testid="content-preview-screen-reader-text" class="ContentPreview-ImageScreenReaderText">NWRA New Logo</span><img data-testid="content-preview-image" data-component="image" class="ContentPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt4a147f9e36f0754a/blt73d0b7052333e5ee/6745cb8c9f50473693b0f99d/NWRA2024logo.png?width=700&amp;auto=webp&amp;quality=80&amp;disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt4a147f9e36f0754a/blt73d0b7052333e5ee/6745cb8c9f50473693b0f99d/NWRA2024logo.png?width=700&amp;auto=webp&amp;quality=80&amp;disable=upscale" loading="lazy" alt="" title=""/></div></a><a data-component="keyword" class="Keyword Keyword_variant_standard Keyword_title_wasteRecycling ContentPreview-Category" data-discover="true" href="/waste-recycling">Waste Recycling</a><div class="VerticalCard"><div class="VerticalCard-Body"><a class="VerticalCard-Title VerticalCard-Title_displayOption_default" data-testid="preview-default-title" style="margin-bottom:0" data-discover="true" href="/waste-recycling/nwra-pushes-for-transparency-in-labels-and-equitable-epr-legislation">NWRA Pushes for Transparency in Labels and Equitable EPR Legislation</a><a class="VerticalCard-Title VerticalCard-Title_displayOption_mobile" data-testid="preview-mobile-title" style="margin-bottom:0" data-discover="true" href="/waste-recycling/nwra-pushes-for-transparency-in-labels-and-equitable-epr-legislation">NWRA Pushes for Transparency in Labels and Equitable EPR Legislation</a></div><div class="VerticalCard-Footer"><span class="VerticalCard-Date" data-testid="vertical-card-date">Nov 26, 2024</span><div data-module="card-time" class="CardTime"><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>3 Min<!-- --> <!-- -->Read</span></div></div></div></div></div></div><div class="ContentPreview" data-module="content-preview" data-variant="card-vertical"><div class="ContentPreview-Wrapper ContentPreview-Wrapper_variant_cardVertical"><a data-testid="thumbnail" data-discover="true" href="/textiles/reju-joins-forces-with-nouvelles-fibres-textiles-to-create-a-circular-textile-ecosystem"><div class="ContentPreview-ImageContainer"><span data-testid="content-preview-screen-reader-text" class="ContentPreview-ImageScreenReaderText">thumbnail</span><img data-testid="content-preview-image" data-component="image" class="ContentPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt4a147f9e36f0754a/blte535a79e894d378d/651ff883372d3201b192105c/textile_20recycling_20MR1540.jpg?width=700&amp;auto=webp&amp;quality=80&amp;disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt4a147f9e36f0754a/blte535a79e894d378d/651ff883372d3201b192105c/textile_20recycling_20MR1540.jpg?width=700&amp;auto=webp&amp;quality=80&amp;disable=upscale" loading="lazy" alt="" title=""/></div></a><a data-component="keyword" class="Keyword Keyword_variant_standard Keyword_title_textiles ContentPreview-Category" data-discover="true" href="/waste-recycling/textiles">Textiles</a><div class="VerticalCard"><div class="VerticalCard-Body"><a class="VerticalCard-Title VerticalCard-Title_displayOption_default" data-testid="preview-default-title" style="margin-bottom:0" data-discover="true" href="/textiles/reju-joins-forces-with-nouvelles-fibres-textiles-to-create-a-circular-textile-ecosystem">Reju Joins Forces with Nouvelles Fibres Textiles to Create a Circular Textile Ecosystem</a><a class="VerticalCard-Title VerticalCard-Title_displayOption_mobile" data-testid="preview-mobile-title" style="margin-bottom:0" data-discover="true" href="/textiles/reju-joins-forces-with-nouvelles-fibres-textiles-to-create-a-circular-textile-ecosystem">Reju Joins Forces with Nouvelles Fibres Textiles to Create a Circular Textile Ecosystem</a></div><div class="VerticalCard-Footer"><span class="VerticalCard-Date" data-testid="vertical-card-date">Nov 26, 2024</span><div data-module="card-time" class="CardTime"><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>4 Min<!-- --> <!-- -->Read</span></div></div></div></div></div></div></div></div></div></div></div></div></div><div class="MainMenu-MenuItemWrapper"><div class="MainMenu-MenuItem" role="menuitem" tabindex="0" data-testid="openSubMenu" aria-label="Open Sub menu of Sustainability"><span class="MainMenu-MainTitle">Sustainability<span data-component="icon" data-name="ChevronDown" class="MainMenu-SubMenuIcon" style="mask-image:url(/build/_assets/ChevronDown-Z5GRR2FF.svg);-webkit-mask-image:url(/build/_assets/ChevronDown-Z5GRR2FF.svg);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></span></div><div class="MainMenu-SubMenuWrapper"><div class="MainMenu-SubMenuContent"><div data-module="sub-menu" class="SubMenu MainMenu-SubMenu" role="presentation"><div class="SubMenu-Container"><div class="SubMenu-RelatedTopicsWrapper"><h4 class="SubMenu-RelatedTopics">Related Topics</h4><div class="SubMenu-CasualLinkWrapper" data-testid="related"><ul class="SubMenu-CasualLinkList"><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" data-discover="true" href="/sustainability/emissions">Emissions</a></li></ul><ul class="SubMenu-CasualLinkList"><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" data-discover="true" href="/sustainability/pfas-pfoas">PFAS &amp; PFOAS</a></li></ul></div></div><div class="SubMenu-RecentContentWrapper" data-testid="recent"><div class="SubMenu-RecentContentHeading"><h4 data-testid="recent-title" class="SubMenu-RecentText">Recent in <a class="SubMenu-RecentTopicTerm" data-discover="true" href="/sustainability">Sustainability</a></h4><div data-testid="see-more" class="SubMenu-SeeMore"><a class="SubMenu-MoreContent" data-discover="true" href="/sustainability"><span class="SubMenu-SeeMoreText">See all</span><span data-component="icon" data-name="ChevronRight" class="SubMenu-SeeMoreIcon" style="mask-image:url(/build/_assets/ChevronRight-W5LPP5NG.svg);-webkit-mask-image:url(/build/_assets/ChevronRight-W5LPP5NG.svg);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></a></div></div><div class="SubMenu-ContentWrapper"><div class="ContentPreview" data-module="content-preview" data-variant="card-vertical"><div class="ContentPreview-Wrapper ContentPreview-Wrapper_variant_cardVertical"><a data-testid="thumbnail" data-discover="true" href="/textiles/reju-joins-forces-with-nouvelles-fibres-textiles-to-create-a-circular-textile-ecosystem"><div class="ContentPreview-ImageContainer"><span data-testid="content-preview-screen-reader-text" class="ContentPreview-ImageScreenReaderText">thumbnail</span><img data-testid="content-preview-image" data-component="image" class="ContentPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt4a147f9e36f0754a/blte535a79e894d378d/651ff883372d3201b192105c/textile_20recycling_20MR1540.jpg?width=700&amp;auto=webp&amp;quality=80&amp;disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt4a147f9e36f0754a/blte535a79e894d378d/651ff883372d3201b192105c/textile_20recycling_20MR1540.jpg?width=700&amp;auto=webp&amp;quality=80&amp;disable=upscale" loading="lazy" alt="" title=""/></div></a><a data-component="keyword" class="Keyword Keyword_variant_standard Keyword_title_textiles ContentPreview-Category" data-discover="true" href="/waste-recycling/textiles">Textiles</a><div class="VerticalCard"><div class="VerticalCard-Body"><a class="VerticalCard-Title VerticalCard-Title_displayOption_default" data-testid="preview-default-title" style="margin-bottom:0" data-discover="true" href="/textiles/reju-joins-forces-with-nouvelles-fibres-textiles-to-create-a-circular-textile-ecosystem">Reju Joins Forces with Nouvelles Fibres Textiles to Create a Circular Textile Ecosystem</a><a class="VerticalCard-Title VerticalCard-Title_displayOption_mobile" data-testid="preview-mobile-title" style="margin-bottom:0" data-discover="true" href="/textiles/reju-joins-forces-with-nouvelles-fibres-textiles-to-create-a-circular-textile-ecosystem">Reju Joins Forces with Nouvelles Fibres Textiles to Create a Circular Textile Ecosystem</a></div><div class="VerticalCard-Footer"><span class="VerticalCard-Date" data-testid="vertical-card-date">Nov 26, 2024</span><div data-module="card-time" class="CardTime"><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>4 Min<!-- --> <!-- -->Read</span></div></div></div></div></div></div><div class="ContentPreview" data-module="content-preview" data-variant="card-vertical"><div class="ContentPreview-Wrapper ContentPreview-Wrapper_variant_cardVertical"><a data-testid="thumbnail" data-discover="true" href="/industry-insights/generate-capital-raises-1-2-billion-to-propel-sustainable-infrastructure-projects"><div class="ContentPreview-ImageContainer"><span data-testid="content-preview-screen-reader-text" class="ContentPreview-ImageScreenReaderText">thumbnail</span><img data-testid="content-preview-image" data-component="image" class="ContentPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt4a147f9e36f0754a/blteefd72fdca229d79/67057cfe4eb16fa63d5618f8/money_2_MR1540.jpg?width=700&amp;auto=webp&amp;quality=80&amp;disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt4a147f9e36f0754a/blteefd72fdca229d79/67057cfe4eb16fa63d5618f8/money_2_MR1540.jpg?width=700&amp;auto=webp&amp;quality=80&amp;disable=upscale" loading="lazy" alt="" title=""/></div></a><a data-component="keyword" class="Keyword Keyword_variant_standard Keyword_title_industryInsights ContentPreview-Category" data-discover="true" href="/industry-insights">Industry Insights</a><div class="VerticalCard"><div class="VerticalCard-Body"><a class="VerticalCard-Title VerticalCard-Title_displayOption_default" data-testid="preview-default-title" style="margin-bottom:0" data-discover="true" href="/industry-insights/generate-capital-raises-1-2-billion-to-propel-sustainable-infrastructure-projects">Generate Capital Raises $1.2 Billion to Propel Sustainable Infrastructure Projects</a><a class="VerticalCard-Title VerticalCard-Title_displayOption_mobile" data-testid="preview-mobile-title" style="margin-bottom:0" data-discover="true" href="/industry-insights/generate-capital-raises-1-2-billion-to-propel-sustainable-infrastructure-projects">Generate Capital Raises $1.2 Billion to Propel Sustainable Infrastructure Projects</a></div><div class="VerticalCard-Footer"><span class="VerticalCard-Date" data-testid="vertical-card-date">Nov 21, 2024</span><div data-module="card-time" class="CardTime"><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>1 Min<!-- --> <!-- -->Read</span></div></div></div></div></div></div></div></div></div></div></div></div></div></div><div class="MainMenu-SearchButtonWrapper"><button data-testid="mainMenu-SearchButton" aria-label="Open Search" class="MainMenu-SearchButton"><span data-component="icon" data-name="Search" class="MainMenu-SearchButtonIcon" style="mask-image:url(/build/_assets/Search-W7JQC6FV.svg);-webkit-mask-image:url(/build/_assets/Search-W7JQC6FV.svg);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></button></div></div><div class="MainMenu-SearchWrapper"><div class="FullScreenBackground MainMenu-SearchBackground MainMenu-SearchBackground_withSearchBar"></div><button data-testid="mainMenu-SearchCloseButton" class="MainMenu-SearchCloseButton" aria-label="Close Search"><span data-component="icon" data-name="Close" class="MainMenu-SearchCloseIcon" style="mask-image:url(/build/_assets/Close-INMB7UB6.svg);-webkit-mask-image:url(/build/_assets/Close-INMB7UB6.svg);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></button></div></div></div></div></nav><section class="Layout-Section"><div id="iiris-identity" data-testid="iris-identity" configid="69f3f2cefc63fb87c034aca74b403dc0"></div><div data-template="article"><div class="TwoColumnLayout"><div id="portal-root"></div><div class="TwoColumnLayout-Head"><div class="ArticleBase-Header"><ul class="ArticleBase-Topics" data-testid="article-topics"><li class="ArticleBase-Topic"><a data-component="keyword" class="Keyword Keyword_variant_category Keyword_title_foodWaste" data-discover="true" href="/organic-waste/food-waste">Food Waste</a></li><li class="ArticleBase-Topic"><a data-component="keyword" class="Keyword Keyword_variant_category Keyword_title_organicWaste" data-discover="true" href="/organic-waste">Organic Waste</a></li></ul><div><h1 class="ArticleBase-HeaderTitle"><noscript><span class="ArticleBase-LargeTitle">How Dynamic Pricing Tech is Cutting Grocers’ Food Waste</span></noscript><span class="ArticleBase-DefaultTitle" data-testid="article-default-title">How Dynamic Pricing Tech is Cutting Grocers’ Food Waste</span></h1><p class="ArticleBase-HeaderSummary" data-testid="article-summary">Dynamic pricing software like Wasteless uses AI to reduce food waste and boost grocery profits by automatically adjusting prices for perishables as they approach expiration, encouraging earlier purchases with smaller markdowns. Since its launch in 2017, the technology has helped grocers reduce waste by up to 80%, save millions, and increase revenue, particularly benefiting meat, poultry, and fish sales, while addressing sustainability and market challenges.</p></div></div></div><div class="TwoColumnLayout-Content"><div class="TwoColumnLayout-Body"><div class="ArticleBase-Body" data-testid="article-base-body"><div class="ArticleBase-Contributors" data-testid="article-base-contributors"><div class="Contributors Contributors_variant_normal Contributors_hasAvatar" data-component="contributors"><div class="Contributors-AvatarWrapper"><a class="Contributors-AvatarLink" aria-label="Arlene Karidis" data-discover="true" href="/author/arlene-karidis"><img aria-hidden="true" data-testid="contributor-avatar" data-component="image" class="Contributors-Avatar" data-src="https://eu-images.contentstack.com/v3/assets/blt4a147f9e36f0754a/blt03c475d40ab16e78/66ab7b7c75e867d151d741bc/20240721_150521.jpg?width=100&amp;auto=webp&amp;quality=80&amp;disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt4a147f9e36f0754a/blt03c475d40ab16e78/66ab7b7c75e867d151d741bc/20240721_150521.jpg?width=100&amp;auto=webp&amp;quality=80&amp;disable=upscale" loading="lazy" alt="Picture of Arlene Karidis" title="Picture of Arlene Karidis"/></a></div><div class="Contributors-InfoWrapper"><a class="Contributors-ContributorName" data-testid="contributor-name" data-discover="true" href="/author/arlene-karidis">Arlene Karidis</a><span class="Contributors-ContributorTitle" data-testid="contributor-title">, <!-- -->Freelance writer</span><p class="Contributors-Date" data-testid="contributors-date">October 15, 2024</p></div></div><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_normal"><span data-component="icon" data-name="Clock" class="ArticleReadTime-Icon" style="mask-image:url(/build/_assets/Clock-7T3J7LBX.svg);-webkit-mask-image:url(/build/_assets/Clock-7T3J7LBX.svg);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span><span>5 Min<!-- --> <!-- -->Read</span></div></div><div class="ArticleBase-FeaturedImageWrapper" data-testid="featured-image"><div data-component="captioned-content" class="CaptionedContent"><div class="CaptionedContent-Content"><img data-component="image" class="ArticleBase-FeaturedImage" data-src="https://eu-images.contentstack.com/v3/assets/blt4a147f9e36f0754a/blt504d9ded2bf0c0bb/651ff88cac22389e4abffe20/grocery_20store_20waste_20MR1540.jpg?width=1280&amp;auto=webp&amp;quality=95&amp;format=jpg&amp;disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt4a147f9e36f0754a/blt504d9ded2bf0c0bb/651ff88cac22389e4abffe20/grocery_20store_20waste_20MR1540.jpg?width=1280&amp;auto=webp&amp;quality=95&amp;format=jpg&amp;disable=upscale" loading="eager" alt="food waste" title="food waste"/></div><div class="CaptionedContent-Caption" data-testid="captioned-content-caption"><span class="CaptionedContent-CreditTo">Jim West / Alamy Stock Photo</span></div></div></div><div class="SocialShare"></div><div class="ArticleBase-BodyContent ArticleBase-BodyContent_Article" data-testid="article-base-body-content"><div data-module="content" class="ContentModule-Wrapper"><p class="ContentParagraph ContentParagraph_align_left" data-testid="content-paragraph"><span class="ContentText ContentText_variant_bodyNormal" data-testid="content-text">U.S. grocers generated 4.99 million tons of surplus food in 2022, and nearly 35 percent of it was landfilled or incinerated, taking a toll on the environment and on retailers’ bottom line. Food lost at the store level is worth, on average, double the profits from food sales, reports ReFED.</span></p><p class="ContentParagraph ContentParagraph_align_left" data-testid="content-paragraph"><span class="ContentText ContentText_variant_bodyNormal" data-testid="content-text">But a process called dynamic pricing has potential to turn the tide. It’s a way to slash food waste and its associated costs by discounting items as they draw nearer to their expiration dates.</span></p><p class="ContentParagraph ContentParagraph_align_left" data-testid="content-paragraph"><span class="ContentText ContentText_variant_bodyNormal" data-testid="content-text">Software developer Wasteless offers an artificial intelligence-powered application to achieve those very goals. Its dynamic pricing software not only helps incentivize consumers to buy food that would otherwise become waste but does it in a way where retailers can make a profit.</span></p><p class="ContentParagraph ContentParagraph_align_left" data-testid="content-paragraph"><span class="ContentText ContentText_variant_bodyNormal" data-testid="content-text">The company’s markdown software leverages deep learning to determine what foods to discount, how much to discount them, and when to do it. The smart tech monitors and analyzes data such as how much stock is onboarded to shelves, when it was put out, and expiration dates. Items are automatically priced according to their freshness.  </span></p><p class="ContentParagraph ContentParagraph_align_left" data-testid="content-paragraph"><span class="ContentText ContentText_variant_bodyNormal" data-testid="content-text">“We learned that to sell to retailers you must touch their pockets. So, we are selling money and value. Along with those benefits come massive food waste reduction,” says Wasteless founder and CEO Oded Omer.</span></p><p class="ContentParagraph ContentParagraph_align_left" data-testid="content-paragraph"><span class="ContentText ContentText_variant_bodyNormal" data-testid="content-text">Launched in 2017, the company caters to 1,000 stores across 18 grocery chains in the U.S. and Europe. Customers realize at least 20 percent more revenue—sometimes up to 50 percent—leveraging this price optimization app.</span></p><p class="ContentParagraph ContentParagraph_align_left" data-testid="content-paragraph"><span class="ContentText ContentText_variant_bodyNormal" data-testid="content-text">The tool has been a game changer for grocers who historically took what Omer calls a reactive approach to food waste rather than a preventive one. They would wait until a day or two before meats, poultry, and other perishables reached their expiration dates, then aggressively discount them.</span></p><p class="ContentParagraph ContentParagraph_align_left" data-testid="content-paragraph"><span class="ContentText ContentText_variant_bodyNormal" data-testid="content-text">“We say do not wait until the last moment and knock down prices by 30 to 60 percent. Go with a much smaller discount earlier.  Then we look at the outcome to determine if the lesser markdown was enough to move the stock and sell items. If the item was not picked up the AI technology deepens the markdown,” Omer says.</span></p><p class="ContentParagraph ContentParagraph_align_left" data-testid="content-paragraph"><span class="ContentText ContentText_variant_bodyNormal" data-testid="content-text">In terms of dollars, some end users realize tens to hundreds of millions in savings, he says. At the same time, they typically cut their waste by 35 to 80 percent. That adds up, especially for large operations. He points to a 150-store chain that was able to prevent 2.2M pounds of meat from going to waste in one year.</span></p><p class="ContentParagraph ContentParagraph_align_left" data-testid="content-paragraph"><span class="ContentText ContentText_variant_bodyNormal" data-testid="content-text">The fresher the items the greater the savings. Meat, poultry, and fish are where customers see the highest impact.</span></p><p class="ContentParagraph ContentParagraph_align_left" data-testid="content-paragraph"><span class="ContentText ContentText_variant_bodyNormal" data-testid="content-text">Omer and co-founder Yossi Regev come from IT backgrounds, having developed dynamic pricing, big data, and IoT systems in past ventures. And they knew retail; they’d established three companies that focused on this sector.</span></p><p class="ContentParagraph ContentParagraph_align_left" data-testid="content-paragraph"><span class="ContentText ContentText_variant_bodyNormal" data-testid="content-text">They sold the last of the three operations, a retail analytics company, to drink and brew mega giant AB InBev for $80 million.  While their focus was not on salvaging food at the time, they were aware of the issues.</span></p><p class="ContentParagraph ContentParagraph_align_left" data-testid="content-paragraph"><span class="ContentText ContentText_variant_bodyNormal" data-testid="content-text">“We thought what if we could harness the power of dynamic pricing to reduce food waste? We could have massive impact!”</span></p><p class="ContentParagraph ContentParagraph_align_left" data-testid="content-paragraph"><span class="ContentText ContentText_variant_bodyNormal" data-testid="content-text">For a fleeting moment he wondered if he would have to be insane to start all over again from the ground up.</span></p><p class="ContentParagraph ContentParagraph_align_left" data-testid="content-paragraph"><span class="ContentText ContentText_variant_bodyNormal" data-testid="content-text">“But my career was inside startups where you wake up with an idea. You want to do something good that will bring meaningful change.</span></p><p class="ContentParagraph ContentParagraph_align_left" data-testid="content-paragraph"><span class="ContentText ContentText_variant_bodyNormal" data-testid="content-text">“So, I said we know retail. We know investors and have other connections. Let’s fight food waste.  That’s a good goal.”</span></p><p class="ContentParagraph ContentParagraph_align_left" data-testid="content-paragraph"><span class="ContentText ContentText_variant_bodyNormal" data-testid="content-text">In 2017, the year Omer and Regev launched Wasteless, they tested the American market but decided grocers there were not ready for what they had in mind. The entrepreneurs turned to Europe, establishing a subsidiary in the Netherlands where the industry was aware of and wanting to take on food waste. Today they work with what Omer calls four of Europe’s largest chains.</span></p><p class="ContentParagraph ContentParagraph_align_left" data-testid="content-paragraph"><span class="ContentText ContentText_variant_bodyNormal" data-testid="content-text">The partners gave the U.S. another shot in 2019 setting up a demonstration project in Manhattan. Retailers’ understanding has been growing around the potential to generate more revenue while reducing their waste, and the tech company has grown alongside this trend.</span></p><p class="ContentParagraph ContentParagraph_align_left" data-testid="content-paragraph"><span class="ContentText ContentText_variant_bodyNormal" data-testid="content-text">By now Wasteless has raised $15M, mainly through venture capital from U.S. and European firms. Some funds have come from innovation grants and some from industry-related investors, mostly meat manufacturers.</span></p><p class="ContentParagraph ContentParagraph_align_left" data-testid="content-paragraph"><span class="ContentText ContentText_variant_bodyNormal" data-testid="content-text">A few dynamics that present unique challenges to grocers drive the uptick in new technologies for this sector—especially as food companies are pressued to do their part to help slow climate change. What those dynamics boil down to is that grocers live in a constantly changing world.</span></p><p class="ContentParagraph ContentParagraph_align_left" data-testid="content-paragraph"><span class="ContentText ContentText_variant_bodyNormal" data-testid="content-text">There are supply chain fluctuations due to factors such as seasonal produce availability, weather conditions, and transportation delays. A sudden disruption in the delivery of fresh produce or other perishables can lead to a backup, then unexpected overstock, with waste happening when products expire before they are sold.</span></p><p class="ContentParagraph ContentParagraph_align_left" data-testid="content-paragraph"><span class="ContentText ContentText_variant_bodyNormal" data-testid="content-text">Adding to these complexities, consumer preferences can shift, sometimes quickly, due to trends, diet fads, or local events. Trying to stay on top of these fluctuations can take some guesswork. It can mean more waste when unexpected demand spikes are not properly anticipated.</span></p><p class="ContentParagraph ContentParagraph_align_left" data-testid="content-paragraph"><span class="ContentText ContentText_variant_bodyNormal" data-testid="content-text">Stores Consulting Group supports grocers in areas such as process improvement, shrink and profit recovery. The company brings Wasteless’ technology to its clients.</span></p><p class="ContentParagraph ContentParagraph_align_left" data-testid="content-paragraph"><span class="ContentText ContentText_variant_bodyNormal" data-testid="content-text">“[The tool has generated] huge returns on investment and the ability for targeted markdowns based on movement and ownership, versus the traditional way of static markdown percentages,” says Rick Marino, managing director, The Stores Consulting Group.</span></p><p class="ContentParagraph ContentParagraph_align_left" data-testid="content-paragraph"><span class="ContentText ContentText_variant_bodyNormal" data-testid="content-text">His clients</span><span class="ContentText ContentText_variant_bodyNormal" data-testid="content-text"><span class="ContentText-BodyTextChunk ContentText-BodyTextChunk_bold"> </span></span><span class="ContentText ContentText_variant_bodyNormal" data-testid="content-text">are losing one-third less in markdown costs; they are selling more and landfilling less while offering clients what they look for: good deals, he says.Says Omer: “It’s about empowering supermarket chains to operate more profitably and efficiently, reduce waste and ultimately create a more sustainable future for the industry.”</span></p></div></div><div class="ArticleBase-More" data-testid="article-base-more"><p class="ArticleBase-MoreTitle">Read more about:</p><a data-component="keyword" class="Keyword Keyword_variant_category-2 Keyword_title_foodWaste ArticleBase-Keywords" data-discover="true" href="/keyword/food-waste">Food Waste</a><a data-component="keyword" class="Keyword Keyword_variant_category-2 Keyword_title_technology ArticleBase-Keywords" data-discover="true" href="/keyword/technology">Technology</a><a data-component="keyword" class="Keyword Keyword_variant_category-2 Keyword_title_artificialIntelligence ArticleBase-Keywords" data-discover="true" href="/keyword/artificial-intelligence">Artificial Intelligence</a></div><div class="SocialShare"></div><div class="ArticleBase-ContributorsWrapper"><h2 class="ArticleBase-ContributorsTitle">About the Author</h2><div class="ArticleBase-ContributorsSummary"><div data-component="contributor-summary" class="ContributorSummary ContributorSummary_variant_author"><div class="ContributorSummary-ImageWrapper ContributorSummary-ImageWrapper_variant_author"><a data-testid="contributor-summary-img-link" data-discover="true" href="/author/arlene-karidis"><img data-component="image" class="ContributorSummary-Image ContributorSummary-Image_variant_author" data-src="https://eu-images.contentstack.com/v3/assets/blt4a147f9e36f0754a/blt03c475d40ab16e78/66ab7b7c75e867d151d741bc/20240721_150521.jpg?width=400&amp;auto=webp&amp;quality=80&amp;disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt4a147f9e36f0754a/blt03c475d40ab16e78/66ab7b7c75e867d151d741bc/20240721_150521.jpg?width=400&amp;auto=webp&amp;quality=80&amp;disable=upscale" loading="lazy" alt="Arlene Karidis" title="Arlene Karidis"/></a></div><div class="ContributorSummary-InfoWrapper ContributorSummary-InfoWrapper_variant_author"><div class="ContributorSummary-TitleWrapper"><a data-testid="contributor-summary-title-link" data-discover="true" href="/author/arlene-karidis"><p class="ContributorSummary-Title ContributorSummary-Title_variant_author" data-testid="contributor-summary-title">Arlene Karidis</p></a></div><div class="ContributorSummary-SubTitleWrapper ContributorSummary-SubTitleWrapper_variant_author"><p class="ContributorSummary-SubTitle ContributorSummary-SubTitle_variant_author" data-testid="contributor-summary-subtitle">Freelance writer, Waste360</p></div><div class="ContributorSummary-ContentWrapper ContributorSummary-ContentWrapper_variant_author"><div class="ContributorSummary-Content ContributorSummary-Content_variant_author" data-testid="contributor-summary-content"><p class="ContentParagraph ContentParagraph_align_left" data-testid="content-paragraph"><span class="ContentText ContentText_variant_bodyNoneStyle" data-testid="content-text">Arlene Karidis has 30 years’ cumulative experience reporting on health and environmental topics for B2B and consumer publications of a global, national and/or regional reach, including Waste360, Washington Post, The Atlantic, Huffington Post, Baltimore Sun and lifestyle and parenting magazines. In between her assignments, Arlene does yoga, Pilates, takes long walks, and works her body in other ways that won’t bang up her somewhat challenged knees; drinks wine;  hangs with her family and other good friends and on really slow weekends, entertains herself watching her cat get happy on catnip and play with new toys.</span></p></div></div></div><div class="ContributorSummary-SeeMore"><a data-component="button" class="Button Button_size_medium Button_variant_textLink" rel="" data-discover="true" href="/author/arlene-karidis"><span class="Button-ContentWrapper"><span class="ContributorSummary-SeeMoreText"><span>See more from <!-- -->Arlene Karidis</span><span data-component="icon" data-name="ChevronRight" class="ContributorSummary-SeeMoreIcon" style="mask-image:url(/build/_assets/ChevronRight-W5LPP5NG.svg);-webkit-mask-image:url(/build/_assets/ChevronRight-W5LPP5NG.svg);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></span></span></a></div></div></div></div><div data-module="newsletter-signup-promo"><div class="SubscribeBannerTopicPage SubscribeBannerTopicPage_mode_dark SubscribeBannerTopicPage_variant_vertical ArticleBase-Newsletter"><div class="SubscribeBannerTopicPage-Content"><div class="SubscribeBannerTopicPage-Title" data-testid="subscribeBannerTopicPage_title">Stay in the Know - Subscribe to Our Newsletters</div><div class="SubscribeBannerTopicPage-Message" data-testid="subscribeBannerTopicPage_message">Join a network of more than 90,000 waste and recycling industry professionals. Get the latest news and insights straight to your inbox. Free.</div><div class="SubscribeBannerTopicPage-Button" data-testid="subscribe-banner-topic-page-button"><button data-component="button" data-testid="bannerTopicPageNewsletterButton" class="Button Button_size_medium Button_variant_secondaryFilled" type="button"><span class="Button-ContentWrapper">Sign Me Up</span></button></div></div></div></div><p class="IirisRecommendation-Title">You May Also Like</p><hr class="IirisRecommendation-TitleHr"/><div bordercolor="#000000" borderRadius="1" brand_family="ic" cardwidth="210px" class="iris-recommend iris-recommend-non-sticky" columns="2" data-component="iris-recommendation" dateformat="Mmm DD, YYYY" datetimebgcolor="#0080A2" datetimefontcolor="#FFFFFF" datetimefontsize="12" division="im" dropShadow="#FFEB00" entity="content" entitytagbackground="#000000" entitytagbordercolor="#ffffff" entitytagfont="#ffffff" id="widget-1701812194901" imageHeight="182" imagePosition="vertical" imageWidth="324" recipe="related-items" redirectmode="same" rows="2" showborder="yes" showby="" showdate="yes" showentitytag="yes" showtime="" title="" widgetType="grid" brand="waste360" itemUrl="" style="max-width:1100px"></div><div><div class="ArticleBase-AdSponsored"></div></div></div></div><div class="TwoColumnLayout-Sidebar"><div class="Sidebar" data-module="sidebar"><div class="Sidebar-SidebarItem" data-testid="sidebar-item"><div class="IirisRecommend" data-module="iiris-recommend"><h3 class="IirisRecommend-Title">Recommended For You</h3><div authorstitleweight="600" borderRadius="1" brand_family="ic" brand="" by="category" cardwidth="144px" carouselid="iris-recommend" category="it-life" class="iris-recommend iris-recommend-non-sticky" columns="1" dateformat="Mmm DD, YYYY" datetimebgcolor="#0080A2" datetimefontcolor="#FFFFFF" datetimefontsize="12" division="im" entity="content" entitytagbackground="#000000" entitytagbordercolor="#ffffff" entitytagfont="#ffffff" id="widget-1701812194901" imagePosition="vertical" maxAge="12" placement="bottom" recipe="related-items" redirectMode="same" rows="4" showdate="yes" showentitytag="yes" title="" titleweight="600" widgetType="grid" tabindex="0" role="grid"></div></div></div><div class="Sidebar-SidebarItem" data-testid="sidebar-item"><div data-module="content-cards" class="ContentCards ContentCards_sidebar"><div class="ContentCards-CardsWrapper ContentCards-CardsWrapper_default"><div class="ContentCards-Header ContentCards-Header_default" data-testid="content-cards-header"><h3 class="ContentCards-Title" data-testid="contentCardsTitle">Top Stories</h3></div><div class="ContentCards-Content ContentCards-Content_default"><div class="ContentCards-ContentPreview ContentCards-ContentPreview_default" data-testid="content-preview-default"><div class="ContentPreview" data-module="content-preview" data-variant="card-horizontal"><div class="HorizontalCard"><div class="HorizontalCard-ImageWrapper"><a data-discover="true" href="/metals/advanced-recycling-technologies-announces-growth-investment-from-ember-infrastructure"><span class="HorizontalCard-ImageScreenReaderText"></span><img data-component="image" class="HorizontalCard-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt4a147f9e36f0754a/blt5fd7ec212ae16139/651ffa164837afc689faa896/metal_20scrap.jpg?width=300&amp;auto=webp&amp;quality=80&amp;disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt4a147f9e36f0754a/blt5fd7ec212ae16139/651ffa164837afc689faa896/metal_20scrap.jpg?width=300&amp;auto=webp&amp;quality=80&amp;disable=upscale" loading="lazy" alt="" title=""/></a></div><div class="HorizontalCard-ContentWrapper"><div class="HorizontalCard-KeywordWrapper"><a data-component="keyword" class="Keyword Keyword_variant_alternate Keyword_title_metals HorizontalCard-Keyword" data-discover="true" href="/waste-recycling/metals">Metals</a></div><div class="HorizontalCard-TitleWrapper"><a class="HorizontalCard-Title" data-testid="preview-default-title" data-discover="true" href="/metals/advanced-recycling-technologies-announces-growth-investment-from-ember-infrastructure">Advanced Recycling Technologies Announces Growth Investment from Ember Infrastructure</a></div><div class="HorizontalCard-MobileTitleWrapper"><a class="HorizontalCard-Title" data-testid="preview-mobile-title" data-discover="true" href="/metals/advanced-recycling-technologies-announces-growth-investment-from-ember-infrastructure">Advanced Recycling Technologies Announces Growth Investment from Ember Infrastructure</a></div><p class="HorizontalCard-Date" data-testid="horizontalCardDate">Nov 26, 2024</p></div></div></div></div><div class="ContentCards-ContentPreview ContentCards-ContentPreview_default" data-testid="content-preview-default"><div class="ContentPreview" data-module="content-preview" data-variant="card-horizontal"><div class="HorizontalCard"><div class="HorizontalCard-ImageWrapper"><a data-discover="true" href="/plastics/cyclyx-to-invest-in-second-cyclyx-circularity-center"><span class="HorizontalCard-ImageScreenReaderText"></span><img data-component="image" class="HorizontalCard-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt4a147f9e36f0754a/blt61a5d1840c616b56/651ffcc59cf1349bbf82942c/plastics11feat.png?width=300&amp;auto=webp&amp;quality=80&amp;disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt4a147f9e36f0754a/blt61a5d1840c616b56/651ffcc59cf1349bbf82942c/plastics11feat.png?width=300&amp;auto=webp&amp;quality=80&amp;disable=upscale" loading="lazy" alt="" title=""/></a></div><div class="HorizontalCard-ContentWrapper"><div class="HorizontalCard-KeywordWrapper"><a data-component="keyword" class="Keyword Keyword_variant_alternate Keyword_title_plastics HorizontalCard-Keyword" data-discover="true" href="/waste-recycling/plastics">Plastics</a></div><div class="HorizontalCard-TitleWrapper"><a class="HorizontalCard-Title" data-testid="preview-default-title" data-discover="true" href="/plastics/cyclyx-to-invest-in-second-cyclyx-circularity-center">Cyclyx to Invest in Second Cyclyx Circularity Center</a></div><div class="HorizontalCard-MobileTitleWrapper"><a class="HorizontalCard-Title" data-testid="preview-mobile-title" data-discover="true" href="/plastics/cyclyx-to-invest-in-second-cyclyx-circularity-center">Cyclyx to Invest in Second Cyclyx Circularity Center</a></div><p class="HorizontalCard-Date" data-testid="horizontalCardDate">Nov 26, 2024</p></div></div></div></div><div class="ContentCards-ContentPreview ContentCards-ContentPreview_default" data-testid="content-preview-default"><div class="ContentPreview" data-module="content-preview" data-variant="card-horizontal"><div class="HorizontalCard"><div class="HorizontalCard-ImageWrapper"><a data-discover="true" href="/food-waste/ospirg-offers-solutions-to-food-waste-ahead-of-thanksgiving"><span class="HorizontalCard-ImageScreenReaderText"></span><img data-component="image" class="HorizontalCard-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt4a147f9e36f0754a/blt5d22055ac467d181/6745d5571225142c15c8d9eb/thanksgiving_food_MR1540.jpg?width=300&amp;auto=webp&amp;quality=80&amp;disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt4a147f9e36f0754a/blt5d22055ac467d181/6745d5571225142c15c8d9eb/thanksgiving_food_MR1540.jpg?width=300&amp;auto=webp&amp;quality=80&amp;disable=upscale" loading="lazy" alt="" title=""/></a></div><div class="HorizontalCard-ContentWrapper"><div class="HorizontalCard-KeywordWrapper"><a data-component="keyword" class="Keyword Keyword_variant_alternate Keyword_title_foodWaste HorizontalCard-Keyword" data-discover="true" href="/organic-waste/food-waste">Food Waste</a></div><div class="HorizontalCard-TitleWrapper"><a class="HorizontalCard-Title" data-testid="preview-default-title" data-discover="true" href="/food-waste/ospirg-offers-solutions-to-food-waste-ahead-of-thanksgiving">OSPIRG Offers Solutions to Food Waste Ahead of Thanksgiving</a></div><div class="HorizontalCard-MobileTitleWrapper"><a class="HorizontalCard-Title" data-testid="preview-mobile-title" data-discover="true" href="/food-waste/ospirg-offers-solutions-to-food-waste-ahead-of-thanksgiving">OSPIRG Offers Solutions to Food Waste Ahead of Thanksgiving</a></div><p class="HorizontalCard-Date" data-testid="horizontalCardDate">Nov 26, 2024</p></div></div></div></div></div></div></div></div></div></div></div></div></div></section><footer data-module="footer" class="Footer"><div class="Footer-Background"></div><div data-testid="logo" class="Footer-LogoContainer Footer-LogoContainer_length_2"><a data-discover="true" href="/"><img title="Waste360 logo" data-component="image" class="Footer-LogoImage Footer-LogoImage_length_2" data-src="https://eu-images.contentstack.com/v3/assets/blt4a147f9e36f0754a/blt00e8d2b096d39b27/6509c4daca0ad54525c4615f/header.png?width=700&amp;auto=webp&amp;quality=80&amp;disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt4a147f9e36f0754a/blt00e8d2b096d39b27/6509c4daca0ad54525c4615f/header.png?width=700&amp;auto=webp&amp;quality=80&amp;disable=upscale" loading="lazy" alt="Waste360 logo"/></a></div><div data-testid="LinkSection" class="LinkSection LinkSection_length_2"><h5 class="LinkSection-Title" data-testid="link-section-title">Resources</h5><div class="LinkSection-LinksWrapper"><a class="LinkSection-Link" rel="noreferrer" data-discover="true" href="/advertise" target="_blank">Advertise</a><a class="LinkSection-Link" target="_blank" rel="noreferrer" href="https://engage-public.flywheelsites.com/terms-of-service/#ThirdPartyAdvertisingTech">Ad Choices</a></div></div><div data-testid="LinkSection" class="LinkSection LinkSection_length_2"><h5 class="LinkSection-Title" data-testid="link-section-title">Connect</h5><div class="LinkSection-LinksWrapper"><a class="LinkSection-Link" rel="noreferrer" data-discover="true" href="/about" target="_blank">About</a><a class="LinkSection-Link" rel="noreferrer" data-discover="true" href="/contact-us" target="_blank">Contact Us</a><a class="LinkSection-Link" rel="noreferrer" data-discover="true" href="/content-licensing-and-reprints" target="_blank">Content Licensing and Reprints</a></div></div><div data-testid="registration" class="Footer-RegistrationWrapper"><div class="RegistrationSection RegistrationSection_linkSectionLength_2"><h5 class="RegistrationSection-Title">Join Us</h5><div class="Layout-Register Layout-Register_variant_footer"></div><div class="Layout-NewsLetter Layout-NewsLetter_variant_footer"><div data-module="newsletter-signup-promo"><button data-component="button" data-testid="footerNewsletterButton" class="Button Button_size_medium Button_variant_primaryFilled" type="button"><span class="Button-ContentWrapper">Subscribe</span></button></div></div></div></div><div data-testid="social" class="SocialSection SocialSection_linkSectionLength_2"><h5 class="SocialSection-Title">Follow Us</h5><div data-component="social-share" class="SocialShare SocialShare_variant_layout"><a target="_blank" rel="noreferrer" aria-label="Facebook" href="https://www.facebook.com/WasteExpo/"><span class="SocialShare-IconWrapper SocialShare-IconWrapper_variant_layout"><span data-component="icon" data-name="Facebook" class="SocialShare-Icon SocialShare-Icon_variant_layout SocialShare-Icon_type_facebook" style="mask-image:url(/build/_assets/Facebook-RJUWWKYQ.svg);-webkit-mask-image:url(/build/_assets/Facebook-RJUWWKYQ.svg);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></span></a><a target="_blank" rel="noreferrer" aria-label="Twitter" href="https://twitter.com/Waste360"><span class="SocialShare-IconWrapper SocialShare-IconWrapper_variant_layout"><span data-component="icon" data-name="Twitter" class="SocialShare-Icon SocialShare-Icon_variant_layout SocialShare-Icon_type_twitter" style="mask-image:url(/build/_assets/Twitter-IDJ3OL2U.svg);-webkit-mask-image:url(/build/_assets/Twitter-IDJ3OL2U.svg);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></span></a><a target="_blank" rel="noreferrer" aria-label="Linkedin" href="https://www.linkedin.com/company/waste360/"><span class="SocialShare-IconWrapper SocialShare-IconWrapper_variant_layout"><span data-component="icon" data-name="Linkedin" class="SocialShare-Icon SocialShare-Icon_variant_layout SocialShare-Icon_type_linkedin" style="mask-image:url(/build/_assets/Linkedin-ETJB4UTB.svg);-webkit-mask-image:url(/build/_assets/Linkedin-ETJB4UTB.svg);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></span></a><a target="_blank" rel="noreferrer" aria-label="Youtube" href="https://www.youtube.com/channel/UC_L072N_d-bkq7RA3wGCUnQ"><span class="SocialShare-IconWrapper SocialShare-IconWrapper_variant_layout"><span data-component="icon" data-name="Youtube" class="SocialShare-Icon SocialShare-Icon_variant_layout SocialShare-Icon_type_youtube" style="mask-image:url(/build/_assets/Youtube-FHDA3BK4.svg);-webkit-mask-image:url(/build/_assets/Youtube-FHDA3BK4.svg);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></span></a></div></div><div class="CopyrightsSection"><div class="CopyrightsSection-Background"></div><div data-testid="copyrights" class="CopyrightsSection-Wrapper"><a data-testid="businessUnit" class="CopyrightsSection-BusinessLink" target="_blank" href="https://www.informamarkets.com/en/home.html"><img title="Informa Markets" data-component="image" class="CopyrightsSection-BusinessImage" data-src="https://eu-images.contentstack.com/v3/assets/blt4a147f9e36f0754a/blt458a644052a00e9e/653949671b3edf3f1cc16d92/Informa_Markets_logo_footer_white.svg?width=700&amp;auto=webp&amp;quality=80&amp;disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt4a147f9e36f0754a/blt458a644052a00e9e/653949671b3edf3f1cc16d92/Informa_Markets_logo_footer_white.svg?width=700&amp;auto=webp&amp;quality=80&amp;disable=upscale" loading="lazy" alt="Informa Markets"/></a><div class="CopyrightsSection-TextWrapper"><p data-testid="copyrightText" class="CopyrightsSection-Text"><span class="CopyrightsSection-TextBlock"></span>Copyright © 2024. All rights reserved. Informa Markets, a trading division of Informa PLC.</p><div data-testid="copyrightLinks" class="CopyrightsSection-LinksWrapper CopyrightsSection-LinksWrapper_hasLinks"><a class="CopyrightsSection-Link" rel="noreferrer" target="_blank" href="https://www.informamarkets.com/en/accessibility.html">Accessibility<span class="CopyrightsSection-LinkSeparator">|</span></a><a class="CopyrightsSection-Link" rel="noreferrer" target="_blank" href="https://www.informa.com/privacy-policy/">Privacy Policy<span class="CopyrightsSection-LinkSeparator">|</span></a><a class="CopyrightsSection-Link" rel="noreferrer" target="_blank" href="https://www.informamarkets.com/en/cookie-policy.html">Cookie Policy<span class="CopyrightsSection-LinkSeparator">|</span></a><a class="CopyrightsSection-Link" rel="noreferrer" target="_blank" href="https://www.informamarkets.com/en/terms-of-use.html">Terms of Use<span class="CopyrightsSection-LinkSeparator">|</span></a><a class="CopyrightsSection-Link" rel="noreferrer" target="_blank" href="https://www.informamarkets.com/en/visitor-terms-and-conditions.html">Visitor Terms and Conditions</a></div></div></div></div></footer></div></div><div id="script-list"></div></main><script>((STORAGE_KEY, restoreKey) => { if (!window.history.state || !window.history.state.key) { let key = Math.random().toString(32).slice(2); window.history.replaceState({ key }, ""); } try { let positions = JSON.parse(sessionStorage.getItem(STORAGE_KEY) || "{}"); let storedY = positions[restoreKey || window.history.state.key]; if (typeof storedY === "number") { window.scrollTo(0, storedY); } } catch (error) { console.error(error); sessionStorage.removeItem(STORAGE_KEY); } })("positions", null)</script><link rel="modulepreload" href="/build/manifest-A2F38A42.js"/><link rel="modulepreload" href="/build/entry.client-SFHSSSEN.js"/><link rel="modulepreload" href="/build/_shared/chunk-RVHE4U6B.js"/><link rel="modulepreload" href="/build/_shared/chunk-SJXV5VAW.js"/><link rel="modulepreload" href="/build/_shared/chunk-63EVRDSK.js"/><link rel="modulepreload" href="/build/_shared/chunk-ADMCF34Z.js"/><link rel="modulepreload" href="/build/_shared/chunk-QLNIWV7P.js"/><link rel="modulepreload" href="/build/_shared/chunk-VAILQJN5.js"/><link rel="modulepreload" href="/build/_shared/chunk-RZRUW7QG.js"/><link rel="modulepreload" href="/build/_shared/chunk-3MIG7PUI.js"/><link rel="modulepreload" href="/build/_shared/chunk-B7M2L5OV.js"/><link rel="modulepreload" href="/build/_shared/chunk-JWYSME77.js"/><link rel="modulepreload" href="/build/_shared/chunk-JRHR4PP4.js"/><link rel="modulepreload" href="/build/_shared/chunk-WTDTITBY.js"/><link rel="modulepreload" href="/build/_shared/chunk-VZQVWFLO.js"/><link rel="modulepreload" href="/build/_shared/chunk-4PCUPHYO.js"/><link rel="modulepreload" href="/build/_shared/chunk-JERMOH2I.js"/><link rel="modulepreload" href="/build/_shared/chunk-265XATAY.js"/><link rel="modulepreload" href="/build/_shared/chunk-5JUJG2OP.js"/><link rel="modulepreload" href="/build/_shared/chunk-BC6KZFPP.js"/><link rel="modulepreload" href="/build/_shared/chunk-QVUW3IXO.js"/><link rel="modulepreload" href="/build/_shared/chunk-ALTNKHHR.js"/><link rel="modulepreload" href="/build/_shared/chunk-HMGGHMSJ.js"/><link rel="modulepreload" href="/build/_shared/chunk-IW54JVOH.js"/><link rel="modulepreload" href="/build/root-TPDAOOC5.js"/><link rel="modulepreload" href="/build/_shared/chunk-BEXYKDRS.js"/><link rel="modulepreload" href="/build/_shared/chunk-ED7QE4BI.js"/><link rel="modulepreload" href="/build/_shared/chunk-JSR73AOE.js"/><link rel="modulepreload" href="/build/_shared/chunk-2GCGBGJC.js"/><link rel="modulepreload" href="/build/_shared/chunk-V2OXSPCY.js"/><link rel="modulepreload" href="/build/_shared/chunk-TMZP7SNL.js"/><link rel="modulepreload" href="/build/_shared/chunk-67BSXSX4.js"/><link rel="modulepreload" href="/build/_shared/chunk-AZ4H7HW6.js"/><link rel="modulepreload" href="/build/_shared/chunk-WJRCTNP6.js"/><link rel="modulepreload" href="/build/_shared/chunk-RF3GAYWA.js"/><link rel="modulepreload" href="/build/_shared/chunk-7IHSV4VV.js"/><link rel="modulepreload" href="/build/_shared/chunk-PLHCH5TH.js"/><link rel="modulepreload" href="/build/_shared/chunk-6GCYGCGB.js"/><link rel="modulepreload" href="/build/_shared/chunk-WGLVXOTX.js"/><link rel="modulepreload" href="/build/_shared/chunk-WXVEBWE3.js"/><link rel="modulepreload" href="/build/_shared/chunk-7WX3BG7O.js"/><link rel="modulepreload" href="/build/_shared/chunk-S6Q7UVRU.js"/><link rel="modulepreload" href="/build/_shared/chunk-2Q3IQPTU.js"/><link rel="modulepreload" href="/build/_shared/chunk-B765HE7O.js"/><link rel="modulepreload" href="/build/_shared/chunk-4DPVJM62.js"/><link rel="modulepreload" href="/build/_shared/chunk-PHSYQFSR.js"/><link rel="modulepreload" href="/build/_shared/chunk-GGO4FWBQ.js"/><link rel="modulepreload" href="/build/_shared/chunk-N3DN6AS5.js"/><link rel="modulepreload" href="/build/_shared/chunk-IJ353W5V.js"/><link rel="modulepreload" href="/build/_shared/chunk-C5UGRRW5.js"/><link rel="modulepreload" href="/build/_shared/chunk-KNORYGJC.js"/><link rel="modulepreload" href="/build/_shared/chunk-TDM4RAGW.js"/><link rel="modulepreload" href="/build/routes/$topic.$slug._index-J4IJ2FVO.js"/><script>window.__remixContext = {"future":{"v3_fetcherPersist":false,"v3_relativeSplatPath":false,"v3_throwAbortReason":false},"state":{"loaderData":{"root":{"brand":"waste360","authenticationStatus":"anonymous","siteName":"Waste360","ads":{"networkId":2441,"parentAdUnit":"waste360.home","enabledAds":"all","checkClientIP":false,"welcAdOff":true,"disableSponsorBar":true},"authConfig":{"enabled":true,"authenticationConfigId":"69f3f2cefc63fb87c034aca74b403dc0","standaloneRegistrationPage":true,"disableCaptcha":false},"isDctsTurnOn":false,"oneTrust":{"siteId":"864e30c1-0758-4541-9f4d-4b7459e07fc4"},"gtmIds":{"primary":"GTM-WH8BGZQ","secondary":"GTM-5XHZH4JZ"},"ui":{"brand":"waste360","theme":"theme2","font":{"primary":{"name":"Source Sans 3","url":"https://fonts.googleapis.com/css2?family=Source+Sans+3:ital,wght@0,400;0,600;0,700;1,400;1,600;1,700\u0026display=swap"},"secondary":{"name":"Source Sans 3","url":"https://fonts.googleapis.com/css2?family=Source+Sans+3:ital,wght@0,400;0,600;0,700;1,400;1,600;1,700\u0026display=swap"}}},"environment":"prod","featureToggles":{"elnNewsletter":true,"elnWithoutNewsletter":false,"iirisAuthentication":true,"subBrand":false,"useSettingsRedirectAPIVersion1":false,"gatingEnabled":false,"iirisRecommendationDisabled":false,"iasPetEnabled":false,"bridgedMediaEnabled":false,"ecommerceEnabled":true,"iirisRecommendationVer":"version4","weather3MonthForecastEnabled":false},"layout":{"socialLinks":[{"type":"Facebook","url":"https://www.facebook.com/WasteExpo/"},{"type":"Twitter","url":"https://twitter.com/Waste360"},{"type":"Linkedin","url":"https://www.linkedin.com/company/waste360/"},{"type":"Youtube","url":"https://www.youtube.com/channel/UC_L072N_d-bkq7RA3wGCUnQ"}],"informaBar":{"enabled":true,"leftSection":{"description":"Waste360 is part of the Informa Markets Division of Informa PLC","subMenu":[{"title":"Informa PLC","url":"http://informa.com/"},{"title":"ABOUT US","url":"https://informa.com/about-us/"},{"title":"INVESTOR RELATIONS","url":"http://informa.com/Investors/"},{"title":"TALENT","url":"http://informa.com/Talent/"}]},"rightSection":{"description":"This site is operated by a business or businesses owned by Informa PLC and all copyright resides with them. Informa PLC's registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. Number 8860726."}},"nav":{"mainMenuItems":[{"title":"Industry Insights","url":"/industry-insights","seeAllLink":"See All","seeAllLinkUrl":"/industry-insights","hasSubMenu":true,"subMenu":[{"title":"Waste Management Business","url":"/industry-insights/waste-management-business"},{"title":"Labor Force","url":"/industry-insights/labor-force"},{"title":"Waste Management Finance","url":"/industry-insights/waste-management-finance"},{"title":"Waste Legislation","url":"/industry-insights/waste-legislation"},{"title":"Mergers and Acquisitions","url":"/industry-insights/mergers-acquisitions"},{"title":"Product News","url":"/industry-insights/product-news"},{"title":"Commodities Pricing","url":"/industry-insights/commodities-pricing"}],"recentContents":[{"thumbnail":{"src":"https://eu-images.contentstack.com/v3/assets/blt4a147f9e36f0754a/blt197f6bf3543c0132/668d76deca9a046f121bf44a/contract_MR1540.jpg","alt":""},"articleName":"How Municipalities and Counties Chose Winning Waste Service Contracts","mobileHeadline":"How Municipalities and Counties Chose Winning Waste Service Contracts","articleSummary":"Municipalities face complex decisions when bidding for waste management services, balancing long-term stability with the risks of market fluctuations. Experts recommend clear service levels, well-defined financial terms, and flexibility in contracts, emphasizing the importance of aligning agreements and planning years ahead to ensure cost-efficiency and adaptability to changing conditions.","articleUrl":"/industry-insights/how-municipalities-and-counties-chose-winning-waste-service-contracts","listPageUrl":"","date":"Nov 26, 2024","webinarStartTime":"","categoryName":"Industry Insights","categoryUrl":"/industry-insights","contentType":"Article","contributors":[{"name":"Arlene Karidis","link":"/author/arlene-karidis","avatar":"https://eu-images.contentstack.com/v3/assets/blt4a147f9e36f0754a/blt03c475d40ab16e78/66ab7b7c75e867d151d741bc/20240721_150521.jpg"}],"timeRead":5,"variant":"card-vertical","layoutVariant":"vertical"},{"thumbnail":{"src":"https://eu-images.contentstack.com/v3/assets/blt4a147f9e36f0754a/blt36081704a00e3f99/651ff8d511d30c87577f9a7e/leadershipfeat.png","alt":""},"articleName":"Terex Names Jennifer Kong-Picarello Chief Financial Officer","mobileHeadline":"Terex Names Jennifer Kong-Picarello Chief Financial Officer","articleSummary":"","articleUrl":"/industry-insights/terex-names-jennifer-kong-picarello-chief-financial-officer","listPageUrl":"","date":"Nov 25, 2024","webinarStartTime":"","categoryName":"Industry Insights","categoryUrl":"/industry-insights","contentType":"Article","contributors":[],"timeRead":2,"variant":"card-vertical","layoutVariant":"vertical"}]},{"title":"Collection","url":"/waste-collection-transfer","seeAllLink":"See All","seeAllLinkUrl":"/waste-collection-transfer","hasSubMenu":true,"subMenu":[{"title":"Junk Haulers","url":"/waste-collection-transfer/junk-haulers"},{"title":"Hazardous Waste","url":"/waste-collection-transfer/hazardous-waste"},{"title":"Commercial Waste","url":"/waste-collection-transfer/commercial-waste"},{"title":"Construction Waste","url":"/waste-collection-transfer/construction-waste"},{"title":"Medical Waste","url":"/waste-collection-transfer/medical-waste"},{"title":"Residential Waste","url":"/waste-collection-transfer/residential-waste"},{"title":"Transfer Stations","url":"/waste-collection-transfer/transfer-stations"},{"title":"Waste Producers","url":"/waste-collection-transfer/waste-producers"},{"title":"Waste Reduction","url":"/waste-collection-transfer/waste-reduction"},{"title":"Smart Waste Technology","url":"/waste-collection-transfer/smart-waste-technology"}],"recentContents":[{"thumbnail":{"src":"https://eu-images.contentstack.com/v3/assets/blt4a147f9e36f0754a/blt747561af824fb734/6712619e72cf9736d919fb9e/hurricanefeat.png","alt":""},"articleName":"Waste Pro Assists Municipalities in Recovering from Hurricanes Helene and Milton","mobileHeadline":"Waste Pro Assists Municipalities in Recovering from Hurricanes Helene and Milton","articleSummary":"Waste Pro has been deeply involved in recovery efforts following Hurricanes Helene and Milton, providing crucial waste management services in Florida and Western North Carolina. Division managers Jennifer Herring and Daric Huntt share their experiences, detailing challenges like navigating hazardous roads, doubling trash volumes, and adapting operations to support municipalities with debris removal while facing ongoing cleanup and restoration needs.","articleUrl":"/waste-recycling/waste-pro-assists-municipalities-in-recovering-from-hurricanes-helene-and-milton","listPageUrl":"","date":"Oct 18, 2024","webinarStartTime":"","categoryName":"Waste Recycling","categoryUrl":"/waste-recycling","contentType":"Article","contributors":[{"name":"Arlene Karidis","link":"/author/arlene-karidis","avatar":"https://eu-images.contentstack.com/v3/assets/blt4a147f9e36f0754a/blt03c475d40ab16e78/66ab7b7c75e867d151d741bc/20240721_150521.jpg"}],"timeRead":6,"variant":"card-vertical","layoutVariant":"vertical"},{"thumbnail":{"src":"https://eu-images.contentstack.com/v3/assets/blt4a147f9e36f0754a/bltb83f0c5e8ff74ee9/66b0c8f0447e5b4784ccfa4c/ruthaford_county_MR1540.jpg","alt":""},"articleName":"Rutherford County, Tenn. Signs Contract with WM to Handle Waste at New Transfer Station","mobileHeadline":"Rutherford County, Tenn. Signs Contract with WM to Handle Waste at New Transfer Station","articleSummary":"Rutherford County, Tenn. has entered into a five-year contract with WM of Tennessee to transport and dispose of waste from the area’s future transfer station.","articleUrl":"/waste-collection-transfer/rutherford-county-tenn-signs-contract-with-wm-to-handle-waste-at-new-transfer-station","listPageUrl":"","date":"Aug 5, 2024","webinarStartTime":"","categoryName":"Waste Collection \u0026 Transfer","categoryUrl":"/waste-collection-transfer","contentType":"Article","contributors":[],"timeRead":1,"variant":"card-vertical","layoutVariant":"vertical"}]},{"title":"Energy","url":"/waste-to-energy","seeAllLink":"See All","seeAllLinkUrl":"/waste-to-energy","hasSubMenu":true,"subMenu":[{"title":"Gas-to-Energy","url":"/waste-to-energy/gas-to-energy"},{"title":"Solar","url":"/waste-to-energy/solar"},{"title":"Hydrogen","url":"/waste-to-energy/hydrogen"},{"title":"Biofuel","url":"/waste-to-energy/biofuel"}],"recentContents":[{"thumbnail":{"src":"https://eu-images.contentstack.com/v3/assets/blt4a147f9e36f0754a/bltb587e7ca13ba8ab1/673e428d6f38b3f21d75b155/renewable_natural_gas_MR1540.jpg","alt":""},"articleName":"Lincoln, Neb. Signs Contract with Sparq Renewables for RNG Facility","mobileHeadline":"Lincoln, Neb. Signs Contract with Sparq Renewables for RNG Facility","articleSummary":"Lincoln, Neb. has chosen a company to build and operate a biogas facility, turning the city’s landfill methane gas into renewable natural gas that can be sold.","articleUrl":"/waste-to-energy/lincoln-ne-signs-contract-with-sparq-renewables-for-rng-facility","listPageUrl":"","date":"Nov 21, 2024","webinarStartTime":"","categoryName":"Waste to Energy","categoryUrl":"/waste-to-energy","contentType":"Article","contributors":[],"timeRead":1,"variant":"card-vertical","layoutVariant":"vertical"},{"thumbnail":{"src":"https://eu-images.contentstack.com/v3/assets/blt4a147f9e36f0754a/blt8727e43b5d281489/65552d3b0d9812040ab5df6d/Group_5574.svg","alt":""},"articleName":"MetGen integration with NewEnergyBlue will create full array of biochemicals refined from agricultural waste","mobileHeadline":"MetGen integration with NewEnergyBlue will create full array of biochemicals refined from agricultural waste","articleSummary":"NewEnergyBlue, the clean-technology designer of biomass refineries that turn agricultural waste into highly decarbonized biofuels and biochemicals, and MetGen, the Finnish pioneer in advanced enzymes and lignin fractionization, today began integrating their renewable technologies and business units to vigorously compete with fossil-carbon products not just environmentally but economically.","articleUrl":"/waste-to-energy/metgen-integration-with-newenergyblue-will-create-full-array-of-biochemicals-refined-from-agricultural-waste","listPageUrl":"","date":"Nov 18, 2024","webinarStartTime":"","categoryName":"Waste to Energy","categoryUrl":"/waste-to-energy","contentType":"Article","contributors":[],"timeRead":3,"variant":"card-vertical","layoutVariant":"vertical"}]},{"title":"Fleets","url":"/fleet-technology","seeAllLink":"See All","seeAllLinkUrl":"/fleet-technology","hasSubMenu":true,"subMenu":[{"title":"Automation","url":"/fleet-technology/automation"},{"title":"Route Optimization","url":"/fleet-technology/route-optimization"}],"recentContents":[{"thumbnail":{"src":"https://eu-images.contentstack.com/v3/assets/blt4a147f9e36f0754a/blta82d2795bbfaf66e/6736050ff50a046d3caebfd7/newwayfeat.png","alt":"Hyzon, New Way Fuel Cell Powered Truck"},"articleName":"Hyzon Completes Successful Trial of Fuel Cell Refuse Truck with New Way, Mt. Diablo Resource Recovery","mobileHeadline":"Hyzon Completes Successful Trial of Fuel Cell Refuse Truck with New Way, Mt. Diablo Resource Recovery","articleSummary":"","articleUrl":"/fleet-technology/hyzon-completes-successful-trial-of-fuel-cell-refuse-truck-with-new-way-mt-diablo-resource-recovery","listPageUrl":"","date":"Nov 14, 2024","webinarStartTime":"","categoryName":"Fleet Technology","categoryUrl":"/fleet-technology","contentType":"Article","contributors":[],"timeRead":3,"variant":"card-vertical","layoutVariant":"vertical"},{"thumbnail":{"src":"https://eu-images.contentstack.com/v3/assets/blt4a147f9e36f0754a/blt226f6b4f0c9040a1/651ff979c58f142b8831a4e0/partnershipfeat_1.png","alt":""},"articleName":"TruckPay Announces Partnership with Green Halo","mobileHeadline":"TruckPay Announces Partnership with Green Halo","articleSummary":"","articleUrl":"/fleet-technology/truckpay-announces-partnership-with-green-halo","listPageUrl":"","date":"Nov 13, 2024","webinarStartTime":"","categoryName":"Fleet Technology","categoryUrl":"/fleet-technology","contentType":"Article","contributors":[],"timeRead":2,"variant":"card-vertical","layoutVariant":"vertical"}]},{"title":"Landfill","url":"/landfill","seeAllLink":"See All","seeAllLinkUrl":"/landfill","hasSubMenu":true,"subMenu":[{"title":"Design and Construction","url":"/landfill/design-construction"},{"title":"Equipment","url":"/landfill/equipment"},{"title":"Leachate","url":"/landfill/leachate"},{"title":"Nuisances","url":"/landfill/nuisances"}],"recentContents":[{"thumbnail":{"src":"https://eu-images.contentstack.com/v3/assets/blt4a147f9e36f0754a/blt8727e43b5d281489/65552d3b0d9812040ab5df6d/Group_5574.svg","alt":""},"articleName":"Maui Secures 79 Acres for Wildfire Debris, Landfill Expansion","mobileHeadline":"Maui Secures 79 Acres for Wildfire Debris, Landfill Expansion","articleSummary":"Central Maui will be getting a permanent disposal site for wildfire debris and a large landfill expansion following a purchase by the county.","articleUrl":"/landfill/maui-secures-79-acres-for-wildfire-debris-landfill-expansion","listPageUrl":"","date":"Nov 21, 2024","webinarStartTime":"","categoryName":"Landfill","categoryUrl":"/landfill","contentType":"Article","contributors":[],"timeRead":1,"variant":"card-vertical","layoutVariant":"vertical"},{"thumbnail":{"src":"https://eu-images.contentstack.com/v3/assets/blt4a147f9e36f0754a/blt877adfe70160ac49/673e4f55c87f3d1fb39282d8/Untitled_design_(6).png","alt":""},"articleName":"Vision RNG, Waste Connections Collaborate on RNG Plant at Nebraska Landfill","mobileHeadline":"Vision RNG, Waste Connections Collaborate on RNG Plant at Nebraska Landfill","articleSummary":"","articleUrl":"/landfill/vision-rng-waste-connections-collaborate-on-rng-plant-at-nebraska-landfill","listPageUrl":"","date":"Nov 20, 2024","webinarStartTime":"","categoryName":"Landfill","categoryUrl":"/landfill","contentType":"Article","contributors":[],"timeRead":1,"variant":"card-vertical","layoutVariant":"vertical"}]},{"title":"Organics","url":"/organic-waste","seeAllLink":"See All","seeAllLinkUrl":"/organic-waste","hasSubMenu":true,"subMenu":[{"title":"Anaerobic Digestion","url":"/organic-waste/anaerobic-digestion"},{"title":"Composting","url":"/organic-waste/composting"},{"title":"Food Waste","url":"/organic-waste/food-waste"},{"title":"Yard Waste","url":"/organic-waste/yard-waste"}],"recentContents":[{"thumbnail":{"src":"https://eu-images.contentstack.com/v3/assets/blt4a147f9e36f0754a/blt41e3910cbd1248d9/66a245e99576a3422f9ffbbb/partnershipfeat.png","alt":""},"articleName":"Food Cycle Science and Waste Connections Team Up with Canton, Texas to Combat Food Waste","mobileHeadline":"Food Cycle Science and Waste Connections Team Up with Canton, Texas to Combat Food Waste","articleSummary":"","articleUrl":"/food-waste/food-cycle-science-and-waste-connections-team-up-with-canton-texas-to-combat-food-waste","listPageUrl":"","date":"Nov 22, 2024","webinarStartTime":"","categoryName":"Food Waste","categoryUrl":"/organic-waste/food-waste","contentType":"Article","contributors":[],"timeRead":2,"variant":"card-vertical","layoutVariant":"vertical"},{"thumbnail":{"src":"https://eu-images.contentstack.com/v3/assets/blt4a147f9e36f0754a/blt5dbf83491f85b9e7/673e9b5ff158f8a78f82d18a/Untitled_design_(7).png","alt":""},"articleName":"How California Jurisdictions are Beefing up Organics Diversion Compliance","mobileHeadline":"How California Jurisdictions are Beefing up Organics Diversion Compliance","articleSummary":"California's SB 1383 mandates statewide residential organics recycling, requiring communities to separate food scraps and other organic waste, building on efforts already established in cities like Pasadena and San Francisco. While challenges remain for full compliance, such as resident education and enforcement, the law aims to reduce methane emissions significantly, with early successes including widespread program adoption and millions of meals redirected to feed people.","articleUrl":"/organic-waste/how-california-jurisdictions-are-beefing-up-organics-diversion-compliance","listPageUrl":"","date":"Nov 20, 2024","webinarStartTime":"","categoryName":"Organic Waste","categoryUrl":"/organic-waste","contentType":"Article","contributors":[{"name":"Arlene Karidis","link":"/author/arlene-karidis","avatar":"https://eu-images.contentstack.com/v3/assets/blt4a147f9e36f0754a/blt03c475d40ab16e78/66ab7b7c75e867d151d741bc/20240721_150521.jpg"}],"timeRead":5,"variant":"card-vertical","layoutVariant":"vertical"}]},{"title":"Recycling","url":"/waste-recycling","seeAllLink":"See All","seeAllLinkUrl":"/waste-recycling","hasSubMenu":true,"subMenu":[{"title":"E-Waste","url":"/waste-recycling/e-waste"},{"title":"Glass","url":"/waste-recycling/glass"},{"title":"Metals","url":"/waste-recycling/metals"},{"title":"Paper","url":"/waste-recycling/paper"},{"title":"Plastics","url":"/waste-recycling/plastics"},{"title":"Aluminum","url":"/waste-recycling/aluminum"},{"title":"Cardboard","url":"/waste-recycling/cardboard"},{"title":"Wastewater","url":"/waste-recycling/wastewater"},{"title":"Textiles","url":"/waste-recycling/textiles"},{"title":"Cannabis","url":"/waste-recycling/cannabis"},{"title":"Source Separation","url":"/waste-recycling/source-separation"}],"recentContents":[{"thumbnail":{"src":"https://eu-images.contentstack.com/v3/assets/blt4a147f9e36f0754a/blt73d0b7052333e5ee/6745cb8c9f50473693b0f99d/NWRA2024logo.png","alt":"NWRA New Logo"},"articleName":"NWRA Pushes for Transparency in Labels and Equitable EPR Legislation","mobileHeadline":"NWRA Pushes for Transparency in Labels and Equitable EPR Legislation","articleSummary":"","articleUrl":"/waste-recycling/nwra-pushes-for-transparency-in-labels-and-equitable-epr-legislation","listPageUrl":"","date":"Nov 26, 2024","webinarStartTime":"","categoryName":"Waste Recycling","categoryUrl":"/waste-recycling","contentType":"Article","contributors":[],"timeRead":3,"variant":"card-vertical","layoutVariant":"vertical"},{"thumbnail":{"src":"https://eu-images.contentstack.com/v3/assets/blt4a147f9e36f0754a/blte535a79e894d378d/651ff883372d3201b192105c/textile_20recycling_20MR1540.jpg","alt":""},"articleName":"Reju Joins Forces with Nouvelles Fibres Textiles to Create a Circular Textile Ecosystem","mobileHeadline":"Reju Joins Forces with Nouvelles Fibres Textiles to Create a Circular Textile Ecosystem","articleSummary":"","articleUrl":"/textiles/reju-joins-forces-with-nouvelles-fibres-textiles-to-create-a-circular-textile-ecosystem","listPageUrl":"","date":"Nov 26, 2024","webinarStartTime":"","categoryName":"Textiles","categoryUrl":"/waste-recycling/textiles","contentType":"Article","contributors":[],"timeRead":4,"variant":"card-vertical","layoutVariant":"vertical"}]},{"title":"Sustainability","url":"/sustainability","seeAllLink":"See all","seeAllLinkUrl":"/sustainability","hasSubMenu":true,"subMenu":[{"title":"Emissions","url":"/sustainability/emissions"},{"title":"PFAS \u0026 PFOAS","url":"/sustainability/pfas-pfoas"}],"recentContents":[{"thumbnail":{"src":"https://eu-images.contentstack.com/v3/assets/blt4a147f9e36f0754a/blte535a79e894d378d/651ff883372d3201b192105c/textile_20recycling_20MR1540.jpg","alt":""},"articleName":"Reju Joins Forces with Nouvelles Fibres Textiles to Create a Circular Textile Ecosystem","mobileHeadline":"Reju Joins Forces with Nouvelles Fibres Textiles to Create a Circular Textile Ecosystem","articleSummary":"","articleUrl":"/textiles/reju-joins-forces-with-nouvelles-fibres-textiles-to-create-a-circular-textile-ecosystem","listPageUrl":"","date":"Nov 26, 2024","webinarStartTime":"","categoryName":"Textiles","categoryUrl":"/waste-recycling/textiles","contentType":"Article","contributors":[],"timeRead":4,"variant":"card-vertical","layoutVariant":"vertical"},{"thumbnail":{"src":"https://eu-images.contentstack.com/v3/assets/blt4a147f9e36f0754a/blteefd72fdca229d79/67057cfe4eb16fa63d5618f8/money_2_MR1540.jpg","alt":""},"articleName":"Generate Capital Raises $1.2 Billion to Propel Sustainable Infrastructure Projects","mobileHeadline":"Generate Capital Raises $1.2 Billion to Propel Sustainable Infrastructure Projects","articleSummary":"","articleUrl":"/industry-insights/generate-capital-raises-1-2-billion-to-propel-sustainable-infrastructure-projects","listPageUrl":"","date":"Nov 21, 2024","webinarStartTime":"","categoryName":"Industry Insights","categoryUrl":"/industry-insights","contentType":"Article","contributors":[],"timeRead":1,"variant":"card-vertical","layoutVariant":"vertical"}]}],"secondaryMenu":[{"title":"Waste360 In Session","url":"/series/in-session"},{"title":"WasteExpo","url":"https://www.wasteexpo.com/en/home.html"},{"title":"WWETT Show","url":"https://www.wwettshow.com/en/show-info.html"}]},"megaMenu":{"largeMenu":[{"title":"Industry Insights","url":"/industry-insights","subMenu":[{"title":"Waste Management Business","url":"/industry-insights/waste-management-business"},{"title":"Labor Force","url":"/industry-insights/labor-force"},{"title":"Waste Management Finance","url":"/industry-insights/waste-management-finance"},{"title":"Waste Legislation","url":"/industry-insights/waste-legislation"},{"title":"Mergers and Acquisitions","url":"/industry-insights/mergers-acquisitions"},{"title":"Product News","url":"/industry-insights/product-news"},{"title":"Commodities Pricing","url":"/industry-insights/commodities-pricing"}],"seeAllLink":"See All","seeAllLinkUrl":"/industry-insights"},{"title":"Collection","url":"/waste-collection-transfer","subMenu":[{"title":"Junk Haulers","url":"/waste-collection-transfer/junk-haulers"},{"title":"Hazardous Waste","url":"/waste-collection-transfer/hazardous-waste"},{"title":"Commercial Waste","url":"/waste-collection-transfer/commercial-waste"},{"title":"Construction Waste","url":"/waste-collection-transfer/construction-waste"},{"title":"Medical Waste","url":"/waste-collection-transfer/medical-waste"},{"title":"Residential Waste","url":"/waste-collection-transfer/residential-waste"},{"title":"Transfer Stations","url":"/waste-collection-transfer/transfer-stations"},{"title":"Waste Producers","url":"/waste-collection-transfer/waste-producers"},{"title":"Waste Reduction","url":"/waste-collection-transfer/waste-reduction"},{"title":"Smart Waste Technology","url":"/waste-collection-transfer/smart-waste-technology"}],"seeAllLink":"See All","seeAllLinkUrl":"/waste-collection-transfer"},{"title":"Energy","url":"/waste-to-energy","subMenu":[{"title":"Gas-to-Energy","url":"/waste-to-energy/gas-to-energy"},{"title":"Solar","url":"/waste-to-energy/solar"},{"title":"Hydrogen","url":"/waste-to-energy/hydrogen"},{"title":"Biofuel","url":"/waste-to-energy/biofuel"}],"seeAllLink":"See All","seeAllLinkUrl":"/waste-to-energy"},{"title":"Fleets","url":"/fleet-technology","subMenu":[{"title":"Automation","url":"/fleet-technology/automation"},{"title":"Route Optimization","url":"/fleet-technology/route-optimization"}],"seeAllLink":"See All","seeAllLinkUrl":"/fleet-technology"},{"title":"Landfill","url":"/landfill","subMenu":[{"title":"Design and Construction","url":"/landfill/design-construction"},{"title":"Equipment","url":"/landfill/equipment"},{"title":"Leachate","url":"/landfill/leachate"},{"title":"Nuisances","url":"/landfill/nuisances"}],"seeAllLink":"See All","seeAllLinkUrl":"/landfill"},{"title":"Organics","url":"/organic-waste","subMenu":[{"title":"Anaerobic Digestion","url":"/organic-waste/anaerobic-digestion"},{"title":"Composting","url":"/organic-waste/composting"},{"title":"Food Waste","url":"/organic-waste/food-waste"},{"title":"Yard Waste","url":"/organic-waste/yard-waste"}],"seeAllLink":"See All","seeAllLinkUrl":"/organic-waste"},{"title":"Recycling","url":"/waste-recycling","subMenu":[{"title":"E-Waste","url":"/waste-recycling/e-waste"},{"title":"Glass","url":"/waste-recycling/glass"},{"title":"Metals","url":"/waste-recycling/metals"},{"title":"Paper","url":"/waste-recycling/paper"},{"title":"Plastics","url":"/waste-recycling/plastics"},{"title":"Aluminum","url":"/waste-recycling/aluminum"},{"title":"Cardboard","url":"/waste-recycling/cardboard"},{"title":"Wastewater","url":"/waste-recycling/wastewater"},{"title":"Textiles","url":"/waste-recycling/textiles"},{"title":"Cannabis","url":"/waste-recycling/cannabis"},{"title":"Source Separation","url":"/waste-recycling/source-separation"}],"seeAllLink":"See All","seeAllLinkUrl":"/waste-recycling"},{"title":"Sustainability","url":"/sustainability","subMenu":[{"title":"Emissions","url":"/sustainability/emissions"},{"title":"PFAS \u0026 PFOAS","url":"/sustainability/pfas-pfoas"}],"seeAllLink":"See all","seeAllLinkUrl":"/sustainability"}],"smallMenu":[{"title":"Resources","url":"","subMenu":[{"title":"Coffee Talks","url":"https://www.waste360.com/keyword/coffee-talks"},{"title":"Waste World Podcast","url":"https://www.waste360.com/keyword/waste-world"},{"title":"Webinars","url":"/series/waste360-webinars"},{"title":"White Papers","url":"/documents"},{"title":"Stef Talks Trash","url":"/series/stef-talks-trash"},{"title":"Sustainability Talks","url":"/series/sustainability-talks"}]}],"sideNavSections":[]},"navBase":{"logo":{"url":"https://eu-images.contentstack.com/v3/assets/blt4a147f9e36f0754a/bltcfcab7ea2647893c/65831f7be6602b040a7a3cad/Waste260_-_Logo.svg","altText":"Waste 360"}},"footer":{"logo":{"url":"https://eu-images.contentstack.com/v3/assets/blt4a147f9e36f0754a/blt00e8d2b096d39b27/6509c4daca0ad54525c4615f/header.png","altText":"Waste360 logo"},"linkSections":[{"links":[{"image":{"altText":"","url":"https://eu-images.contentstack.com/v3/assets/blt4a147f9e36f0754a/bltd1a91033d27e155f/656dd4d88406ea040ae70cec/copyright.jpg"},"openInNewTab":true,"title":"Advertise","url":"/advertise"},{"image":{"altText":"","url":"https://eu-images.contentstack.com/v3/assets/blt4a147f9e36f0754a/bltd1a91033d27e155f/656dd4d88406ea040ae70cec/copyright.jpg"},"openInNewTab":true,"title":"Ad Choices","url":"https://engage-public.flywheelsites.com/terms-of-service/#ThirdPartyAdvertisingTech"}],"title":"Resources","type":"1"},{"links":[{"image":{"altText":"","url":"https://eu-images.contentstack.com/v3/assets/blt4a147f9e36f0754a/bltd1a91033d27e155f/656dd4d88406ea040ae70cec/copyright.jpg"},"openInNewTab":true,"title":"About","url":"/about"},{"image":{"altText":"","url":"https://eu-images.contentstack.com/v3/assets/blt4a147f9e36f0754a/bltd1a91033d27e155f/656dd4d88406ea040ae70cec/copyright.jpg"},"openInNewTab":true,"title":"Contact Us","url":"/contact-us"},{"image":{"altText":"","url":"https://eu-images.contentstack.com/v3/assets/blt4a147f9e36f0754a/bltd1a91033d27e155f/656dd4d88406ea040ae70cec/copyright.jpg"},"openInNewTab":true,"title":"Content Licensing and Reprints","url":"/content-licensing-and-reprints"}],"title":"Connect","type":"1"}],"brandLinks":[],"copyright":{"businessUnit":{"url":"https://www.informamarkets.com/en/home.html","name":"Informa Markets","logoUrl":"https://eu-images.contentstack.com/v3/assets/blt4a147f9e36f0754a/blt458a644052a00e9e/653949671b3edf3f1cc16d92/Informa_Markets_logo_footer_white.svg"},"links":[{"image":{"altText":"Accessibility","url":"https://www.informamarkets.com/en/accessibility.html"},"openInNewTab":true,"title":"Accessibility","url":"https://www.informamarkets.com/en/accessibility.html"},{"image":{"altText":"Privacy Policy","url":"https://www.informa.com/privacy-policy/"},"openInNewTab":true,"title":"Privacy Policy","url":"https://www.informa.com/privacy-policy/"},{"image":{"altText":"Cookie Policy","url":"https://www.informamarkets.com/en/cookie-policy.html"},"openInNewTab":true,"title":"Cookie Policy","url":"https://www.informamarkets.com/en/cookie-policy.html"},{"image":{"altText":"Terms of Use","url":"https://www.informamarkets.com/en/terms-of-use.html"},"openInNewTab":true,"title":"Terms of Use","url":"https://www.informamarkets.com/en/terms-of-use.html"},{"image":{"altText":"Visitor Terms and Conditions","url":"https://www.informamarkets.com/en/visitor-terms-and-conditions.html"},"openInNewTab":true,"title":"Visitor Terms and Conditions","url":"https://www.informamarkets.com/en/visitor-terms-and-conditions.html"}],"title":". All rights reserved. Informa Markets, a trading division of Informa PLC."}},"isSponsorBarEnabled":true,"isPaidContent":false},"newRelicJs":"window.NREUM||(NREUM={});NREUM.init={distributed_tracing:{enabled:true},privacy:{cookies_enabled:true},ajax:{deny_list:[\"bam.eu01.nr-data.net\"]}};\n\n;NREUM.loader_config={accountID:\"3936348\",trustKey:\"3288925\",agentID:\"538600227\",licenseKey:\"NRJS-26ae6a3b09493bbcc87\",applicationID:\"538600227\"};\n;NREUM.info={beacon:\"bam.eu01.nr-data.net\",errorBeacon:\"bam.eu01.nr-data.net\",licenseKey:\"NRJS-26ae6a3b09493bbcc87\",applicationID:\"538600227\",sa:1};\n;/*! For license information please see nr-loader-spa-1.274.0.min.js.LICENSE.txt */\n(()=\u003e{var e,t,r={8122:(e,t,r)=\u003e{\"use strict\";r.d(t,{a:()=\u003ei});var n=r(944);function i(e,t){try{if(!e||\"object\"!=typeof e)return(0,n.R)(3);if(!t||\"object\"!=typeof t)return(0,n.R)(4);const r=Object.create(Object.getPrototypeOf(t),Object.getOwnPropertyDescriptors(t)),o=0===Object.keys(r).length?e:r;for(let a in o)if(void 0!==e[a])try{if(null===e[a]){r[a]=null;continue}Array.isArray(e[a])\u0026\u0026Array.isArray(t[a])?r[a]=Array.from(new Set([...e[a],...t[a]])):\"object\"==typeof e[a]\u0026\u0026\"object\"==typeof t[a]?r[a]=i(e[a],t[a]):r[a]=e[a]}catch(e){(0,n.R)(1,e)}return r}catch(e){(0,n.R)(2,e)}}},2555:(e,t,r)=\u003e{\"use strict\";r.d(t,{Vp:()=\u003ec,fn:()=\u003es,x1:()=\u003eu});var n=r(384),i=r(8122);const o={beacon:n.NT.beacon,errorBeacon:n.NT.errorBeacon,licenseKey:void 0,applicationID:void 0,sa:void 0,queueTime:void 0,applicationTime:void 0,ttGuid:void 0,user:void 0,account:void 0,product:void 0,extra:void 0,jsAttributes:{},userAttributes:void 0,atts:void 0,transactionName:void 0,tNamePlain:void 0},a={};function s(e){try{const t=c(e);return!!t.licenseKey\u0026\u0026!!t.errorBeacon\u0026\u0026!!t.applicationID}catch(e){return!1}}function c(e){if(!e)throw new Error(\"All info objects require an agent identifier!\");if(!a[e])throw new Error(\"Info for \".concat(e,\" was never set\"));return a[e]}function u(e,t){if(!e)throw new Error(\"All info objects require an agent identifier!\");a[e]=(0,i.a)(t,o);const r=(0,n.nY)(e);r\u0026\u0026(r.info=a[e])}},9417:(e,t,r)=\u003e{\"use strict\";r.d(t,{D0:()=\u003eh,gD:()=\u003eg,xN:()=\u003ep});var n=r(993);const i=e=\u003e{if(!e||\"string\"!=typeof e)return!1;try{document.createDocumentFragment().querySelector(e)}catch{return!1}return!0};var o=r(2614),a=r(944),s=r(384),c=r(8122);const u=\"[data-nr-mask]\",d=()=\u003e{const e={mask_selector:\"*\",block_selector:\"[data-nr-block]\",mask_input_options:{color:!1,date:!1,\"datetime-local\":!1,email:!1,month:!1,number:!1,range:!1,search:!1,tel:!1,text:!1,time:!1,url:!1,week:!1,textarea:!1,select:!1,password:!0}};return{ajax:{deny_list:void 0,block_internal:!0,enabled:!0,harvestTimeSeconds:10,autoStart:!0},distributed_tracing:{enabled:void 0,exclude_newrelic_header:void 0,cors_use_newrelic_header:void 0,cors_use_tracecontext_headers:void 0,allowed_origins:void 0},feature_flags:[],generic_events:{enabled:!0,harvestTimeSeconds:30,autoStart:!0},harvest:{tooManyRequestsDelay:60},jserrors:{enabled:!0,harvestTimeSeconds:10,autoStart:!0},logging:{enabled:!0,harvestTimeSeconds:10,autoStart:!0,level:n.p_.INFO},metrics:{enabled:!0,autoStart:!0},obfuscate:void 0,page_action:{enabled:!0},page_view_event:{enabled:!0,autoStart:!0},page_view_timing:{enabled:!0,harvestTimeSeconds:30,autoStart:!0},performance:{capture_marks:!1,capture_measures:!1},privacy:{cookies_enabled:!0},proxy:{assets:void 0,beacon:void 0},session:{expiresMs:o.wk,inactiveMs:o.BB},session_replay:{autoStart:!0,enabled:!1,harvestTimeSeconds:60,preload:!1,sampling_rate:10,error_sampling_rate:100,collect_fonts:!1,inline_images:!1,fix_stylesheets:!0,mask_all_inputs:!0,get mask_text_selector(){return e.mask_selector},set mask_text_selector(t){i(t)?e.mask_selector=\"\".concat(t,\",\").concat(u):\"\"===t||null===t?e.mask_selector=u:(0,a.R)(5,t)},get block_class(){return\"nr-block\"},get ignore_class(){return\"nr-ignore\"},get mask_text_class(){return\"nr-mask\"},get block_selector(){return e.block_selector},set block_selector(t){i(t)?e.block_selector+=\",\".concat(t):\"\"!==t\u0026\u0026(0,a.R)(6,t)},get mask_input_options(){return e.mask_input_options},set mask_input_options(t){t\u0026\u0026\"object\"==typeof t?e.mask_input_options={...t,password:!0}:(0,a.R)(7,t)}},session_trace:{enabled:!0,harvestTimeSeconds:10,autoStart:!0},soft_navigations:{enabled:!0,harvestTimeSeconds:10,autoStart:!0},spa:{enabled:!0,harvestTimeSeconds:10,autoStart:!0},ssl:void 0,user_actions:{enabled:!0}}},l={},f=\"All configuration objects require an agent identifier!\";function h(e){if(!e)throw new Error(f);if(!l[e])throw new Error(\"Configuration for \".concat(e,\" was never set\"));return l[e]}function p(e,t){if(!e)throw new Error(f);l[e]=(0,c.a)(t,d());const r=(0,s.nY)(e);r\u0026\u0026(r.init=l[e])}function g(e,t){if(!e)throw new Error(f);var r=h(e);if(r){for(var n=t.split(\".\"),i=0;i\u003cn.length-1;i++)if(\"object\"!=typeof(r=r[n[i]]))return;r=r[n[n.length-1]]}return r}},5603:(e,t,r)=\u003e{\"use strict\";r.d(t,{a:()=\u003ec,o:()=\u003es});var n=r(384),i=r(8122);const o={accountID:void 0,trustKey:void 0,agentID:void 0,licenseKey:void 0,applicationID:void 0,xpid:void 0},a={};function s(e){if(!e)throw new Error(\"All loader-config objects require an agent identifier!\");if(!a[e])throw new Error(\"LoaderConfig for \".concat(e,\" was never set\"));return a[e]}function c(e,t){if(!e)throw new Error(\"All loader-config objects require an agent identifier!\");a[e]=(0,i.a)(t,o);const r=(0,n.nY)(e);r\u0026\u0026(r.loader_config=a[e])}},3371:(e,t,r)=\u003e{\"use strict\";r.d(t,{V:()=\u003ef,f:()=\u003el});var n=r(8122),i=r(384),o=r(6154),a=r(9324);let s=0;const c={buildEnv:a.F3,distMethod:a.Xs,version:a.xv,originTime:o.WN},u={customTransaction:void 0,disabled:!1,isolatedBacklog:!1,loaderType:void 0,maxBytes:3e4,onerror:void 0,ptid:void 0,releaseIds:{},appMetadata:{},session:void 0,denyList:void 0,timeKeeper:void 0,obfuscator:void 0},d={};function l(e){if(!e)throw new Error(\"All runtime objects require an agent identifier!\");if(!d[e])throw new Error(\"Runtime for \".concat(e,\" was never set\"));return d[e]}function f(e,t){if(!e)throw new Error(\"All runtime objects require an agent identifier!\");d[e]={...(0,n.a)(t,u),...c},Object.hasOwnProperty.call(d[e],\"harvestCount\")||Object.defineProperty(d[e],\"harvestCount\",{get:()=\u003e++s});const r=(0,i.nY)(e);r\u0026\u0026(r.runtime=d[e])}},9324:(e,t,r)=\u003e{\"use strict\";r.d(t,{F3:()=\u003ei,Xs:()=\u003eo,Yq:()=\u003ea,xv:()=\u003en});const n=\"1.274.0\",i=\"PROD\",o=\"CDN\",a=\"^2.0.0-alpha.17\"},6154:(e,t,r)=\u003e{\"use strict\";r.d(t,{A4:()=\u003es,OF:()=\u003ed,RI:()=\u003ei,WN:()=\u003eh,bv:()=\u003eo,gm:()=\u003ea,lR:()=\u003ef,m:()=\u003eu,mw:()=\u003ec,sb:()=\u003el});var n=r(1863);const i=\"undefined\"!=typeof window\u0026\u0026!!window.document,o=\"undefined\"!=typeof WorkerGlobalScope\u0026\u0026(\"undefined\"!=typeof self\u0026\u0026self instanceof WorkerGlobalScope\u0026\u0026self.navigator instanceof WorkerNavigator||\"undefined\"!=typeof globalThis\u0026\u0026globalThis instanceof WorkerGlobalScope\u0026\u0026globalThis.navigator instanceof WorkerNavigator),a=i?window:\"undefined\"!=typeof WorkerGlobalScope\u0026\u0026(\"undefined\"!=typeof self\u0026\u0026self instanceof WorkerGlobalScope\u0026\u0026self||\"undefined\"!=typeof globalThis\u0026\u0026globalThis instanceof WorkerGlobalScope\u0026\u0026globalThis),s=\"complete\"===a?.document?.readyState,c=Boolean(\"hidden\"===a?.document?.visibilityState),u=\"\"+a?.location,d=/iPad|iPhone|iPod/.test(a.navigator?.userAgent),l=d\u0026\u0026\"undefined\"==typeof SharedWorker,f=(()=\u003e{const e=a.navigator?.userAgent?.match(/Firefox[/\\s](\\d+\\.\\d+)/);return Array.isArray(e)\u0026\u0026e.length\u003e=2?+e[1]:0})(),h=Date.now()-(0,n.t)()},7295:(e,t,r)=\u003e{\"use strict\";r.d(t,{Xv:()=\u003ea,gX:()=\u003ei,iW:()=\u003eo});var n=[];function i(e){if(!e||o(e))return!1;if(0===n.length)return!0;for(var t=0;t\u003cn.length;t++){var r=n[t];if(\"*\"===r.hostname)return!1;if(s(r.hostname,e.hostname)\u0026\u0026c(r.pathname,e.pathname))return!1}return!0}function o(e){return void 0===e.hostname}function a(e){if(n=[],e\u0026\u0026e.length)for(var t=0;t\u003ce.length;t++){let r=e[t];if(!r)continue;0===r.indexOf(\"http://\")?r=r.substring(7):0===r.indexOf(\"https://\")\u0026\u0026(r=r.substring(8));const i=r.indexOf(\"/\");let o,a;i\u003e0?(o=r.substring(0,i),a=r.substring(i)):(o=r,a=\"\");let[s]=o.split(\":\");n.push({hostname:s,pathname:a})}}function s(e,t){return!(e.length\u003et.length)\u0026\u0026t.indexOf(e)===t.length-e.length}function c(e,t){return 0===e.indexOf(\"/\")\u0026\u0026(e=e.substring(1)),0===t.indexOf(\"/\")\u0026\u0026(t=t.substring(1)),\"\"===e||e===t}},1687:(e,t,r)=\u003e{\"use strict\";r.d(t,{Ak:()=\u003ec,Ze:()=\u003el,x3:()=\u003eu});var n=r(7836),i=r(3606),o=r(860),a=r(2646);const s={};function c(e,t){const r={staged:!1,priority:o.P3[t]||0};d(e),s[e].get(t)||s[e].set(t,r)}function u(e,t){e\u0026\u0026s[e]\u0026\u0026(s[e].get(t)\u0026\u0026s[e].delete(t),h(e,t,!1),s[e].size\u0026\u0026f(e))}function d(e){if(!e)throw new Error(\"agentIdentifier required\");s[e]||(s[e]=new Map)}function l(e=\"\",t=\"feature\",r=!1){if(d(e),!e||!s[e].get(t)||r)return h(e,t);s[e].get(t).staged=!0,f(e)}function f(e){const t=Array.from(s[e]);t.every((([e,t])=\u003et.staged))\u0026\u0026(t.sort(((e,t)=\u003ee[1].priority-t[1].priority)),t.forEach((([t])=\u003e{s[e].delete(t),h(e,t)})))}function h(e,t,r=!0){const o=e?n.ee.get(e):n.ee,s=i.i.handlers;if(!o.aborted\u0026\u0026o.backlog\u0026\u0026s){if(r){const e=o.backlog[t],r=s[t];if(r){for(let t=0;e\u0026\u0026t\u003ce.length;++t)p(e[t],r);Object.entries(r).forEach((([e,t])=\u003e{Object.values(t||{}).forEach((t=\u003e{t[0]?.on\u0026\u0026t[0]?.context()instanceof a.y\u0026\u0026t[0].on(e,t[1])}))}))}}o.isolatedBacklog||delete s[t],o.backlog[t]=null,o.emit(\"drain-\"+t,[])}}function p(e,t){var r=e[1];Object.values(t[r]||{}).forEach((t=\u003e{var r=e[0];if(t[0]===r){var n=t[1],i=e[3],o=e[2];n.apply(i,o)}}))}},7836:(e,t,r)=\u003e{\"use strict\";r.d(t,{P:()=\u003ec,ee:()=\u003eu});var n=r(384),i=r(8990),o=r(3371),a=r(2646),s=r(5607);const c=\"nr@context:\".concat(s.W),u=function e(t,r){var n={},s={},d={},l=!1;try{l=16===r.length\u0026\u0026(0,o.f)(r).isolatedBacklog}catch(e){}var f={on:p,addEventListener:p,removeEventListener:function(e,t){var r=n[e];if(!r)return;for(var i=0;i\u003cr.length;i++)r[i]===t\u0026\u0026r.splice(i,1)},emit:function(e,r,n,i,o){!1!==o\u0026\u0026(o=!0);if(u.aborted\u0026\u0026!i)return;t\u0026\u0026o\u0026\u0026t.emit(e,r,n);for(var a=h(n),c=g(e),d=c.length,l=0;l\u003cd;l++)c[l].apply(a,r);var p=v()[s[e]];p\u0026\u0026p.push([f,e,r,a]);return a},get:m,listeners:g,context:h,buffer:function(e,t){const r=v();if(t=t||\"feature\",f.aborted)return;Object.entries(e||{}).forEach((([e,n])=\u003e{s[n]=t,t in r||(r[t]=[])}))},abort:function(){f._aborted=!0,Object.keys(f.backlog).forEach((e=\u003e{delete f.backlog[e]}))},isBuffering:function(e){return!!v()[s[e]]},debugId:r,backlog:l?{}:t\u0026\u0026\"object\"==typeof t.backlog?t.backlog:{},isolatedBacklog:l};return Object.defineProperty(f,\"aborted\",{get:()=\u003e{let e=f._aborted||!1;return e||(t\u0026\u0026(e=t.aborted),e)}}),f;function h(e){return e\u0026\u0026e instanceof a.y?e:e?(0,i.I)(e,c,(()=\u003enew a.y(c))):new a.y(c)}function p(e,t){n[e]=g(e).concat(t)}function g(e){return n[e]||[]}function m(t){return d[t]=d[t]||e(f,t)}function v(){return f.backlog}}(void 0,\"globalEE\"),d=(0,n.Zm)();d.ee||(d.ee=u)},2646:(e,t,r)=\u003e{\"use strict\";r.d(t,{y:()=\u003en});class n{constructor(e){this.contextId=e}}},9908:(e,t,r)=\u003e{\"use strict\";r.d(t,{d:()=\u003en,p:()=\u003ei});var n=r(7836).ee.get(\"handle\");function i(e,t,r,i,o){o?(o.buffer([e],i),o.emit(e,t,r)):(n.buffer([e],i),n.emit(e,t,r))}},3606:(e,t,r)=\u003e{\"use strict\";r.d(t,{i:()=\u003eo});var n=r(9908);o.on=a;var i=o.handlers={};function o(e,t,r,o){a(o||n.d,i,e,t,r)}function a(e,t,r,i,o){o||(o=\"feature\"),e||(e=n.d);var a=t[o]=t[o]||{};(a[r]=a[r]||[]).push([e,i])}},3878:(e,t,r)=\u003e{\"use strict\";function n(e,t){return{capture:e,passive:!1,signal:t}}function i(e,t,r=!1,i){window.addEventListener(e,t,n(r,i))}function o(e,t,r=!1,i){document.addEventListener(e,t,n(r,i))}r.d(t,{DD:()=\u003eo,jT:()=\u003en,sp:()=\u003ei})},5607:(e,t,r)=\u003e{\"use strict\";r.d(t,{W:()=\u003en});const n=(0,r(9566).bz)()},9566:(e,t,r)=\u003e{\"use strict\";r.d(t,{LA:()=\u003es,ZF:()=\u003ec,bz:()=\u003ea,el:()=\u003eu});var n=r(6154);const i=\"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\";function o(e,t){return e?15\u0026e[t]:16*Math.random()|0}function a(){const e=n.gm?.crypto||n.gm?.msCrypto;let t,r=0;return e\u0026\u0026e.getRandomValues\u0026\u0026(t=e.getRandomValues(new Uint8Array(30))),i.split(\"\").map((e=\u003e\"x\"===e?o(t,r++).toString(16):\"y\"===e?(3\u0026o()|8).toString(16):e)).join(\"\")}function s(e){const t=n.gm?.crypto||n.gm?.msCrypto;let r,i=0;t\u0026\u0026t.getRandomValues\u0026\u0026(r=t.getRandomValues(new Uint8Array(e)));const a=[];for(var s=0;s\u003ce;s++)a.push(o(r,i++).toString(16));return a.join(\"\")}function c(){return s(16)}function u(){return s(32)}},2614:(e,t,r)=\u003e{\"use strict\";r.d(t,{BB:()=\u003ea,H3:()=\u003en,g:()=\u003eu,iL:()=\u003ec,tS:()=\u003es,uh:()=\u003ei,wk:()=\u003eo});const n=\"NRBA\",i=\"SESSION\",o=144e5,a=18e5,s={STARTED:\"session-started\",PAUSE:\"session-pause\",RESET:\"session-reset\",RESUME:\"session-resume\",UPDATE:\"session-update\"},c={SAME_TAB:\"same-tab\",CROSS_TAB:\"cross-tab\"},u={OFF:0,FULL:1,ERROR:2}},1863:(e,t,r)=\u003e{\"use strict\";function n(){return Math.floor(performance.now())}r.d(t,{t:()=\u003en})},7485:(e,t,r)=\u003e{\"use strict\";r.d(t,{D:()=\u003ei});var n=r(6154);function i(e){if(0===(e||\"\").indexOf(\"data:\"))return{protocol:\"data\"};try{const t=new URL(e,location.href),r={port:t.port,hostname:t.hostname,pathname:t.pathname,search:t.search,protocol:t.protocol.slice(0,t.protocol.indexOf(\":\")),sameOrigin:t.protocol===n.gm?.location?.protocol\u0026\u0026t.host===n.gm?.location?.host};return r.port\u0026\u0026\"\"!==r.port||(\"http:\"===t.protocol\u0026\u0026(r.port=\"80\"),\"https:\"===t.protocol\u0026\u0026(r.port=\"443\")),r.pathname\u0026\u0026\"\"!==r.pathname?r.pathname.startsWith(\"/\")||(r.pathname=\"/\".concat(r.pathname)):r.pathname=\"/\",r}catch(e){return{}}}},944:(e,t,r)=\u003e{\"use strict\";function n(e,t){\"function\"==typeof console.debug\u0026\u0026console.debug(\"New Relic Warning: https://github.com/newrelic/newrelic-browser-agent/blob/main/docs/warning-codes.md#\".concat(e),t)}r.d(t,{R:()=\u003en})},5284:(e,t,r)=\u003e{\"use strict\";r.d(t,{t:()=\u003ec,B:()=\u003es});var n=r(7836),i=r(6154);const o=\"newrelic\";const a=new Set,s={};function c(e,t){const r=n.ee.get(t);s[t]??={},e\u0026\u0026\"object\"==typeof e\u0026\u0026(a.has(t)||(r.emit(\"rumresp\",[e]),s[t]=e,a.add(t),function(e={}){try{i.gm.dispatchEvent(new CustomEvent(o,{detail:e}))}catch(e){}}({loaded:!0})))}},8990:(e,t,r)=\u003e{\"use strict\";r.d(t,{I:()=\u003ei});var n=Object.prototype.hasOwnProperty;function i(e,t,r){if(n.call(e,t))return e[t];var i=r();if(Object.defineProperty\u0026\u0026Object.keys)try{return Object.defineProperty(e,t,{value:i,writable:!0,enumerable:!1}),i}catch(e){}return e[t]=i,i}},6389:(e,t,r)=\u003e{\"use strict\";function n(e,t=500,r={}){const n=r?.leading||!1;let i;return(...r)=\u003e{n\u0026\u0026void 0===i\u0026\u0026(e.apply(this,r),i=setTimeout((()=\u003e{i=clearTimeout(i)}),t)),n||(clearTimeout(i),i=setTimeout((()=\u003e{e.apply(this,r)}),t))}}function i(e){let t=!1;return(...r)=\u003e{t||(t=!0,e.apply(this,r))}}r.d(t,{J:()=\u003ei,s:()=\u003en})},3304:(e,t,r)=\u003e{\"use strict\";r.d(t,{A:()=\u003eo});var n=r(7836);const i=()=\u003e{const e=new WeakSet;return(t,r)=\u003e{if(\"object\"==typeof r\u0026\u0026null!==r){if(e.has(r))return;e.add(r)}return r}};function o(e){try{return JSON.stringify(e,i())??\"\"}catch(e){try{n.ee.emit(\"internal-error\",[e])}catch(e){}return\"\"}}},5289:(e,t,r)=\u003e{\"use strict\";r.d(t,{GG:()=\u003eo,sB:()=\u003ea});var n=r(3878);function i(){return\"undefined\"==typeof document||\"complete\"===document.readyState}function o(e,t){if(i())return e();(0,n.sp)(\"load\",e,t)}function a(e){if(i())return e();(0,n.DD)(\"DOMContentLoaded\",e)}},384:(e,t,r)=\u003e{\"use strict\";r.d(t,{NT:()=\u003eo,US:()=\u003ed,Zm:()=\u003ea,bQ:()=\u003ec,dV:()=\u003es,nY:()=\u003eu,pV:()=\u003el});var n=r(6154),i=r(1863);const o={beacon:\"bam.nr-data.net\",errorBeacon:\"bam.nr-data.net\"};function a(){return n.gm.NREUM||(n.gm.NREUM={}),void 0===n.gm.newrelic\u0026\u0026(n.gm.newrelic=n.gm.NREUM),n.gm.NREUM}function s(){let e=a();return e.o||(e.o={ST:n.gm.setTimeout,SI:n.gm.setImmediate,CT:n.gm.clearTimeout,XHR:n.gm.XMLHttpRequest,REQ:n.gm.Request,EV:n.gm.Event,PR:n.gm.Promise,MO:n.gm.MutationObserver,FETCH:n.gm.fetch,WS:n.gm.WebSocket}),e}function c(e,t){let r=a();r.initializedAgents??={},t.initializedAt={ms:(0,i.t)(),date:new Date},r.initializedAgents[e]=t}function u(e){let t=a();return t.initializedAgents?.[e]}function d(e,t){a()[e]=t}function l(){return function(){let e=a();const t=e.info||{};e.info={beacon:o.beacon,errorBeacon:o.errorBeacon,...t}}(),function(){let e=a();const t=e.init||{};e.init={...t}}(),s(),function(){let e=a();const t=e.loader_config||{};e.loader_config={...t}}(),a()}},2843:(e,t,r)=\u003e{\"use strict\";r.d(t,{u:()=\u003ei});var n=r(3878);function i(e,t=!1,r,i){(0,n.DD)(\"visibilitychange\",(function(){if(t)return void(\"hidden\"===document.visibilityState\u0026\u0026e());e(document.visibilityState)}),r,i)}},8139:(e,t,r)=\u003e{\"use strict\";r.d(t,{u:()=\u003ef});var n=r(7836),i=r(3434),o=r(8990),a=r(6154);const s={},c=a.gm.XMLHttpRequest,u=\"addEventListener\",d=\"removeEventListener\",l=\"nr@wrapped:\".concat(n.P);function f(e){var t=function(e){return(e||n.ee).get(\"events\")}(e);if(s[t.debugId]++)return t;s[t.debugId]=1;var r=(0,i.YM)(t,!0);function f(e){r.inPlace(e,[u,d],\"-\",p)}function p(e,t){return e[1]}return\"getPrototypeOf\"in Object\u0026\u0026(a.RI\u0026\u0026h(document,f),h(a.gm,f),h(c.prototype,f)),t.on(u+\"-start\",(function(e,t){var n=e[1];if(null!==n\u0026\u0026(\"function\"==typeof n||\"object\"==typeof n)){var i=(0,o.I)(n,l,(function(){var e={object:function(){if(\"function\"!=typeof n.handleEvent)return;return n.handleEvent.apply(n,arguments)},function:n}[typeof n];return e?r(e,\"fn-\",null,e.name||\"anonymous\"):n}));this.wrapped=e[1]=i}})),t.on(d+\"-start\",(function(e){e[1]=this.wrapped||e[1]})),t}function h(e,t,...r){let n=e;for(;\"object\"==typeof n\u0026\u0026!Object.prototype.hasOwnProperty.call(n,u);)n=Object.getPrototypeOf(n);n\u0026\u0026t(n,...r)}},3434:(e,t,r)=\u003e{\"use strict\";r.d(t,{Jt:()=\u003eo,YM:()=\u003ec});var n=r(7836),i=r(5607);const o=\"nr@original:\".concat(i.W);var a=Object.prototype.hasOwnProperty,s=!1;function c(e,t){return e||(e=n.ee),r.inPlace=function(e,t,n,i,o){n||(n=\"\");const a=\"-\"===n.charAt(0);for(let s=0;s\u003ct.length;s++){const c=t[s],u=e[c];d(u)||(e[c]=r(u,a?c+n:n,i,c,o))}},r.flag=o,r;function r(t,r,n,s,c){return d(t)?t:(r||(r=\"\"),nrWrapper[o]=t,function(e,t,r){if(Object.defineProperty\u0026\u0026Object.keys)try{return Object.keys(e).forEach((function(r){Object.defineProperty(t,r,{get:function(){return e[r]},set:function(t){return e[r]=t,t}})})),t}catch(e){u([e],r)}for(var n in e)a.call(e,n)\u0026\u0026(t[n]=e[n])}(t,nrWrapper,e),nrWrapper);function nrWrapper(){var o,a,d,l;try{a=this,o=[...arguments],d=\"function\"==typeof n?n(o,a):n||{}}catch(t){u([t,\"\",[o,a,s],d],e)}i(r+\"start\",[o,a,s],d,c);try{return l=t.apply(a,o)}catch(e){throw i(r+\"err\",[o,a,e],d,c),e}finally{i(r+\"end\",[o,a,l],d,c)}}}function i(r,n,i,o){if(!s||t){var a=s;s=!0;try{e.emit(r,n,i,t,o)}catch(t){u([t,r,n,i],e)}s=a}}}function u(e,t){t||(t=n.ee);try{t.emit(\"internal-error\",e)}catch(e){}}function d(e){return!(e\u0026\u0026\"function\"==typeof e\u0026\u0026e.apply\u0026\u0026!e[o])}},9300:(e,t,r)=\u003e{\"use strict\";r.d(t,{T:()=\u003en});const n=r(860).K7.ajax},3333:(e,t,r)=\u003e{\"use strict\";r.d(t,{TZ:()=\u003en,Zp:()=\u003ei,mq:()=\u003es,nf:()=\u003ea,qN:()=\u003eo});const n=r(860).K7.genericEvents,i=[\"auxclick\",\"click\",\"copy\",\"keydown\",\"paste\",\"scrollend\"],o=[\"focus\",\"blur\"],a=4,s=1e3},6774:(e,t,r)=\u003e{\"use strict\";r.d(t,{T:()=\u003en});const n=r(860).K7.jserrors},993:(e,t,r)=\u003e{\"use strict\";r.d(t,{ET:()=\u003eo,TZ:()=\u003ea,p_:()=\u003ei});var n=r(860);const i={ERROR:\"ERROR\",WARN:\"WARN\",INFO:\"INFO\",DEBUG:\"DEBUG\",TRACE:\"TRACE\"},o=\"log\",a=n.K7.logging},3785:(e,t,r)=\u003e{\"use strict\";r.d(t,{R:()=\u003ec,b:()=\u003eu});var n=r(9908),i=r(1863),o=r(860),a=r(3969),s=r(993);function c(e,t,r={},c=s.p_.INFO){(0,n.p)(a.xV,[\"API/logging/\".concat(c.toLowerCase(),\"/called\")],void 0,o.K7.metrics,e),(0,n.p)(s.ET,[(0,i.t)(),t,r,c],void 0,o.K7.logging,e)}function u(e){return\"string\"==typeof e\u0026\u0026Object.values(s.p_).some((t=\u003et===e.toUpperCase().trim()))}},3969:(e,t,r)=\u003e{\"use strict\";r.d(t,{TZ:()=\u003en,XG:()=\u003es,rs:()=\u003ei,xV:()=\u003ea,z_:()=\u003eo});const n=r(860).K7.metrics,i=\"sm\",o=\"cm\",a=\"storeSupportabilityMetrics\",s=\"storeEventMetrics\"},6630:(e,t,r)=\u003e{\"use strict\";r.d(t,{T:()=\u003en});const n=r(860).K7.pageViewEvent},782:(e,t,r)=\u003e{\"use strict\";r.d(t,{T:()=\u003en});const n=r(860).K7.pageViewTiming},6344:(e,t,r)=\u003e{\"use strict\";r.d(t,{BB:()=\u003ed,G4:()=\u003eo,Qb:()=\u003el,TZ:()=\u003ei,Ug:()=\u003ea,_s:()=\u003es,bc:()=\u003eu,yP:()=\u003ec});var n=r(2614);const i=r(860).K7.sessionReplay,o={RECORD:\"recordReplay\",PAUSE:\"pauseReplay\",REPLAY_RUNNING:\"replayRunning\",ERROR_DURING_REPLAY:\"errorDuringReplay\"},a=.12,s={DomContentLoaded:0,Load:1,FullSnapshot:2,IncrementalSnapshot:3,Meta:4,Custom:5},c={[n.g.ERROR]:15e3,[n.g.FULL]:3e5,[n.g.OFF]:0},u={RESET:{message:\"Session was reset\",sm:\"Reset\"},IMPORT:{message:\"Recorder failed to import\",sm:\"Import\"},TOO_MANY:{message:\"429: Too Many Requests\",sm:\"Too-Many\"},TOO_BIG:{message:\"Payload was too large\",sm:\"Too-Big\"},CROSS_TAB:{message:\"Session Entity was set to OFF on another tab\",sm:\"Cross-Tab\"},ENTITLEMENTS:{message:\"Session Replay is not allowed and will not be started\",sm:\"Entitlement\"}},d=5e3,l={API:\"api\"}},5270:(e,t,r)=\u003e{\"use strict\";r.d(t,{Aw:()=\u003ec,CT:()=\u003eu,SR:()=\u003es});var n=r(384),i=r(9417),o=r(7767),a=r(6154);function s(e){return!!(0,n.dV)().o.MO\u0026\u0026(0,o.V)(e)\u0026\u0026!0===(0,i.gD)(e,\"session_trace.enabled\")}function c(e){return!0===(0,i.gD)(e,\"session_replay.preload\")\u0026\u0026s(e)}function u(e,t){const r=t.correctAbsoluteTimestamp(e);return{originalTimestamp:e,correctedTimestamp:r,timestampDiff:e-r,originTime:a.WN,correctedOriginTime:t.correctedOriginTime,originTimeDiff:Math.floor(a.WN-t.correctedOriginTime)}}},3738:(e,t,r)=\u003e{\"use strict\";r.d(t,{He:()=\u003ei,Kp:()=\u003es,Lc:()=\u003eu,Rz:()=\u003ed,TZ:()=\u003en,bD:()=\u003eo,d3:()=\u003ea,jx:()=\u003el,uP:()=\u003ec});const n=r(860).K7.sessionTrace,i=\"bstResource\",o=\"resource\",a=\"-start\",s=\"-end\",c=\"fn\"+a,u=\"fn\"+s,d=\"pushState\",l=1e3},3962:(e,t,r)=\u003e{\"use strict\";r.d(t,{AM:()=\u003eo,O2:()=\u003es,Qu:()=\u003ec,TZ:()=\u003ea,ih:()=\u003eu,tC:()=\u003ei});var n=r(860);const i=[\"click\",\"keydown\",\"submit\"],o=\"api\",a=n.K7.softNav,s={INITIAL_PAGE_LOAD:\"\",ROUTE_CHANGE:1,UNSPECIFIED:2},c={INTERACTION:1,AJAX:2,CUSTOM_END:3,CUSTOM_TRACER:4},u={IP:\"in progress\",FIN:\"finished\",CAN:\"cancelled\"}},7378:(e,t,r)=\u003e{\"use strict\";r.d(t,{$p:()=\u003ex,BR:()=\u003eb,Kp:()=\u003eR,L3:()=\u003ey,Lc:()=\u003ec,NC:()=\u003eo,SG:()=\u003ed,TZ:()=\u003ei,U6:()=\u003ep,UT:()=\u003em,d3:()=\u003ew,dT:()=\u003ef,e5:()=\u003eA,gx:()=\u003ev,l9:()=\u003el,oW:()=\u003eh,op:()=\u003eg,rw:()=\u003eu,tH:()=\u003eE,uP:()=\u003es,wW:()=\u003eT,xq:()=\u003ea});var n=r(384);const i=r(860).K7.spa,o=[\"click\",\"submit\",\"keypress\",\"keydown\",\"keyup\",\"change\"],a=999,s=\"fn-start\",c=\"fn-end\",u=\"cb-start\",d=\"api-ixn-\",l=\"remaining\",f=\"interaction\",h=\"spaNode\",p=\"jsonpNode\",g=\"fetch-start\",m=\"fetch-done\",v=\"fetch-body-\",b=\"jsonp-end\",y=(0,n.dV)().o.ST,w=\"-start\",R=\"-end\",x=\"-body\",T=\"cb\"+R,A=\"jsTime\",E=\"fetch\"},4234:(e,t,r)=\u003e{\"use strict\";r.d(t,{W:()=\u003eo});var n=r(7836),i=r(1687);class o{constructor(e,t){this.agentIdentifier=e,this.ee=n.ee.get(e),this.featureName=t,this.blocked=!1}deregisterDrain(){(0,i.x3)(this.agentIdentifier,this.featureName)}}},7767:(e,t,r)=\u003e{\"use strict\";r.d(t,{V:()=\u003eo});var n=r(9417),i=r(6154);const o=e=\u003ei.RI\u0026\u0026!0===(0,n.gD)(e,\"privacy.cookies_enabled\")},425:(e,t,r)=\u003e{\"use strict\";r.d(t,{j:()=\u003ej});var n=r(860),i=r(2555),o=r(3371),a=r(9908),s=r(7836),c=r(1687),u=r(5289),d=r(6154),l=r(944),f=r(3969),h=r(384),p=r(6344);const g=[\"setErrorHandler\",\"finished\",\"addToTrace\",\"addRelease\",\"addPageAction\",\"setCurrentRouteName\",\"setPageViewName\",\"setCustomAttribute\",\"interaction\",\"noticeError\",\"setUserId\",\"setApplicationVersion\",\"start\",p.G4.RECORD,p.G4.PAUSE,\"log\",\"wrapLogger\"],m=[\"setErrorHandler\",\"finished\",\"addToTrace\",\"addRelease\"];var v=r(1863),b=r(2614),y=r(993),w=r(3785),R=r(2646),x=r(3434);function T(e,t,r,n){if(\"object\"!=typeof t||!t||\"string\"!=typeof r||!r||\"function\"!=typeof t[r])return(0,l.R)(29);const i=function(e){return(e||s.ee).get(\"logger\")}(e),o=(0,x.YM)(i),a=new R.y(s.P);return a.level=n.level,a.customAttributes=n.customAttributes,o.inPlace(t,[r],\"wrap-logger-\",a),i}function A(){const e=(0,h.pV)();g.forEach((t=\u003e{e[t]=(...r)=\u003efunction(t,...r){let n=[];return Object.values(e.initializedAgents).forEach((e=\u003e{e\u0026\u0026e.api?e.exposed\u0026\u0026e.api[t]\u0026\u0026n.push(e.api[t](...r)):(0,l.R)(38,t)})),n.length\u003e1?n:n[0]}(t,...r)}))}const E={};var S=r(9417),N=r(5603),O=r(5284);const _=e=\u003e{const t=e.startsWith(\"http\");e+=\"/\",r.p=t?e:\"https://\"+e};let I=!1;function j(e,t={},g,R){let{init:x,info:j,loader_config:P,runtime:C={},exposed:k=!0}=t;C.loaderType=g;const L=(0,h.pV)();j||(x=L.init,j=L.info,P=L.loader_config),(0,S.xN)(e.agentIdentifier,x||{}),(0,N.a)(e.agentIdentifier,P||{}),j.jsAttributes??={},d.bv\u0026\u0026(j.jsAttributes.isWorker=!0),(0,i.x1)(e.agentIdentifier,j);const H=(0,S.D0)(e.agentIdentifier),D=[j.beacon,j.errorBeacon];I||(H.proxy.assets\u0026\u0026(_(H.proxy.assets),D.push(H.proxy.assets)),H.proxy.beacon\u0026\u0026D.push(H.proxy.beacon),A(),(0,h.US)(\"activatedFeatures\",O.B),e.runSoftNavOverSpa\u0026\u0026=!0===H.soft_navigations.enabled\u0026\u0026H.feature_flags.includes(\"soft_nav\")),C.denyList=[...H.ajax.deny_list||[],...H.ajax.block_internal?D:[]],C.ptid=e.agentIdentifier,(0,o.V)(e.agentIdentifier,C),e.ee=s.ee.get(e.agentIdentifier),void 0===e.api\u0026\u0026(e.api=function(e,t,h=!1){t||(0,c.Ak)(e,\"api\");const g={};var R=s.ee.get(e),x=R.get(\"tracer\");E[e]=b.g.OFF,R.on(p.G4.REPLAY_RUNNING,(t=\u003e{E[e]=t}));var A=\"api-\",S=A+\"ixn-\";function N(t,r,n,o){const a=(0,i.Vp)(e);return null===r?delete a.jsAttributes[t]:(0,i.x1)(e,{...a,jsAttributes:{...a.jsAttributes,[t]:r}}),I(A,n,!0,o||null===r?\"session\":void 0)(t,r)}function O(){}g.log=function(e,{customAttributes:t={},level:r=y.p_.INFO}={}){(0,a.p)(f.xV,[\"API/log/called\"],void 0,n.K7.metrics,R),(0,w.R)(R,e,t,r)},g.wrapLogger=(e,t,{customAttributes:r={},level:i=y.p_.INFO}={})=\u003e{(0,a.p)(f.xV,[\"API/wrapLogger/called\"],void 0,n.K7.metrics,R),T(R,e,t,{customAttributes:r,level:i})},m.forEach((e=\u003e{g[e]=I(A,e,!0,\"api\")})),g.addPageAction=I(A,\"addPageAction\",!0,n.K7.genericEvents),g.setPageViewName=function(t,r){if(\"string\"==typeof t)return\"/\"!==t.charAt(0)\u0026\u0026(t=\"/\"+t),(0,o.f)(e).customTransaction=(r||\"http://custom.transaction\")+t,I(A,\"setPageViewName\",!0)()},g.setCustomAttribute=function(e,t,r=!1){if(\"string\"==typeof e){if([\"string\",\"number\",\"boolean\"].includes(typeof t)||null===t)return N(e,t,\"setCustomAttribute\",r);(0,l.R)(40,typeof t)}else(0,l.R)(39,typeof e)},g.setUserId=function(e){if(\"string\"==typeof e||null===e)return N(\"enduser.id\",e,\"setUserId\",!0);(0,l.R)(41,typeof e)},g.setApplicationVersion=function(e){if(\"string\"==typeof e||null===e)return N(\"application.version\",e,\"setApplicationVersion\",!1);(0,l.R)(42,typeof e)},g.start=()=\u003e{try{(0,a.p)(f.xV,[\"API/start/called\"],void 0,n.K7.metrics,R),R.emit(\"manual-start-all\")}catch(e){(0,l.R)(23,e)}},g[p.G4.RECORD]=function(){(0,a.p)(f.xV,[\"API/recordReplay/called\"],void 0,n.K7.metrics,R),(0,a.p)(p.G4.RECORD,[],void 0,n.K7.sessionReplay,R)},g[p.G4.PAUSE]=function(){(0,a.p)(f.xV,[\"API/pauseReplay/called\"],void 0,n.K7.metrics,R),(0,a.p)(p.G4.PAUSE,[],void 0,n.K7.sessionReplay,R)},g.interaction=function(e){return(new O).get(\"object\"==typeof e?e:{})};const _=O.prototype={createTracer:function(e,t){var r={},i=this,o=\"function\"==typeof t;return(0,a.p)(f.xV,[\"API/createTracer/called\"],void 0,n.K7.metrics,R),h||(0,a.p)(S+\"tracer\",[(0,v.t)(),e,r],i,n.K7.spa,R),function(){if(x.emit((o?\"\":\"no-\")+\"fn-start\",[(0,v.t)(),i,o],r),o)try{return t.apply(this,arguments)}catch(e){const t=\"string\"==typeof e?new Error(e):e;throw x.emit(\"fn-err\",[arguments,this,t],r),t}finally{x.emit(\"fn-end\",[(0,v.t)()],r)}}}};function I(e,t,r,i){return function(){return(0,a.p)(f.xV,[\"API/\"+t+\"/called\"],void 0,n.K7.metrics,R),i\u0026\u0026(0,a.p)(e+t,[(0,v.t)(),...arguments],r?null:this,i,R),r?void 0:this}}function j(){r.e(478).then(r.bind(r,8778)).then((({setAPI:t})=\u003e{t(e),(0,c.Ze)(e,\"api\")})).catch((e=\u003e{(0,l.R)(27,e),R.abort()}))}return[\"actionText\",\"setName\",\"setAttribute\",\"save\",\"ignore\",\"onEnd\",\"getContext\",\"end\",\"get\"].forEach((e=\u003e{_[e]=I(S,e,void 0,h?n.K7.softNav:n.K7.spa)})),g.setCurrentRouteName=h?I(S,\"routeName\",void 0,n.K7.softNav):I(A,\"routeName\",!0,n.K7.spa),g.noticeError=function(t,r){\"string\"==typeof t\u0026\u0026(t=new Error(t)),(0,a.p)(f.xV,[\"API/noticeError/called\"],void 0,n.K7.metrics,R),(0,a.p)(\"err\",[t,(0,v.t)(),!1,r,!!E[e]],void 0,n.K7.jserrors,R)},d.RI?(0,u.GG)((()=\u003ej()),!0):j(),g}(e.agentIdentifier,R,e.runSoftNavOverSpa)),void 0===e.exposed\u0026\u0026(e.exposed=k),I=!0}},8374:(e,t,r)=\u003e{r.nc=(()=\u003e{try{return document?.currentScript?.nonce}catch(e){}return\"\"})()},860:(e,t,r)=\u003e{\"use strict\";r.d(t,{$J:()=\u003eo,K7:()=\u003en,P3:()=\u003ei});const n={ajax:\"ajax\",genericEvents:\"generic_events\",jserrors:\"jserrors\",logging:\"logging\",metrics:\"metrics\",pageAction:\"page_action\",pageViewEvent:\"page_view_event\",pageViewTiming:\"page_view_timing\",sessionReplay:\"session_replay\",sessionTrace:\"session_trace\",softNav:\"soft_navigations\",spa:\"spa\"},i={[n.pageViewEvent]:1,[n.pageViewTiming]:2,[n.metrics]:3,[n.jserrors]:4,[n.spa]:5,[n.ajax]:6,[n.sessionTrace]:7,[n.softNav]:8,[n.sessionReplay]:9,[n.logging]:10,[n.genericEvents]:11},o={[n.pageViewTiming]:\"events\",[n.ajax]:\"events\",[n.spa]:\"events\",[n.softNav]:\"events\",[n.metrics]:\"jserrors\",[n.jserrors]:\"jserrors\",[n.sessionTrace]:\"browser/blobs\",[n.sessionReplay]:\"browser/blobs\",[n.logging]:\"browser/logs\",[n.genericEvents]:\"ins\"}}},n={};function i(e){var t=n[e];if(void 0!==t)return t.exports;var o=n[e]={exports:{}};return r[e](o,o.exports,i),o.exports}i.m=r,i.d=(e,t)=\u003e{for(var r in t)i.o(t,r)\u0026\u0026!i.o(e,r)\u0026\u0026Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},i.f={},i.e=e=\u003ePromise.all(Object.keys(i.f).reduce(((t,r)=\u003e(i.f[r](e,t),t)),[])),i.u=e=\u003e({212:\"nr-spa-compressor\",249:\"nr-spa-recorder\",478:\"nr-spa\"}[e]+\"-1.274.0.min.js\"),i.o=(e,t)=\u003eObject.prototype.hasOwnProperty.call(e,t),e={},t=\"NRBA-1.274.0.PROD:\",i.l=(r,n,o,a)=\u003e{if(e[r])e[r].push(n);else{var s,c;if(void 0!==o)for(var u=document.getElementsByTagName(\"script\"),d=0;d\u003cu.length;d++){var l=u[d];if(l.getAttribute(\"src\")==r||l.getAttribute(\"data-webpack\")==t+o){s=l;break}}if(!s){c=!0;var f={478:\"sha512-1vUqEfJPB8Pihje9mv5CfYgkitO1FWcS+UQb84DbXqP8oYctRv4/lzl/MzNLPlRhcY1WVDBGL20I8vm6s2VV7g==\",249:\"sha512-Y/BeZAh6VSTmUtUNmS5XdyKxL92s30Fyyj8xVW76HSPxcKItL4+x2+kGMZc8pMJnUpZDz1L4eftZQAJh3D8NnA==\",212:\"sha512-Gn2tQ3qog5Yhrx/gRutkSTYPp+7nkKFt4/mIXg99LxcNpMDAYJZDBYmAACdoHNM86+iq1F3cBcQotFNzjIX8bw==\"};(s=document.createElement(\"script\")).charset=\"utf-8\",s.timeout=120,i.nc\u0026\u0026s.setAttribute(\"nonce\",i.nc),s.setAttribute(\"data-webpack\",t+o),s.src=r,0!==s.src.indexOf(window.location.origin+\"/\")\u0026\u0026(s.crossOrigin=\"anonymous\"),f[a]\u0026\u0026(s.integrity=f[a])}e[r]=[n];var h=(t,n)=\u003e{s.onerror=s.onload=null,clearTimeout(p);var i=e[r];if(delete e[r],s.parentNode\u0026\u0026s.parentNode.removeChild(s),i\u0026\u0026i.forEach((e=\u003ee(n))),t)return t(n)},p=setTimeout(h.bind(null,void 0,{type:\"timeout\",target:s}),12e4);s.onerror=h.bind(null,s.onerror),s.onload=h.bind(null,s.onload),c\u0026\u0026document.head.appendChild(s)}},i.r=e=\u003e{\"undefined\"!=typeof Symbol\u0026\u0026Symbol.toStringTag\u0026\u0026Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})},i.p=\"https://js-agent.newrelic.com/\",(()=\u003e{var e={38:0,788:0};i.f.j=(t,r)=\u003e{var n=i.o(e,t)?e[t]:void 0;if(0!==n)if(n)r.push(n[2]);else{var o=new Promise(((r,i)=\u003en=e[t]=[r,i]));r.push(n[2]=o);var a=i.p+i.u(t),s=new Error;i.l(a,(r=\u003e{if(i.o(e,t)\u0026\u0026(0!==(n=e[t])\u0026\u0026(e[t]=void 0),n)){var o=r\u0026\u0026(\"load\"===r.type?\"missing\":r.type),a=r\u0026\u0026r.target\u0026\u0026r.target.src;s.message=\"Loading chunk \"+t+\" failed.\\n(\"+o+\": \"+a+\")\",s.name=\"ChunkLoadError\",s.type=o,s.request=a,n[1](s)}}),\"chunk-\"+t,t)}};var t=(t,r)=\u003e{var n,o,[a,s,c]=r,u=0;if(a.some((t=\u003e0!==e[t]))){for(n in s)i.o(s,n)\u0026\u0026(i.m[n]=s[n]);if(c)c(i)}for(t\u0026\u0026t(r);u\u003ca.length;u++)o=a[u],i.o(e,o)\u0026\u0026e[o]\u0026\u0026e[o][0](),e[o]=0},r=self[\"webpackChunk:NRBA-1.274.0.PROD\"]=self[\"webpackChunk:NRBA-1.274.0.PROD\"]||[];r.forEach(t.bind(null,0)),r.push=t.bind(null,r.push.bind(r))})(),(()=\u003e{\"use strict\";i(8374);var e=i(944),t=i(6344),r=i(9566);class n{agentIdentifier;constructor(e=(0,r.LA)(16)){this.agentIdentifier=e}#e(t,...r){if(\"function\"==typeof this.api?.[t])return this.api[t](...r);(0,e.R)(35,t)}addPageAction(e,t){return this.#e(\"addPageAction\",e,t)}setPageViewName(e,t){return this.#e(\"setPageViewName\",e,t)}setCustomAttribute(e,t,r){return this.#e(\"setCustomAttribute\",e,t,r)}noticeError(e,t){return this.#e(\"noticeError\",e,t)}setUserId(e){return this.#e(\"setUserId\",e)}setApplicationVersion(e){return this.#e(\"setApplicationVersion\",e)}setErrorHandler(e){return this.#e(\"setErrorHandler\",e)}addRelease(e,t){return this.#e(\"addRelease\",e,t)}log(e,t){return this.#e(\"log\",e,t)}}class o extends n{#e(t,...r){if(\"function\"==typeof this.api?.[t])return this.api[t](...r);(0,e.R)(35,t)}start(){return this.#e(\"start\")}finished(e){return this.#e(\"finished\",e)}recordReplay(){return this.#e(t.G4.RECORD)}pauseReplay(){return this.#e(t.G4.PAUSE)}addToTrace(e){return this.#e(\"addToTrace\",e)}setCurrentRouteName(e){return this.#e(\"setCurrentRouteName\",e)}interaction(){return this.#e(\"interaction\")}wrapLogger(e,t,r){return this.#e(\"wrapLogger\",e,t,r)}}var a=i(860),s=i(9417);const c=Object.values(a.K7);function u(e){const t={};return c.forEach((r=\u003e{t[r]=function(e,t){return!0===(0,s.gD)(t,\"\".concat(e,\".enabled\"))}(r,e)})),t}var d=i(425);var l=i(1687),f=i(4234),h=i(5289),p=i(6154),g=i(5270),m=i(7767),v=i(6389);class b extends f.W{constructor(e,t,r=!0){super(e.agentIdentifier,t),this.auto=r,this.abortHandler=void 0,this.featAggregate=void 0,this.onAggregateImported=void 0,!1===e.init[this.featureName].autoStart\u0026\u0026(this.auto=!1),this.auto?(0,l.Ak)(e.agentIdentifier,t):this.ee.on(\"manual-start-all\",(0,v.J)((()=\u003e{(0,l.Ak)(e.agentIdentifier,this.featureName),this.auto=!0,this.importAggregator(e)})))}importAggregator(t,r={}){if(this.featAggregate||!this.auto)return;let n;this.onAggregateImported=new Promise((e=\u003e{n=e}));const o=async()=\u003e{let o;try{if((0,m.V)(this.agentIdentifier)){const{setupAgentSession:e}=await i.e(478).then(i.bind(i,6526));o=e(t)}}catch(t){(0,e.R)(20,t),this.ee.emit(\"internal-error\",[t]),this.featureName===a.K7.sessionReplay\u0026\u0026this.abortHandler?.()}try{if(t.sharedAggregator)await t.sharedAggregator;else{t.sharedAggregator=i.e(478).then(i.bind(i,9337));const{EventAggregator:e}=await t.sharedAggregator;t.sharedAggregator=new e}if(!this.#t(this.featureName,o))return(0,l.Ze)(this.agentIdentifier,this.featureName),void n(!1);const{lazyFeatureLoader:e}=await i.e(478).then(i.bind(i,6103)),{Aggregate:a}=await e(this.featureName,\"aggregate\");this.featAggregate=new a(t,r),n(!0)}catch(t){(0,e.R)(34,t),this.abortHandler?.(),(0,l.Ze)(this.agentIdentifier,this.featureName,!0),n(!1),this.ee\u0026\u0026this.ee.abort()}};p.RI?(0,h.GG)((()=\u003eo()),!0):o()}#t(e,t){switch(e){case a.K7.sessionReplay:return(0,g.SR)(this.agentIdentifier)\u0026\u0026!!t;case a.K7.sessionTrace:return!!t;default:return!0}}}var y=i(6630);class w extends b{static featureName=y.T;constructor(e,t=!0){super(e,y.T,t),this.importAggregator(e)}}var R=i(384);var x=i(9908),T=i(2843),A=i(3878),E=i(782),S=i(1863);class N extends b{static featureName=E.T;constructor(e,t=!0){super(e,E.T,t),p.RI\u0026\u0026((0,T.u)((()=\u003e(0,x.p)(\"docHidden\",[(0,S.t)()],void 0,E.T,this.ee)),!0),(0,A.sp)(\"pagehide\",(()=\u003e(0,x.p)(\"winPagehide\",[(0,S.t)()],void 0,E.T,this.ee))),this.importAggregator(e))}}var O=i(3969);class _ extends b{static featureName=O.TZ;constructor(e,t=!0){super(e,O.TZ,t),this.importAggregator(e)}}var I=i(6774),j=i(3304);class P{constructor(e,t,r,n,i){this.name=\"UncaughtError\",this.message=\"string\"==typeof e?e:(0,j.A)(e),this.sourceURL=t,this.line=r,this.column=n,this.__newrelic=i}}function C(e){return H(e)?e:new P(void 0!==e?.message?e.message:e,e?.filename||e?.sourceURL,e?.lineno||e?.line,e?.colno||e?.col,e?.__newrelic)}function k(e){const t=\"Unhandled Promise Rejection\";if(!e?.reason)return;if(H(e.reason))try{return e.reason.message=t+\": \"+e.reason.message,C(e.reason)}catch(t){return C(e.reason)}const r=C(e.reason);return r.message=t+\": \"+r?.message,r}function L(e){if(e.error instanceof SyntaxError\u0026\u0026!/:\\d+$/.test(e.error.stack?.trim())){const t=new P(e.message,e.filename,e.lineno,e.colno,e.error.__newrelic);return t.name=SyntaxError.name,t}return H(e.error)?e.error:C(e)}function H(e){return e instanceof Error\u0026\u0026!!e.stack}class D extends b{static featureName=I.T;#r=!1;constructor(e,r=!0){super(e,I.T,r);try{this.removeOnAbort=new AbortController}catch(e){}this.ee.on(\"internal-error\",(e=\u003e{this.abortHandler\u0026\u0026(0,x.p)(\"ierr\",[C(e),(0,S.t)(),!0,{},this.#r],void 0,this.featureName,this.ee)})),this.ee.on(t.G4.REPLAY_RUNNING,(e=\u003e{this.#r=e})),p.gm.addEventListener(\"unhandledrejection\",(e=\u003e{this.abortHandler\u0026\u0026(0,x.p)(\"err\",[k(e),(0,S.t)(),!1,{unhandledPromiseRejection:1},this.#r],void 0,this.featureName,this.ee)}),(0,A.jT)(!1,this.removeOnAbort?.signal)),p.gm.addEventListener(\"error\",(e=\u003e{this.abortHandler\u0026\u0026(0,x.p)(\"err\",[L(e),(0,S.t)(),!1,{},this.#r],void 0,this.featureName,this.ee)}),(0,A.jT)(!1,this.removeOnAbort?.signal)),this.abortHandler=this.#n,this.importAggregator(e)}#n(){this.removeOnAbort?.abort(),this.abortHandler=void 0}}var M=i(8990);let K=1;const U=\"nr@id\";function V(e){const t=typeof e;return!e||\"object\"!==t\u0026\u0026\"function\"!==t?-1:e===p.gm?0:(0,M.I)(e,U,(function(){return K++}))}function G(e){if(\"string\"==typeof e\u0026\u0026e.length)return e.length;if(\"object\"==typeof e){if(\"undefined\"!=typeof ArrayBuffer\u0026\u0026e instanceof ArrayBuffer\u0026\u0026e.byteLength)return e.byteLength;if(\"undefined\"!=typeof Blob\u0026\u0026e instanceof Blob\u0026\u0026e.size)return e.size;if(!(\"undefined\"!=typeof FormData\u0026\u0026e instanceof FormData))try{return(0,j.A)(e).length}catch(e){return}}}var F=i(8139),B=i(7836),W=i(3434);const z={},q=[\"open\",\"send\"];function Z(t){var r=t||B.ee;const n=function(e){return(e||B.ee).get(\"xhr\")}(r);if(z[n.debugId]++)return n;z[n.debugId]=1,(0,F.u)(r);var i=(0,W.YM)(n),o=p.gm.XMLHttpRequest,a=p.gm.MutationObserver,s=p.gm.Promise,c=p.gm.setInterval,u=\"readystatechange\",d=[\"onload\",\"onerror\",\"onabort\",\"onloadstart\",\"onloadend\",\"onprogress\",\"ontimeout\"],l=[],f=p.gm.XMLHttpRequest=function(t){const r=new o(t),a=n.context(r);try{n.emit(\"new-xhr\",[r],a),r.addEventListener(u,(s=a,function(){var e=this;e.readyState\u003e3\u0026\u0026!s.resolved\u0026\u0026(s.resolved=!0,n.emit(\"xhr-resolved\",[],e)),i.inPlace(e,d,\"fn-\",y)}),(0,A.jT)(!1))}catch(t){(0,e.R)(15,t);try{n.emit(\"internal-error\",[t])}catch(e){}}var s;return r};function h(e,t){i.inPlace(t,[\"onreadystatechange\"],\"fn-\",y)}if(function(e,t){for(var r in e)t[r]=e[r]}(o,f),f.prototype=o.prototype,i.inPlace(f.prototype,q,\"-xhr-\",y),n.on(\"send-xhr-start\",(function(e,t){h(e,t),function(e){l.push(e),a\u0026\u0026(g?g.then(b):c?c(b):(m=-m,v.data=m))}(t)})),n.on(\"open-xhr-start\",h),a){var g=s\u0026\u0026s.resolve();if(!c\u0026\u0026!s){var m=1,v=document.createTextNode(m);new a(b).observe(v,{characterData:!0})}}else r.on(\"fn-end\",(function(e){e[0]\u0026\u0026e[0].type===u||b()}));function b(){for(var e=0;e\u003cl.length;e++)h(0,l[e]);l.length\u0026\u0026(l=[])}function y(e,t){return t}return n}var Y=\"fetch-\",X=Y+\"body-\",J=[\"arrayBuffer\",\"blob\",\"json\",\"text\",\"formData\"],Q=p.gm.Request,ee=p.gm.Response,te=\"prototype\";const re={};function ne(e){const t=function(e){return(e||B.ee).get(\"fetch\")}(e);if(!(Q\u0026\u0026ee\u0026\u0026p.gm.fetch))return t;if(re[t.debugId]++)return t;function r(e,r,n){var i=e[r];\"function\"==typeof i\u0026\u0026(e[r]=function(){var e,r=[...arguments],o={};t.emit(n+\"before-start\",[r],o),o[B.P]\u0026\u0026o[B.P].dt\u0026\u0026(e=o[B.P].dt);var a=i.apply(this,r);return t.emit(n+\"start\",[r,e],a),a.then((function(e){return t.emit(n+\"end\",[null,e],a),e}),(function(e){throw t.emit(n+\"end\",[e],a),e}))})}return re[t.debugId]=1,J.forEach((e=\u003e{r(Q[te],e,X),r(ee[te],e,X)})),r(p.gm,\"fetch\",Y),t.on(Y+\"end\",(function(e,r){var n=this;if(r){var i=r.headers.get(\"content-length\");null!==i\u0026\u0026(n.rxSize=i),t.emit(Y+\"done\",[null,r],n)}else t.emit(Y+\"done\",[e],n)})),t}var ie=i(7485),oe=i(5603);class ae{constructor(e){this.agentIdentifier=e}generateTracePayload(e){if(!this.shouldGenerateTrace(e))return null;var t=(0,oe.o)(this.agentIdentifier);if(!t)return null;var n=(t.accountID||\"\").toString()||null,i=(t.agentID||\"\").toString()||null,o=(t.trustKey||\"\").toString()||null;if(!n||!i)return null;var a=(0,r.ZF)(),s=(0,r.el)(),c=Date.now(),u={spanId:a,traceId:s,timestamp:c};return(e.sameOrigin||this.isAllowedOrigin(e)\u0026\u0026this.useTraceContextHeadersForCors())\u0026\u0026(u.traceContextParentHeader=this.generateTraceContextParentHeader(a,s),u.traceContextStateHeader=this.generateTraceContextStateHeader(a,c,n,i,o)),(e.sameOrigin\u0026\u0026!this.excludeNewrelicHeader()||!e.sameOrigin\u0026\u0026this.isAllowedOrigin(e)\u0026\u0026this.useNewrelicHeaderForCors())\u0026\u0026(u.newrelicHeader=this.generateTraceHeader(a,s,c,n,i,o)),u}generateTraceContextParentHeader(e,t){return\"00-\"+t+\"-\"+e+\"-01\"}generateTraceContextStateHeader(e,t,r,n,i){return i+\"@nr=0-1-\"+r+\"-\"+n+\"-\"+e+\"----\"+t}generateTraceHeader(e,t,r,n,i,o){if(!(\"function\"==typeof p.gm?.btoa))return null;var a={v:[0,1],d:{ty:\"Browser\",ac:n,ap:i,id:e,tr:t,ti:r}};return o\u0026\u0026n!==o\u0026\u0026(a.d.tk=o),btoa((0,j.A)(a))}shouldGenerateTrace(e){return this.isDtEnabled()\u0026\u0026this.isAllowedOrigin(e)}isAllowedOrigin(e){var t=!1,r={};if((0,s.gD)(this.agentIdentifier,\"distributed_tracing\")\u0026\u0026(r=(0,s.D0)(this.agentIdentifier).distributed_tracing),e.sameOrigin)t=!0;else if(r.allowed_origins instanceof Array)for(var n=0;n\u003cr.allowed_origins.length;n++){var i=(0,ie.D)(r.allowed_origins[n]);if(e.hostname===i.hostname\u0026\u0026e.protocol===i.protocol\u0026\u0026e.port===i.port){t=!0;break}}return t}isDtEnabled(){var e=(0,s.gD)(this.agentIdentifier,\"distributed_tracing\");return!!e\u0026\u0026!!e.enabled}excludeNewrelicHeader(){var e=(0,s.gD)(this.agentIdentifier,\"distributed_tracing\");return!!e\u0026\u0026!!e.exclude_newrelic_header}useNewrelicHeaderForCors(){var e=(0,s.gD)(this.agentIdentifier,\"distributed_tracing\");return!!e\u0026\u0026!1!==e.cors_use_newrelic_header}useTraceContextHeadersForCors(){var e=(0,s.gD)(this.agentIdentifier,\"distributed_tracing\");return!!e\u0026\u0026!!e.cors_use_tracecontext_headers}}var se=i(9300),ce=i(7295),ue=[\"load\",\"error\",\"abort\",\"timeout\"],de=ue.length,le=(0,R.dV)().o.REQ,fe=(0,R.dV)().o.XHR;class he extends b{static featureName=se.T;constructor(e,t=!0){super(e,se.T,t),this.dt=new ae(e.agentIdentifier),this.handler=(e,t,r,n)=\u003e(0,x.p)(e,t,r,n,this.ee);try{const e={xmlhttprequest:\"xhr\",fetch:\"fetch\",beacon:\"beacon\"};p.gm?.performance?.getEntriesByType(\"resource\").forEach((t=\u003e{if(t.initiatorType in e\u0026\u00260!==t.responseStatus){const r={status:t.responseStatus},n={rxSize:t.transferSize,duration:Math.floor(t.duration),cbTime:0};pe(r,t.name),this.handler(\"xhr\",[r,n,t.startTime,t.responseEnd,e[t.initiatorType]],void 0,a.K7.ajax)}}))}catch(e){}ne(this.ee),Z(this.ee),function(e,t,r,n){function i(e){var t=this;t.totalCbs=0,t.called=0,t.cbTime=0,t.end=R,t.ended=!1,t.xhrGuids={},t.lastSize=null,t.loadCaptureCalled=!1,t.params=this.params||{},t.metrics=this.metrics||{},e.addEventListener(\"load\",(function(r){T(t,e)}),(0,A.jT)(!1)),p.lR||e.addEventListener(\"progress\",(function(e){t.lastSize=e.loaded}),(0,A.jT)(!1))}function o(e){this.params={method:e[0]},pe(this,e[1]),this.metrics={}}function s(t,r){e.loader_config.xpid\u0026\u0026this.sameOrigin\u0026\u0026r.setRequestHeader(\"X-NewRelic-ID\",e.loader_config.xpid);var i=n.generateTracePayload(this.parsedOrigin);if(i){var o=!1;i.newrelicHeader\u0026\u0026(r.setRequestHeader(\"newrelic\",i.newrelicHeader),o=!0),i.traceContextParentHeader\u0026\u0026(r.setRequestHeader(\"traceparent\",i.traceContextParentHeader),i.traceContextStateHeader\u0026\u0026r.setRequestHeader(\"tracestate\",i.traceContextStateHeader),o=!0),o\u0026\u0026(this.dt=i)}}function c(e,r){var n=this.metrics,i=e[0],o=this;if(n\u0026\u0026i){var a=G(i);a\u0026\u0026(n.txSize=a)}this.startTime=(0,S.t)(),this.body=i,this.listener=function(e){try{\"abort\"!==e.type||o.loadCaptureCalled||(o.params.aborted=!0),(\"load\"!==e.type||o.called===o.totalCbs\u0026\u0026(o.onloadCalled||\"function\"!=typeof r.onload)\u0026\u0026\"function\"==typeof o.end)\u0026\u0026o.end(r)}catch(e){try{t.emit(\"internal-error\",[e])}catch(e){}}};for(var s=0;s\u003cde;s++)r.addEventListener(ue[s],this.listener,(0,A.jT)(!1))}function u(e,t,r){this.cbTime+=e,t?this.onloadCalled=!0:this.called+=1,this.called!==this.totalCbs||!this.onloadCalled\u0026\u0026\"function\"==typeof r.onload||\"function\"!=typeof this.end||this.end(r)}function d(e,t){var r=\"\"+V(e)+!!t;this.xhrGuids\u0026\u0026!this.xhrGuids[r]\u0026\u0026(this.xhrGuids[r]=!0,this.totalCbs+=1)}function l(e,t){var r=\"\"+V(e)+!!t;this.xhrGuids\u0026\u0026this.xhrGuids[r]\u0026\u0026(delete this.xhrGuids[r],this.totalCbs-=1)}function f(){this.endTime=(0,S.t)()}function h(e,r){r instanceof fe\u0026\u0026\"load\"===e[0]\u0026\u0026t.emit(\"xhr-load-added\",[e[1],e[2]],r)}function g(e,r){r instanceof fe\u0026\u0026\"load\"===e[0]\u0026\u0026t.emit(\"xhr-load-removed\",[e[1],e[2]],r)}function m(e,t,r){t instanceof fe\u0026\u0026(\"onload\"===r\u0026\u0026(this.onload=!0),(\"load\"===(e[0]\u0026\u0026e[0].type)||this.onload)\u0026\u0026(this.xhrCbStart=(0,S.t)()))}function v(e,r){this.xhrCbStart\u0026\u0026t.emit(\"xhr-cb-time\",[(0,S.t)()-this.xhrCbStart,this.onload,r],r)}function b(e){var t,r=e[1]||{};if(\"string\"==typeof e[0]?0===(t=e[0]).length\u0026\u0026p.RI\u0026\u0026(t=\"\"+p.gm.location.href):e[0]\u0026\u0026e[0].url?t=e[0].url:p.gm?.URL\u0026\u0026e[0]\u0026\u0026e[0]instanceof URL?t=e[0].href:\"function\"==typeof e[0].toString\u0026\u0026(t=e[0].toString()),\"string\"==typeof t\u0026\u00260!==t.length){t\u0026\u0026(this.parsedOrigin=(0,ie.D)(t),this.sameOrigin=this.parsedOrigin.sameOrigin);var i=n.generateTracePayload(this.parsedOrigin);if(i\u0026\u0026(i.newrelicHeader||i.traceContextParentHeader))if(e[0]\u0026\u0026e[0].headers)s(e[0].headers,i)\u0026\u0026(this.dt=i);else{var o={};for(var a in r)o[a]=r[a];o.headers=new Headers(r.headers||{}),s(o.headers,i)\u0026\u0026(this.dt=i),e.length\u003e1?e[1]=o:e.push(o)}}function s(e,t){var r=!1;return t.newrelicHeader\u0026\u0026(e.set(\"newrelic\",t.newrelicHeader),r=!0),t.traceContextParentHeader\u0026\u0026(e.set(\"traceparent\",t.traceContextParentHeader),t.traceContextStateHeader\u0026\u0026e.set(\"tracestate\",t.traceContextStateHeader),r=!0),r}}function y(e,t){this.params={},this.metrics={},this.startTime=(0,S.t)(),this.dt=t,e.length\u003e=1\u0026\u0026(this.target=e[0]),e.length\u003e=2\u0026\u0026(this.opts=e[1]);var r,n=this.opts||{},i=this.target;\"string\"==typeof i?r=i:\"object\"==typeof i\u0026\u0026i instanceof le?r=i.url:p.gm?.URL\u0026\u0026\"object\"==typeof i\u0026\u0026i instanceof URL\u0026\u0026(r=i.href),pe(this,r);var o=(\"\"+(i\u0026\u0026i instanceof le\u0026\u0026i.method||n.method||\"GET\")).toUpperCase();this.params.method=o,this.body=n.body,this.txSize=G(n.body)||0}function w(e,t){if(this.endTime=(0,S.t)(),this.params||(this.params={}),(0,ce.iW)(this.params))return;let n;this.params.status=t?t.status:0,\"string\"==typeof this.rxSize\u0026\u0026this.rxSize.length\u003e0\u0026\u0026(n=+this.rxSize);const i={txSize:this.txSize,rxSize:n,duration:(0,S.t)()-this.startTime};r(\"xhr\",[this.params,i,this.startTime,this.endTime,\"fetch\"],this,a.K7.ajax)}function R(e){const t=this.params,n=this.metrics;if(!this.ended){this.ended=!0;for(let t=0;t\u003cde;t++)e.removeEventListener(ue[t],this.listener,!1);t.aborted||(0,ce.iW)(t)||(n.duration=(0,S.t)()-this.startTime,this.loadCazptureCalled||4!==e.readyState?null==t.status\u0026\u0026(t.status=0):T(this,e),n.cbTime=this.cbTime,r(\"xhr\",[t,n,this.startTime,this.endTime,\"xhr\"],this,a.K7.ajax))}}function T(e,r){e.params.status=r.status;var n=function(e,t){var r=e.responseType;return\"json\"===r\u0026\u0026null!==t?t:\"arraybuffer\"===r||\"blob\"===r||\"json\"===r?G(e.response):\"text\"===r||\"\"===r||void 0===r?G(e.responseText):void 0}(r,e.lastSize);if(n\u0026\u0026(e.metrics.rxSize=n),e.sameOrigin){var i=r.getResponseHeader(\"X-NewRelic-App-Data\");i\u0026\u0026((0,x.p)(O.rs,[\"Ajax/CrossApplicationTracing/Header/Seen\"],void 0,a.K7.metrics,t),e.params.cat=i.split(\", \").pop())}e.loadCaptureCalled=!0}t.on(\"new-xhr\",i),t.on(\"open-xhr-start\",o),t.on(\"open-xhr-end\",s),t.on(\"send-xhr-start\",c),t.on(\"xhr-cb-time\",u),t.on(\"xhr-load-added\",d),t.on(\"xhr-load-removed\",l),t.on(\"xhr-resolved\",f),t.on(\"addEventListener-end\",h),t.on(\"removeEventListener-end\",g),t.on(\"fn-end\",v),t.on(\"fetch-before-start\",b),t.on(\"fetch-start\",y),t.on(\"fn-start\",m),t.on(\"fetch-done\",w)}(e,this.ee,this.handler,this.dt),this.importAggregator(e)}}function pe(e,t){var r=(0,ie.D)(t),n=e.params||e;n.hostname=r.hostname,n.port=r.port,n.protocol=r.protocol,n.host=r.hostname+\":\"+r.port,n.pathname=r.pathname,e.parsedOrigin=r,e.sameOrigin=r.sameOrigin}const ge={},me=[\"pushState\",\"replaceState\"];function ve(e){const t=function(e){return(e||B.ee).get(\"history\")}(e);return!p.RI||ge[t.debugId]++||(ge[t.debugId]=1,(0,W.YM)(t).inPlace(window.history,me,\"-\")),t}var be=i(3738);const{He:ye,bD:we,d3:Re,Kp:xe,TZ:Te,Lc:Ae,uP:Ee,Rz:Se}=be;class Ne extends b{static featureName=Te;constructor(e,t=!0){super(e,Te,t);if(!(0,m.V)(this.agentIdentifier))return void this.deregisterDrain();const r=this.ee;let n;ve(r),this.eventsEE=(0,F.u)(r),this.eventsEE.on(Ee,(function(e,t){this.bstStart=(0,S.t)()})),this.eventsEE.on(Ae,(function(e,t){(0,x.p)(\"bst\",[e[0],t,this.bstStart,(0,S.t)()],void 0,a.K7.sessionTrace,r)})),r.on(Se+Re,(function(e){this.time=(0,S.t)(),this.startPath=location.pathname+location.hash})),r.on(Se+xe,(function(e){(0,x.p)(\"bstHist\",[location.pathname+location.hash,this.startPath,this.time],void 0,a.K7.sessionTrace,r)}));try{n=new PerformanceObserver((e=\u003e{const t=e.getEntries();(0,x.p)(ye,[t],void 0,a.K7.sessionTrace,r)})),n.observe({type:we,buffered:!0})}catch(e){}this.importAggregator(e,{resourceObserver:n})}}var Oe=i(2614);class _e extends b{static featureName=t.TZ;#i;#o;constructor(e,r=!0){let n;super(e,t.TZ,r),this.replayRunning=!1,this.#o=e;try{n=JSON.parse(localStorage.getItem(\"\".concat(Oe.H3,\"_\").concat(Oe.uh)))}catch(e){}(0,g.SR)(e.agentIdentifier)\u0026\u0026this.ee.on(t.G4.RECORD,(()=\u003ethis.#a())),this.#s(n)?(this.#i=n?.sessionReplayMode,this.#c()):this.importAggregator(e),this.ee.on(\"err\",(e=\u003e{this.replayRunning\u0026\u0026(this.errorNoticed=!0,(0,x.p)(t.G4.ERROR_DURING_REPLAY,[e],void 0,this.featureName,this.ee))})),this.ee.on(t.G4.REPLAY_RUNNING,(e=\u003e{this.replayRunning=e}))}#s(e){return e\u0026\u0026(e.sessionReplayMode===Oe.g.FULL||e.sessionReplayMode===Oe.g.ERROR)||(0,g.Aw)(this.agentIdentifier)}#u=!1;async#c(e){if(!this.#u){this.#u=!0;try{const{Recorder:t}=await Promise.all([i.e(478),i.e(249)]).then(i.bind(i,8589));this.recorder??=new t({mode:this.#i,agentIdentifier:this.agentIdentifier,trigger:e,ee:this.ee}),this.recorder.startRecording(),this.abortHandler=this.recorder.stopRecording}catch(e){}this.importAggregator(this.#o,{recorder:this.recorder,errorNoticed:this.errorNoticed})}}#a(){this.featAggregate?this.featAggregate.mode!==Oe.g.FULL\u0026\u0026this.featAggregate.initializeRecording(Oe.g.FULL,!0):(this.#i=Oe.g.FULL,this.#c(t.Qb.API),this.recorder\u0026\u0026this.recorder.parent.mode!==Oe.g.FULL\u0026\u0026(this.recorder.parent.mode=Oe.g.FULL,this.recorder.stopRecording(),this.recorder.startRecording(),this.abortHandler=this.recorder.stopRecording))}}var Ie=i(3962);class je extends b{static featureName=Ie.TZ;constructor(e,t=!0){if(super(e,Ie.TZ,t),!p.RI||!(0,R.dV)().o.MO)return;const r=ve(this.ee);Ie.tC.forEach((e=\u003e{(0,A.sp)(e,(e=\u003e{a(e)}),!0)}));const n=()=\u003e(0,x.p)(\"newURL\",[(0,S.t)(),\"\"+window.location],void 0,this.featureName,this.ee);r.on(\"pushState-end\",n),r.on(\"replaceState-end\",n);try{this.removeOnAbort=new AbortController}catch(e){}(0,A.sp)(\"popstate\",(e=\u003e(0,x.p)(\"newURL\",[e.timeStamp,\"\"+window.location],void 0,this.featureName,this.ee)),!0,this.removeOnAbort?.signal);let i=!1;const o=new((0,R.dV)().o.MO)(((e,t)=\u003e{i||(i=!0,requestAnimationFrame((()=\u003e{(0,x.p)(\"newDom\",[(0,S.t)()],void 0,this.featureName,this.ee),i=!1})))})),a=(0,v.s)((e=\u003e{(0,x.p)(\"newUIEvent\",[e],void 0,this.featureName,this.ee),o.observe(document.body,{attributes:!0,childList:!0,subtree:!0,characterData:!0})}),100,{leading:!0});this.abortHandler=function(){this.removeOnAbort?.abort(),o.disconnect(),this.abortHandler=void 0},this.importAggregator(e,{domObserver:o})}}var Pe=i(7378);const Ce={},ke=[\"appendChild\",\"insertBefore\",\"replaceChild\"];function Le(e){const t=function(e){return(e||B.ee).get(\"jsonp\")}(e);if(!p.RI||Ce[t.debugId])return t;Ce[t.debugId]=!0;var r=(0,W.YM)(t),n=/[?\u0026](?:callback|cb)=([^\u0026#]+)/,i=/(.*)\\.([^.]+)/,o=/^(\\w+)(\\.|$)(.*)$/;function a(e,t){if(!e)return t;const r=e.match(o),n=r[1];return a(r[3],t[n])}return r.inPlace(Node.prototype,ke,\"dom-\"),t.on(\"dom-start\",(function(e){!function(e){if(!e||\"string\"!=typeof e.nodeName||\"script\"!==e.nodeName.toLowerCase())return;if(\"function\"!=typeof e.addEventListener)return;var o=(s=e.src,c=s.match(n),c?c[1]:null);var s,c;if(!o)return;var u=function(e){var t=e.match(i);if(t\u0026\u0026t.length\u003e=3)return{key:t[2],parent:a(t[1],window)};return{key:e,parent:window}}(o);if(\"function\"!=typeof u.parent[u.key])return;var d={};function l(){t.emit(\"jsonp-end\",[],d),e.removeEventListener(\"load\",l,(0,A.jT)(!1)),e.removeEventListener(\"error\",f,(0,A.jT)(!1))}function f(){t.emit(\"jsonp-error\",[],d),t.emit(\"jsonp-end\",[],d),e.removeEventListener(\"load\",l,(0,A.jT)(!1)),e.removeEventListener(\"error\",f,(0,A.jT)(!1))}r.inPlace(u.parent,[u.key],\"cb-\",d),e.addEventListener(\"load\",l,(0,A.jT)(!1)),e.addEventListener(\"error\",f,(0,A.jT)(!1)),t.emit(\"new-jsonp\",[e.src],d)}(e[0])})),t}const He={};function De(e){const t=function(e){return(e||B.ee).get(\"promise\")}(e);if(He[t.debugId])return t;He[t.debugId]=!0;var r=t.context,n=(0,W.YM)(t),i=p.gm.Promise;return i\u0026\u0026function(){function e(r){var o=t.context(),a=n(r,\"executor-\",o,null,!1);const s=Reflect.construct(i,[a],e);return t.context(s).getCtx=function(){return o},s}p.gm.Promise=e,Object.defineProperty(e,\"name\",{value:\"Promise\"}),e.toString=function(){return i.toString()},Object.setPrototypeOf(e,i),[\"all\",\"race\"].forEach((function(r){const n=i[r];e[r]=function(e){let i=!1;[...e||[]].forEach((e=\u003e{this.resolve(e).then(a(\"all\"===r),a(!1))}));const o=n.apply(this,arguments);return o;function a(e){return function(){t.emit(\"propagate\",[null,!i],o,!1,!1),i=i||!e}}}})),[\"resolve\",\"reject\"].forEach((function(r){const n=i[r];e[r]=function(e){const r=n.apply(this,arguments);return e!==r\u0026\u0026t.emit(\"propagate\",[e,!0],r,!1,!1),r}})),e.prototype=i.prototype;const o=i.prototype.then;i.prototype.then=function(...e){var i=this,a=r(i);a.promise=i,e[0]=n(e[0],\"cb-\",a,null,!1),e[1]=n(e[1],\"cb-\",a,null,!1);const s=o.apply(this,e);return a.nextPromise=s,t.emit(\"propagate\",[i,!0],s,!1,!1),s},i.prototype.then[W.Jt]=o,t.on(\"executor-start\",(function(e){e[0]=n(e[0],\"resolve-\",this,null,!1),e[1]=n(e[1],\"resolve-\",this,null,!1)})),t.on(\"executor-err\",(function(e,t,r){e[1](r)})),t.on(\"cb-end\",(function(e,r,n){t.emit(\"propagate\",[n,!0],this.nextPromise,!1,!1)})),t.on(\"propagate\",(function(e,r,n){this.getCtx\u0026\u0026!r||(this.getCtx=function(){if(e instanceof Promise)var r=t.context(e);return r\u0026\u0026r.getCtx?r.getCtx():this})}))}(),t}const Me={},Ke=\"setTimeout\",Ue=\"setInterval\",Ve=\"clearTimeout\",Ge=\"-start\",Fe=[Ke,\"setImmediate\",Ue,Ve,\"clearImmediate\"];function Be(e){const t=function(e){return(e||B.ee).get(\"timer\")}(e);if(Me[t.debugId]++)return t;Me[t.debugId]=1;var r=(0,W.YM)(t);return r.inPlace(p.gm,Fe.slice(0,2),Ke+\"-\"),r.inPlace(p.gm,Fe.slice(2,3),Ue+\"-\"),r.inPlace(p.gm,Fe.slice(3),Ve+\"-\"),t.on(Ue+Ge,(function(e,t,n){e[0]=r(e[0],\"fn-\",null,n)})),t.on(Ke+Ge,(function(e,t,n){this.method=n,this.timerDuration=isNaN(e[1])?0:+e[1],e[0]=r(e[0],\"fn-\",this,n)})),t}const We={};function ze(e){const t=function(e){return(e||B.ee).get(\"mutation\")}(e);if(!p.RI||We[t.debugId])return t;We[t.debugId]=!0;var r=(0,W.YM)(t),n=p.gm.MutationObserver;return n\u0026\u0026(window.MutationObserver=function(e){return this instanceof n?new n(r(e,\"fn-\")):n.apply(this,arguments)},MutationObserver.prototype=n.prototype),t}const{TZ:qe,d3:Ze,Kp:Ye,$p:Xe,wW:Je,e5:Qe,tH:$e,uP:et,rw:tt,Lc:rt}=Pe;class nt extends b{static featureName=qe;constructor(e,t=!0){if(super(e,qe,t),!p.RI)return;try{this.removeOnAbort=new AbortController}catch(e){}let r,n=0;const i=this.ee.get(\"tracer\"),o=Le(this.ee),a=De(this.ee),s=Be(this.ee),c=Z(this.ee),u=this.ee.get(\"events\"),d=ne(this.ee),l=ve(this.ee),f=ze(this.ee);function h(e,t){l.emit(\"newURL\",[\"\"+window.location,t])}function g(){n++,r=window.location.hash,this[et]=(0,S.t)()}function m(){n--,window.location.hash!==r\u0026\u0026h(0,!0);var e=(0,S.t)();this[Qe]=~~this[Qe]+e-this[et],this[rt]=e}function v(e,t){e.on(t,(function(){this[t]=(0,S.t)()}))}this.ee.on(et,g),a.on(tt,g),o.on(tt,g),this.ee.on(rt,m),a.on(Je,m),o.on(Je,m),this.ee.on(\"fn-err\",((...t)=\u003e{t[2]?.__newrelic?.[e.agentIdentifier]||(0,x.p)(\"function-err\",[...t],void 0,this.featureName,this.ee)})),this.ee.buffer([et,rt,\"xhr-resolved\"],this.featureName),u.buffer([et],this.featureName),s.buffer([\"setTimeout\"+Ye,\"clearTimeout\"+Ze,et],this.featureName),c.buffer([et,\"new-xhr\",\"send-xhr\"+Ze],this.featureName),d.buffer([$e+Ze,$e+\"-done\",$e+Xe+Ze,$e+Xe+Ye],this.featureName),l.buffer([\"newURL\"],this.featureName),f.buffer([et],this.featureName),a.buffer([\"propagate\",tt,Je,\"executor-err\",\"resolve\"+Ze],this.featureName),i.buffer([et,\"no-\"+et],this.featureName),o.buffer([\"new-jsonp\",\"cb-start\",\"jsonp-error\",\"jsonp-end\"],this.featureName),v(d,$e+Ze),v(d,$e+\"-done\"),v(o,\"new-jsonp\"),v(o,\"jsonp-end\"),v(o,\"cb-start\"),l.on(\"pushState-end\",h),l.on(\"replaceState-end\",h),window.addEventListener(\"hashchange\",h,(0,A.jT)(!0,this.removeOnAbort?.signal)),window.addEventListener(\"load\",h,(0,A.jT)(!0,this.removeOnAbort?.signal)),window.addEventListener(\"popstate\",(function(){h(0,n\u003e1)}),(0,A.jT)(!0,this.removeOnAbort?.signal)),this.abortHandler=this.#n,this.importAggregator(e)}#n(){this.removeOnAbort?.abort(),this.abortHandler=void 0}}var it=i(3333);class ot extends b{static featureName=it.TZ;constructor(e,t=!0){super(e,it.TZ,t);const r=[e.init.page_action.enabled,e.init.performance.capture_marks,e.init.performance.capture_measures,e.init.user_actions.enabled];p.RI\u0026\u0026e.init.user_actions.enabled\u0026\u0026(it.Zp.forEach((e=\u003e(0,A.sp)(e,(e=\u003e(0,x.p)(\"ua\",[e],void 0,this.featureName,this.ee)),!0))),it.qN.forEach((e=\u003e(0,A.sp)(e,(e=\u003e(0,x.p)(\"ua\",[e],void 0,this.featureName,this.ee)))))),r.some((e=\u003ee))?this.importAggregator(e):this.deregisterDrain()}}var at=i(993),st=i(3785);class ct extends b{static featureName=at.TZ;constructor(e,t=!0){super(e,at.TZ,t);const r=this.ee;this.ee.on(\"wrap-logger-end\",(function([e]){const{level:t,customAttributes:n}=this;(0,st.R)(r,e,n,t)})),this.importAggregator(e)}}new class extends o{constructor(t,r){super(r),p.gm?(this.features={},(0,R.bQ)(this.agentIdentifier,this),this.desiredFeatures=new Set(t.features||[]),this.desiredFeatures.add(w),this.runSoftNavOverSpa=[...this.desiredFeatures].some((e=\u003ee.featureName===a.K7.softNav)),(0,d.j)(this,t,t.loaderType||\"agent\"),this.run()):(0,e.R)(21)}get config(){return{info:this.info,init:this.init,loader_config:this.loader_config,runtime:this.runtime}}run(){try{const t=u(this.agentIdentifier),r=[...this.desiredFeatures];r.sort(((e,t)=\u003ea.P3[e.featureName]-a.P3[t.featureName])),r.forEach((r=\u003e{if(!t[r.featureName]\u0026\u0026r.featureName!==a.K7.pageViewEvent)return;if(this.runSoftNavOverSpa\u0026\u0026r.featureName===a.K7.spa)return;if(!this.runSoftNavOverSpa\u0026\u0026r.featureName===a.K7.softNav)return;const n=function(e){switch(e){case a.K7.ajax:return[a.K7.jserrors];case a.K7.sessionTrace:return[a.K7.ajax,a.K7.pageViewEvent];case a.K7.sessionReplay:return[a.K7.sessionTrace];case a.K7.pageViewTiming:return[a.K7.pageViewEvent];default:return[]}}(r.featureName).filter((e=\u003e!(e in this.features)));n.length\u003e0\u0026\u0026(0,e.R)(36,{targetFeature:r.featureName,missingDependencies:n}),this.features[r.featureName]=new r(this)}))}catch(t){(0,e.R)(22,t);for(const e in this.features)this.features[e].abortHandler?.();const r=(0,R.Zm)();delete r.initializedAgents[this.agentIdentifier]?.api,delete r.initializedAgents[this.agentIdentifier]?.features,delete this.sharedAggregator;return r.ee.get(this.agentIdentifier).abort(),!1}}}({features:[he,w,N,Ne,_e,_,D,ot,ct,je,nt],loaderType:\"spa\"})})()})();\n","google":{"siteVerification":"6f-9u1j4v1gbmIaYov6PvqA46VavB4HsJ7mOORoJVfQ"},"testAutomationFlags":{"disableAds":false,"disableIirisAuth":false,"disableWelcomeAd":false,"disableBigskyAd":false,"disableIirisRecommend":false,"disableDcts":false,"disableWeatherWidget":false,"disableCashGrainWidget":false,"disableCommoditiesWidget":false,"disableCaptcha":false,"disableCookieBanner":false,"overrideBrandStyling":"","overrideThemeStyling":""},"configState":{"font":{"primary":{"name":"Source Sans 3","url":"https://fonts.googleapis.com/css2?family=Source+Sans+3:ital,wght@0,400;0,600;0,700;1,400;1,600;1,700\u0026display=swap"},"secondary":{"name":"Source Sans 3","url":"https://fonts.googleapis.com/css2?family=Source+Sans+3:ital,wght@0,400;0,600;0,700;1,400;1,600;1,700\u0026display=swap"}},"theme":"theme2","uiBrand":"waste360","isMarketsDivision":false,"image":{"brand":"https://eu-images.contentstack.com/v3/assets/blt4a147f9e36f0754a/blt8727e43b5d281489/65552d3b0d9812040ab5df6d/Group_5574.svg","contributor":"https://eu-images.contentstack.com/v3/assets/blt4a147f9e36f0754a/blt2a3a33e53fc4b6f9/651e7618d77fc8caa7c52925/theme2_placeholder_avatar.png"},"media":{"brightcoveAccountId":"5699924531001"},"newsletterSignupPromo":{"unbounceURL":"/","elnConfig":{"newsletter":{"subscribeForm":{"title":"Subscribe to Our Newsletters","subtitle":"Sign up for one or more of Waste360's newsletters to receive award-winning content right to your inbox. Subscribe today and receive the latest news and insights."},"subscribeConfirm":{"title":"Subscribe to Our Newsletters","subtitle":"Sign up for one or more of Waste360's newsletters to receive award-winning content right to your inbox. Subscribe today and receive the latest news and insights."}}}},"isOneTrustLoaded":false}},"routes/$topic.$slug._index":{"isRequestedByGoogleBot":false,"iirisRecommendationConfig":{"id":"widget-1701812194901","division":"im","brandFamily":"ic","entityTagBackground":"#000000","dateFormat":"Mmm DD, YYYY","showBy":"","showTime":"","borderRadius":"1","imageWidth":"324","imageHeight":"182","dateTimeBgcolor":"#0080A2","dateTimeFontColor":"#FFFFFF","imagePosition":"vertical","dropShadow":"#FFEB00","dateTimeFontsize":"12","entityTagBorderColor":"#ffffff","borderColor":"#000000","showdate":"yes","redirectMode":"same","recipe":"related-items"},"isUserEntitled":false,"isGatedAsPaid":false,"metadata":{"type":"article","uid":"bltd406ec893add8450","aid":"939215","reg":"anonymous","pterm":{"main":"Food Waste","parent":"Organic Waste","grandparent":{"title":""},"additional":[{"type":"TopicPrimary","title":"Organic Waste","url":"/organic-waste"}]},"contentFormat":"","buyersJourney":"","contributor":[{"title":"Arlene Karidis","name":"Arlene Karidis","companyName":"Waste360","role":"Freelance writer","avatar":"https://eu-images.contentstack.com/v3/assets/blt4a147f9e36f0754a/blt03c475d40ab16e78/66ab7b7c75e867d151d741bc/20240721_150521.jpg","link":"/author/arlene-karidis","tagLine":"Freelance writer, Waste360","summary":[{"type":"paragraph","attrs":{"textAlign":"left"},"content":[{"type":"text","text":"Arlene Karidis has 30 years’ cumulative experience reporting on health and environmental topics for B2B and consumer publications of a global, national and/or regional reach, including Waste360, Washington Post, The Atlantic, Huffington Post, Baltimore Sun and lifestyle and parenting magazines. In between her assignments, Arlene does yoga, Pilates, takes long walks, and works her body in other ways that won’t bang up her somewhat challenged knees; drinks wine;  hangs with her family and other good friends and on really slow weekends, entertains herself watching her cat get happy on catnip and play with new toys."}]}]}],"gatedWithExternalForm":false,"gatedWithSiteReg":false,"paidGating":false,"sponsorName":""},"template":{"breadcrumbs":[{"url":"/","title":"Home"},{"url":"/organic-waste/food-waste","title":"Food Waste"}],"topics":[{"__typename":"TopicSecondary","title":"Food Waste","url":"/organic-waste/food-waste","parentTopic":{"title":"Organic Waste"}},{"__typename":"TopicPrimary","title":"Organic Waste","url":"/organic-waste"}],"subBrand":null,"searchParams":{},"summary":"Dynamic pricing software like Wasteless uses AI to reduce food waste and boost grocery profits by automatically adjusting prices for perishables as they approach expiration, encouraging earlier purchases with smaller markdowns. Since its launch in 2017, the technology has helped grocers reduce waste by up to 80%, save millions, and increase revenue, particularly benefiting meat, poultry, and fish sales, while addressing sustainability and market challenges.","title":"How Dynamic Pricing Tech is Cutting Grocers’ Food Waste","mobileHeadline":"How Dynamic Pricing Tech is Cutting Grocers’ Food Waste","authoredBy":"","authoredOn":"","oldUrl":"","buyersJourney":"","contributors":[{"title":"Arlene Karidis","name":"Arlene Karidis","companyName":"Waste360","role":"Freelance writer","avatar":"https://eu-images.contentstack.com/v3/assets/blt4a147f9e36f0754a/blt03c475d40ab16e78/66ab7b7c75e867d151d741bc/20240721_150521.jpg","link":"/author/arlene-karidis","tagLine":"Freelance writer, Waste360","summary":[{"type":"paragraph","attrs":{"textAlign":"left"},"content":[{"type":"text","text":"Arlene Karidis has 30 years’ cumulative experience reporting on health and environmental topics for B2B and consumer publications of a global, national and/or regional reach, including Waste360, Washington Post, The Atlantic, Huffington Post, Baltimore Sun and lifestyle and parenting magazines. In between her assignments, Arlene does yoga, Pilates, takes long walks, and works her body in other ways that won’t bang up her somewhat challenged knees; drinks wine;  hangs with her family and other good friends and on really slow weekends, entertains herself watching her cat get happy on catnip and play with new toys."}]}]}],"readTime":5,"newsletterSignUpPromo":{"title":"Stay in the Know - Subscribe to Our Newsletters","message":"Join a network of more than 90,000 waste and recycling industry professionals. Get the latest news and insights straight to your inbox. Free.","newsletterId":"blt977779e7be79b245","buttonText":"Sign Me Up","variant":"vertical","mode":"dark"},"socialShare":[],"publishedDate":"2024-10-15T02:46:24.000Z","keywords":[{"url":"/keyword/food-waste","title":"Food Waste"},{"url":"/keyword/technology","title":"Technology"},{"url":"/keyword/artificial-intelligence","title":"Artificial Intelligence"}],"atAGlance":[],"bodyJson":[{"type":"paragraph","attrs":{"textAlign":"left"},"content":[{"type":"text","text":"U.S. grocers generated 4.99 million tons of surplus food in 2022, and nearly 35 percent of it was landfilled or incinerated, taking a toll on the environment and on retailers’ bottom line. Food lost at the store level is worth, on average, double the profits from food sales, reports ReFED."}]},{"type":"paragraph","attrs":{"textAlign":"left"},"content":[{"type":"text","text":"But a process called dynamic pricing has potential to turn the tide. It’s a way to slash food waste and its associated costs by discounting items as they draw nearer to their expiration dates."}]},{"type":"paragraph","attrs":{"textAlign":"left"},"content":[{"type":"text","text":"Software developer Wasteless offers an artificial intelligence-powered application to achieve those very goals. Its dynamic pricing software not only helps incentivize consumers to buy food that would otherwise become waste but does it in a way where retailers can make a profit."}]},{"type":"ad","pos":"300_1v_article"},{"type":"paragraph","attrs":{"textAlign":"left"},"content":[{"type":"text","text":"The company’s markdown software leverages deep learning to determine what foods to discount, how much to discount them, and when to do it. The smart tech monitors and analyzes data such as how much stock is onboarded to shelves, when it was put out, and expiration dates. Items are automatically priced according to their freshness.  "}]},{"type":"ad","pos":"native_1v"},{"type":"paragraph","attrs":{"textAlign":"left"},"content":[{"type":"text","text":"“We learned that to sell to retailers you must touch their pockets. So, we are selling money and value. Along with those benefits come massive food waste reduction,” says Wasteless founder and CEO Oded Omer."}]},{"type":"paragraph","attrs":{"textAlign":"left"},"content":[{"type":"text","text":"Launched in 2017, the company caters to 1,000 stores across 18 grocery chains in the U.S. and Europe. Customers realize at least 20 percent more revenue—sometimes up to 50 percent—leveraging this price optimization app."}]},{"type":"ad","pos":"video_v"},{"type":"paragraph","attrs":{"textAlign":"left"},"content":[{"type":"text","text":"The tool has been a game changer for grocers who historically took what Omer calls a reactive approach to food waste rather than a preventive one. They would wait until a day or two before meats, poultry, and other perishables reached their expiration dates, then aggressively discount them."}]},{"type":"paragraph","attrs":{"textAlign":"left"},"content":[{"type":"text","text":"“We say do not wait until the last moment and knock down prices by 30 to 60 percent. Go with a much smaller discount earlier.  Then we look at the outcome to determine if the lesser markdown was enough to move the stock and sell items. If the item was not picked up the AI technology deepens the markdown,” Omer says."}]},{"type":"paragraph","attrs":{"textAlign":"left"},"content":[{"type":"text","text":"In terms of dollars, some end users realize tens to hundreds of millions in savings, he says. At the same time, they typically cut their waste by 35 to 80 percent. That adds up, especially for large operations. He points to a 150-store chain that was able to prevent 2.2M pounds of meat from going to waste in one year."}]},{"type":"paragraph","attrs":{"textAlign":"left"},"content":[{"type":"text","text":"The fresher the items the greater the savings. Meat, poultry, and fish are where customers see the highest impact."}]},{"type":"paragraph","attrs":{"textAlign":"left"},"content":[{"type":"text","text":"Omer and co-founder Yossi Regev come from IT backgrounds, having developed dynamic pricing, big data, and IoT systems in past ventures. And they knew retail; they’d established three companies that focused on this sector."}]},{"type":"paragraph","attrs":{"textAlign":"left"},"content":[{"type":"text","text":"They sold the last of the three operations, a retail analytics company, to drink and brew mega giant AB InBev for $80 million.  While their focus was not on salvaging food at the time, they were aware of the issues."}]},{"type":"paragraph","attrs":{"textAlign":"left"},"content":[{"type":"text","text":"“We thought what if we could harness the power of dynamic pricing to reduce food waste? We could have massive impact!”"}]},{"type":"paragraph","attrs":{"textAlign":"left"},"content":[{"type":"text","text":"For a fleeting moment he wondered if he would have to be insane to start all over again from the ground up."}]},{"type":"paragraph","attrs":{"textAlign":"left"},"content":[{"type":"text","text":"“But my career was inside startups where you wake up with an idea. You want to do something good that will bring meaningful change."}]},{"type":"paragraph","attrs":{"textAlign":"left"},"content":[{"type":"text","text":"“So, I said we know retail. We know investors and have other connections. Let’s fight food waste.  That’s a good goal.”"}]},{"type":"paragraph","attrs":{"textAlign":"left"},"content":[{"type":"text","text":"In 2017, the year Omer and Regev launched Wasteless, they tested the American market but decided grocers there were not ready for what they had in mind. The entrepreneurs turned to Europe, establishing a subsidiary in the Netherlands where the industry was aware of and wanting to take on food waste. Today they work with what Omer calls four of Europe’s largest chains."}]},{"type":"ad","pos":"native_2v"},{"type":"paragraph","attrs":{"textAlign":"left"},"content":[{"type":"text","text":"The partners gave the U.S. another shot in 2019 setting up a demonstration project in Manhattan. Retailers’ understanding has been growing around the potential to generate more revenue while reducing their waste, and the tech company has grown alongside this trend."}]},{"type":"paragraph","attrs":{"textAlign":"left"},"content":[{"type":"text","text":"By now Wasteless has raised $15M, mainly through venture capital from U.S. and European firms. Some funds have come from innovation grants and some from industry-related investors, mostly meat manufacturers."}]},{"type":"paragraph","attrs":{"textAlign":"left"},"content":[{"type":"text","text":"A few dynamics that present unique challenges to grocers drive the uptick in new technologies for this sector—especially as food companies are pressued to do their part to help slow climate change. What those dynamics boil down to is that grocers live in a constantly changing world."}]},{"type":"paragraph","attrs":{"textAlign":"left"},"content":[{"type":"text","text":"There are supply chain fluctuations due to factors such as seasonal produce availability, weather conditions, and transportation delays. A sudden disruption in the delivery of fresh produce or other perishables can lead to a backup, then unexpected overstock, with waste happening when products expire before they are sold."}]},{"type":"paragraph","attrs":{"textAlign":"left"},"content":[{"type":"text","text":"Adding to these complexities, consumer preferences can shift, sometimes quickly, due to trends, diet fads, or local events. Trying to stay on top of these fluctuations can take some guesswork. It can mean more waste when unexpected demand spikes are not properly anticipated."}]},{"type":"paragraph","attrs":{"textAlign":"left"},"content":[{"type":"text","text":"Stores Consulting Group supports grocers in areas such as process improvement, shrink and profit recovery. The company brings Wasteless’ technology to its clients."}]},{"type":"paragraph","attrs":{"textAlign":"left"},"content":[{"type":"text","text":"“[The tool has generated] huge returns on investment and the ability for targeted markdowns based on movement and ownership, versus the traditional way of static markdown percentages,” says Rick Marino, managing director, The Stores Consulting Group."}]},{"type":"ad","pos":"300_2v_article"},{"type":"paragraph","attrs":{"textAlign":"left"},"content":[{"type":"text","text":"His clients"},{"type":"text","marks":[{"type":"bold"}],"text":" "},{"type":"text","text":"are losing one-third less in markdown costs; they are selling more and landfilling less while offering clients what they look for: good deals, he says.Says Omer: “It’s about empowering supermarket chains to operate more profitably and efficiently, reduce waste and ultimately create a more sustainable future for the industry.”"}]}],"contentType":"Article","uid":"bltd406ec893add8450","sponsored":{"logoUrl":"","url":"","alt":"","title":"","campaignURL":"","isSponsored":false,"gateWithSiteReg":false,"gateWithExternalForm":"None","externalFormID":""},"featuredImage":{"src":"https://eu-images.contentstack.com/v3/assets/blt4a147f9e36f0754a/blt504d9ded2bf0c0bb/651ff88cac22389e4abffe20/grocery_20store_20waste_20MR1540.jpg","alt":"food waste","caption":"","creditTo":"Jim West / Alamy Stock Photo"},"contentFormat":{"title":""},"seriesTaxonomy":[],"programTaxonomy":[],"sidebarModules":[{"type":"module_iiris_recommend","data":{"moduleLabel":"Recommended For You","iirisRecommendCode":"\u003cdiv id=\"widget-1728664767181\" widgetType=\"grid\" division=\"im\" brand_family=\"ic\" brand=\"waste360\" class=\"iris-recommend iris-recommend-non-sticky\" cardwidth=\"210px\" entity=\"content\" recipe=\"similar-items\" by=\"category\" itemUrl=\"https://staging.waste360.com/waste-recycling/speaking-volumes-waste360-reader-survey-shapes-voice-of-industry-coverage\" category=\"it-life\" carouselid=\"iris-recommend\" redirectMode=\"new\" title=\"Recommended For You\" showentitytag=\"yes\" entitytagbackground=\"#6c6969\" entitytagfont=\"#ffffff\" showdate=\"yes\" dateformat=\"DD/MM/YYYY\" rows=\"3\" columns=\"1\" borderRadius=\"5\" titleweight=\"600\" authorstitleweight=\"600\" datetimebgcolor=\"#ffffff\" datetimefontcolor=\"#000\" imagePosition=\"vertical\" datetimefontsize=\"10\" entitytagbordercolor=\"#000\" sponsoredtagbackground=\"#FFFF00\" sponsoredtagfont=\"#000000\" placement=\"sidebar\" maxAge=\"3\" sponsoredposition=\"1\" sponsoredcount=\"1\" additionalContentType=\"article\"\u003e\u003c/div\u003e"}},{"type":"module_content_cards","data":{"title":"Top Stories","moduleLabel":"","variant":"default","contents":[{"type":"contentPreview","data":{"contentType":"Article","variant":"card-horizontal","thumbnail":{"src":"https://eu-images.contentstack.com/v3/assets/blt4a147f9e36f0754a/blt5fd7ec212ae16139/651ffa164837afc689faa896/metal_20scrap.jpg","alt":""},"articleName":"Advanced Recycling Technologies Announces Growth Investment from Ember Infrastructure","mobileHeadline":"Advanced Recycling Technologies Announces Growth Investment from Ember Infrastructure","articleUrl":"/metals/advanced-recycling-technologies-announces-growth-investment-from-ember-infrastructure","listPageUrl":"/metals/advanced-recycling-technologies-announces-growth-investment-from-ember-infrastructure","linkAttrs":{},"date":"Nov 26, 2024","webinarStartTime":"","categoryName":"Metals","categoryUrl":"/waste-recycling/metals","contributors":[],"timeRead":3,"paidGating":{"paidContent":false,"paidProductTaxonomy":[]}}},{"type":"ad","data":{"pos":"native_right_1v"}},{"type":"contentPreview","data":{"contentType":"Article","variant":"card-horizontal","thumbnail":{"src":"https://eu-images.contentstack.com/v3/assets/blt4a147f9e36f0754a/blt61a5d1840c616b56/651ffcc59cf1349bbf82942c/plastics11feat.png","alt":""},"articleName":"Cyclyx to Invest in Second Cyclyx Circularity Center","mobileHeadline":"Cyclyx to Invest in Second Cyclyx Circularity Center","articleUrl":"/plastics/cyclyx-to-invest-in-second-cyclyx-circularity-center","listPageUrl":"/plastics/cyclyx-to-invest-in-second-cyclyx-circularity-center","linkAttrs":{},"date":"Nov 26, 2024","webinarStartTime":"","categoryName":"Plastics","categoryUrl":"/waste-recycling/plastics","contributors":[],"timeRead":1,"paidGating":{"paidContent":false,"paidProductTaxonomy":[]}}},{"type":"contentPreview","data":{"contentType":"Article","variant":"card-horizontal","thumbnail":{"src":"https://eu-images.contentstack.com/v3/assets/blt4a147f9e36f0754a/blt5d22055ac467d181/6745d5571225142c15c8d9eb/thanksgiving_food_MR1540.jpg","alt":""},"articleName":"OSPIRG Offers Solutions to Food Waste Ahead of Thanksgiving","mobileHeadline":"OSPIRG Offers Solutions to Food Waste Ahead of Thanksgiving","articleUrl":"/food-waste/ospirg-offers-solutions-to-food-waste-ahead-of-thanksgiving","listPageUrl":"/food-waste/ospirg-offers-solutions-to-food-waste-ahead-of-thanksgiving","linkAttrs":{},"date":"Nov 26, 2024","webinarStartTime":"","categoryName":"Food Waste","categoryUrl":"/organic-waste/food-waste","contributors":[],"timeRead":1,"paidGating":{"paidContent":false,"paidProductTaxonomy":[]}}},{"type":"ad","data":{"pos":"native_right_2v"}},{"type":"contentPreview","data":{"contentType":"Article","variant":"card-horizontal","thumbnail":{"src":"https://eu-images.contentstack.com/v3/assets/blt4a147f9e36f0754a/bltfc1ba5f7168d6439/6745d4baf8c46b42882fc725/litter_2_MR1540.jpg","alt":""},"articleName":"Washington D.C. Volunteers Clean Litter from Neglected Urban Forests","mobileHeadline":"Washington D.C. Volunteers Clean Litter from Neglected Urban Forests","articleUrl":"/waste-recycling/washington-d-c-volunteers-clean-litter-from-neglected-urban-forests","listPageUrl":"/waste-recycling/washington-d-c-volunteers-clean-litter-from-neglected-urban-forests","linkAttrs":{},"date":"Nov 26, 2024","webinarStartTime":"","categoryName":"Waste Recycling","categoryUrl":"/waste-recycling","contributors":[],"timeRead":1,"paidGating":{"paidContent":false,"paidProductTaxonomy":[]}}}],"dateDisplay":"show","contributorDisplay":"show"},"adConfig":{"nativeAdOption":true}}],"relatedEvents":[],"topicSelector":{"mainTopic":{"type":"TopicSecondary","title":"Food Waste","url":"/organic-waste/food-waste","parentTopic":{"type":"TopicPrimary","title":"Organic Waste"}},"additionalTopics":[{"type":"TopicPrimary","title":"Organic Waste","url":"/organic-waste"}]},"disclaimer":[],"paidGating":{"isPaidContent":false,"paidProductTaxonomies":[]},"errorModal":{"showErrorModal":false,"errorTitle":"Oops! An error has occurred","errorDescription":"The connection on our end has been interrupted. Please refresh the page and try again."},"additionalGatingSettings":{"gatingCharacterLength":750,"gatingTitle":"","gatingDescriptionMessage":""},"isGatedAsPaid":false},"schema":[{"@context":"https://schema.org","@type":"Article","datePublished":"2024-10-15T02:46:24.000Z","dateModified":"2024-10-16T03:11:23.570Z","headline":"How Dynamic Pricing Tech is Cutting Grocers’ Food Waste","mainEntityOfPage":"https://www.waste360.com/food-waste/how-dynamic-pricing-tech-is-cutting-grocers-food-waste","image":{"@type":"ImageObject","url":"https://eu-images.contentstack.com/v3/assets/blt4a147f9e36f0754a/blt504d9ded2bf0c0bb/651ff88cac22389e4abffe20/grocery_20store_20waste_20MR1540.jpg","caption":"","creditText":"Jim West / Alamy Stock Photo"},"author":[{"@type":"Person","name":"Arlene Karidis","image":"https://eu-images.contentstack.com/v3/assets/blt4a147f9e36f0754a/blt03c475d40ab16e78/66ab7b7c75e867d151d741bc/20240721_150521.jpg","url":"https://www.waste360.com/author/arlene-karidis"}],"publisher":{"@type":["NewsMediaOrganization","Organization","OnlineBusiness"],"identifier":"https://www.waste360.com","name":"Waste360","url":"https://www.waste360.com","sameAs":["https://www.facebook.com/WasteExpo/","https://twitter.com/Waste360","https://www.linkedin.com/company/waste360/","https://www.youtube.com/channel/UC_L072N_d-bkq7RA3wGCUnQ","https://www.instagram.com/wasteexpo/"],"foundingDate":"2005","description":"Serving 90,000+ professionals worldwide, Waste360 is the leading information, event, commerce and education provider to the solid waste, recycling, organics and sustainable communities and plays a critical role in connecting industry professionals worldwide. Anchored by its flagship event, WasteExpo and digital properties, including Waste360.com, Waste360 continues to grow and evolve its portfolio to meet the needs of the industry.","logo":{"@type":"ImageObject","url":"https://www.waste360.com/build/_assets/Waste360-MLHPYH5L.svg","width":{"@type":"QuantitativeValue","value":281},"height":{"@type":"QuantitativeValue","value":112}}}},{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://www.waste360.com"},{"@type":"ListItem","position":2,"name":"Food Waste","item":"https://www.waste360.com/organic-waste/food-waste"}]}],"seo":{"canonicalUrl":"https://www.waste360.com/food-waste/how-dynamic-pricing-tech-is-cutting-grocers-food-waste","metaDescription":"Dynamic pricing software like Wasteless uses AI to reduce food waste and boost grocery profits by automatically adjusting prices for perishables as they approach expiration, encouraging earlier purchases with smaller markdowns. Since its launch in 2017, the technology has helped grocers reduce waste by up to 80%, save millions, and increase revenue, particularly benefiting meat, poultry, and fish sales, while addressing sustainability and market challenges.","metaTitle":"How Dynamic Pricing Tech is Cutting Grocers’ Food Waste","noIndex":false,"imageUrl":"https://eu-images.contentstack.com/v3/assets/blt4a147f9e36f0754a/blt504d9ded2bf0c0bb/651ff88cac22389e4abffe20/grocery_20store_20waste_20MR1540.jpg?disable=upscale\u0026width=1200\u0026height=630\u0026fit=crop","noArchive":false,"keywords":"Food Waste, Organic Waste"},"gtm":{"loadEvent":{"attributes":{"events":[],"subBrand":"","seo":{"canonicalURL":"https://www.waste360.com/food-waste/how-dynamic-pricing-tech-is-cutting-grocers-food-waste","hideFromSearchEngines":false},"sponsored":{"name":"","campaignURL":"","isSponsored":false,"gateWithSiteReg":false,"gateWithExternalForm":"None","externalFormID":""},"legacy":{"destinationPath":"","issueDate":"","contributor":""}},"category":{"buyerJourney":"","contentFormat":"","pageType":"article","keyword":[{"name":"Food Waste"},{"name":"Technology"},{"name":"Artificial Intelligence"}],"series":[],"primaryTerm":{"parent":"Organic Waste","child":"Food Waste","grandchild":""},"secondaryTerm":[{"parent":"Organic Waste","child":"","grandchild":""}]},"pageInfo":{"pageID":"bltd406ec893add8450","pageName":"How Dynamic Pricing Tech is Cutting Grocers’ Food Waste","destinationURL":"https://www.waste360.com/food-waste/how-dynamic-pricing-tech-is-cutting-grocers-food-waste","issueDate":"Oct 15, 2024","contributor":[{"companyName":"Waste360","displayName":"Arlene Karidis","jobTitle":"Freelance writer","name":"Arlene Karidis"}]}}},"siteSetting":{"placeholderImages":{"brand":"https://eu-images.contentstack.com/v3/assets/blt4a147f9e36f0754a/blt8727e43b5d281489/65552d3b0d9812040ab5df6d/Group_5574.svg","contributor":"https://eu-images.contentstack.com/v3/assets/blt4a147f9e36f0754a/blt2a3a33e53fc4b6f9/651e7618d77fc8caa7c52925/theme2_placeholder_avatar.png"},"defaultGatingTitle":"","defaultGatingDescriptionMessage":""},"isLivePreview":false}},"actionData":null,"errors":null}};</script><script type="module" async="">import "/build/manifest-A2F38A42.js"; import * as route0 from "/build/root-TPDAOOC5.js"; import * as route1 from "/build/routes/$topic.$slug._index-J4IJ2FVO.js"; window.__remixRouteModules = {"root":route0,"routes/$topic.$slug._index":route1}; import("/build/entry.client-SFHSSSEN.js");</script><script async="" defer="" src="https://connect.facebook.net/en_US/sdk.js#xfbml=1&amp;version=v3.2"></script><script async="" defer="" src="https://www.instagram.com/embed.js"></script></body></html>

Pages: 1 2 3 4 5 6 7 8 9 10