PageSourceSearch

https://www.assent.com/solutions/product-compliance/

html assent.com collected 2026-09-24 18:31:32 UTC 282,580 bytes, 2,830 lines download raw bytes

1<!DOCTYPE html>
2<html lang="en-US" class="no-js">
3
4<head>
5    <meta charset="UTF-8" />
5<script type="text/javascript">(window.NREUM||(NREUM={})).init={privacy:{cookies_enabled:true},ajax:{deny_list:["bam.nr-data.net"]},distributed_tracing:{enabled:true}};(window.NREUM||(NREUM={})).loader_config={agentID:"1588911977",accountID:"4340186",trustKey:"66686",xpid:"UAUDUVdbDhABUVFQDgYEUVIG",licenseKey:"NRJS-222c0d99af9fd6e2b0b",applicationID:"1502973767",browserID:"1588911977"};;/*! For license information please see nr-loader-spa-1.322.0.min.js.LICENSE.txt */
6(()=>{var e={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)),s=0===Object.keys(r).length?e:r;for(let a in s)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]])):e[a]instanceof Map||e[a]instanceof Set||e[a]instanceof Date||e[a]instanceof RegExp?r[a]=e[a]:"object"==typeof e[a]&&null!==t[a]&&"object"==typeof t[a]?r[a]=i(e[a],t[a]):r[a]=e[a]}catch(e){r[a]||(0,n.R)(1,e)}return r}catch(e){(0,n.R)(2,e)}}},2555(e,t,r){"use strict";r.d(t,{f:()=>a});var n=r(384),i=r(8122);const s={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};function a(e){try{return!!e.licenseKey&&!!e.errorBeacon&&!!e.applicationID}catch(e){return!1}}r.d(t,["D",0,e=>(0,i.a)(e,s)])},7699(e,t,r){"use strict";var n=r(860);const i={[n.K7.logging]:!0,[n.K7.genericEvents]:!0,[n.K7.jserrors]:!0,[n.K7.ajax]:!0};r.d(t,["It",0,1e6,"KC",0,i,"qh",0,"SESSION_ERROR"])},9324(e,t,r){"use strict";r.d(t,["A",0,"@newrelic/rrweb","x",0,"1.322.0"])},981(e,t,r){"use strict";r.d(t,["R",0,{AJAX:"AjaxRequest",PA:"PageAction",UA:"UserAction",BP:"BrowserPerformance",WS:"WebSocket",SPV:"SecurityPolicyViolation",JSE:"JavaScriptError",LOG:"Log",PVE:"PageView",PVT:"PageViewTiming",SR:"SessionReplay",ST:"SessionTrace",BI:"BrowserInteraction"}])},9752(e,t,r){"use strict";const n="newrelic-iframe-",i=n+"timing-update",s=n+"api",a=n+"api-response",o=n+"vitals-update",c=n+"ajax";r.d(t,["$8",0,o,"Gi",0,a,"KU",0,c,"Pl",0,n,"cS",0,s,"cr",0,i])},6154(e,t,r){"use strict";var n=r(1863);const i="undefined"!=typeof window&&!!window.document,s="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),o=Boolean("hidden"===a?.document?.visibilityState),c=""+a?.location,d=/iPad|iPhone|iPod/.test(a.navigator?.userAgent),u=d&&"undefined"==typeof SharedWorker,l=(()=>{const e=a.navigator?.userAgent?.match(/Firefox[/\s](\d+\.\d+)/);return Array.isArray(e)&&e.length>=2?+e[1]:0})(),f=Date.now()-(0,n.t)();r.d(t,["OF",0,d,"RI",0,i,"WN",0,f,"bv",0,s,"gm",0,a,"lR",0,l,"m",0,c,"mw",0,o,"sb",0,u,"zk",0,()=>{const e=a?.performance?.getEntriesByType?.("navigation")?.[0];if(e&&e.responseStart>0&&e.responseStart<a.performance.now())return e}])},7295(e,t,r){"use strict";r.d(t,{Xv:()=>a,gX:()=>i,iW:()=>s});var n=[];function i(e){if(!e||s(e))return!1;if(0===n.length)return!0;if("*"===n[0].hostname)return!1;for(var t=0;t<n.length;t++){var r=n[t];if(r.hostname.test(e.hostname)&&r.pathname.test(e.pathname))return!1}return!0}function s(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;if("*"===r)return void(n=[{hostname:"*"}]);0===r.indexOf("http://")?r=r.substring(7):0===r.indexOf("https://")&&(r=r.substring(8));const i=r.indexOf("/");let s,a;i>0?(s=r.substring(0,i),a=r.substring(i)):(s=r,a="*");let[c]=s.split(":");n.push({hostname:o(c),pathname:o(a,!0)})}}function o(e,t=!1){const r=e.replace(/[.+?^${}()|[\]\\]/g,e=>"\\"+e).replace(/\*/g,".*?");return new RegExp((t?"^":"")+r+"$")}},3241(e,t,r){"use strict";r.d(t,{W:()=>i});var n=r(6154);function i(e={}){try{n.gm.dispatchEvent(new CustomEvent("newrelic",{detail:e}))}catch(e){}}},1687(e,t,r){"use strict";r.d(t,{Ak:()=>o,Ze:()=>d,x3:()=>c});var n=r(3241),i=r(3606),s=r(860),a=r(2646);function o(e,t){if(!e)return;const r={staged:!1,priority:s.P3[t]||0};
6e.runtime.drainRegistry.get(t)||e.runtime.drainRegistry.set(t,r)}function c(e,t){if(!e)return;const r=e.runtime.drainRegistry;r&&(r.get(t)&&r.delete(t),l(e,t,!1),r.size&&u(e))}function d(e,t="feature",r=!1){if(e){if(!e.runtime.drainRegistry.get(t)||r)return l(e,t);e.runtime.drainRegistry.get(t).staged=!0,u(e)}}function u(e){if(!e)return;const t=Array.from(e.runtime.drainRegistry);t.every(([e,t])=>t.staged)&&(t.sort((e,t)=>e[1].priority-t[1].priority),t.forEach(([t])=>{e.runtime.drainRegistry.delete(t),l(e,t)}))}function l(e,t,r=!0){if(!e)return;const s=e.ee,o=i.i.handlers;if(s&&!s.aborted&&s.backlog&&o){if((0,n.W)({type:"lifecycle",name:"drain",feature:t}),r){const e=s.backlog[t],r=o[t];if(r){for(let t=0;e&&t<e.length;++t)f(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].listeners(e).includes(t[1])&&t[0].on(e,t[1])})})}}s.isolatedBacklog||delete o[t],s.backlog[t]=null,s.emit("drain-"+t,[])}}function f(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],s=e[2];n.apply(i,s)}})}},7836(e,t,r){"use strict";var n=r(384),i=r(8990),s=r(2646),a=r(5607);const o="nr@context:".concat(a.W),c=function e(t,r){var n={},a={},u={},l=!1;try{l=16===r.length&&d.initializedAgents?.[r]?.runtime.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,s){!1!==s&&(s=!0);if(c.aborted&&!i)return;t&&s&&t.emit(e,r,n);var o=h(n);g(e).forEach(e=>{e.apply(o,r)});var d=v()[a[e]];d&&d.push([f,e,r,o]);return o},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])=>{a[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()[a[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 s.y?e:e?(0,i.I)(e,o,()=>new s.y(o)):new s.y(o)}function p(e,t){n[e]=g(e).concat(t)}function g(e){return n[e]||[]}function m(t){return u[t]=u[t]||e(f,t)}function v(){return f.backlog}}(void 0,"globalEE"),d=(0,n.Zm)();d.ee||(d.ee=c),r.d(t,["P",0,o,"ee",0,c])},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,s){s?(s.buffer([e],i),s.emit(e,t,r)):(n.buffer([e],i),n.emit(e,t,r))}},3606(e,t,r){"use strict";r.d(t,{i:()=>s});var n=r(9908);s.on=a;var i=s.handlers={};function s(e,t,r,s){a(s||n.d,i,e,t,r)}function a(e,t,r,i,s){s||(s="feature"),e||(e=n.d);var a=t[s]=t[s]||{};(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 s(e,t,r=!1,i){document.addEventListener(e,t,n(r,i))}r.d(t,{DD:()=>s,jT:()=>n,sp:()=>i})},5607(e,t,r){"use strict";const n=(0,r(9566).bz)();r.d(t,["W",0,n])},9566(e,t,r){"use strict";r.d(t,{LA:()=>a,ZF:()=>o,bz:()=>s,el:()=>c});var n=r(6154);function i(e,t){return e?15&e[t]:16*Math.random()|0}function s(){const e=n.gm?.crypto||n.gm?.msCrypto;let t,r=0;return e&&e.getRandomValues&&(t=e.getRandomValues(new Uint8Array(30))),"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".split("").map(e=>"x"===e?i(t,r++).toString(16):"y"===e?(3&i()|8).toString(16):e).join("")}function a(e){const t=n.gm?.crypto||n.gm?.msCrypto;let r,s=0;t&&t.getRandomValues&&(r=t.getRandomValues(new Uint8Array(e)));const a=[];for(var o=0;o<e;o++)a.push(i(r,s++).toString(16));return a.join("")}function o(){return a(16)}function c(){return a(32)}},2614(e,t,r){"use strict";r.d(t,["BB",0,18e5,"Wt",0,"NRBA_SESSION::","g",0,{OFF:0,FULL:1,ERROR:2},"iL",0,{SAME_TAB:"same-tab",CROSS_TAB:"cross-tab"},"tS",0,{STARTED:"session-started",PAUSE:"session-pause",RESET:"session-reset",RESUME:"session-resume",UPDATE:"session-update"},"wk",0,144e5])},733(e,t,r){"use strict";function n(e,t){return function(e){let t=2166136261;for(let r=0;r<e.length;r++)t^=e.charCodeAt(r),t=Math.imul(t,16777619);return(t>>>0).toString(16).padStart(8,"0")}("".concat(String(e),":").concat(String(t)))}r.d(t,{Y:()=>n})},1863(e,t,r){"use strict";function n(){return Math.floor(performance.now())}r.d(t,{t:()=>n})},9119(e,t,r){"use strict";r.d(t,{L:()=>s});var n=/([^?#]*)[^#]*(#[^?]*|$).*/,i=/([^?#]*)().*/;function s(e,t){return e?e.replace(t?n:i,"$1$2"):e}},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{}}}},7866(e,t,r){"use strict";r.d(t,["Nc",0,/^\s*at Function code \(Function code:\d+:\d+\)\s*/i,"cn",0,/^\s*(?:([^@]*)(?:\(.*?\))?@)?((?:file|http|https|chrome|safari-extension).*?):(\d+)(?::(\d+))?\s*$/i,"fL",0,/^\s*at .+ \(eval at \S+ \((?:(?:file|http|https):[^)]+)?\)(?:, [^:]*:\d+:\d+)?\)$/i,"h3",0,/function (.+?)\s*\(/,"hB",0,/^\s*at (?:((?:\[object object\])?(?:[^(]*\([^)]*\))*[^()]*(?: \[as \S+\])?) )?\(?((?:file|http|https|chrome-extension):.*?)?:(\d+)(?::(\d+))?\)?\s*$/i])},944(e,t,r){"use strict";r.d(t,{R:()=>i});var n=r(3241);function i(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),(0,n.W)({drained:null,type:"data",name:"warn",feature:"warn",data:{code:e,secondary:t}}))}},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})},1910(e,t,r){"use strict";r.d(t,{i:()=>s});var n=r(944);const i=new Map;function s(...e){return e.every(e=>{if(i.has(e))return i.get(e);const t="function"==typeof e?e.toString():"",r=t.includes("[native code]"),s=t.includes("nrWrapper");return r||s||(0,n.R)(64,e?.name||t),i.set(e,r),r})}},3304(e,t,r){"use strict";r.d(t,{A:()=>i});var n=r(7836);function i(e){try{return JSON.stringify(e,(()=>{const e=new WeakSet;return(t,r)=>{if("object"==typeof r&&null!==r){if(e.has(r))return;e.add(r)}return r}})())??""}catch(e){try{n.ee.emit("internal-error",[e])}catch(e){}return""}}},9232(e,t,r){"use strict";r.d(t,["f",0,{MFE:"MFE",BA:"BA"}])},7560(e,t,r){"use strict";r.d(t,{N:()=>a,j:()=>c});var n=r(9119),i=r(944);const s=(0,r(6389).J)(e=>(0,i.R)(80,e));function a(e){if(!Array.isArray(e?.assets)||!e.assets.length)return;
6const t=e.assets.map(o).filter(Boolean);return t.length?{assets:t,scripts:t.filter(e=>e.isScript)}:void 0}function o(e){if(!e||"object"!=typeof e)return;const{matcher:t,type:r}=e;let i="string"==typeof t&&t.endsWith(".js");return void 0!==r&&(!function(e){return"script"===e||"asset"===e}(r)?s(r):i=function(e){return"script"===e}(r)),a=t,"[object RegExp]"===Object.prototype.toString.call(a)?{pattern:t,test:e=>(t.lastIndex=0,t.test((0,n.L)(e))),isScript:i}:"string"==typeof t&&t.length>0?{pattern:t,test:e=>(0,n.L)(e).includes(t),isScript:i}:void s(t);var a}function c(e,t,{scriptsOnly:r=!1}={}){if(!e||!t)return!1;return(r?e.scripts:e.assets).some(e=>e.test(t))}},5718(e,t,r){"use strict";r.d(t,{xo:()=>T,AZ:()=>v,cI:()=>g,Qr:()=>A,QL:()=>y});var n=r(6154),i=r(1863),s=r(9119),a=r(7866);class o{dom=new c;performance=new c;constructor(e){this.url=e,this.claimedBy=new Set}get script(){const e=Math.max(this.dom.start,this.performance.end);return{start:e,end:Math.max(this.dom.end,this.performance.end,e)}}}class c{start=0;end=0;value=void 0}function d(e=()=>{},t){return{get:()=>void 0!==t?t:e(),set:e=>{t=e}}}let u;try{u=v(y())[0]}catch(e){u=v(e)[0]}const l=new Map;let f=[];const h=new WeakMap;function p(e){let t=h.get(e);return t||(t={weighedAssetUrls:new Set,recordManifestScriptWindow:(t,r)=>{t&&(e.scriptStart=e.scriptStart>0?Math.min(e.scriptStart,t):t),r&&(e.scriptEnd=e.scriptEnd>0?Math.max(e.scriptEnd,r):r)}},h.set(e,t)),t}function g(e){return l.get(e)}function m(e){const t=g(e);
6if(t)return t;const r=new o(e);if(l.set(e,r),l.size>1e3){const e=l.keys().next().value;l.delete(e)}return r}if(n.gm.MutationObserver&&n.gm.document){new MutationObserver(e=>{e.forEach(e=>{e.addedNodes.forEach(e=>{if("SCRIPT"===e.nodeName&&e.src){const t=m((0,s.L)(e.src));t.dom.start=(0,i.t)(),t.dom.value=e;const r=()=>{t.dom.end=(0,i.t)()};["load","error"].forEach(t=>e.addEventListener(t,r,{once:!0}))}})})}).observe(n.gm.document,{childList:!0,subtree:!0})}if(n.gm.PerformanceObserver?.supportedEntryTypes.includes("resource")){new PerformanceObserver(e=>{e.getEntries().forEach(e=>{if((e=>"script"===e.initiatorType||["link","fetch"].includes(e.initiatorType)&&(0,s.L)(e.name).endsWith(".js"))(e)){const t=m((0,s.L)(e.name));t.performance.start=Math.floor(e.startTime),t.performance.end=Math.floor(e.responseEnd),t.performance.value=e}if(!f.length)return;const t=[];f.forEach(({test:r,addedAt:n},s)=>{(r(e)||(0,i.t)()-n>1e4)&&t.push(s)}),f=f.filter((e,r)=>!t.includes(r))})}).observe({type:"resource",buffered:!0})}function v(e){if(!e||"string"!=typeof e)return[];const t=new Set,r=e.split("\n");for(const e of r){const r=e.match(a.cn)||e.match(a.hB)||e.match(a.fL);if(r&&r[2])t.add((0,s.L)(r[2]));else{const r=e.match(/\(([^)]+\.js):\d+:\d+\)/)||e.match(/^\s+at\s+([^\s(]+\.js):\d+:\d+/);r&&r[1]&&t.add((0,s.L)(r[1]))}}return[...t]}function y(){let e;try{const t=Error.stackTraceLimit;Error.stackTraceLimit=50,e=(new Error).stack,Error.stackTraceLimit=t}catch(t){e=(new Error).stack}return e}function b(e,t){return(0,s.L)(e.name)===t}function E(e,t){e.fetchStart=Math.floor(t.startTime),e.fetchEnd=Math.floor(t.responseEnd),e.asset=t.name,e.type=t.initiatorType,w(e,t)}function w(e,t){const r=(0,s.L)(t.name),{weighedAssetUrls:n}=p(e);n.has(r)||(n.add(r),e.totalWeight=(e.totalWeight||0)+(t.transferSize||0),"blocking"===t.renderBlockingStatus?e.renderBlocking=!0:"non-blocking"===t.renderBlockingStatus&&!0!==e.renderBlocking&&(e.renderBlocking=!1))}function R(e,t,r,n,i){if(w(e,t),"scripts"!==i&&"all"!==i)return;if("all"===i||r.isScript){const r=Math.floor(t.startTime),n=Math.floor(t.responseEnd);e.fetchStart=e.fetchStart>0?Math.min(e.fetchStart,r):r,e.fetchEnd=e.fetchEnd>0?Math.max(e.fetchEnd,n):n}if(r.isScript){const r=g((0,s.L)(t.name));if(r){const t=()=>{const{start:t,end:n}=r.script;p(e).recordManifestScriptWindow(t,n)};t(),!r.dom.end&&r.dom.value&&["load","error"].forEach(e=>r.dom.value.addEventListener(e,t,{once:!0}))}n.resolved||(e.asset=t.name,e.type=t.initiatorType,n.resolved=!0)}}function T(e,t){const r=t?.manifest;if(!r||!r.assets.length)return;const s={resolved:!1},a=new Set(r.assets);(n.gm.performance?.getEntriesByType("resource")||[]).forEach(r=>{const n=[...a].find(e=>e.test(r.name));n&&(R(e,r,n,s,t.timingMethod),a.delete(n))}),a.size&&function(e,t,r,s){n.gm.PerformanceObserver?.supportedEntryTypes?.includes("resource")&&f.push({addedAt:(0,i.t)(),test:n=>{const i=[...t].find(e=>e.test(n.name));return i&&(R(e,n,i,r,s),t.delete(i)),0===t.size}})}(e,a,s,t.timingMethod)}function A(e){const t=e?.id,r={registeredAt:(0,i.t)(),reportedAt:void 0,fetchStart:0,fetchEnd:0,scriptStart:0,scriptEnd:0,asset:void 0,type:"unknown",totalWeight:0,renderBlocking:void 0},a=y();if(!a)return r;const o=n.gm.performance?.getEntriesByType("navigation")?.[0]?.name||"";try{const e=v(a),c=(e.length>1?e.filter(e=>u!==e):e)[0];if(!c)return r;if(o.includes(c))return r.asset=(0,s.L)(o),r.type="inline",r;r.correlation=g(c);const l=r.correlation?.performance.value||n.gm.performance?.getEntriesByType("resource")?.find(e=>b(e,c));if(l)E(r,l);else{(function(e){if(!e||!n.gm.document)return!1;try{const t=n.gm.document.querySelectorAll('link[rel="preload"][as="script"]');for(const r of t)if((0,s.L)(r.href)===e)return!0}catch(e){}return!1})(c)&&(r.asset=c,r.type="preload"),function(e,t){n.gm.PerformanceObserver?.supportedEntryTypes?.includes("resource")&&f.push({addedAt:(0,i.t)(),test:r=>!!b(r,t)&&(E(e,r),!0)})}(r,c)}const h=r.correlation,m=!!t&&!!h?.claimedBy.has(t);h&&t&&h.claimedBy.add(t);const y=()=>{const e=h?.script.start;if(!m||!e)return!1;return r.registeredAt-e>1e4};let w=0,R=0;p(r).recordManifestScriptWindow=(e,t)=>{e&&(w=w>0?Math.min(w,e):e),t&&(R=R>0?Math.max(R,t):t)},Object.defineProperty(r,"scriptStart",d(()=>{const e=y()?r.registeredAt:h?.script.start??r.fetchEnd;return w>0?Math.min(e,w):e})),Object.defineProperty(r,"scriptEnd",d(()=>{const e=y()?r.registeredAt:h?.script.end??r.registeredAt;return R>0?Math.max(e,R):e}))}catch(e){}return r}},5732(e,t,r){"use strict";r.d(t,{$5:()=>m,B5:()=>g,K6:()=>u,M$:()=>
6o,Ms:()=>d,NG:()=>c,Ux:()=>h,YA:()=>p,yx:()=>l});var n=r(5718),i=r(7560),s=r(9119),a=r(9232);function o(e){return e?.type===a.f.MFE}function c(e,t){if(!y(e,t))return;const r=t.runtime.registeredEntities;return r?.find(t=>t.metadata.target.iframeInterfaceId===e)}function d(e,t){if(!y(e,t))return[];const r=t.runtime.registeredEntities;return r?.filter(t=>String(t.metadata.target.id)===String(e)).map(e=>e.metadata.target)||[]}function u(e,t){if(!y(e,t))return[];const r=t.runtime.registeredEntities,n=(0,s.L)(e),a=r?.filter(t=>{const r=t.metadata.target?.manifest;return r?(0,i.j)(r,e,{scriptsOnly:!1}):!!t.metadata.timings?.asset&&(0,s.L)(t.metadata.timings.asset)===n});return f(a).map(e=>e.metadata.target)}function l(e,t){if(!y(e,t))return[];const r=t.runtime.registeredEntities,n=r?.filter(t=>{const r=t.metadata.target?.manifest;return r?(0,i.j)(r,e,{scriptsOnly:!0}):!!t.metadata.timings?.asset?.endsWith(e)});return f(n).map(e=>e.metadata.target)}function f(e){if(!e?.length)return e||[];const t=new Map,r=[];for(const n of e){const e=n.metadata?.timings?.asset;if(!e){r.push(n);continue}const i="".concat(e,"::").concat(n.metadata?.target?.id),s=t.get(i);if(s){if(s.metadata.target?.blocked&&!n.metadata.target?.blocked){const e=r.indexOf(s);-1!==e&&(r[e]=n),t.set(i,n)}}else t.set(i,n),r.push(n)}return r}function h(e,t){return v(t)?o(e)?e.attributes:t.agentRef.runtime.v2Target.attributes:{}}function p(e,t){return g(e,t)?{"child.id":e.id,"child.type":e.type,...h(void 0,t)}:{}}function g(e,t){return o(e)&&!!v(t)&&t.agentRef.init.api.register.duplicate_data_to_container}function m(e){if(!e?.runtime)return[];if(!y(!0,e)||!e.runtime.registeredEntities?.length)return[e.runtime.v2Target];const t=[];try{var r=(0,n.AZ)((0,n.QL)());let i=r.length-1;for(;r[i];)t.push(...l(r[i--],e))}catch(e){}const i=function(e){const t=new Set,r=[];for(const n of e){const e=n?.instance;t.has(e)||(t.add(e),r.push(n))}return r}(t);return i.length||i.push(e.runtime.v2Target),i}function v(e){return 2===e?.harvestEndpointVersion}function y(e,t){return!!e&&!!t?.init.api.register.enabled}},5289(e,t,r){"use strict";r.d(t,{GG:()=>a,Qr:()=>c,sB:()=>o});var n=r(3878),i=r(6389);function s(){return"undefined"==typeof document||"complete"===document.readyState}function a(e,t){if(s())return e();const r=(0,i.J)(e),a=setInterval(()=>{s()&&(clearInterval(a),r())},500);(0,n.sp)("load",r,t)}function o(e){if(s())return e();(0,n.DD)("DOMContentLoaded",e)}function c(e){if(s())return e();(0,n.sp)("popstate",e)}},384(e,t,r){"use strict";r.d(t,{Zm:()=>c,bQ:()=>u,dV:()=>d,pV:()=>l});var n=r(6154),i=r(1863),s=r(944),a=r(1910);const o={beacon:"bam.nr-data.net",errorBeacon:"bam.nr-data.net"};function c(){return n.gm.NREUM||(n.gm.NREUM={}),void 0===n.gm.newrelic&&(n.gm.newrelic=n.gm.NREUM),n.gm.NREUM}function d(){let e=c();return e.o||(e.o={ST:n.gm.setTimeout,SI:n.gm.setImmediate||n.gm.setInterval,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},(0,a.i)(...Object.values(e.o))),e}function u(e,t){let r=c();r.initializedAgents??={},t.initializedAt={ms:(0,i.t)(),date:new Date},r.initializedAgents[e]=t,2===Object.keys(r.initializedAgents).length&&(0,s.R)(69)}function l(){return function(){let e=c();const t=e.info||{};e.info={beacon:o.beacon,errorBeacon:o.errorBeacon,...t}}(),function(){let e=c();const t=e.init||{};e.init={...t}}(),d(),function(){let e=c();const t=e.loader_config||{};e.loader_config={...t}}(),c()}r.d(t,["NT",0,o])},2843(e,t,r){"use strict";r.d(t,{G:()=>s,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)}function s(e,t,r){(0,n.sp)("pagehide",e,t,r)}},8139(e,t,r){"use strict";r.d(t,{u:()=>f});var n=r(7836),i=r(3434),s=r(8990),a=r(6154);const o={},c=a.gm.XMLHttpRequest,d="addEventListener",u="removeEventListener",l="nr@wrapped:".concat(n.P);function f(e,t){var r=function(e){return(e||n.ee).get("events")}(e);if(o[r.debugId]++)return r;o[r.debugId]=1;var f=(0,i.YM)(r,!0,t);function p(e){f.inPlace(e,[d,u],"-",g)}function g(e,t){return e[1]}return"getPrototypeOf"in Object&&(a.RI&&h(document,p),c&&h(c.prototype,p),h(a.gm,p)),r.on(d+"-start",function(e,t){var r=e[1];if(null!==r&&("function"==typeof r||"object"==typeof r)&&"newrelic"!==e[0]){var n=(0,s.I)(r,l,function(){var e={object:function(){if("function"!=typeof r.handleEvent)return;return r.handleEvent.apply(r,arguments)},function:r}[typeof r];return e?f(e,"fn-",null,e.name||"anonymous"):r});this.wrapped=e[1]=n}}),r.on(u+"-start",function(e){e[1]=this.wrapped||e[1]}),r}function h(e,t,...r){let n=e;for(;"object"==typeof n&&!Object.prototype.hasOwnProperty.call(n,d);)n=Object.getPrototypeOf(n);n&&t(n,...r)}},3434(e,t,r){"use strict";r.d(t,{YM:()=>d});var n=r(7836),i=r(5607),s=r(5732);const a="nr@original:".concat(i.W);var o=Object.prototype.hasOwnProperty,c=!1;function d(e,t,r){return e||(e=n.ee),i.inPlace=function(e,t,r,n,s,a){r||(r="");const o="-"===r.charAt(0);for(let c=0;c<t.length;c++){const d=t[c],u=e[d];l(u)||(e[d]=i(u,o?d+r:r,n,d,s,a))}},i.flag=a,i;function i(t,n,i,c,f,h){return l(t)?t:(n||(n=""),nrWrapper[a]=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)o.call(e,n)&&(t[n]=e[n])}
6(t,nrWrapper,e),nrWrapper);function nrWrapper(){var a,o,l,p;let g,m;try{o=this,a=[...arguments],m=h?(0,s.$5)(r):[r?.runtime?.v2Target],l="function"==typeof i?i(a,o):i||{}}catch(t){u([t,"",[a,o,c],l],e)}d(n+"start",[a,o,c,m],l,f);const v=performance.now();let y;try{return p=t.apply(o,a),y=performance.now(),p}catch(e){throw y=performance.now(),d(n+"err",[a,o,e,m],l,f),g=e,g}finally{const e=y-v,t={start:v,end:y,duration:e,isLongTask:e>=50,methodName:c,thrownError:g};t.isLongTask&&d("long-task",[t,o,m],l,f),d(n+"end",[a,o,p,m],l,f)}}}function d(r,n,i,s){if(!c||t){var a=c;c=!0;try{e.emit(r,n,i,t,s)}catch(t){u([t,r,n,i],e)}c=a}}}function u(e,t){t||(t=n.ee);try{t.emit("internal-error",e)}catch(e){}}function l(e){return!(e&&"function"==typeof e&&e.apply&&!e[a])}r.d(t,["Jt",0,a])},9300(e,t,r){"use strict";const n=r(860).K7.ajax;r.d(t,["TZ",0,n,"f5",0,"ajaxRequest.id","mo",0,{NONE:"none",FAILURES:"failures",ALL:"all"}])},3333(e,t,r){"use strict";var n=r(981);const i=r(860).K7.genericEvents,s=[n.R.PA,n.R.UA,n.R.BP];r.d(t,["$v",0,{RESOURCES:"experimental.resources",REGISTER:"register"},"TZ",0,i,"Zp",0,["auxclick","click","copy","keydown","paste","scrollend"],"kd",0,s,"qN",0,["focus","blur"]])},6774(e,t,r){"use strict";const n=r(860).K7.jserrors;r.d(t,["T",0,n])},993(e,t,r){"use strict";const n=r(860).K7.logging;r.d(t,["A$",0,{OFF:0,ERROR:1,WARN:2,INFO:3,DEBUG:4,TRACE:5},"TZ",0,n,"p_",0,{ERROR:"ERROR",WARN:"WARN",INFO:"INFO",DEBUG:"DEBUG",TRACE:"TRACE"}])},3785(e,t,r){"use strict";r.d(t,{R:()=>c,b:()=>d});var n=r(9908),i=r(1863),s=r(860),a=r(3969),o=r(993);function c(e,t,r={},c=o.p_.INFO,d=!0,u,l=(0,i.t)()){(0,n.p)(a.xV,["API/logging/".concat(c.toLowerCase(),"/called")],void 0,s.K7.metrics,e),(0,n.p)("log",[l,t,r,c,d,u],void 0,s.K7.logging,e)}function d(e){return"string"==typeof e&&Object.values(o.p_).some(t=>t===e.toUpperCase().trim())}},3969(e,t,r){"use strict";const n=r(860).K7.metrics;r.d(t,["TZ",0,n,"XG",0,"storeEventMetrics","xV",0,"storeSupportabilityMetrics"])},6630(e,t,r){"use strict";const n=r(860).K7.pageViewEvent;r.d(t,["T",0,n])},782(e,t,r){"use strict";const n=r(860).K7.pageViewTiming;r.d(t,["T",0,n])},6344(e,t,r){"use strict";var n=r(2614);const i=r(860).K7.sessionReplay,s={[n.g.ERROR]:15e3,[n.g.FULL]:3e5,[n.g.OFF]:0}
6;r.d(t,["Qb",0,{API:"api",RESUME:"resume",SWITCH_TO_FULL:"switchToFull",INITIALIZE:"initialize",PRELOAD:"preload"},"TZ",0,i,"Vh",0,"errorDuringReplay","_s",0,{DomContentLoaded:0,Load:1,FullSnapshot:2,IncrementalSnapshot:3,Meta:4,Custom:5},"bc",0,{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"}},"yP",0,s])},5270(e,t,r){"use strict";r.d(t,{Aw:()=>a,SR:()=>s,rF:()=>o});var n=r(384),i=r(7767);function s(e){return!!(0,n.dV)().o.MO&&(0,i.V)(e)&&!0===e?.session_trace.enabled}function a(e){return!0===e?.session_replay.preload&&s(e)}function o(e,t){try{if("string"==typeof t?.type&&"password"===t.type.toLowerCase())return"*".repeat(e?.length||0);if(void 0!==t?.dataset?.nrUnmask||t?.classList?.contains("nr-unmask"))return e}catch(e){}return"string"==typeof e?e.replace(/[\S]/g,"*"):"*".repeat(e?.length||0)}},3738(e,t,r){"use strict";const n=r(860).K7.sessionTrace,i="-start",s="-end",a="fn"+i,o="fn"+s;r.d(t,["He",0,"bstResource","Kp",0,s,"Lc",0,o,"Rz",0,"pushState","TZ",0,n,"bD",0,"resource","bc",0,{CROSS_TAB:{message:"Session Entity was set to OFF on another tab"},ENTITLEMENTS:{message:"Session Trace is not allowed and will not be started"},RESET:{message:"Session was reset"},SESSION_CHANGED:{message:"Session identifier changed unexpectedly"}},"d3",0,i,"uP",0,a])},3962(e,t,r){"use strict";const n=r(860).K7.softNav;r.d(t,["O2",0,{INITIAL_PAGE_LOAD:"",ROUTE_CHANGE:1,UNSPECIFIED:2},"OV",0,"popstate","Qu",0,{INTERACTION:1,AJAX:2,CUSTOM_END:3,CUSTOM_TRACER:4},"TZ",0,n,"ih",0,{IP:"in progress",PF:"pending finish",FIN:"finished",CAN:"cancelled"},"pP",0,"initialPageLoad","tC",0,["click","keydown","submit"]])},4234(e,t,r){"use strict";r.d(t,{W:()=>i});var n=r(1687);class i{constructor(e,t){this.agentRef=e,this.ee=e?.ee,this.featureName=t,this.blocked=!1}deregisterDrain(){(0,n.x3)(this.agentRef,this.featureName)}}},7767(e,t,r){"use strict";var n=r(6154);r.d(t,["V",0,e=>n.RI&&!0===e?.privacy.cookies_enabled])},8362(e,t,r){"use strict";r.d(t,{d:()=>s});var n=r(9566),i=r(1741);class s extends i.W{agentIdentifier=(0,n.LA)(16)}},1741(e,t,r){"use strict";r.d(t,{W:()=>s});var n=r(944),i=r(4261);class s{#e(e,...t){if(this[e]!==s.prototype[e])return this[e](...t);(0,n.R)(35,e)}addPageAction(e,t){return this.#e(i.hG,e,t)}register(e){return this.#e(i.eY,e)}recordCustomEvent(e,t){return this.#e(i.fF,e,t)}setPageViewName(e,t){return this.#e(i.Fw,e,t)}setCustomAttribute(e,t,r){return this.#e(i.cD,e,t,r)}noticeError(e,t){return this.#e(i.o5,e,t)}setUserId(e,t=!1){return this.#e(i.Dl,e,t)}setApplicationVersion(e){return this.#e(i.nb,e)}setErrorHandler(e){return this.#e(i.bt,e)}addRelease(e,t){return this.#e(i.k6,e,t)}log(e,t){return this.#e("log",e,t)}start(){return this.#e("start")}finished(e){return this.#e(i.BL,e)}recordReplay(){return this.#e(i.CH)}pauseReplay(){return this.#e(i.Tb)}addToTrace(e){return this.#e(i.U2,e)}setCurrentRouteName(e){return this.#e(i.PA,e)}interaction(e){return this.#e(i.dT,e)}wrapLogger(e,t,r){return this.#e(i.Wb,e,t,r)}measure(e,t){return this.#e(i.V1,e,t)}consent(e){return this.#e(i.Pv,e)}}},4261(e,t,r){"use strict";r.d(t,["BL",0,"finished","CH",0,"recordReplay","Dl",0,"setUserId","Fw",0,"setPageViewName","PA",0,"setCurrentRouteName","Pv",0,"consent","Tb",0,"pauseReplay","U2",0,"addToTrace","V1",0,"measure","Wb",0,"wrapLogger","bt",0,"setErrorHandler","cD",0,"setCustomAttribute","dT",0,"interaction","eY",0,"register","fF",0,"recordCustomEvent","hG",0,"addPageAction","hw",0,"api-ixn-","k6",0,"addRelease","nb",0,"setApplicationVersion","o5",0,"noticeError"])},1738(e,t,r){"use strict";r.d(t,{U:()=>l,Y:()=>u});var n=r(3241),i=r(9908),s=r(1863),a=r(944),o=r(3969),c=r(8362),d=r(860);function u(e,t,r,s){const u=s||r;!u||u[e]&&u[e]!==c.d.prototype[e]||(u[e]=function(){(0,i.p)(o.xV,["API/"+e+"/called"],void 0,d.K7.metrics,r.ee),(0,n.W)({drained:!!r.runtime?.activatedFeatures,type:"data",name:"api",feature:"api-"+e,data:{}});try{return t.apply(this,arguments)}catch(e){(0,a.R)(23,e)}})}function l(e,t,r,n,a){const o=e.info;null===r?delete o.jsAttributes[t]:o.jsAttributes[t]=r,(a||null===r)&&(0,i.p)("api-"+n,[(0,s.t)(),t,r],void 0,"session",e.ee)}},8374(e,t,r){r.nc=(()=>{try{return document?.currentScript?.nonce}catch(e){}return""})()},860(e,t,r){"use strict";const n="events",i="jserrors",s="browser/blobs",a="browser/logs",o={ajax:"ajax",genericEvents:"generic_events",jserrors:i,logging:"logging",metrics:"metrics",pageAction:"page_action",pageViewEvent:"page_view_event",pageViewTiming:"page_view_timing",sessionReplay:"session_replay",sessionTrace:"session_trace",softNav:"soft_navigations"},c={[o.pageViewEvent]:1,[o.pageViewTiming]:2,[o.metrics]:3,[o.jserrors]:4,[o.softNav]:5,[o.ajax]:6,[o.sessionTrace]:7,[o.sessionReplay]:8,[o.logging]:9,[o.genericEvents]:10},d={[o.pageViewEvent]:"rum",[o.pageViewTiming]:n,[o.ajax]:n,[o.softNav]:n,[o.metrics]:i,[o.jserrors]:i,[o.sessionTrace]:s,[o.sessionReplay]:s,[o.logging]:a,[o.genericEvents]:"ins"};r.d(t,["$J",0,d,"K7",0,o,"P3",0,c,"XX",0,i,"Yy",0,a,"df",0,s,"hg",0,"connect"])}};const t={};function r(n){const i=t[n];if(void 0!==i)return i.exports;const s=t[n]={exports:{}};return e[n](s,s.exports,r),s.exports}r.m=e,r.d=(e,t)=>{if(Array.isArray(t))for(var n=0;n<t.length;){var i=t[n++],s=t[n++];r.o(e,i)?0===s&&n++:0===s?Object.defineProperty(e,i,{enumerable:!0,value:t[n++]}):Object.defineProperty(e,i,{enumerable:!0,get:s})}else for(var i in t)r.o(t,i)&&!r.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce((t,n)=>(r.f[n](e,t),t),[])),r.u=e=>({212:"nr-spa-compressor",238:"nr-spa-iframe-message-handler",249:"nr-spa-recorder",478:"nr-spa"}[e]+"-1.322.0.min.js"),r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{const e={},t="NRBA-1.322.0.PROD:";r.l=(n,i,s,a)=>
6{if(e[n])return void e[n].push(i);let o,c;if(void 0!==s){const e=document.getElementsByTagName("script");for(var d=0;d<e.length;d++){const r=e[d];if(r.getAttribute("src")==n||r.getAttribute("data-webpack")==t+s){o=r;break}}}if(!o){c=!0;var u={478:"sha512-SARROoir04gFygxlr/+mTI+PyMeFL+epi1vnUA2G5mTQ7s3G44ItQBJKbOaIMdIE5OBzuaKhb4k5JYta0NICxg==",249:"sha512-6DKQo5WP7YlpzX6l9UfYkgGLGK2oITdoaYTcZtgl5Foa22NY63lED/0z1hBBLeD7qZCz/YdlY19/r8drlol1tg==",212:"sha512-CYxuvSpDx6ErqWJwAvpoHn54eY37YdMcFao/axOumlw3BsSL7yioOeB2LWViY/Njs818sQG10dSglUhYCMfLPw==",238:"sha512-mvbMILWa3ohYst+u6TLfNrmtY2swUIB3rbJFN/uzt3W62KhgvUVwB81UEZ1R0/it5bfrQ5EVz864pi/CAmucNQ=="};o=document.createElement("script"),o.charset="utf-8",r.nc&&o.setAttribute("nonce",r.nc),o.setAttribute("data-webpack",t+s),o.src=n,0!==o.src.indexOf(window.location.origin+"/")&&(o.crossOrigin="anonymous"),u[a]&&(o.integrity=u[a])}e[n]=[i];const l=(t,r)=>{o.onerror=o.onload=null,clearTimeout(f);const i=e[n];if(delete e[n],o.parentNode?.removeChild(o),i?.forEach(e=>e(r)),t)return t(r)},f=setTimeout(l.bind(null,void 0,{type:"timeout",target:o}),12e4);o.onerror=l.bind(null,o.onerror),o.onload=l.bind(null,o.onload),c&&document.head.appendChild(o)}})(),r.r=e=>{Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.p="https://js-agent.newrelic.com/",(()=>{const e={38:0,788:0};r.f.j=(t,n)=>{let i=r.o(e,t)?e[t]:void 0;if(0!==i)if(i)n.push(i[2]);else{const s=new Promise((r,n)=>i=e[t]=[r,n]);n.push(i[2]=s);const a=r.p+r.u(t),o=new Error,c=n=>{if(r.o(e,t)&&(i=e[t],0!==i&&(e[t]=void 0),i)){const e=n&&("load"===n.type?"missing":n.type),r=n&&n.target&&n.target.src;o.message="Loading chunk "+t+" failed: ("+e+": "+r+")",o.name="ChunkLoadError",o.type=e,o.request=r,i[1](o)}};r.l(a,c,"chunk-"+t,t)}};const t=(t,n)=>{let[i,s,a]=n;var o,c,d=0;if(i.some(t=>0!==e[t])){for(o in s)r.o(s,o)&&(r.m[o]=s[o]);if(a)a(r)}for(t&&t(n);d<i.length;d++)c=i[d],r.o(e,c)&&e[c]&&e[c][0](),e[c]=0},n=self["webpackChunk:NRBA-1.322.0.PROD"]=self["webpackChunk:NRBA-1.322.0.PROD"]||[];n.forEach(t.bind(null,0)),n.push=t.bind(null,n.push.bind(n))})(),(()=>{"use strict";r(8374);var e=r(8362),t=r(860);const n=Object.values(t.K7);var i=r(384),s=r(1741);var a=r(2555),o=r(3333),c=r(9300);const d=e=>{if(!e||"string"!=typeof e)return!1;try{document.createDocumentFragment().querySelector(e)}catch{return!1}return!0};var u=r(2614),l=r(944),f=r(8122);const h="[data-nr-mask]",p=e=>(0,f.a)(e,(()=>{const e={feature_flags:[],experimental:{register:!1,resources:!1,iframe_bridge:!1,iframe_domains:[]},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,autoStart:!0,capture_payloads:c.mo.NONE},api:{register:{get enabled(){return e.feature_flags.includes(o.$v.REGISTER)||e.experimental.register},set enabled(t){e.experimental.register=t},duplicate_data_to_container:!1,get allow_iframe_bridge(){return e.feature_flags.includes(o.$v.IFRAME_BRIDGE)||e.experimental.iframe_bridge},set allow_iframe_bridge(t){e.experimental.iframe_bridge=t},get iframe_domains(){return e.experimental.iframe_domains},set iframe_domains(t){Array.isArray(t)?e.experimental.iframe_domains=t:(0,l.R)(1,t)}}},browser_consent_mode:{enabled:!1},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},get feature_flags(){return e.feature_flags},set feature_flags(t){e.feature_flags=t},generic_events:{enabled:!0,autoStart:!0},harvest:{interval:30},jserrors:{enabled:!0,autoStart:!0},logging:{enabled:!0,autoStart:!0},metrics:{enabled:!0,autoStart:!0},obfuscate:void 0,page_action:{enabled:!0},page_view_event:{enabled:!0,autoStart:!0},page_view_timing:{enabled:!0,autoStart:!0},performance:{capture_marks:!1,capture_measures:!1,capture_detail:!0,resources:{get enabled(){return e.feature_flags.includes(o.$v.RESOURCES)||e.experimental.resources},set enabled(t){e.experimental.resources=t},asset_types:[],first_party_domains:[],ignore_newrelic:!0}},privacy:{cookies_enabled:!0},proxy:{assets:void 0,beacon:void 0},session:{expiresMs:u.wk,inactiveMs:u.BB},session_replay:{autoStart:!0,enabled:!1,preload:!1,sampling_rate:10,error_sampling_rate:100,collect_fonts:!1,inl
6ine_images:!1,fix_stylesheets:!0,mask_all_inputs:!0,get mask_text_selector(){return e.mask_selector},set mask_text_selector(t){d(t)?e.mask_selector="".concat(t,",").concat(h):""===t||null===t?e.mask_selector=h:(0,l.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){d(t)?e.block_selector+=",".concat(t):""!==t&&(0,l.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,l.R)(7,t)}},session_trace:{enabled:!0,autoStart:!0},soft_navigations:{enabled:!0,autoStart:!0},ssl:void 0,user_actions:{enabled:!0,elementAttributes:["id","className","tagName","type"]},web_sockets:{enabled:!1}}})());var g=r(6154),m=r(9324);let v=0;const y={buildEnv:"PROD",distMethod:"CDN",version:m.x,originTime:g.WN},b={consented:!1},E={activatedFeatures:void 0,appMetadata:{},configured:!1,get consented(){return this.session?.state?.consent||b.consented},set consented(e){b.consented=e},customTransaction:void 0,denyList:[],disabled:!1,drainRegistry:new Map,connector:void 0,harvester:void 0,v2Target:void 0,isolatedBacklog:!1,isRecording:!1,loaderType:void 0,maxBytes:3e4,obfuscator:void 0,onerror:void 0,ptid:void 0,releaseIds:{},session:void 0,timeKeeper:void 0,registeredEntities:[],jsAttributesMetadata:{bytes:0},get harvestCount(){return++v},listeningForIframeMessages:!1};var w=r(9232);var R=r(7836),T=r(3241);const A={accountID:void 0,trustKey:void 0,agentID:void 0,licenseKey:void 0,applicationID:void 0,xpid:void 0};var S=r(9908),x=r(9752);function O(e,t={},n,o){let{init:c,info:d,loader_config:u,runtime:l={},exposed:h=!0}=t;if(!d){const e=(0,i.pV)();c=e.init,d=e.info,u=e.loader_config}var m;e.init=p(c||{}),e.loader_config=(m=u||{},(0,f.a)(m,A)),d.jsAttributes??={},g.bv&&(d.jsAttributes.isWorker=!0),e.info=(0,a.D)(d);const v=e.init;e.runtime??=(e=>{const t=(0,f.a)(e,E),r=Object.keys(y).reduce((e,t)=>(e[t]={value:y[t],writable:!1,configurable:!0,enumerable:!0},e),{});return Object.defineProperties(t,r)})(l),e.runtime.v2Target??={type:w.f.BA,instance:e.agentIdentifier,get id(){return e.runtime.appMetadata?.agents?.[0]?.entityGuid},get attributes(){return{"entity.guid":this.id,appId:e.info.applicationID}}},v.proxy.assets&&(e=>{const t=e.startsWith("http");e+="/",r.p=t?e:"https://"+e})(v.proxy.assets),e.runtime.configured||(Object.defineProperty(e,"beacons",{get:()=>[e.info.beacon,e.info.errorBeacon,e.init.proxy.assets,e.init.proxy.beacon].filter(Boolean)}),Object.defineProperty(e.runtime,"denyList",{get:()=>[...e.init.ajax.deny_list||[],...e.init.ajax.block_internal?e.beacons:[]]}),e.runtime.ptid=e.agentIdentifier,function(e){const t=(0,i.pV)();Object.getOwnPropertyNames(s.W.prototype).forEach(r=>{const n=s.W.prototype[r];if("function"!=typeof n||"constructor"===n)return;let i=t[r];e[r]&&!1!==e.exposed&&"micro-agent"!==e.runtime?.loaderType&&(t[r]=(...t)=>{const n=e[r](...t);return i?i(...t):n})})}(e),e.runtime.loaderType=n,e.ee=R.ee.get(e.agentIdentifier),e.exposed=h,(0,T.W)({drained:!!e.runtime.activatedFeatures,type:"lifecycle",name:"initialize",feature:void 0,data:e.config}),e.init.api.register.allow_iframe_bridge&&g.gm.addEventListener("message",t=>{"string"==typeof t.data?.type&&t.data.type.startsWith(x.Pl)&&(0,S.p)("iframe-message",[t],void 0,"IFRAME",e.ee)}),e.runtime.configured=!0)}var _=r(1863),k=r(4261),N=r(1738);var L=r(1687),M=r(4234),P=r(5289),I=r(5270),j=r(7767),C=r(6389),D=r(7699);const B=new WeakSet,H=new WeakMap;class W extends M.W{constructor(e,t){super(e,t),this.abortHandler=void 0,this.featAggregate=void 0,this.loadedSuccessfully=void 0,this.onAggregateImported=new Promise(e=>{this.loadedSuccessfully=e}),this.deferred=Promise.resolve(),!1===e.init[this.featureName].autoStart?this.deferred=new Promise((t,r)=>{this.ee.on("manual-start-all",(0,C.J)(()=>{(0,L.Ak)(e,this.featureName),t()}))}):(0,L.Ak)(e,t)}importAggregator(e,t,n={}){if(this.featAggregate)return;const i=async()=>{if(await this.deferred,this.#t(e),!(0,a.f)(e.info))return(0,l.R)(43),e.ee.abort(),void this.loadedSuccessfully(!1);try{await async function(e,t,n){if(H.has(e))return H.get(e);const i=(async()=>
6{if((0,j.V)(e.init))try{const{setupAgentSession:t}=await r.e(478).then(r.bind(r,8766));t(e)}catch(e){(0,l.R)(20,e),t.emit("internal-error",[e]),(0,S.p)(D.qh,[e],void 0,n,t)}if(e.init.api.register.allow_iframe_bridge)try{const{setupIframeMFEMessageListener:t}=await r.e(238).then(r.bind(r,6417));t(e)}catch(e){(0,l.R)(23,e)}const[{Connector:i},{Harvester:s}]=await Promise.all([r.e(478).then(r.bind(r,6589)),r.e(478).then(r.bind(r,5237))]);e.runtime.connector=new i(e),e.runtime.harvester=new s(e);const a=Object.values(e.features).filter(t=>e.runtime.drainRegistry.has(t.featureName));Promise.all(a.map(e=>e.onAggregateImported)).then(()=>e.runtime.harvester.startTimer())})();H.set(e,i),await i}(e,this.ee,this.featureName)}catch(e){return(0,l.R)(79,e),this.ee.abort(),void this.loadedSuccessfully(!1)}try{if(!this.#r(this.featureName,e.runtime.session,e.init))return this.abortHandler?.(),(0,L.Ze)(this.agentRef,this.featureName),void this.loadedSuccessfully(!1);const{Aggregate:r}=await t();this.featAggregate=new r(e,n),e.runtime.harvester.initializedAggregates.push(this.featAggregate),this.loadedSuccessfully(!0)}catch(e){(0,l.R)(34,e),this.abortHandler?.(),(0,L.Ze)(this.agentRef,this.featureName,!0),this.loadedSuccessfully(!1)}};g.RI?(0,P.GG)(()=>i(),!0):i()}#r(e,r,n){if(this.blocked)return!1;switch(e){case t.K7.sessionReplay:return(0,I.SR)(n)&&!!r;case t.K7.sessionTrace:return!!r;default:return!0}}#t(e){if(!B.has(e)&&(B.add(e),!(0,a.f)(e.info))){const t=(0,i.pV)();let r={...t.info?.jsAttributes};try{r={...r,...e.info?.jsAttributes}}catch(e){}O(e,{...t,info:{...t.info,jsAttributes:r},runtime:e.runtime},e.runtime.loaderType)}}}var U=r(6630);class K extends W{static featureName=U.T;constructor(e){var t;super(e,U.T),this.setupInspectionEvents(),t=e,(0,N.Y)(k.Fw,function(e,r){"string"==typeof e&&("/"!==e.charAt(0)&&(e="/"+e),t.runtime.customTransaction=(r||"http://custom.transaction")+e,(0,S.p)("api-"+k.Fw,[(0,_.t)()],void 0,void 0,t.ee))},t),this.importAggregator(e,()=>e.init.feature_flags.includes("rum_v2")?r.e(478).then(r.bind(r,908)):r.e(478).then(r.bind(r,7927)))}setupInspectionEvents(){const e=(e,t)=>{e&&(0,T.W)({timeStamp:e.timeStamp,loaded:"complete"===e.target.readyState,type:"window",name:t,data:e.target.location+""})};(0,P.sB)(t=>{e(t,"DOMContentLoaded")}),(0,P.GG)(t=>{e(t,"load")}),(0,P.Qr)(t=>{e(t,"navigate")}),this.ee.on(u.tS.UPDATE,(e,t)=>{(0,T.W)({type:"lifecycle",name:"session",data:t})})}}class F extends e.d{constructor(e){var t;(super(),g.gm)?(this.features={},(0,i.bQ)(this.agentIdentifier,this),this.desiredFeatures=new Set(e.features||[]),this.desiredFeatures.add(K),O(this,e,e.loaderType||"agent"),t=this,(0,N.Y)(k.cD,function(e,r,n=!1){if("string"==typeof e){if(["string","number","boolean"].includes(typeof r)||null===r)return(0,N.U)(t,e,r,k.cD,n);(0,l.R)(40,typeof r)}else(0,l.R)(39,typeof e)},t),function(e){(0,N.Y)(k.Dl,function(t,r=!1){if("string"!=typeof t&&null!==t)return void(0,l.R)(41,typeof t);const n=e.info.jsAttributes["enduser.id"];r&&null!=n&&n!==t?(0,S.p)("api-setUserIdAndResetSession",[t],void 0,"session",e.ee):(0,N.U)(e,"enduser.id",t,k.Dl,!0)},e)}(this),function(e){(0,N.Y)(k.nb,function(t){if("string"==typeof t||null===t)return(0,N.U)(e,"application.version",t,k.nb,!1);(0,l.R)(42,typeof t)},e)}(this),function(e){(0,N.Y)("start",function(){e.ee.emit("manual-start-all")},e)}(this),function(e){(0,N.Y)(k.Pv,function(t=!0){if("boolean"==typeof t){if((0,S.p)("api-"+k.Pv,[t],void 0,"session",e.ee),e.runtime.consented=t,t){const t=e.features.page_view_event;t.onAggregateImported.then(e=>{const r=t.featAggregate;e&&!r.sentRum&&r.sendRum?.()})}}else(0,l.R)(65,typeof t)},e)}(this),this.run()):(0,l.R)(21)}get config(){return{info:this.info,init:this.init,loader_config:this.loader_config,runtime:this.runtime}}get api(){return this}run(){try{const e=function(e){const t={};return n.forEach(r=>{t[r]=!!e[r]?.enabled}),t}(this.init),r=[...this.desiredFeatures],i=this.init.feature_flags.includes("rum_v2");r.sort((e,r)=>t.P3[e.featureName]-t.P3[r.featureName]),r.forEach(r=>{if(!e[r.featureName]&&(i||r.featureName!==t.K7.pageViewEvent))return;const n=function(e){switch(e){case t.K7.ajax:return[t.K7.jserrors];case t.K7.sessionTrace:return[t.K7.ajax,t.K7.pageViewEvent];case t.K7.sessionReplay:return[t.K7.sessionTrace];case t.K7.pageViewTiming:return[t.K7.pageViewEvent];default:return[]}}(r.featureName).filter(e=>!(e in this.features));n.length>0&&(0,l.R)(36,{targetFeature:r.featureName,missingDependencies:n}),this.features[r.featureName]=new r(this)})}catch(e){(0,l.R)(22,e);for(const e in this.features)this.features[e].abortHandler?.();const t=(0,i.Zm)();delete t.initializedAgents[this.agentIdentifier]?.features,delete this.sharedAggregator;return t.ee.get(this.agentIdentifier).abort(),!1}}}var V=r(2843),z=r(782);class G extends W{static featureName=z.T;constructor(e){super(e,z.T),g.RI&&((0,V.u)(()=>(0,S.p)("docHidden",[(0,_.t)()],void 0,z.T,this.ee),!0),(0,V.G)(()=>(0,S.p)("winPagehide",[(0,_.t)()],void 0,z.T,this.ee)),this.importAggregator(e,()=>r.e(478).then(r.bind(r,9917))))}}var q=r(3969);class Y extends W{static featureName=q.TZ;constructor(e){super(e,q.TZ),this.importAggregator(e,()=>r.e(478).then(r.bind(r,6555)))}}var Z=r(6774),J=r(3878),X=r(3304);class Q{constructor(e,t,r,n,i){this.name="UncaughtError",this.message="string"==typeof e?e:(0,X.A)(e),this.sourceURL=t,this.line=r,this.column=n,this.__newrelic=i}}function ee(e){return ne(e)?e:new Q(void 0!==e?.message?e.message:e,e?.filename||e?.sourceURL,e?.lineno||e?.line,e?.colno||e?.col,e?.__newrelic,e?.cause)}function te(e){const t="Unhandled Promise Rejection: ";if(!e?.reason)return;if(ne(e.reason)){try{e.reason.message.startsWith(t)||(e.reason.message=t+e.reason.message)}catch(e){}return ee(e.reason)}const r=ee(e.reason);return(r.message||"").startsWith(t)||(r.message=t+r.message),r}function re(e){if(e.error instanceof SyntaxError&&!/:\d+$/.test(e.error.stack?.trim())){const t=new Q(e.message,e.filename,e.lineno,e.colno,e.error.__newrelic,e.cause);return t.name=SyntaxError.name,t}return ne(e.error)?e.error:ee(e)}function ne(e){return e instanceof Error&&!!e.stack}function ie(e,r,n,i,s=(0,_.t)()){"string"==typeof e&&(e=new Error(e)),(0,S.p)("err",[e,s,!1,r,n.runtime.isRecording,void 0,i],void 0,t.K7.jserrors,n.ee),(0,S.p)("uaErr",[],void 0,t.K7.genericEvents,n.ee)}var se=r(993),ae=r(3785);function oe(e,{customAttributes:t={},level:r=se.p_.INFO}={},n,i,s=(0,_.t)()){(0,ae.R)(n.ee,e,t,r,!1,i,s)}function ce(e,r,n,i,s=(0,_.t)()){(0,S.p)("api-"+k.hG,[s,e,r,i],void 0,t.K7.genericEvents,n.ee)}function de(e,r,n,i,s=(0,_.t)()){const{start:a,end:o,customAttributes:c}=r||{},d={customAttributes:c||{}};if("object"!=typeof d.customAttributes||"string"!=typeof e||0===e.length)return void(0,l.R)(57);const u=(e,t)=>
6null==e?t:"number"==typeof e?e:e instanceof PerformanceMark?e.startTime:Number.NaN;if(d.start=u(a,0),d.end=u(o,s),Number.isNaN(d.start)||Number.isNaN(d.end))(0,l.R)(57);else{if(d.duration=d.end-d.start,!(d.duration<0))return(0,S.p)("api-"+k.V1,[d,e,i],void 0,t.K7.genericEvents,n.ee),d;(0,l.R)(58)}}function ue(e,r={},n,i,s=(0,_.t)()){(0,S.p)("api-"+k.fF,[s,e,r,i],void 0,t.K7.genericEvents,n.ee)}var le=r(5718);const fe=(e,t)=>e?.nrMfeId===t.id&&(!e?.nrMfeObserved||e?.nrMfeObserved===t.instance),he=e=>{try{return g.gm.CSS.escape(e)}catch(t){return e}},pe=(e,t={})=>{const r=t.id,n=t.instance;if(!e||!r||!n)return!1;try{let r=1===e.nodeType?e:e.parentElement;for(;r?.tagName;){if(fe(r.dataset,t))return r.dataset.nrMfeObserved=n,!0;r=r.parentNode}}catch(e){}return!1},ge=(e,t)=>{const r=g.gm.document?.querySelectorAll('[data-nr-mfe-id="'.concat(he(e.id),'"]')),n=(Array.from(r)||[]).find(t=>fe(t.dataset,e));let i=!!n;i&&(n.dataset.nrMfeObserved??=e.instance);const s=new g.gm.MutationObserver(r=>{r.forEach(r=>{r.addedNodes.forEach(r=>{const n=1===r.nodeType?r:null;!i&&fe(n?.dataset,e)&&(s.disconnect(),s.observe(n,{childList:!0,subtree:!0}),i=!0,n.dataset.nrMfeObserved=e.instance),(e=>{try{return e?.textContent?.trim()||["img","video","canvas","svg"].includes(e?.nodeName?.toLowerCase())}catch(e){return!1}})(r)&&(i||pe(r,e))&&t(r,s)})})});return s.observe(n||g.gm.document,{childList:!0,subtree:!0}),s},me=(e,t,r)=>{try{const n=new g.gm.PerformanceObserver(e=>{e.getEntries().forEach(r)});return n.observe(t),e.push(n),n}catch(e){return null}};function ve(e,t){let r,n,i=!1;const s=e=>null==e?e:e-(t?.scriptStart||t?.registeredAt||0),a={fcp:{get value(){const e=s(r);return e>1e4?void 0:e},set value(e){i||(r=e)}},lcp:{get value(){if(void 0!==a.fcp.value)return s(n)},set value(e){i||(n=e)}},cls:{value:void 0},inp:{value:void 0},disconnect:()=>{}};if(!(e&&g.RI&&g.gm.MutationObserver&&g.gm.PerformanceObserver))return a;const o=[];setTimeout(()=>{r||a.disconnect()},1e4);const c=()=>{if(!i){if(null==r){const e=(0,_.t)();if(s(e)>1e4)return void a.disconnect();r=e}n??=(0,_.t)(),a.cls.value??=0}},d=ge(e,(e,t)=>{c(),t.disconnect()});o.push(d);let u=0,l=null;const f=new Set;try{l=new g.gm.ResizeObserver(e=>{i||e.forEach(e=>{try{const t=e.contentRect.width*e.contentRect.height;t>u&&(u=t,a.lcp.value=(0,_.t)()),l.unobserve(e.target)}catch(e){}})})}catch(e){}const h=ge(e,e=>{if(c(),l)try{const t=1===e.nodeType?e:e.parentElement;t&&!f.has(t)&&(f.add(t),"IMG"===t.tagName?t.complete?l.observe(t):t.addEventListener("load",()=>{l.observe(t)},{once:!0}):"VIDEO"===t.tagName?t.readyState>=2?l.observe(t):t.addEventListener("loadeddata",()=>{l.observe(t)},{once:!0}):l.observe(t))}catch(e){}});l&&o.push(l),o.push(h),me(o,{type:"layout-shift",buffered:!0},t=>{i||t.hadRecentInput||(t.sources||[]).some(r=>!!pe(r.node,e)&&(c(),a.cls.value+=t.value,!0))}),me(o,{type:"event",buffered:!0,durationThreshold:40},t=>{!i&&t.interactionId&&pe(t.target,e)&&(void 0===a.inp.value||t.duration>a.inp.value)&&(c(),a.inp.value=t.duration)});const p=["pointerdown","keydown"],m=()=>{p.forEach(e=>{g.gm.removeEventListener(e,v,{passive:!0})})};a.disconnect=()=>{i=!0,o.forEach(e=>{try{e?.disconnect()}catch(e){}}),m(),["visibilitychange","pagehide"].forEach(e=>{g.gm.removeEventListener(e,a.disconnect,{once:!0,passive:!0})})};const v=t=>{pe(t?.target,e)&&((()=>{try{h?.disconnect(),l?.disconnect()}catch(e){}})(),m())};p.forEach(e=>{g.gm.addEventListener(e,v,{passive:!0})}),["visibilitychange","pagehide"].forEach(e=>{g.gm.addEventListener(e,a.disconnect,{once:!0,passive:!0})});const y=g.gm.document?.querySelectorAll('[data-nr-mfe-id="'.concat(he(e.id),'"]'));return Array.from(y||[]).some(t=>fe(t.dataset,e))&&c(),a}var ye=r(9566),be=r(7560),Ee=r(9119);const we=["entry","scripts","all"],Re=["name","id","type"],Te=new Map([[ce,"addPageAction"],[oe,"log"],[de,"measure"],[ie,"noticeError"],[ue,"recordCustomEvent"]]),Ae={experimental:(0,C.J)(()=>(0,l.R)(54,"newrelic.register")),disabled:(0,C.J)(()=>(0,l.R)(55)),invalidTarget:(0,C.J)(e=>(0,l.R)(48,e)),deregistered:(0,C.J)(()=>(0,l.R)(68)),invalidTimingMethod:(0,C.J)(e=>(0,l.R)(80,e)),duplicateName:(0,C.J)(e=>(0,l.R)(81,e)),duplicateId:(0,C.J)(e=>(0,l.R)(82,e))};function Se(e){(0,N.Y)(k.eY,function(t){return xe(e,t)},e)}function xe(e,r){Ae.experimental(),r||={},r.instance=(0,ye.LA)(8),r.type=w.f.MFE,r.licenseKey||=e.info.licenseKey,r.blocked=!1,("object"!=typeof r.tags||null===r.tags||Array.isArray(r.tags))&&(r.tags={}),r.parent??={get id(){return e.runtime.appMetadata.agents?.[0].entityGuid},type:w.f.BA},r.manifest=(0,be.N)(r.manifest),void 0===r.timingMethod||we.includes(r.timingMethod)||(Ae.invali
6dTimingMethod(r.timingMethod),r.timingMethod=void 0);const n=(0,le.Qr)(r);r.manifest&&(0,le.xo)(n,r);const i=ve(r,n),s=(0,Ee.L)(""+location),a={};Object.prototype.hasOwnProperty.call(r,"attributes")||Object.defineProperty(r,"attributes",{get:()=>({...a,"source.id":r.id,"source.name":r.name,"source.type":r.type,"parent.type":r.parent?.type||w.f.BA,"parent.id":r.parent?.id})}),Object.entries(r.tags).forEach(([e,t])=>{Re.includes(e)||(a["source.".concat(e)]=t)});let o=()=>{};const c=e.runtime.registeredEntities,d=e=>{r.blocked=!0,o=e};function u(e){return"string"==typeof e&&!!e.trim()&&e.trim().length<501}e.init.api.register.enabled||d(Ae.disabled),u(r.id)&&u(r.name)||d(()=>Ae.invalidTarget(r)),c.forEach(e=>{try{const{name:t,id:n}=e.metadata.target;t===r.name&&n!==r.id&&Ae.duplicateName(r),n===r.id&&t!==r.name&&Ae.duplicateId(r)}catch(e){}});const f={addPageAction:(t,n={})=>m(ce,[t,{...a,...n},e],r),deregister:()=>{p(),d(Ae.deregistered)},log:(t,n={})=>m(oe,[t,{...n,customAttributes:{...a,...n.customAttributes||{}}},e],r),measure:(t,n={})=>m(de,[t,{...n,customAttributes:{...a,...n.customAttributes||{}}},e],r),noticeError:(t,n={})=>m(ie,[t,{...a,...n},e],r),recordCustomEvent:(t,n={})=>m(ue,[t,{...a,...n},e],r),setApplicationVersion:e=>g("application.version",e),setCustomAttribute:(e,t)=>g(e,t),setUserId:e=>g("enduser.id",e),metadata:{get customAttributes(){return a},target:r,timings:n,vitals:i,events:{latestTimestamp:void 0}}},h=()=>(r.blocked&&o(),r.blocked);function p(){if(n.reportedAt)return;n.reportedAt=(0,_.t)(),i.disconnect(),n.fcp=i.fcp,n.lcp=i.lcp,n.cls=i.cls,n.inp=i.inp;const e=n.fetchEnd-n.fetchStart,t=n.scriptEnd-n.scriptStart,r={assetUrl:n.asset,assetType:n.type,registerUrl:s,deregisterUrl:(0,Ee.L)(""+location),pageUrl:void 0,currentUrl:void 0,timeAlive:n.reportedAt-n.registeredAt,timeToBeRequested:n.fetchStart,timeToExecute:t,timeToFetch:e,timeToLoad:e+t,t
6imeToRegister:n.registeredAt,totalWeight:n.totalWeight,...void 0!==n.renderBlocking&&{renderBlocking:n.renderBlocking},...i.fcp.value>=0&&{"vitals.fcp.value":i.fcp.value},...i.lcp.value>=0&&{"vitals.lcp.value":i.lcp.value},...i.cls.value>=0&&{"vitals.cls.value":i.cls.value},...i.inp.value>=0&&{"vitals.inp.value":i.inp.value}};f.recordCustomEvent("MicroFrontEndTiming",r)}h()||(c.push(f),(0,V.G)(p));const g=(e,t)=>{h()||(a[e]=t)},m=(r,n,i)=>{if(h()&&r!==xe)return;const s=f.metadata.events.latestTimestamp??(0,_.t)();f.metadata.events.latestTimestamp=void 0;const a=Te.get(r)||"unknown";(0,S.p)(q.xV,["API/register/".concat(a,"/called")],void 0,t.K7.metrics,e.ee);try{return r(...n,i,s)}catch(e){(0,l.R)(50,e)}};return f}class Oe extends W{static featureName=Z.T;constructor(e){var t;super(e,Z.T),t=e,(0,N.Y)(k.o5,(e,r)=>ie(e,r,t),t),function(e){(0,N.Y)(k.bt,function(t){e.runtime.onerror=t},e)}(e),function(e){let t=0;(0,N.Y)(k.k6,function(e,r){++t>10||(this.runtime.releaseIds[e.slice(-200)]=(""+r).slice(-200))},e)}(e),Se(e);try{this.removeOnAbort=new AbortController}catch(e){}this.ee.on("internal-error",(t,r)=>{this.abortHandler&&(0,S.p)("ierr",[ee(t),(0,_.t)(),!0,{},e.runtime.isRecording,r],void 0,this.featureName,this.ee)}),g.gm.addEventListener("unhandledrejection",t=>{this.abortHandler&&(0,S.p)("err",[te(t),(0,_.t)(),!1,{unhandledPromiseRejection:1},e.runtime.isRecording],void 0,this.featureName,this.ee)},(0,J.jT)(!1,this.removeOnAbort?.signal)),g.gm.addEventListener("error",t=>{this.abortHandler&&(0,S.p)("err",[re(t),(0,_.t)(),!1,{},e.runtime.isRecording],void 0,this.featureName,this.ee)},(0,J.jT)(!1,this.removeOnAbort?.signal)),this.abortHandler=this.#n,this.importAggregator(e,()=>r.e(478).then(r.bind(r,9377)))}#n(){this.removeOnAbort?.abort(),this.abortHandler=void 0}}var _e=r(8990);let ke=1;function Ne(e){const t=typeof e;return!e||"object"!==t&&"function"!==t?-1:e===g.gm?0:(0,_e.I)(e,"nr@id",function(){return ke++})}function Le(e){if("string"==typeof e)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,X.A)(e).length}catch(e){return}}}var Me=r(8139),Pe=r(3434),Ie=r(5732);const je={},Ce=["open","send","setRequestHeader"];function De(e,t){var r=e||R.ee;const n=function(e){return(e||R.ee).get("xhr")}(r);if(void 0===g.gm.XMLHttpRequest)return n;if(je[n.debugId]++)return n;je[n.debugId]=1,(0,Me.u)(r,t);var i=(0,Pe.YM)(n,void 0,t),s=g.gm.XMLHttpRequest,a=g.gm.MutationObserver,o=g.gm.Promise,c=g.gm.setInterval,d="readystatechange",u=["onload","onerror","onabort","onloadstart","onloadend","onprogress","ontimeout"],f=[],h=g.gm.XMLHttpRequest=function(e){const r=new s(e),a=n.context(r);a.targets=(0,Ie.$5)(t);try{n.emit("new-xhr",[r],a),r.addEventListener(d,(o=a,function(){var e=this;e.readyState>3&&!o.resolved&&(o.resolved=!0,n.emit("xhr-resolved",[],e)),i.inPlace(e,u,"fn-",E)}),(0,J.jT)(!1))}catch(e){(0,l.R)(15,e);try{n.emit("internal-error",[e])}catch(e){}}var o;return r};function p(e,t){i.inPlace(t,["onreadystatechange"],"fn-",E)}if(function(e,t){for(var r in e)t[r]=e[r]}(s,h),h.prototype=s.prototype,i.inPlace(h.prototype,Ce,"-xhr-",E),n.on("send-xhr-start",function(e,t){p(e,t),function(e){f.push(e),a&&(m?m.then(b):c?c(b):(v=-v,y.data=v))}(t)}),n.on("open-xhr-start",p),a){var m=o&&o.resolve();if(!c&&!o){var v=1,y=document.createTextNode(v);new a(b).observe(y,{characterData:!0})}}else r.on("fn-end",function(e){e[0]&&e[0].type===d||b()});function b(){for(var e=0;e<f.length;e++)p(0,f[e]);f.length&&(f=[])}function E(e,t){return t}return n}var Be="fetch-",He=Be+"body-",We=["arrayBuffer","blob","json","text","formData"],Ue=g.gm.Request,Ke=g.gm.Response,Fe="prototype";const Ve={};function ze(e,t){const r=function(e){return(e||R.ee).get("fetch")}(e);if(!(Ue&&Ke&&g.gm.fetch))return r;if(Ve[r.debugId]++)return r;function n(e,n,i){var s=e[n];"function"==typeof s&&(e[n]=function(){var e=[...arguments];const n={},a=(0,Ie.$5)(t);var o;r.emit(i+"before-start",[e],n),n[R.P]&&n[R.P].dt&&(o=n[R.P].dt);var c=s.apply(this,e);return r.emit(i+"start",[e,o],c),c.then(function(e){return r.emit(i+"end",[null,e,a],c),e},function(e){throw r.emit(i+"end",[e,void 0,a],c),e})})}
6return Ve[r.debugId]=1,We.forEach(e=>{n(Ue[Fe],e,He),n(Ke[Fe],e,He)}),n(g.gm,"fetch",Be),r.on(Be+"end",function(e,n,i){var s=this;if(s.targets=i||[t.runtime.v2Target],n){var a=n.headers.get("content-length");null!==a&&(s.rxSize=a),r.emit(Be+"done",[null,n],s)}else r.emit(Be+"done",[e],s)}),r}var Ge=r(7485);class qe{constructor(e){this.agentRef=e}generateTracePayload(e){const t=this.agentRef.loader_config;if(!this.shouldGenerateTrace(e)||!t)return null;var r=(t.accountID||"").toString()||null,n=(t.agentID||"").toString()||null,i=(t.trustKey||"").toString()||null;if(!r||!n)return null;var s=(0,ye.ZF)(),a=(0,ye.el)(),o=Date.now(),c={spanId:s,traceId:a,timestamp:o};return(e.sameOrigin||this.isAllowedOrigin(e)&&this.useTraceContextHeadersForCors())&&(c.traceContextParentHeader=this.generateTraceContextParentHeader(s,a),c.traceContextStateHeader=this.generateTraceContextStateHeader(s,o,r,n,i)),(e.sameOrigin&&!this.excludeNewrelicHeader()||!e.sameOrigin&&this.isAllowedOrigin(e)&&this.useNewrelicHeaderForCors())&&(c.newrelicHeader=this.generateTraceHeader(s,a,o,r,n,i)),c}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,s){if(!("function"==typeof g.gm?.btoa))return null;var a={v:[0,1],d:{ty:"Browser",ac:n,ap:i,id:e,tr:t,ti:r}};return s&&n!==s&&(a.d.tk=s),btoa((0,X.A)(a))}shouldGenerateTrace(e){return this.agentRef.init?.distributed_tracing?.enabled&&this.isAllowedOrigin(e)}isAllowedOrigin(e){var t=!1;const r=this.agentRef.init?.distributed_tracing;if(e.sameOrigin)t=!0;else if(r?.allowed_origins instanceof Array)for(var n=0;n<r.allowed_origins.length;n++){var i=(0,Ge.D)(r.allowed_origins[n]);if(e.hostname===i.hostname&&e.protocol===i.protocol&&e.port===i.port){t=!0;break}}return t}excludeNewrelicHeader(){var e=this.agentRef.init?.distributed_tracing;return!!e&&!!e.exclude_newrelic_header}useNewrelicHeaderForCors(){var e=this.agentRef.init?.distributed_tracing;return!!e&&!1!==e.cors_use_newrelic_header}useTraceContextHeadersForCors(){var e=this.agentRef.init?.distributed_tracing;return!!e&&!!e.cors_use_tracecontext_headers}}var Ye=r(7295);function Ze(e){return"string"==typeof e?e:e instanceof(0,i.dV)().o.REQ?e.url:g.gm?.URL&&e instanceof URL?e.href:void 0}function $e(e,t){var r=(0,Ge.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}var Je=["load","error","abort","timeout"],Xe=Je.length,Qe=(0,i.dV)().o.REQ,et=(0,i.dV)().o.XHR;const tt="X-NewRelic-App-Data",rt="internal-error";class nt extends W{static featureName=c.TZ;constructor(e){super(e,c.TZ),this.dt=new qe(e),this.handler=(e,t,r,n)=>(0,S.p)(e,t,r,n,this.ee);try{const e={xmlhttprequest:"xhr",fetch:"fetch",beacon:"beacon"};g.gm?.performance?.getEntriesByType("resource").forEach(r=>{if(r.initiatorType in e&&0!==r.responseStatus){const n={status:r.responseStatus},i={rxSize:r.transferSize,duration:Math.floor(r.duration),cbTime:0};$e(n,r.name),this.handler("xhr",[n,i,r.startTime,r.responseEnd,e[r.initiatorType]],void 0,t.K7.ajax)}})}catch(e){}ze(this.ee,e),De(this.ee,e),function(e,r,n,i){const s=[c.mo.ALL,c.mo.FAILURES].includes(e.init.ajax?.capture_payloads);function a(e){var t=this;t.totalCbs=0,t.called=0,t.cbTime=0,t.end=A,t.ended=!1,t.xhrGuids={},t.lastSize=null,t.loadCaptureCalled=!1,t.params=this.params||{},t.metrics=this.metrics||{},t.latestLongtaskEnd=0,e.addEventListener("load",function(r){O(t,e)},(0,J.jT)(!1)),g.lR||e.addEventListener("progress",function(e){t.lastSize=e.loaded},(0,J.jT)(!1))}function o(e){this.params={method:e[0]},$e(this,e[1]),this.metrics={}}function d(t,r){e.loader_config.xpid&&this.sameOrigin&&r.setRequestHeader("X-NewRelic-ID",e.loader_config.xpid);var n=i.generateTracePayload(this.parsedOrigin);if(n){var s=!1;n.newrelicHeader&&(r.setRequestHeader("newrelic",n.newrelicHeader),s=!0),n.traceContextParentHeader&&(r.setRequestHeader("traceparent",n.traceContextParentHeader),n.traceContextStateHeader&&r.setRequestHeader("tracestate",n.traceContextStateHeader),s=!0),s&&(this.dt=n)}}function u(e,t){s&&e.length>=2&&(this.requestHeaders??={},this.requestHeaders[e[0].toLowerCase()]=e[1])}function l(e,t){var n=this.metrics,i=e[0],s=this;if(n&&i){var a=Le(i);a&&(n.txSize=a)}this.startTime=(0,_.t)(),this.requestBody=i,this.listener=function(e){try{"abort"!==e.type||s.loadCaptureCalled||(s.params.aborted=!0),("load"
6!==e.type||s.called===s.totalCbs&&(s.onloadCalled||"function"!=typeof t.onload)&&"function"==typeof s.end)&&s.end(t)}catch(e){try{r.emit(rt,[e])}catch(e){}}};for(var o=0;o<Xe;o++)t.addEventListener(Je[o],this.listener,(0,J.jT)(!1))}function f(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 h(e,t){var r=""+Ne(e)+!!t;this.xhrGuids&&!this.xhrGuids[r]&&(this.xhrGuids[r]=!0,this.totalCbs+=1)}function p(e,t){var r=""+Ne(e)+!!t;this.xhrGuids&&this.xhrGuids[r]&&(delete this.xhrGuids[r],this.totalCbs-=1)}function m(){this.endTime=(0,_.t)()}function v(e,t){t instanceof et&&"load"===e[0]&&r.emit("xhr-load-added",[e[1],e[2]],t)}function y(e,t){t instanceof et&&"load"===e[0]&&r.emit("xhr-load-removed",[e[1],e[2]],t)}function b(e,t,r){t instanceof et&&("onload"===r&&(this.onload=!0),("load"===(e[0]&&e[0].type)||this.onload)&&(this.xhrCbStart=(0,_.t)()))}function E(e,t){this.xhrCbStart&&r.emit("xhr-cb-time",[(0,_.t)()-this.xhrCbStart,this.onload,t],t)}function w(e){var t,r=e[1]||{};if("string"==typeof e[0]?0===(t=e[0]).length&&g.RI&&(t=""+g.gm.location.href):e[0]&&e[0].url?t=e[0].url:g.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,Ge.D)(t),this.sameOrigin=this.parsedOrigin.sameOrigin);var n=i.generateTracePayload(this.parsedOrigin);if(n&&(n.newrelicHeader||n.traceContextParentHeader))if(e[0]&&e[0].headers)o(e[0].headers,n)&&(this.dt=n);else{var s={};for(var a in r)s[a]=r[a];s.headers=new Headers(r.headers||{}),o(s.headers,n)&&(this.dt=n),e.length>1?e[1]=s:e.push(s)}}function o(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 R(e,t){this.params={},this.metrics={},this.startTime=(0,_.t)(),this.dt=t;let[r,n={}]=e;$e(this,Ze(r));const i=(""+(r&&r instanceof Qe&&r.method||n.method||"GET")).toUpperCase();this.params.method=i,this.txSize=Le(n.body||r?.body)||0;try{var a=n.headers||r?.headers;if(s&&a)if(this.requestHeaders??={},a instanceof Headers)a.forEach(function(e,t){this.requestHeaders[t.toLowerCase()]=e}.bind(this));else if("object"==typeof a)for(var o in a)this.requestHeaders[o.toLowerCase()]=a[o]}catch(e){}this.requestBody=n.body||r?.body}function T(e,t){if(this.endTime=(0,_.t)(),this.params||(this.params={}),(0,Ye.iW)(this.params))return;this.params.status=t?t.status:0;const n=()=>{const e=+this.rxSize,t=null==this.rxSize||isNaN(e)?void 0:e,r={txSize:this.txSize,rxSize:t,duration:this.endTime-this.startTime},n=[this.params,r,this.startTime,this.endTime,"fetch"];this.targets.forEach(e=>x(n,this,e))};t&&s?t.clone().text().then(e=>{this.responseBody=e,this.rxSize&&"0"!==this.rxSize&&0!==this.rxSize||void 0===e||0===this.params.status||(this.rxSize=Le(e)),t?.headers&&(this.responseHeaders={},t.headers.forEach(function(e,t){this.responseHeaders[t.toLowerCase()]=e}.bind(this)))}).catch(e=>{r.emit(rt,[e])}).finally(()=>{n()}):n()}function A(e){const t=this.params,n=this.metrics;if(this.ended)return;this.ended=!0;for(let t=0;t<Xe;t++)e.removeEventListener(Je[t],this.listener,!1);if(t.aborted)return;if((0,Ye.iW)(t))return;if(n.duration=this.endTime-this.startTime,this.loadCaptureCalled||4!==e.readyState?null==t.status&&(t.status=0):O(this,e),n.cbTime=this.cbTime,s){try{this.responseBody=e.responseText}catch(t){this.responseBody=e.response}if((!n.rxSize||0===n.rxSize)&&void 0!==this.responseBody&&0!==t.status){const e=Le(this.responseBody);void 0!==e&&(n.rxSize=e)}try{this.responseHeaders=function(e){const t={};return e?(e.split("\r\n").forEach(function(e){const r=e.indexOf(": ");if(r>0){const n=e.substring(0,r),i=e.substring(r+2);t[n.toLowerCase()]=i}}),t):t}(e.getAllResponseHeaders())}catch(e){r.emit(rt,[e])}}const i=[t,n,this.startTime,this.endTime,"xhr"];this.targets.forEach(e=>x(i,this,e))}function x(e,r,i){n("xhr",[...e,i],r,t.K7.ajax)}function O(e,n){e.params.status=n.status;var i=function(e,t){var r=e.responseType;return"json"===r&&null!==t?t:"arraybuffer"===r||"blob"===r||"json"===r?Le(e.response):"text"===r||""===r||void 0===r?Le(e.responseText):void 0}(n,e.lastSize);if(void 0!==i&&0!==n.status&&(e.metrics.rxSize=i),e.sameOrigin&&n.getAllResponseHeaders().indexOf(tt)>=0){var s=n.getResponseHeader(tt);s&&((0,S.p)("sm",["Ajax/CrossApplicationTracing/Header/Seen"],void 0,t.K7.metrics,r),e.params.cat=s.split(", ").pop())}e.loadCaptureCalled=!0}r.on("new-xhr",a),r.on("open-xhr-start",o),r.on("open-xhr-end",d),r.on("send-xhr-start",l),r.on("setRequestHeader-xhr-start",u),r.on("xhr-cb-time",f),r.on("xhr-load-added",h),r.on("xhr-load-removed",p),r.on("xhr-resolved",m),r.on("addEventListener-end",v),r.on("removeEventListener-end",y),r.on("fn-end",E),r.on("fetch-before-start",w),r.on("fetch-start",R),r.on("fn-start",b),r.on("fetch-done",T)}(e,this.ee,this.handler,this.dt),this.importAggregator(e,()=>r.e(478).then(r.bind(r,3845)))}}const it={},st=["pushState","replaceState"];function at(e,t){const r=function(e){return(e||R.ee).get("history")}(e);return!g.RI||it[r.debugId]++||(it[r.debugId]=1,(0,Pe.YM)(r,void 0,t).inPlace(window.history,st,"-")),r}var ot=r(3738);function ct(e){(0,N.Y)(k.BL,function(r=Date.now()){const n=r-g.WN;n<0&&(0,l.R)(62,r),(0,S.p)(q.XG,[k.BL,{time:n}],void 0,t.K7.metrics,e.ee),e.addToTrace({name:k.BL,start:r,origin:"nr"}),(0,S.p)("api-"+k.hG,[n,k.BL],void 0,t.K7.genericEvents,e.ee)},e)}const{He:dt,bD:ut,d3:lt,Kp:ft,TZ:ht,Lc:pt,uP:gt,Rz:mt}=ot;class vt extends W{static featureName=ht;constructor(e){var n;super(e,ht),n=e,(0,N.Y)(k.U2,function(e){if(!(e&&"object"==typeof e&&e.name&&e.start))return;const r={n:e.name,s:e.start-g.WN,e:(e.end||e.start)-g.WN,o:e.origin||"",t:"api"};r.s<0||r.e<0||r.e<r.s?(0,l.R)(61,{start:r.s,end:r.e}):(0,S.p)("bstApi",[r],void 0,t.K7.sessionTrace,n.ee)},n),ct(e);
6if(!(0,j.V)(e.init))return void this.deregisterDrain();const i=this.ee;let s;at(i,e),this.eventsEE=(0,Me.u)(i,e),this.eventsEE.on(gt,function(e,t){this.bstStart=(0,_.t)()}),this.eventsEE.on(pt,function(e,r){(0,S.p)("bst",[e[0],r,this.bstStart,(0,_.t)()],void 0,t.K7.sessionTrace,i)}),i.on(mt+lt,function(e){this.time=(0,_.t)(),this.startPath=location.pathname+location.hash}),i.on(mt+ft,function(e){(0,S.p)("bstHist",[location.pathname+location.hash,this.startPath,this.time],void 0,t.K7.sessionTrace,i)});try{s=new PerformanceObserver(e=>{const r=e.getEntries();(0,S.p)(dt,[r],void 0,t.K7.sessionTrace,i)}),s.observe({type:ut,buffered:!0})}catch(e){}this.importAggregator(e,()=>r.e(478).then(r.bind(r,6974)),{resourceObserver:s})}}var yt=r(733),bt=r(6344);class Et extends W{static featureName=bt.TZ;#i;recorder;constructor(e){var n;let i;super(e,bt.TZ),n=e,(0,N.Y)(k.CH,function(){(0,S.p)(k.CH,[],void 0,t.K7.sessionReplay,n.ee)},n),function(e){(0,N.Y)(k.Tb,function(){(0,S.p)(k.Tb,[],void 0,t.K7.sessionReplay,e.ee)},e)}(e);const s="".concat(u.Wt).concat((0,yt.Y)(e.info.licenseKey,e.info.applicationID));try{i=JSON.parse(localStorage.getItem(s))}catch(e){}(0,I.SR)(e.init)&&this.ee.on(k.CH,()=>this.#s()),this.#a(i)&&this.importRecorder().then(e=>{e.startRecording(bt.Qb.PRELOAD,i?.sessionReplayMode)}),this.abortHandler=this.#n,this.importAggregator(this.agentRef,()=>r.e(478).then(r.bind(r,6167)),this),this.ee.on("err",e=>{this.blocked||this.agentRef.runtime.isRecording&&(this.errorNoticed=!0,(0,S.p)(bt.Vh,[e],void 0,this.featureName,this.ee))})}#a(e){return e&&(e.sessionReplayMode===u.g.FULL||e.sessionReplayMode===u.g.ERROR)||(0,I.Aw)(this.agentRef.init)}importRecorder(){return this.recorder?Promise.resolve(this.recorder):(this.#i??=Promise.all([r.e(478),r.e(249)]).then(r.bind(r,4866)).then(({Recorder:e})=>(this.recorder=new e(this),this.recorder)).catch(e=>{throw this.ee.emit("internal-error",[e]),this.blocked=!0,e}),this.#i)}#s(){this.blocked||(this.featAggregate?this.featAggregate.mode!==u.g.FULL&&this.featAggregate.initializeRecording(u.g.FULL,!0,bt.Qb.API):this.importRecorder().then(()=>{this.recorder.startRecording(bt.Qb.API,u.g.FULL)}))}#n(){this.recorder?.stopRecording()}}var wt=r(3962);class Rt extends W{static featureName=wt.TZ;constructor(e){if(super(e,wt.TZ),function(e){const r=e.ee.get("tracer");function n(){}(0,N.Y)(k.dT,function(e){return(new n).get("object"==typeof e?e:{})},e);const i=n.prototype={createTracer:function(n,i){var s={},a=this,o="function"==typeof i;return(0,S.p)(q.xV,["API/createTracer/called"],void 0,t.K7.metrics,e.ee),function(){if(r.emit((o?"":"no-")+"fn-start",[(0,_.t)(),a,o],s),o)try{return i.apply(this,arguments)}catch(e){const t="string"==typeof e?new Error(e):e;throw r.emit("fn-err",[arguments,this,t],s),t}finally{r.emit("fn-end",[(0,_.t)()],s)}}}};["actionText","setName","setAttribute","save","ignore","onEnd","getContext","end","get"].forEach(r=>{N.Y.apply(this,[r,function(){return(0,S.p)(k.hw+r,[performance.now(),...arguments],this,t.K7.softNav,e.ee),this},e,i])}),(0,N.Y)(k.PA,function(){(0,S.p)(k.hw+"routeName",[performance.now(),...arguments],void 0,t.K7.softNav,e.ee)},e)}(e),!g.RI||!(0,i.dV)().o.MO)return;const n=at(this.ee,e);try{this.removeOnAbort=new AbortController}catch(e){}wt.tC.forEach(e=>{(0,J.sp)(e,e=>{c(e)},!0,this.removeOnAbort?.signal)}
6);const s=()=>(0,S.p)("newURL",[(0,_.t)(),""+window.location],void 0,this.featureName,this.ee);n.on("pushState-end",s),n.on("replaceState-end",s),(0,J.sp)(wt.OV,e=>{c(e),(0,S.p)("newURL",[e.timeStamp,""+window.location],void 0,this.featureName,this.ee)},!0,this.removeOnAbort?.signal);let a=!1;const o=new((0,i.dV)().o.MO)((e,t)=>{a||(a=!0,requestAnimationFrame(()=>{(0,S.p)("newDom",[(0,_.t)()],void 0,this.featureName,this.ee),a=!1}))}),c=(0,C.s)(e=>{"loading"!==document.readyState&&((0,S.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,()=>r.e(478).then(r.bind(r,4393)),{domObserver:o})}}var Tt=r(981);const At={},St=new Set;function xt(e){return"string"==typeof e?{type:"string",size:(new TextEncoder).encode(e).length}:e instanceof ArrayBuffer?{type:"ArrayBuffer",size:e.byteLength}:e instanceof Blob?{type:"Blob",size:e.size}:e instanceof DataView?{type:"DataView",size:e.byteLength}:ArrayBuffer.isView(e)?{type:"TypedArray",size:e.byteLength}:{type:"unknown",size:0}}class Ot{constructor(e,t){this.timestamp=(0,_.t)(),this.currentUrl=(0,Ee.L)(window.location.href),this.socketId=(0,ye.LA)(8),this.requestedUrl=(0,Ee.L)(e),this.requestedProtocols=Array.isArray(t)?t.join(","):t||"",this.openedAt=void 0,this.protocol=void 0,this.extensions=void 0,this.binaryType=void 0,this.messageOrigin=void 0,this.messageCount=0,this.messageBytes=0,this.messageBytesMin=0,this.messageBytesMax=0,this.messageTypes=void 0,this.sendCount=0,this.sendBytes=0,this.sendBytesMin=0,this.sendBytesMax=0,this.sendTypes=void 0,this.closedAt=void 0,this.closeCode=void 0,this.closeReason="unknown",this.closeWasClean=void 0,this.connectedDuration=0,this.hasErrors=void 0}}class _t extends W{static featureName=o.TZ;constructor(e){super(e,o.TZ);const n=e.init.feature_flags.includes("websockets")||e.init.web_sockets?.enabled,s=!e.init.feature_flags.includes("no_spv"),a=[e.init.page_action.enabled,e.init.performance.capture_marks,e.init.performance.capture_measures,e.init.performance.resources.enabled,e.init.user_actions.enabled,n,s];var c;let d;if(c=e,(0,N.Y)(k.hG,(e,t)=>ce(e,t,c),c),function(e){(0,N.Y)(k.fF,(t,r)=>ue(t,r,e),e)}(e),ct(e),Se(e),function(e){(0,N.Y)(k.V1,(t,r)=>de(t,r,e),e)}(e),this.removeOnAbort=new AbortController,this.abortHandler=()=>{this.removeOnAbort.abort(),this.abortHandler=void 0},n){const u=function(e,t){if(!(0,i.dV)().o.WS)return e;const r=e.get("websockets");if(At[r.debugId]++)return r;At[r.debugId]=1,(0,V.G)(()=>{const e=(0,_.t)();St.forEach(t=>{t.nrData.closedAt=e,t.nrData.closeCode=1001,t.nrData.closeReason="Page navigating away",t.nrData.closeWasClean=!1,t.nrData.openedAt&&(t.nrData.connectedDuration=e-t.nrData.openedAt),r.emit("ws",[t.nrData,t.targets],t)})});
6class n extends WebSocket{static name=Tt.R.WS;static toString(){return"function WebSocket() { [native code] }"}toString(){return"[object WebSocket]"}get[Symbol.toStringTag](){return n.name}#o(e){(e.__newrelic??={}).socketId=this.nrData.socketId,this.nrData.hasErrors??=!0}constructor(...e){super(...e),this.nrData=new Ot(e[0],e[1]),this.targets=(0,Ie.$5)(t),this.addEventListener("open",()=>{this.nrData.openedAt=(0,_.t)(),["protocol","extensions","binaryType"].forEach(e=>{this.nrData[e]=this[e]}),St.add(this)}),this.addEventListener("message",e=>{const{type:t,size:r}=xt(e.data);this.nrData.messageOrigin??=(0,Ee.L)(e.origin),this.nrData.messageCount++,this.nrData.messageBytes+=r,this.nrData.messageBytesMin=Math.min(this.nrData.messageBytesMin||1/0,r),this.nrData.messageBytesMax=Math.max(this.nrData.messageBytesMax,r),(this.nrData.messageTypes??"").includes(t)||(this.nrData.messageTypes=this.nrData.messageTypes?"".concat(this.nrData.messageTypes,",").concat(t):t)}),this.addEventListener("close",e=>{this.nrData.closedAt=(0,_.t)(),this.nrData.closeCode=e.code,e.reason&&(this.nrData.closeReason=e.reason),this.nrData.closeWasClean=e.wasClean,this.nrData.connectedDuration=this.nrData.closedAt-this.nrData.openedAt,St.delete(this),r.emit("ws",[this.nrData,this.targets],this)})}addEventListener(e,t,...r){const n=this,i="function"==typeof t?function(...e){try{return t.apply(this,e)}catch(e){throw n.#o(e),e}}:t?.handleEvent?{handleEvent:function(...e){try{return t.handleEvent.apply(t,e)}catch(e){throw n.#o(e),e}}}:t;return super.addEventListener(e,i,...r)}send(e){if(this.readyState===WebSocket.OPEN){const{type:t,size:r}=xt(e);this.nrData.sendCount++,this.nrData.sendBytes+=r,this.nrData.sendBytesMin=Math.min(this.nrData.sendBytesMin||1/0,r),this.nrData.sendBytesMax=Math.max(this.nrData.sendBytesMax,r),(this.nrData.sendTypes??"").includes(t)||(this.nrData.sendTypes=this.nrData.sendTypes?"".concat(this.nrData.sendTypes,",").concat(t):t)}try{return super.send(e)}catch(e){throw this.#o(e),e}}close(...e){try{super.close(...e)}catch(e){throw this.#o(e),e}}}return g.gm.WebSocket=n,r}(this.ee,e);u.on("ws",(e,t)=>{(0,S.p)("ws-complete",[e,t],void 0,this.featureName,this.ee)})}if(s){if("function"==typeof g.gm.ReportingObserver){const l=new g.gm.ReportingObserver(e=>{e.forEach(e=>{(0,S.p)("spv",[kt(e),(0,_.t)()],void 0,t.K7.genericEvents,this.ee)}),l.disconnect()},{types:["csp-violation"],buffered:!0});l.observe()}g.gm.addEventListener("securitypolicyviolation",e=>{(0,S.p)("spv",[kt(e),e.timeStamp],void 0,t.K7.genericEvents,this.ee)},(0,J.jT)(!1,this.removeOnAbort.signal))}if(g.RI){if(ze(this.ee,e),De(this.ee,e),d=at(this.ee,e),e.init.user_actions.enabled){function f(t){const r=(0,Ge.D)(t);return e.beacons.includes(r.hostname+":"+r.port)}function h(){d.emit("navChange")}o.Zp.forEach(e=>(0,J.sp)(e,e=>(0,S.p)("ua",[e],void 0,this.featureName,this.ee),!0)),o.qN.forEac
6h(e=>{const t=(0,C.s)(e=>{(0,S.p)("ua",[e],void 0,this.featureName,this.ee)},500,{leading:!0});(0,J.sp)(e,t)}),g.gm.addEventListener("error",()=>{(0,S.p)("uaErr",[],void 0,t.K7.genericEvents,this.ee)},(0,J.jT)(!1,this.removeOnAbort.signal)),this.ee.on("open-xhr-start",(e,r)=>{f(e[1])||r.addEventListener("readystatechange",()=>{2===r.readyState&&(0,S.p)("uaXhr",[],void 0,t.K7.genericEvents,this.ee)},(0,J.jT)(void 0,this.removeOnAbort.signal))}),this.ee.on("fetch-start",e=>{e.length>=1&&!f(Ze(e[0]))&&(0,S.p)("uaXhr",[],void 0,t.K7.genericEvents,this.ee)}),d.on("pushState-end",h),d.on("replaceState-end",h),window.addEventListener("hashchange",h,(0,J.jT)(!0,this.removeOnAbort.signal)),window.addEventListener("popstate",h,(0,J.jT)(!0,this.removeOnAbort.signal))}if(e.init.performance.resources.enabled&&g.gm.PerformanceObserver?.supportedEntryTypes.includes("resource")){new PerformanceObserver(e=>{e.getEntries().forEach(e=>{(0,S.p)("browserPerformance.resource",[e],void 0,this.featureName,this.ee)})}).observe({type:"resource",buffered:!0})}}a.some(e=>e)?this.importAggregator(e,()=>r.e(478).then(r.bind(r,8019))):this.deregisterDrain()}}function kt(e){const t=e.body??e;return{blockedUrl:t.blockedURL??e.blockedURI,documentUrl:t.documentURL??e.documentURI,effectiveDirective:t.effectiveDirective,originalPolicy:t.originalPolicy,sourceFile:t.sourceFile,statusCode:t.statusCode,lineNumber:t.lineNumber,columnNumber:t.columnNumber,disposition:"reporting"===t.disposition?"report":t.disposition,sample:t.sample,referrer:t.referrer}}var Nt=r(2646);const Lt=new Map;function Mt(e,t,r,n,i=!0,s){if("object"!=typeof t||!t||"string"!=typeof r||!r||"function"!=typeof t[r])return(0,l.R)(29);const a=function(e){return(e||R.ee).get("logger")}(e),o=(0,Pe.YM)(a,void 0,s),c=new Nt.y(R.P);c.level=n.level,c.customAttributes=n.customAttributes,c.autoCaptured=i;const d=t[r]?.[Pe.Jt]||t[r];return Lt.set(d,c),o.inPlace(t,[r],"wrap-logger-",()=>Lt.get(d),void 0,!0),a}var Pt=r(1910);class It extends W{static featureName=se.TZ;constructor(e){var t;super(e,se.TZ),t=e,(0,N.Y)("log",(e,r)=>oe(e,r,t),t),function(e){(0,N.Y)(k.Wb,(t,r,{customAttributes:n={},level:i=se.p_.INFO}={})=>{Mt(e.ee,t,r,{customAttributes:n,level:i},!1,e)},e)}(e),Se(e);const n=this.ee;["log","error","warn","info","debug","trace"].forEach(t=>{(0,Pt.i)(g.gm.console[t]),Mt(n,g.gm.console,t,{level:"log"===t?"info":t},void 0,e)}),this.ee.on("wrap-logger-end",function([t],r,i,s=[e.runtime.v2Target]){const{level:a,customAttributes:o,autoCaptured:c}=this;s.forEach(e=>{(0,ae.R)(n,t,o,a,c,e)})}),this.importAggregator(e,()=>r.e(478).then(r.bind(r,5288)))}}new F({features:[nt,K,G,vt,Et,Y,Oe,_t,It,Rt],loaderType:"spa"})})()})();</script>
6
7    <meta name="viewport" content="width=device-width, initial-scale=1" />
8    <meta name="keywords" content="">
9    <meta name="SKYPE_TOOLBAR" content="SKYPE_TOOLBAR_PARSER_COMPATIBLE" />
10    <!-- <meta name="theme-color" content="#7b0a2e"/> -->
11    <link rel="profile" href="http://gmpg.org/xfn/11" />
12    <link rel="pingback" href="https://www.assent.com/xmlrpc.php" />
13    <link rel="preconnect" href="https://fonts.googleapis.com">
14    <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
15
16    <link rel="preload"
17        href="https://fonts.googleapis.com/css2?family=Nunito:wght@300;400;700&family=Roboto:wght@300;400;500;700&family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=Open+Sans:wght@600&display=swap"
18        as="style" onload="this.rel='stylesheet'">
19    <link rel="preload" href="https://cdnjs.cloudflare.com/ajax/libs/fancybox/3.5.7/jquery.fancybox.min.css" as="style"
20        onload="this.rel='stylesheet'">
21    <noscript>
22        <link
23            href="https://fonts.googleapis.com/css2?family=Nunito:wght@300;400;700&family=Roboto:wght@300;400;500;700&display=swap"
24            rel="stylesheet">
25        <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/fancybox/3.5.7/jquery.fancybox.min.css" />
26    </noscript>
27
28    <meta name='robots' content='index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1' />
29        
29<script id="assent-form-logger-early">
30            (function() {
31                if (window.__assentFormLogger) return;
32
33                var ENDPOINT = "https:\/\/www.assent.com\/wp-json\/assent\/v1\/log-error";
34                var MAX_PER_PAGE = 8;
35                var sent = 0;
36                var seen = {};
37                var nativeFetch = (typeof window.fetch === 'function') ? window.fetch.bind(window) : null;
38
39                function recaptchaState() {
40                    try {
41                        if (typeof grecaptcha !== 'undefined') return 'Loaded';
42                        var tag = document.querySelector('script[src*="recaptcha/api.js"]');
43                        if (!tag) return 'Not Present';
44                        // OneTrust auto-blocking rewrites blocked tags to text/plain.
45                        if (String(tag.type || '').indexOf('text/plain') === 0) return 'Blocked by consent (text/plain)';
46                        return 'Present, not executed';
47                    } catch (e) {
48                        return 'Unknown';
49                    }
50                }
51
52                function consentState() {
53                    try {
54                        if (window.OnetrustActiveGroups) return String(window.OnetrustActiveGroups);
55                        var m = document.cookie.match(/OptanonConsent=([^;]+)/);
56                        if (m) {
57                            var groups = decodeURIComponent(m[1]).match(/groups=([^&]*)/);
58                            return groups ? groups[1] : 'cookie present, no groups';
59                        }
60                        return 'no OneTrust cookie';
61                    } catch (e) {
62                        return 'Unknown';
63                    }
64                }
65
66                function env() {
67                    var d = {};
68                    try {
69                        d.browser = navigator.userAgent;
70                        d.os = navigator.platform;
71                        d.device = /Mobi|Android|iPhone|iPad/i.test(navigator.userAgent) ? 'Mobile' : 'Desktop';
72                        d.timezone = Intl.DateTimeFormat().resolvedOptions().timeZone;
73                        d.lang = document.documentElement.getAttribute('lang') || '';
74                        d.page_url = window.location.href;
75                        d.recaptcha_status = recaptchaState();
76                        d.consent = consentState();
77                    } catch (e) {}
78                    return d;
79                }
80
81                function send(payload) {
82                    try {
83                        if (sent >= MAX_PER_PAGE) return;
84
85                        var key = (payload.error_type || '') + '|' + (payload.error_message || '');
86                        if (seen[key]) return;
87                        seen[key] = true;
88                        sent++;
89
90                        var body = {};
91                        var e = env();
92                        for (var k in e) { if (e.hasOwnProperty(k)) body[k] = e[k]; }
93                        for (var j in payload) { if (payload.hasOwnProperty(j)) body[j] = payload[j]; }
94
95                        var json = JSON.stringify(body);
96
97                        // sendBeacon survives the page unloading mid-redirect.
98                        if (navigator.sendBeacon) {
99                            var blob = new Blob([json], { type: 'application/json' });
100                            if (navigator.sendBeacon(ENDPOINT, blob)) return;
101                        }
102
103                        if (nativeFetch) {
104                            nativeFetch(ENDPOINT, {
105                                method: 'POST',
106                                headers: { 'Content-Type': 'application/json' },
107                                body: json,
108                                keepalive: true
109                            })['catch'](function() {});
110                        }
111                    } catch (err) {}
112                }
113
114                window.__assentFormLogger = { send: send, env: env, nativeFetch: nativeFetch };
115
116                if (!nativeFetch) return;
117
118                // Pull the interesting bits out of the outgoing request. This is
119                // how we can tell an empty token apart from a low score, and how
120                // we detect the duplicate g-recaptcha-response field.
121                function readRequest(args) {
122                    var out = { action: '', email: '', token_count: 0, token_empty: true };
123                    try {
124                        var body = args[1] && args[1].body;
125                        if (!body) return out;
126
127                        var values = null;
128
129                        if (typeof FormData !== 'undefined' && body instanceof FormData) {
130                            out.action = body.get('action') || '';
131                            out.email = body.get('Email') || body.get('email') || '';
132                            values = body.getAll ? body.getAll('g-recaptcha-response') : [];
133                        } else if (typeof body === 'string' && typeof URLSearchParams !== 'undefined') {
134                            var p = new URLSearchParams(body);
135                            out.action = p.get('action') || '';
136                            out.email = p.get('Email') || p.get('email') || '';
137                            values = p.getAll('g-recaptcha-response');
138                        }
139
140                        if (values) {
141                            out.token_count = values.length;
142                            var last = values.length ? values[values.length - 1] : '';
143                            out.token_empty = !last;
144                        }
145                    } catch (e) {}
146                    return out;
147                }
148
149                function classify(code) {
150                    var s = String(code || '');
151                    if (s === 'RE0001') return 'low_score';
152                    if (s.indexOf('Missing reCAPTCHA') === 0) return 'missing_token';
153                    return 'client_logic_error';
154                }
155
156                function inspect(res, req) {
157                    if (!res) return;
158
159                    var status = res.status;
160                    var clone;
161                    try { clone = res.clone(); } catch (e) { return; }
162
163                    clone.text().then(function(text) {
164                        var data = null;
165                        try { data = JSON.parse(text); } catch (e) {}
166
167                        var base = {
168                            email: req.email,
169                            http_status: status,
170                            token_count: req.token_count
171                        };
172
173                        if (status >= 400) {
174                            base.error_type = 'client_http_error';
175                            base.error_message = 'HTTP ' + status + (text ? ' - ' + text.slice(0, 200) : '');
176                            send(base);
177                            return;
178                        }
179
180                        if (data && data.success === false) {
181                            var d = data.data || {};
182                            var code = d.error || d.message || 'unknown';
183                            base.error_type = classify(code);
184                            base.error_message = String(code) + (req.token_empty ? ' [token sent: EMPTY]' : ' [token sent: ok]');
185                            if (typeof d.score !== 'undefined') base.score = d.score;
186                            send(base);
187                        }
188                    })['catch'](function() {});
189                }
190
191                window.fetch = function() {
192                    var args = arguments;
193                    var url = '';
194
195                    try {
196                        var first = args[0];
197                        url = (typeof first === 'string') ? first
198                            : (first && typeof first.url === 'string') ? first.url
199                            : String(first || '');
200                    } catch (e) {
201                        url = '';
202                    }
203
204                    var promise = nativeFetch.apply(window, args);
205
206                    // Never inspect our own logging call.
207                    if (url.indexOf('admin-ajax.php') === -1 || url.indexOf('log-error') !== -1) {
208                        return promise;
209                    }
210
211                    var req = readRequest(args);
212
213                    if (req.action !== 'handle_ajax_form') {
214                        return promise;
215                    }
216
217                    return promise.then(function(res) {
218                        try { inspect(res, req); } catch (e) {}
219                        return res;
220                    }, function(err) {
221                        try {
222                            send({
223                                error_type: 'client_network_error',
224                                error_message: String((err && err.message) || err),
225                                email: req.email,
226                                token_count: req.token_count
227                            });
228                        } catch (e) {}
229                        throw err;
230                    });
231                };
232            })();
233        </script>
233
234<link rel="preconnect" href="https://js.zi-scripts.com" crossorigin>
235<script>
236/* ZoomInfo FormComplete - config must be set before zi-tag.js executes */
237window.ZIProjectKey = "1cb5371d771679922484";
238window.ZIWhiteList  = ( window.ZIWhiteList || [] ).concat( 'formcomplete' );
239
240/* FormComplete's own "ready" callback. Far more reliable than watching the DOM
241   for a stamp, which is all the spinner could do while this lived in GTM.
242   The flag covers the case where FormComplete finishes before the (footer)
243   spinner script has parsed - the loader checks it on init. */
244window._zi_fc = window._zi_fc || {};
245window._zi_fc.onReady = function () {
246    window.__assentZiReady = true;
247    if ( window.AssentFormLoader ) {
248        window.AssentFormLoader.revealAll( 'zoominfo-ready' );
249    }
250};
251</script>
vendor: 1 bytes, line 251
251
252<script async src="https://js.zi-scripts.com/zi-tag.js"></script>
252
253    
254	<!-- This site is optimized with the Yoast SEO Premium plugin v26.6 (Yoast SEO v27.9) - https://yoast.com/product/yoast-seo-premium-wordpress/ -->
255	<title>Product &amp; Regulatory Compliance Software Solutions | Assent</title>
256	<meta name="description" content="View our solution for getting standardized, validated, and usable product compliance data from your supply chain." />
257	<link rel="canonical" href="https://www.assent.com/solutions/product-compliance/" />
258	<meta property="og:locale" content="en_US" />
259	<meta property="og:type" content="article" />
260	<meta property="og:title" content="Product Compliance" />
261	<meta property="og:description" content="View our solution for getting standardized, validated, and usable product compliance data from your supply chain." />
262	<meta property="og:url" content="https://www.assent.com/solutions/product-compliance/" />
263	<meta property="og:site_name" content="Assent" />
264	<meta property="article:publisher" content="https://www.facebook.com/AssentCompliance/" />
265	<meta property="article:modified_time" content="2026-08-06T17:21:05+00:00" />
266	<meta property="og:image" content="https://www.assent.com/wp-content/uploads/2022/02/Assent_stockImage_CustomerImpact-tires-braided.jpeg" />
267	<meta property="og:image:width" content="1500" />
268	<meta property="og:image:height" content="1001" />
269	<meta property="og:image:type" content="image/jpeg" />
270	<meta name="twitter:card" content="summary_large_image" />
271	<meta name="twitter:site" content="@AssentGlobal" />
272	
272<script type="application/ld+json" class="yoast-schema-graph">{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.assent.com\/solutions\/product-compliance\/","url":"https:\/\/www.assent.com\/solutions\/product-compliance\/","name":"Product & Regulatory Compliance Software Solutions | Assent","isPartOf":{"@id":"https:\/\/www.assent.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.assent.com\/solutions\/product-compliance\/#primaryimage"},"image":{"@id":"https:\/\/www.assent.com\/solutions\/product-compliance\/#primaryimage"},"thumbnailUrl":"https:\/\/www.assent.com\/wp-content\/uploads\/2022\/02\/Assent_stockImage_CustomerImpact-tires-braided.jpeg","datePublished":"2022-02-16T07:19:26+00:00","dateModified":"2026-08-06T17:21:05+00:00","description":"View our solution for getting standardized, validated, and usable product compliance data from your supply chain.","breadcrumb":{"@id":"https:\/\/www.assent.com\/solutions\/product-compliance\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.assent.com\/solutions\/product-compliance\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.assent.com\/solutions\/product-compliance\/#primaryimage","url":"https:\/\/www.assent.com\/wp-content\/uploads\/2022\/02\/Assent_stockImage_CustomerImpact-tires-braided.jpeg","contentUrl":"https:\/\/www.assent.com\/wp-content\/uploads\/2022\/02\/Assent_stockImage_CustomerImpact-tires-braided.jpeg","width":1500,"height":1001,"caption":"Abstract pattern created by braided tires"},{"@type":"BreadcrumbList","@id":"https:\/\/www.assent.com\/solutions\/product-compliance\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.assent.com\/"},{"@type":"ListItem","position":2,"name":"Solutions","item":"https:\/\/www.assent.com\/solutions\/"},{"@type":"ListItem","position":3,"name":"Product Compliance"}]},{"@type":"WebSite","@id":"https:\/\/www.assent.com\/#website","url":"https:\/\/www.assent.com\/","name":"Assent","description":"","publisher":{"@id":"https:\/\/www.assent.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.assent.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.assent.com\/#organization","name":"Assent","url":"https:\/\/www.assent.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.assent.com\/#\/schema\/logo\/image\/","url":"https:\/\/www.assent.com\/wp-content\/uploads\/2022\/01\/logo.svg","contentUrl":"https:\/\/www.assent.com\/wp-content\/uploads\/2022\/01\/logo.svg","width":1,"height":1,"caption":"Assent"},"image":{"@id":"https:\/\/www.assent.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/AssentCompliance\/","https:\/\/x.com\/AssentGlobal","https:\/\/www.linkedin.com\/company\/assent-compliance-inc"]}]}</script>
272
273	<!-- / Yoast SEO Premium plugin. -->
274
275
276<link rel='dns-prefetch' href='//www.assent.com' />
277<link rel='dns-prefetch' href='//cdnjs.cloudflare.com' />
278<link rel='dns-prefetch' href='//www.google.com' />
279<link rel="alternate" title="oEmbed (JSON)" type="application/json+oembed" href="https://www.assent.com/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fwww.assent.com%2Fsolutions%2Fproduct-compliance%2F" />
280<link rel="alternate" title="oEmbed (XML)" type="text/xml+oembed" href="https://www.assent.com/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fwww.assent.com%2Fsolutions%2Fproduct-compliance%2F&#038;format=xml" />
281<style id="wp-img-auto-sizes-contain-inline-css">
282img:is([sizes=auto i],[sizes^="auto," i]){contain-intrinsic-size:3000px 1500px}
283/*# sourceURL=wp-img-auto-sizes-contain-inline-css */
284</style>
285<style id="wp-emoji-styles-inline-css">
286
287	img.wp-smiley, img.emoji {
288		display: inline !important;
289		border: none !important;
290		box-shadow: none !important;
291		height: 1em !important;
292		width: 1em !important;
293		margin: 0 0.07em !important;
294		vertical-align: -0.1em !important;
295		background: none !important;
296		padding: 0 !important;
297	}
298/*# sourceURL=wp-emoji-styles-inline-css */
299</style>
300<link rel='stylesheet' id='wp-block-library-css' href='https://www.assent.com/wp-includes/css/dist/block-library/style.min.css?ver=1790175984&#038;ver=7.1' media='all' />
301<style id="classic-theme-styles-inline-css">
302/*! This file is auto-generated */
303.wp-block-button__link{color:#fff;background-color:#32373c;border-radius:9999px;box-shadow:none;text-decoration:none;padding:calc(.667em + 2px) calc(1.333em + 2px);font-size:1.125em}.wp-block-file__button{background:#32373c;color:#fff;text-decoration:none}
304/*# sourceURL=/wp-includes/css/classic-themes.min.css?ver=1790175984 */
305</style>
306<style id="prop65-scope-check-style-inline-css">
307@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@400;600;700&display=swap');
308
309.p65-wrap *, .p65-wrap *::before, .p65-wrap *::after { box-sizing: border-box; margin: 0; padding: 0; }
310.p65-wrap { font-family: 'Roboto', sans-serif; width: 100%; padding: 20px 0; }
311
312/* ── Card ── */
313.p65-card { display: flex; padding: 40px; flex-direction: column; align-items: flex-start; gap: 48px; border-radius: 16px; background: #FFF; box-shadow: 0 10px 40px 0 rgba(0,0,0,0.08); width: 100%; max-width: 680px; margin: 0 auto; }
314
315/* ── Header ── */
316.p65-header { width: 100%; display: flex; flex-direction: column; }
317.p65-title { font-family: 'Roboto', sans-serif; font-weight: 700; font-size: 28px; line-height: 1.30; letter-spacing: -0.005em; color: #1A1A1A; margin: 0 0 8px 0; }
318.p65-sub { font-family: 'Roboto', sans-serif; font-weight: 400; font-size: 15px; line-height: 24px; letter-spacing: -0.005em; color: #666666; margin: 0 0 20px 0; }
319
320/* ── Progress bar ── */
321.p65-track { width: 100%; height: 20px; position: relative; display: flex; align-items: center; }
322.p65-track::before { content: ''; position: absolute; left: 0; right: 0; height: 8px; border-radius: 500px; background: #e0e4ea; width: 100%; }
323.p65-fill { height: 8px; background: linear-gradient(90deg, #215273 0%, #00A398 100%); border-radius: 500px; transition: width 0.5s cubic-bezier(0.4,0,0.2,1); position: relative; overflow: visible; z-index: 1; min-width: 16px; }
324.p65-fill::after { content: ''; position: absolute; right: -8px; top: 50%; transform: translateY(-50%); width: 16px; height: 16px; background: #00A398; border: 3px solid #FFFFFF; border-radius: 500px; box-shadow: 0 0 4px 0 rgba(0,0,0,0.25); z-index: 2; }
325
326/* ── Step ── */
327.p65-step { width: 100%; display: flex; flex-direction: column; gap: 24px; }
328
329/* ── Question ── */
330.p65-qrow { display: flex; align-items: flex-start; gap: 14px; }
331.p65-badge { min-width: 32px; height: 32px; background: #215273; color: #fff; font-family: 'Roboto', sans-serif; font-size: 18px; font-weight: 700; border-radius: 4px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
332.p65-qtext { font-family: 'Roboto', sans-serif; font-size: 20px; font-weight: 600; color: #444444; line-height: 1.4; padding-top: 4px; }
333
334/* ── Info box ── */
335.p65-info { background: #f8f9fb; border-radius: 10px; padding: 18px 20px; border: 1px solid #e8ecf1; width: 100%; }
336.p65-info h4 { font-size: 0.975rem; font-weight: 700; color: #111; margin: 0 0 8px 0; }
337.p65-info p { font-size: 0.875rem; color: #555; line-height: 1.65; margin: 0; }
338
339/* ── Options ── */
340.p65-options { display: flex; flex-direction: column; gap: 12px; width: 100%; }
341.p65-option { display: flex; align-items: flex-start; gap: 16px; padding: 12px; min-height: 56px; border: 1.05px solid rgba(210,214,218,0.81); border-radius: 8.4px; cursor: pointer; transition: background 0.2s, border-color 0.2s, box-shadow 0.2s; background: rgba(210,214,218,0.20); text-align: left; width: 100%; font-family: 'Roboto', sans-serif; outline: none; }
342.p65-option:hover { background: rgba(210,214,218,0.50); }
343.p65-option.p65-sel { background: rgba(33,82,115,0.06); border-color: #215273; box-shadow: inset 0 0 0 1px #215273; }
344.p65-option.p65-sel .p65-opt-badge { background: #215273; color: #fff; }
345.p65-opt-badge { min-width: 30px; height: 30px; border: 1.5px solid #215273; border-radius: 6px; display: flex; align-items: center; justify-content: center; font-size: 0.78rem; font-weight: 700; color: #215273; flex-shrink: 0; background: #fff; transition: background 0.2s, color 0.2s, border-color 0.2s; pointer-events: none; }
346.p65-opt-text { font-size: 0.925rem; color: #215273; line-height: 1.5; font-weight: 500; padding-top: 4px; pointer-events: none; }
347
348/* ── Nav ── */
349.p65-nav { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; }
350.p65-btn-primary { display: flex; padding: 10px 18px; justify-content: center; align-items: center; gap: 10px; border-radius: 4px; background: #771A77; color: #fff; font-family: 'Roboto', sans-serif; font-weight: 600; font-size: 0.9rem; border: none; cursor: pointer; transition: background 0.2s; line-height: 1; }
351.p65-btn-primary:hover:not([disabled]) { background: #5e1460; }
352.p65-btn-primary[disabled] { opacity: 0.4;
352 cursor: not-allowed; }
353.p65-btn-outline { display: flex; padding: 10px 18px; justify-content: center; align-items: center; gap: 10px; border-radius: 4px; background: transparent; color: #771A77; border: 1.5px solid #771A77; font-family: 'Roboto', sans-serif; font-weight: 600; font-size: 0.9rem; cursor: pointer; transition: background 0.2s; line-height: 1; }
354.p65-btn-outline:hover { background: #f9f0f9; }
355
356/* ── Result card ── */
357.p65-result { display: flex; width: 100%; max-width: 486px; padding: 40px; flex-direction: column; align-items: center; gap: 32px; border-radius: 16px; border: 2px solid #00A398; background: rgba(0,163,152,0.05); margin: 0 auto; text-align: center; }
358.p65-result h3 { font-size: 1.4rem; font-weight: 700; color: #215273; margin: 0; }
359.p65-result p { font-size: 0.925rem; color: #215273; line-height: 1.7; margin: 0; }
360.p65-btn-next-stage { display: flex; padding: 10px 18px; justify-content: center; align-items: center; gap: 10px; border-radius: 4px; background: #771A77; color: #fff; font-family: 'Roboto', sans-serif; font-weight: 600; font-size: 0.9rem; border: none; cursor: pointer; transition: background 0.2s; line-height: 1; }
361.p65-btn-next-stage:hover { background: #5e1460; }
362.p65-btn-teal { display: flex; padding: 15.4px 16.8px; justify-content: center; align-items: center; gap: 8.4px; border-radius: 6px; border: 1px solid #00A398; background: #00A398; color: #fff; font-family: 'Roboto', sans-serif; font-weight: 600; font-size: 0.875rem; cursor: pointer; transition: background 0.2s; line-height: 1; }
363.p65-btn-teal:hover { background: #00897B; border-color: #00897B; }
364.p65-restart-plain { font-size: 0.875rem; color: #215273; cursor: pointer; background: none; border: none; font-family: 'Roboto', sans-serif; display: inline-flex; align-items: center; gap: 5px; transition: color 0.2s; padding: 0; line-height: 1; }
365.p65-restart-plain:hover { color: #153a52; }
366
367/* ── Animation ── */
368@keyframes p65Up { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: translateY(0); } }
369.p65-anim { animation: p65Up 0.3s cubic-bezier(0.4,0,0.2,1); }
370
371/* ── Mobile ── */
372@media (max-width: 520px) {
373    .p65-wrap { padding-left: 16px; padding-right: 16px; }
374    .p65-card { padding: 24px 20px; gap: 32px; }
375    .p65-title { font-size: 22px; }
376    .p65-result { padding: 28px 20px; max-width: 100%; }
377}
378
379/*# sourceURL=https://www.assent.com/wp-content/themes/assent-wp/blocks/prop65/prop65.css?ver=1790175983 */
380</style>
381<style id="filebird-block-filebird-gallery-style-inline-css">
382ul.filebird-block-filebird-gallery{margin:auto!important;padding:0!important;width:100%}ul.filebird-block-filebird-gallery.layout-grid{display:grid;grid-gap:20px;align-items:stretch;grid-template-columns:repeat(var(--columns),1fr);justify-items:stretch}ul.filebird-block-filebird-gallery.layout-grid li img{border:1px solid #ccc;box-shadow:2px 2px 6px 0 rgba(0,0,0,.3);height:100%;max-width:100%;-o-object-fit:cover;object-fit:cover;width:100%}ul.filebird-block-filebird-gallery.layout-masonry{-moz-column-count:var(--columns);column-count:var(--columns);-moz-column-gap:var(--space);column-gap:var(--space);display:block;overflow:auto}ul.filebird-block-filebird-gallery.layout-masonry li{margin-bottom:var(--space)}ul.filebird-block-filebird-gallery li{list-style:none}ul.filebird-block-filebird-gallery li figure{height:100%;margin:0;padding:0;position:relative;width:100%}ul.filebird-block-filebird-gallery li figure figcaption{background:linear-gradient(0deg,rgba(0,0,0,.7),rgba(0,0,0,.3) 70%,transparent);bottom:0;box-sizing:border-box;color:#fff;font-size:.8em;margin:0;max-height:100%;overflow:auto;padding:3em .77em .7em;position:absolute;text-align:center;width:100%;z-index:2}ul.filebird-block-filebird-gallery li figure figcaption a{color:inherit}
383
384/*# sourceURL=https://www.assent.com/wp-content/plugins/filebird/blocks/filebird-gallery/build/style-index.css?ver=1790175981 */
385</style>
386<style id="global-styles-inline-css">
387:root{--wp--preset--aspect-ratio--square: 1;--wp--preset--aspect-ratio--4-3: 4/3;--wp--preset--aspect-ratio--3-4: 3/4;--wp--preset--aspect-ratio--3-2: 3/2;--wp--preset--aspect-ratio--2-3: 2/3;--wp--preset--aspect-ratio--16-9: 16/9;--wp--preset--aspect-ratio--9-16: 9/16;--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #ffffff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgb(6,147,227) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgb(252,185,
3870) 0%,rgb(255,105,0) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgb(255,105,0) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--font-size--small: 13px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 36px;--wp--preset--font-size--x-large: 42px;--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 1.5rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgb(255, 255, 255), 6px 6px rgb(0, 0, 0);--wp--preset--shadow--crisp: 6px 6px 0px rgb(0, 0, 0);}.wp-block-button{--wp--preset--dimension--25: 25%;--wp--preset--dimension--50: 50%;--wp--preset--dimension--75: 75%;--wp--preset--dimension--100: 100%;}:where(body) { margin: 0; }:where(.is-layout-flex){gap: 0.5em;}:where(.is-layout-grid){gap: 0.5em;}body .is-layout-flex{display: flex;}.is-layout-flex{flex-wrap: wrap;align-items: center;}.is-layout-flex > :is(*, div){margin: 0;}body .is-layout-grid{display: grid;}.is-layout-grid > :is(*, div){margin: 0;}body{padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;}:root :where(.wp-element-button, .wp-block-button__link){background-color: #32373c;border-width: 0;color: #fff;font-family: inherit;font-size: inherit;font-style: inherit;font-weight: inherit;letter-spacing: inherit;line-height: inherit;padding-top: calc(0.667em + 2px);padding-right: calc(1.333em + 2px);padding-bottom: calc(0.667em + 2px);padding-left: calc(1.333em + 2px);text-decoration: none;text-transform: inherit;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}
387.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;}
388:root :where(.wp-block-icon svg){width: 24px;}
389:where(.wp-block-gallery.is-layout-flex){gap: var( --wp--style--gallery-gap-default, var( --gallery-block--gutter-size, var( --wp--style--block-gap, 0.5em ) ) );}:where(.wp-block-gallery.is-layout-grid){gap: var( --wp--style--gallery-gap-default, var( --gallery-block--gutter-size, var( --wp--style--block-gap, 0.5em ) ) );}
390:where(.wp-block-latest-posts.is-layout-flex){gap: 1.25em;}:where(.wp-block-latest-posts.is-layout-grid){gap: 1.25em;}
391:where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;}
392:where(.wp-block-term-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-term-template.is-layout-grid){gap: 1.25em;}
393:where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;}
394:root :where(.wp-block-pullquote){font-size: 1.5em;line-height: 1.6;}
395/*# sourceURL=global-styles-inline-css */
396</style>
397<link rel='stylesheet' id='wpml-legacy-horizontal-list-0-css' href='https://www.assent.com/wp-content/plugins/sitepress-multilingual-cms/templates/language-switchers/legacy-list-horizontal/style.min.css?ver=1790175981&#038;ver=1' media='all' />
398<style id="wpml-legacy-horizontal-list-0-inline-css">
399.wpml-ls-statics-footer a, .wpml-ls-statics-footer .wpml-ls-sub-menu a, .wpml-ls-statics-footer .wpml-ls-sub-menu a:link, .wpml-ls-statics-footer li:not(.wpml-ls-current-language) .wpml-ls-link, .wpml-ls-statics-footer li:not(.wpml-ls-current-language) .wpml-ls-link:link {color:#444444;background-color:#ffffff;}.wpml-ls-statics-footer .wpml-ls-sub-menu a:hover,.wpml-ls-statics-footer .wpml-ls-sub-menu a:focus, .wpml-ls-statics-footer .wpml-ls-sub-menu a:link:hover, .wpml-ls-statics-footer .wpml-ls-sub-menu a:link:focus {color:#000000;background-color:#eeeeee;}.wpml-ls-statics-footer .wpml-ls-current-language > a {color:#444444;background-color:#ffffff;}.wpml-ls-statics-footer .wpml-ls-current-language:hover>a, .wpml-ls-statics-footer .wpml-ls-current-language>a:focus {color:#000000;background-color:#eeeeee;}
400/*# sourceURL=wpml-legacy-horizontal-list-0-inline-css */
401</style>
402<link rel='stylesheet' id='ASSENT-wp-style-css' href='https://www.assent.com/wp-content/themes/assent-wp/style.css?ver=1790175983' media='all' />
403<link rel='stylesheet' id='ASSENT-style-css' href='https://www.assent.com/wp-content/themes/assent-wp/assets/css/style.css?ver=1790175983' media='all' />
404<link rel='stylesheet' id='ASSENT-form-loading-spinner-style-css' href='https://www.assent.com/wp-content/themes/assent-wp/assets/css/form-loading-spinner.css?ver=1790175983' media='all' />
405<link rel='stylesheet' id='webistry-reset-css' href='https://www.assent.com/wp-content/themes/assent-wp/assets/css/webistry-compiled.php?ver=1790175983&#038;ver=1790264585' media='all' />
406<link rel='stylesheet' id='gca-column-styles-css' href='https://www.assent.com/wp-content/plugins/genesis-columns-advanced/css/gca-column-styles.css?ver=1790175981&#038;ver=7.1' media='all' />
407<script id="wpml-cookie-js-extra">
408var wpml_cookies = {"wp-wpml_current_language":{"value":"en","expires":1,"path":"/"}};
409var wpml_cookies = {"wp-wpml_current_language":{"value":"en","expires":1,"path":"/"}};
410//# sourceURL=wpml-cookie-js-extra
411</script>
vendor: 1 bytes, line 411
411
412<script data-wp-strategy="defer" defer id="wpml-cookie-js" src="https://www.assent.com/wp-content/plugins/sitepress-multilingual-cms/res/js/cookies/language-cookie.js?ver=1790175981&#038;ver=495000"></script>
vendor: 1 bytes, line 412
412
413<script id="prop65-scope-check-script-js" src="https://www.assent.com/wp-content/themes/assent-wp/blocks/prop65/prop65.js?ver=1790175983&#038;ver=7.1"></script>
vendor: 1 bytes, line 413
413
414<script id="jquery-core-js" src="https://www.assent.com/wp-includes/js/jquery/jquery.min.js?ver=3.7.1"></script>
vendor: 1 bytes, line 414
414
415<script id="jquery-migrate-js" src="https://www.assent.com/wp-includes/js/jquery/jquery-migrate.min.js?ver=3.4.1"></script>
vendor: 1 bytes, line 415
415
416<script data-wp-strategy="defer" defer id="fancybox-js" src="https://cdnjs.cloudflare.com/ajax/libs/fancybox/3.5.7/jquery.fancybox.min.js"></script>
vendor: 1 bytes, line 416
416
417<script id="ASSENT-gsap-js-js" src="https://www.assent.com/wp-content/themes/assent-wp/assets/js/gsap.min.js?ver=1790175983&#038;ver=3.14.2"></script>
vendor: 1 bytes, line 417
417
418<script id="ASSENT-gsap-st-js" src="https://www.assent.com/wp-content/themes/assent-wp/assets/js/ScrollTrigger.min.js?ver=1790175983&#038;ver=3.14.2"></script>
vendor: 86 bytes, lines 418-419
418
419<script id="google-recaptcha-js" src="https://www.google.com/recaptcha/api.js?render=
4196LceBR8sAAAAAL9MG-o_C4x5wLDoTLPMMgeJ9e-6
vendor: 12 bytes, line 419
419"></script>
420<link rel="https://api.w.org/" href="https://www.assent.com/wp-json/" /><link rel="alternate" title="JSON" type="application/json" href="https://www.assent.com/wp-json/wp/v2/pages/3850" /><link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://www.assent.com/xmlrpc.php?rsd" />
421<meta name="generator" content="WordPress 7.1" />
422<link rel='shortlink' href='https://www.assent.com/?p=3850' />
423<meta name="generator" content="WPML ver:4.9.5 stt:1,4,3,27;" />
424		
424<script>
425			document.documentElement.className = document.documentElement.className.replace( 'no-js', 'js' );
426		</script>
426
427				<style>
428			.no-js img.lazyload { display: none; }
429			figure.wp-block-image img.lazyloading { min-width: 150px; }
430							.lazyload, .lazyloading { opacity: 0; }
431				.lazyloaded {
432					opacity: 1;
433					transition: opacity 400ms;
434					transition-delay: 0ms;
435				}
436					</style>
437		<link rel="icon" href="https://www.assent.com/wp-content/uploads/2022/02/cropped-Assent-LogoArtboard-1-med-32x32.png" sizes="32x32" />
438<link rel="icon" href="https://www.assent.com/wp-content/uploads/2022/02/cropped-Assent-LogoArtboard-1-med-192x192.png" sizes="192x192" />
439<link rel="apple-touch-icon" href="https://www.assent.com/wp-content/uploads/2022/02/cropped-Assent-LogoArtboard-1-med-180x180.png" />
440<meta name="msapplication-TileImage" content="https://www.assent.com/wp-content/uploads/2022/02/cropped-Assent-LogoArtboard-1-med-270x270.png" />
441<style id="wp-custom-css">
442.page-id-4873 .post-card-desc .post-card-read {
443		display: none;
444}
445
446#demo_header_form h2{
447	font-size: 3.5rem;
448}
449
450#demo_customers .logo-promo-wrap .logo-item-inner{
451	padding: 1.75rem;
452}
453
454@media (min-width: 992px){
455	#demo_header_form .tcf-content p{
456		font-size: 1.5rem;
457	}
458}
459
460#past_speakers{
461	display: none;	
462}
463
464.mega-menu .third-level .feature-content--inner figure img{
465
466}
467.lang-select {
468	max-width: 6.88rem;
469    width: auto;
470    height: auto;
471    color: #ffffff;
472    border: 0;
473    font-size: 0.75rem;
474    padding: 0 0.94rem 0 0;
475    margin-left: 0.75rem;
476    background-image: url(https://www.assent.com/wp-content/uploads/2022/12//down-triangle-white.svg);
477    background-size: 0.5rem;
478    background-position: right;
479    text-overflow: ellipsis;
480    text-align: center;
481}
482.postid-5994 .main-header-right, .postid-5594 .main-header-right,
483.postid-5646 .main-header-right,
484.postid-10798 .main-header-right,.postid-5657 .main-header-right, .postid-10810 .main-header-right,
485.postid-5883 .main-header-right,
486.page-id-13090 .main-header-right,
487.page-id-13127 .main-header-right, .page-id-13153 .main-header-right, .page-id-13093 .main-header-right, .page-id-13165 .main-header-right, .page-id-13031 .main-header-right, .page-id-13086 .main-header-right, .page-id-13171 .main-header-right, .page-id-13766 .main-header-right, .page-id-13047 .main-header-right, .page-id-13083 .main-header-right, .page-id-13055 .main-header-right , .page-id-13080 .main-header-right, .page-id-13058 .main-header-right, .page-id-13076 .main-header-right, .page-id-12865 .main-header-right, .page-id-13073 .main-header-right, .page-id-13064 .main-header-right, .page-id-13064 .main-header-right, .page-id-13070 .main-header-right               {
488	display: none;
489}
490
491.main-footer .subscribe-title, .main-footer .subscribe-form-wrap {
492    display: block !important;
493}
494.book-demo { max-width: 45.5rem; }
495
496@media (max-width: 991px) {
497    body .generic-hero.no-image .hero-left .btn-wrap {
498        align-items: center;
499    }
500}
501
502.two-column-form.call-to-action.blue .eyebrow-text {
503	color: #fff !important;
504}
505
506.breadcrumbs ul li:not(:last-child)::after {
507	height: 13px; width: 7px;
508	transform: translate(4px, -1px);
509	content: '';
510}
511
512</style>
513
514    <!-- Google Tag Manager - aug 28, this can't be deffered as need it to fully load first -->
515<script id="gtm">
vendor: 347 bytes, lines 515-519
515(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
516        new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
517    j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
518    'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
519})(window,document,'script','dataLayer','
519GTM-KNHXFGP
vendor: 3 bytes, line 519
519');
519</script>
519
520<!-- End Google Tag Manager -->
521
522<!-- Global site tag (gtag.js) - Google Analytics -->
vendor: 65 bytes, lines 522-523
522
523<script defer src="https://www.googletagmanager.com/gtag/js?id=
523G-0CEEYZ48ST
vendor: 13 bytes, line 523
523"></script>
524<script defer id="ga4">
525    
vendor: 142 bytes, lines 525-528
525window.dataLayer = window.dataLayer || [];
526    function gtag(){dataLayer.push(arguments);}
527    gtag('js', new Date());
528    gtag('config', '
528G-0CEEYZ48ST
vendor: 5 bytes, line 528
528');
529</script>
529
530
531<!-- Start VWO Async SmartCode -->
532<!--opacity:0 !important;filter:alpha(opacity=0) !important;background:none !important;transition:none !important;-->
533<link rel="preconnect" href="https://dev.visualwebsiteoptimizer.com" />
534<script type='text/javascript' id='vwoCode'>
535window._vwo_code || (function() {
536var account_id=628830,
537version=2.1,
538settings_tolerance=2000,
539hide_element='body',
540hide_element_style = '',
541/* DO NOT EDIT BELOW THIS LINE */
542f=false,w=window,d=document,v=d.querySelector('#vwoCode'),cK='_vwo_'+account_id+'_settings',cc={};try{var c=JSON.parse(localStorage.getItem('_vwo_'+account_id+'_config'));cc=c&&typeof c==='object'?c:{}}catch(e){}var stT=cc.stT==='session'?w.sessionStorage:w.localStorage;code={nonce:v&&v.nonce,library_tolerance:function(){return typeof library_tolerance!=='undefined'?library_tolerance:undefined},settings_tolerance:function(){return cc.sT||settings_tolerance},hide_element_style:function(){return'{'+(cc.hES||hide_element_style)+'}'},hide_element:function(){if(performance.getEntriesByName('first-contentful-paint')[0]){return''}return typeof cc.hE==='string'?cc.hE:hide_element},getVersion:function(){return version},finish:function(e){if(!f){f=true;var t=d.getElementById('_vis_opt_path_hides');if(t)t.parentNode.removeChild(t);if(e)(new Image).src='https://dev.visualwebsiteoptimizer.com/ee.gif?a='+account_id+e}},finished:function(){return f},addScript:function(e){var t=d.createElement('script');t.type='text/javascript';if(e.src){t.src=e.src}else{t.text=e.text}v&&t.setAttribute('nonce',v.nonce);d.getElementsByTagName('head')[0].appendChild(t)},load:function(e,t){var n=this.getSettings(),i=d.createElement('script'),r=this;t=t||{};if(n){i.textContent=n;d.getElementsByTagName('head')[0].appendChild(i);if(!w.VWO||VWO.caE){stT.removeItem(cK);r.load(e)}}else{var o=new XMLHttpRequest;o.open('GET',e,true);o.withCredentials=!t.dSC;o.responseType=t.responseType||'text';o.onload=function(){if(t.onloadCb){return t.onloadCb(o,e)}if(o.status===200||o.status===304){_vwo_code.addScript({text:o.responseText})}else{_vwo_code.finish('&e=loading_failure:'+e)}};o.onerror=function(){if(t.onerrorCb){return t.onerrorCb(e)}_vwo_code.finish('&e=loading_failure:'+e)};o.send()}},getSettings:function(){try{var e=stT.getItem(cK);if(!e){return}e=JSON.parse(e);if(Date.now()>e.e){stT.removeItem(cK);return}return e.s}catch(e){return}},init:function(){if(d.URL.indexOf('__vwo_disable__')>-1)return;var e=this.settings_tolerance();w._vwo_settings_timer=setTimeout(function(){_vwo_code.finish();stT.removeItem(cK)},e);var t;if(this.hide_element()!=='body'){t=d.createElement('style');var n=this.hide_element(),i=n?n+this.hide_element_style():'',r=d.getElementsByTagName('head')[0];t.setAttribute('id','_vis_opt_path_hides');v&&t.setAttribute('nonce',v.nonce);t.setAttribute('type','text/css');if(t.styleSheet)t.styleSheet.cssText=i;else t.appendChild(d.createTextNode(i));r.appendChild(t)}else{t=d.getElementsByTagName('head')[0];var i=d.createElement('div');i.style.cssText='z-index: 2147483647 !important;position: fixed !important;left: 0 !important;top: 0 !important;width: 100% !important;height: 100% !important;background: white !important;display: block !important;';i.setAttribute('id','_vis_opt_path_hides');i.classList.add('_vis_hide_layer');t.parentNode.insertBefore(i,t.nextSibling)}var o=window._vis_opt_url||d.URL,s='https://dev.visualwebsiteoptimizer.com/j.php?a='+account_id+'&u='+encodeURIComponent(o)+'&vn='+version;if(w.location.search.indexOf('_vwo_xhr')!==-1){this.addScript({src:s})}else{this.load(s+'&x=true')}}};w._vwo_code=code;code.init();})();
543</script>
543
544<!-- End VWO Async SmartCode -->
545
546<script type="application/ld+json">
547{
548"@context": "https://schema.org",
549"@type": "Corporation",
550"name": "Assent Inc.",
551"alternateName": "Assent",
552"url": "https://www.assent.com",
553"logo": "https://www.assent.com/logo.png",
554"foundingDate": "2010",
555"founders": [
556{
557"@type": "Person",
558"name": "Jonathan Hughes"
559},
560{
561"@type": "Person",
562"name": "Matt Whitteker"
563}
564],
565"address": {
566"@type": "PostalAddress",
567"streetAddress": "525 Coventry Road",
568"addressLocality": "Ottawa",
569"addressRegion": "Ontario",
570"postalCode": "K1K 2C5",
571"addressCountry": "Canada"
572},
573"contactPoint": [
574{
575"@type": "ContactPoint",
576"telephone": "+1-866-964-6931",
577"contactType": "customer support",
578"areaServed": "Global",
579"availableLanguage": "English"
580}
581],
582"numberOfEmployees": "900+",
583"sameAs": [
584"https://www.linkedin.com/company/assentcompliance"
585]
586}
587</script>
vendor: 2 bytes, line 587
587
588<script>
589
590(function(){
591
592function setCookie(cname, cvalue, exdays) {
593  const d = new Date();
594  d.setTime(d.getTime() + (exdays * 24 * 60 * 60 * 1000));
595  let expires = "expires="+d.toUTCString();
596  document.cookie = cname + "=" + cvalue + ";" + expires + ";path=/";
597}
598setCookie('vwo_eyebrow', '', 30);
599setCookie('vwo_title', '', 30);
600setCookie('vwo_copy', '', 30);
601setCookie('vwo_cta', '', 30);
602
603})();
604</script>
604
605<!-- Qualified -->
606<script>
607(function(w,q){w['QualifiedObject']=q;w[q]=w[q]||function(){
608(w[q].q=w[q].q||[]).push(arguments)};})(window,'qualified')
609
610</script>
vendor: 2 bytes, line 610
610
611<script async src="https://js.qualified.com/qualified.js?token=NMx7sppY9h25PMxv"></script>
611
612<!-- End Qualified -->
613
614
615<script>
616jQuery(document).ready(function($) {
617    // Find all <span> elements inside your list
618    $('.third-level--list ul li a span').each(function() {
619        var $span = $(this);
620        var text = $span.text();
621
622        // Target spans containing "The Assent Distributor Experience"
623        if ( text.includes("The Distributor Experience") && !text.includes("New")) {
624              // Append "new" as a styled span
625              $span.append(' <span class="coming-soon">New</span>');
626        }
627    });
628});
629</script>
629
630<style>
631/* Ensure the coming-soon badge is always inline */
632.third-level--list ul li a span .coming-soon {
633    display: inline-block !important; /* force inline-block on all devices */
634    background-color: #00A398;
635    color: #fff !important;
636    font-size: 12px;
637    padding: 2px 6px;
638    border-radius: 3px;
639    margin-left: 6px;
640    margin-bottom: 6px;
641    vertical-align: middle;
642    white-space: nowrap; /* prevent line break */
643}
644
645/* Optional: adjust on very small screens */
646@media (max-width: 768px) {
647    .third-level--list ul li a span .coming-soon {
648        font-size: 11px;
649        padding: 1px 4px;
650    }
651}
652@media (max-width: 1200px) {
653    .main-header .webistry-custom-menu {
654        & #third-level-list-item span.coming-soon {
655            background-color: #00A398 !important;
656            color: #fff !important;
657            margin-bottom: 0;
658        }
659    }
660    .main-header .webistry-custom-menu {
661        & .third-level {
662            & ul {
663                margin-bottom: 0;
664            }
665        }
666    }
667}
668</style>
669
670    <style>
671    .form--wrap .form-field.half {
672        grid-column: span 6;
673    }
674    </style>
675</head>
676
677<body class="wp-singular page-template-default page page-id-3850 page-parent page-child parent-pageid-1408 wp-theme-assent-wp">
678    <!-- start -->
679	<div class="wrapper">
680		<div class="main-container"> <div class="backdrop"></div><div class="mbnav d-md-none"></div><header class="main-header"><div class="utility-menu-wrap d-flex"><div class="cta-utility-menu">
681            <a href="https://www.assent.com/newsroom/assent-recognized-as-two-time-leader-in-green-quadrant-for-supply-chain-sustainability-software/">
682                <span class="icon"><img src="https://www.assent.com/wp-content/uploads/2025/03/icon-megaphone.svg" alt=""></span>
683                <span class="text-link">Read More</span>
684                <span class="elipsiss">Assent Recognized as Two-Time Leader in Green Quadrant for Supply Chain Sustainability Software</span></a>
685            </div><div class="utility-menu"><div class="header-search">
686              <i class="header-search-btn icon-search"></i>
687              <div class="h-search-wrap"><form class="h-search-form-wrap" action="https://www.assent.com/" method="get">
688                      <div class="h-search-field">
689                          <input type="search" name="s" placeholder="Search" value="">
690                          <button class="icon-search" type="submit" aria-label="Search"></button>
691                      </div>
692                  </form>
693              </div>
694          </div><div class="header-cta"><select id="lang_sel" class="lang-select" aria-label="Language Select" onchange="if(this.value){this.options[this.selectedIndex].selected=true;window.location.href=this.value;}"><option value="" disabled selected>Language Select</option><option value="https://www.assent.com/de/loesungen/produktkonformitaet/">Deutsch</option><option value="https://www.assent.com/solutions/product-compliance/">English</option><option value="https://www.assent.com/fr/solutions/conformite-produits/">Français</option><option value="https://www.assent.com/it/soluzioni/conformita-del-prodotto/">Italiano</option></select></div></div></div><div class="container d-flex justify-content-between align-items-center">
695        <div class="main-header-left"><a href="https://www.assent.com/" class="brand">
696                    <img src="https://www.assent.com/wp-content/uploads/2025/02/logo.svg" alt="Assent" class="skip-lazy" width="164" height="43" fetchpriority="high">
697                </a></div><div class="main-header-right"><div class="primary-menu-wrap d-flex justify-content-end align-items-center"><nav class="navigation custom-menu webistry-custom-menu">
698		<ul><li class="dropdown-menu" target=""><a href="https://www.assent.com/solutions/product-compliance/">Solutions</a><button class="mobile-button next-page" type="button">Next</button>
699					<div class="mega-menu">
700						<div class="container">
701							<div class="mega-menu__inner">
702								<div class="mega-menu__left">
703									<div class="sub-menu-title">
704										<button class="mobile-button prev-page">Main Menu</button>
705										<div class="sub-menu-title-text">Solutions</div>
706									</div>
707									<ul>
708									
709										<li id="sub-menu-item" class="dropdown">
710											<a href="https://www.assent.com/solutions/product-compliance/" target="">
711											Product Compliance											</a>
712
713																						<div class="third-level">
714												<div class="third-level--left">
715
716													<button data-target="#sub-menu-item" class="mobile-button prev-page">
717														Product Compliance													</button>
718
719													<div id="top-list-item"><strong>Discover Solutions for Reliable Product Compliance Data</strong><a href="https://www.assent.com/solutions/product-compliance/" target="">See All Solutions</a></div><div class="third-level--list"><ul><li id="third-level-list-item"><a href="https://www.assent.com/solutions/product-compliance/reach-compliance-solution/" target=""><span>REACH</span><p>Supply chain transparency needed for c
719ompliance.</p></a></li><li id="third-level-list-item"><a href="https://www.assent.com/solutions/product-compliance/rohs-compliance-solution/" target=""><span>RoHS</span><p>Deep-map your supply chain to streamline compliance.</p></a></li><li id="third-level-list-item"><a href="https://www.assent.com/solutions/product-compliance/tsca-compliance-solution/" target=""><span>TSCA</span><p>Grow better with Assent’s TSCA compliance solution. </p></a></li><li id="third-level-list-item"><a href="https://www.assent.com/solutions/product-compliance/prop-65-compliance-solution/" target=""><span>Prop 65</span><p>Uncover deep supply chain data to meet labeling requirements.</p></a></li><li id="third-level-list-item"><a href="https://www.assent.com/solutions/product-compliance/pfas/" target=""><span>PFAS</span><p>Identify PFAS in your supply chain and set yourself up for success.</p></a></li><li id="third-level-list-item"><a href="https://www.assent.com/solutions/product-compliance/ppwr-compliance-solutions/" target=""><span>PPWR</span><p>Collect supplier evidence to support evolving packaging requirements..</p></a></li><li id="third-level-list-item"><a href="https://www.assent.com/solutions/product-compliance/epr-packaging/" target=""><span>EPR Packaging</span><p>Collect packaging data, estimate fees, and generate EPR compliance-ready reports.</p></a></li><li id="third-level-list-item"><a href="https://www.assent.com/solutions/product-compliance/full-material-declaration/" target=""><span>Full Materials Disclosures</span><p>Learn how we use FMDs to deep-map the entire complex manufacturing genome.</p></a></li><li id="third-level-list-item"><a href="https://www.assent.com/solutions/product-compliance/ad-dsl/" target=""><span>AD-DSL</span><p>Our AD-DSL solution provides the missing foundation you need for compliance.</p></a></li><li id="third-level-list-item"><a href="https://www.assent.com/solutions/product-compliance/eu-mdr-compliance/" target=""><span>EU Medical Device Regulation</span><p>See the EU MDR solution and how it helps you uncover hidden compliance risks.</p></a></li><li id="third-level-list-item"><a href="https://www.assent.com/solutions/product-compliance/dfars-compliance-solution/" target=""><span>DFARS Specialty Metals</span><p>Our solution will give you transparency needed to meet your DFARS requirements.</p></a></li><li id="third-level-list-item"><a href="https://www.assent.com/solutions/product-compliance/scip-compliance-solution/" target=""><span>SCIP</span><p>Meet submission obligations with a deep view of your supply chain.</p></a></li></ul></div>											</div>
720											</div>
721																						<button data-target="#sub-menu-item" class="mobile-button next-page" type="button">Next</button>
722										</li>
723									
724										<li id="sub-menu-item" class="dropdown">
725											<a href="https://www.assent.com/solutions/esg-supply-chain/" target="">
726											Sustainability											</a>
727
728																						<div class="third-level">
729												<div class="third-level--left">
730
731													<button data-target="#sub-menu-item" class="mobile-button prev-page">
732														Sustainability													</button>
733
734													<div id="top-list-item"><strong>Build Your Foundation with Our Sustainability Solution</strong><a href="https://www.assent.com/solutions/esg-supply-chain/" target="">See All Solutions</a></div><div class="third-level--list"><ul><li id="third-level-list-item"><a href="https://www.assent.com/solutions/esg-supply-chain/esg-reporting/" target=""><span>ESG Reporting</span><p>Deliver on your reporting needs with Assent ESG.</p></a></li><li id="third-level-list-item"><a href="https://www.assent.com/solutions/esg-supply-chain/eu-batteries-regulation/" target=""><span>EU Batteries Regulation</span><p>Jumpstart compliance and protect your EU market access. </p></a></li><li id="third-level-list-item"><a href="https://www.assent.com/solutions/product-compliance/digital-product-passport/" target=""><span>Digital Product Passports</span><p>Create your product intelligence foundation for DPP requirements.</p></a></li><li id="third-level-list-item"><a href="https://www.assent.com/solutions/esg-supply-chain/cbam/" target=""><span>CBAM</span>
734<p>Easily see and manage the embedded emissions data of your goods.</p></a></li><li id="third-level-list-item"><a href="https://www.assent.com/solutions/esg-supply-chain/eudr/" target=""><span>EUDR</span><p>Our AI-enhanced solution helps manufacturers meet deforestation-free requirements.</p></a></li><li id="third-level-list-item"><a href="https://www.assent.com/solutions/esg-supply-chain/csrd/" target=""><span>CSRD</span><p>Confidently identify the entities and topics in your value chain that are most critical to compliance.</p></a></li><li id="third-level-list-item"><a href="https://www.assent.com/solutions/esg-supply-chain/conflict-minerals-compliance-solution/" target=""><span>Conflict Minerals</span><p>Deep transparency into mineral sourcing.</p></a></li><li id="third-level-list-item"><a href="https://www.assent.com/solutions/esg-supply-chain/product-carbon-footprint-software/" target=""><span>Product Carbon Footprint (PCF)</span><p>Generate and scale PCFs across entire product portfolios.</p></a></li><li id="third-level-list-item"><a href="https://www.assent.com/solutions/esg-supply-chain/extended-minerals-compliance/" target=""><span>Extended Minerals (Cobalt + Mica)</span><p>Our complete responsible minerals solution, including cobalt and mica reporting.</p></a></li><li id="third-level-list-item"><a href="https://www.assent.com/solutions/esg-supply-chain/scdda/" target=""><span>Supply Chain Due Diligence Act	</span><p>Meet your German Supply Chain Due Diligence Act (SCDDA) requirements with confidence.</p></a></li><li id="third-level-list-item"><a href="https://www.assent.com/solutions/esg-supply-chain/abac-compliance-solution/" target=""><span>ABAC</span><p>Grow better with anti-bribery, anti-corruption solutions.</p></a></li><li id="third-level-list-item"><a href="https://www.assent.com/solutions/esg-reporting/forced-labor/" target=""><span>Forced Labor</span><p>Uncover hidden forced labor risks in your supply chain.</p></a></li><li id="third-level-list-item"><a href="https://www.assent.com/solutions/esg-supply-chain/supplier-code-of-conduct/" target=""><span>Supplier Code of Conduct</span><p>Align suppliers with your values using our code of conduct solution.</p></a></li><li id="third-level-list-item"><a href="https://www.assent.com/solutions/esg-supply-chain/supply-chain-supplier-diversity/" target=""><span>Supplier Diversity</span><p>The solution for tracking diversity in your supply chain, including small-businesses, minority ownership, and woman-owned enterprises.</p></a></li></ul></div>											</div>
735											</div>
736																						<button data-target="#sub-menu-item" class="mobile-button next-page" type="button">Next</button>
737										</li>
738									
739										<li id="sub-menu-item" class="dropdown">
740											<a href="https://www.assent.com/solutions/trade-compliance/" target="">
741											Trade Compliance											</a>
742
743																						<div class="third-level">
744												<div class="third-level--left">
745
746													<button data-target="#sub-menu-item" class="mobile-button prev-page">
747														Trade Compliance													</button>
748
749													<div id="top-list-item"><strong>Learn about our trade compliance capabilities and how it uncovers hidden risks and opportunities</strong><a href="https://www.assent.com/solutions/trade-compliance/" target="">See All Solutions</a></div><div class="third-level--list"><ul><li id="third-level-list-item"><a href="https://www.assent.com/solutions/trade-compliance/country-of-origin/" target=""><span>Country of Origin</span>
749<p>Country of origin tracking supply chain solutions.</p></a></li><li id="third-level-list-item"><a href="https://www.assent.com/solutions/trade-compliance/metal-sourcing/" target=""><span>Metal Sourcing</span><p>Verify the origin of your metals to avoid costly fines and delays.</p></a></li><li id="third-level-list-item"><a href="https://www.assent.com/solutions/trade-compliance/canada-eu-trade-agreement-compliance/" target=""><span>Canada-EU Trade Agreement (CETA)</span><p>Unlock supply chain transparency to mitigate trade risks.</p></a></li><li id="third-level-list-item"><a href="https://www.assent.com/solutions/trade-compliance/customs-codes-compliance/" target=""><span>HS/HTS Codes</span><p>A solution for managing customs codes for your products.</p></a></li><li id="third-level-list-item"><a href="https://www.assent.com/solutions/trade-compliance/international-trade-agreements/" target=""><span>International Trade Agreements</span><p>Protect global market access &amp; leverage trade agreements.</p></a></li><li id="third-level-list-item"><a href="https://www.assent.com/solutions/trade-compliance/usmca-solutions/" target=""><span>USMCA</span><p>Uncover hidden risks and opportunities associated with the USMCA.</p></a></li><li id="third-level-list-item"><a href="https://www.assent.com/solutions/trade-compliance/export-classification/" target=""><span>Export Classification</span><p>Solutions for export classification code tracking.</p></a></li></ul></div>											</div>
750											</div>
751																						<button data-target="#sub-menu-item" class="mobile-button next-page" type="button">Next</button>
752										</li>
753									
754										<li id="sub-menu-item" class="dropdown">
755											<a href="https://www.assent.com/solutions/industry/" target="">
756											By Industry											</a>
757
758																						<div class="third-level">
759												<div class="third-level--left">
760
761													<button data-target="#sub-menu-item" class="mobile-button prev-page">
762														By Industry													</button>
763
764													<div id="top-list-item"><strong>Automated supply chain sustainability for smarter, sustainable growth.</strong><a href="https://www.assent.com/solutions/industry/" target="">See All Solutions</a></div><div class="third-level--list"><ul><li id="third-level-list-item"><a href="https://www.assent.com/solutions/industry/medical-devices-supply-chain/" target=""><span>Medical Devices</span><p>Solutions for medical devices manufacturing.</p></a></li><li id="third-level-list-item"><a href="https://www.assent.com/solutions/industry/industrial-supply-chain-solutions/" target=""><span>Industrial Equipment</span><p>Sustainability solutions for industrial equipment.</p></a></li><li id="third-level-list-item"><a href="https://www.assent.com/solutions/industry/aerospace-supply-chain/" target=""><span>Aerospace &amp; Defense</span><p>Sustainability solutions for aerospace and defense.</p></a></li><li id="third-level-list-item"><a href="https://www.assent.com/solutions/industry/electronics-supply-chain/" target=""><span>Electronics</span><p>Solutions for the electronics industry, across compliance and ESG.</p></a></li><li id="third-level-list-item"><a href="https://www.assent.com/solutions/industry/automotive-supply-chain-solutions/" target=""><span>Automotive</span><p>Supply chain sustainability for automotive.</p></a></li></ul></div>											</div>
765											</div>
766																						<button data-target="#sub-menu-item" class="mobile-button next-page" type="button">Next</button>
767										</li>
768									
769										<li id="sub-menu-item" class="dropdown">
770											<a href="https://www.assent.com/solutions/job-function/" target="">
771											By Job Function											</a>
772
773																						<div class="third-level">
774												<div class="third-level--left">
775
776													<button data-target="#sub-menu-item" class="mobile-button prev-page">
777														By Job Function													</button>
778
779													<div id="top-list-item"><strong>Product intelligence needed to embed compliance and sustainability into design and s
779ourcing decisions</strong><a href="https://www.assent.com/solutions/job-function/" target="">See All Solutions</a></div><div class="third-level--list"><ul><li id="third-level-list-item"><a href="https://www.assent.com/solutions/job-function/engineering/" target=""><span>Engineering</span><p>How we support supply network engineers.</p></a></li><li id="third-level-list-item"><a href="https://www.assent.com/solutions/job-function/quality/" target=""><span>Quality</span><p>How we support quality leaders.</p></a></li><li id="third-level-list-item"><a href="https://www.assent.com/solutions/job-function/procurement/" target=""><span>Procurement</span><p>How we support procurement &amp; supply network management.</p></a></li><li id="third-level-list-item"><a href="https://www.assent.com/solutions/job-function/sustainability-leader/" target=""><span>Sustainability Leader</span><p>How we support supply chain sustainability leaders.</p></a></li><li id="third-level-list-item"><a href="https://www.assent.com/solutions/job-function/supply-chain-leader/" target=""><span>Supply Chain Leader</span><p>How we support supply chain leaders.</p></a></li><li id="third-level-list-item"><a href="https://www.assent.com/solutions/job-function/legal/" target=""><span>Legal</span><p>How we support legal counsel for supply chain compliance.</p></a></li><li id="third-level-list-item"><a href="https://www.assent.com/solutions/job-function/it-professional/" target=""><span>IT Professional </span><p>Enterprise-ready infrastructure for product intelligence.</p></a></li></ul></div>											</div>
780											</div>
781																						<button data-target="#sub-menu-item" class="mobile-button next-page" type="button">Next</button>
782										</li>
783									
784										<li id="sub-menu-item" class="">
785											<a href="https://www.assent.com/compare-assent/" target="">
786											Why Switch to Assent											</a>
787
788																						<button data-target="#sub-menu-item" class="mobile-button next-page" type="button">Next</button>
789										</li>
790																		</ul>
791
792									
793					<div class="featured-content">
794													<figure>
795								<img src="https://www.assent.com/wp-content/uploads/2025/03/asp-hero-1.webp"
796								 alt=""
797							     height="2000"
798								 width="3000"
799								 loading="lazy" 
800								  >
801							</figure>
802						
803
804						<div class="featured-promo-title">
805							Meet the Assent Network for Manufacturers						</div>
806						<a class="btn -white"
807						   href="https://www.assent.com/asp/"
808						   target="">
809								Learn More						</a>
810					</div>
811
812				
813								</div>
814							</div>
815						</div>
816					</div>
817
818				</li><li class="dropdown-menu" target=""><a href="https://www.assent.com/capabilities/platform/">Network</a><button class="mobile-button next-page" type="button">Next</button>
819					<div class="mega-menu">
820						<div class="container">
821							<div class="mega-menu__inner">
822								<div class="mega-menu__left">
823									<div class="sub-menu-title">
824										<button class="mobile-button prev-page">Main Menu</button>
825										<div class="sub-menu-title-text">Network</div>
826									</div>
827									<ul>
828									
829										<li id="sub-menu-item" class="dropdown">
830											<a href="https://www.assent.com/capabilities/platform/" target="">
831											Software											</a>
832
833																						<div class="third-level">
834												<div class="third-level--left">
835
836													<button data-target="#sub-menu-item" class="mobile-button prev-page">
837														Software													</button>
838
839													<div id="top-list-item"><strong>View details about our complete product intelligence network, including product material compliance, product sustainability, and responsible sourcing.</strong><a href="https://www.assent.com/capabilities/platform/" target="">Explore Now</a></div><div class="third-level--list"><ul><li id="third-level-list-item"><a href="https://www.assent.com/asp/" target=""><span>The Assent Network</span><p>Say hello to the smarter, scalable approach to product compliance and supply chain sustainability management.</p></a></li><li id="third-level-list-item"><a href="https://www.assent.com/network/distributor-experience/" target=""><span>The Distributor Experience</span><p>Centralize and automate compliance requests across your product catalog so you can respond faster and lower revenue risk.</p></a></li><li id="third-level-list-item"><a href="https://www.assent.com/asp/request-manager/" target=""><span>Request Manager</span><p>Unify every customer compliance and sustainability request in one AI-powered platform - helping you respond faster, reduce manual work, and strengthen customer trust.</p></a></li></ul></div><div class="third-level--list"><ul><li id="third-level-list-item"><a href="https://www.assent.com/capabilities/platform/supplier-screening/" target=""><span>Enhanced Supplier Screening</span><p>Evaluate and report on hidden risks in your supply chain.</p></a></li><li id="third-level-list-item"><a href="https://www.assent.com/capabilities/platform/supply-chain-security/" target=""><span>Data Information &amp; Security</span>
839<p>Learn about our data security protocols, to keep your information safe.</p></a></li><li id="third-level-list-item"><a href="https://www.assent.com/capabilities/platform/supply-chain-integrations/" target=""><span>Enterprise Integrations</span><p>View our integrations with SAP, PTC Windchill, and other standard APIs.</p></a></li><li id="third-level-list-item"><a href="https://www.assent.com/capabilities/platform/capabilities-platform-supply-chain-reporting/" target=""><span>Reporting &amp; Data</span><p>Reporting and data capabilities you need to meet your requirements.</p></a></li><li id="third-level-list-item"><a href="https://www.assent.com/why-assent/" target=""><span>Why Assent</span><p>Assent is on a mission to help manufacturers build deeply and durably good products. </p></a></li></ul></div>											</div>
840											</div>
841																						<button data-target="#sub-menu-item" class="mobile-button next-page" type="button">Next</button>
842										</li>
843									
844										<li id="sub-menu-item" class="dropdown">
845											<a href="https://www.assent.com/capabilities/services/" target="">
846											Services											</a>
847
848																						<div class="third-level">
849												<div class="third-level--left">
850
851													<button data-target="#sub-menu-item" class="mobile-button prev-page">
852														Services													</button>
853
854													<div id="top-list-item"><strong>View details about our complete product intelligence network, including product material compliance, product sustainability, and responsible sourcing.</strong><a href="https://www.assent.com/capabilities/services/" target="">Explore Now</a></div><div class="third-level--list"><ul><li id="third-level-list-item"><a href="https://www.assent.com/capabilities/services/supplier-engagement/" target=""><span>Supplier Engagement</span><p>Education, data collection, and technical support for suppliers.</p></a></li><li id="third-level-list-item"><a href="https://www.assent.com/capabilities/services/sustainability-compliance-program-management/" target=""><span>Program Management</span><p>Managed services with dedicated support from world-class experts.</p></a></li><li id="third-level-list-item"><a href="https://www.assent.com/capabilities/services/advisory-services/" target=""><span>Advisory Services</span><p>View our integrations with SAP, PTC Windchill, and other standard APIs.</p></a></li></ul></div>											</div>
855											</div>
856																						<button data-target="#sub-menu-item" class="mobile-button next-page" type="button">Next</button>
857										</li>
858									
859										<li id="sub-menu-item" class="">
860											<a href="https://www.assent.com/capabilities/expertise/" target="">
861											Regulatory Experts											</a>
862
863																						<button data-target="#sub-menu-item" class="mobile-button next-page" type="button">Next</button>
864										</li>
865									
866										<li id="sub-menu-item" class="">
867											<a href="https://www.assent.com/capabilities/platform/pricing/" target="">
868											Pricing											</a>
869
870																						<button data-target="#sub-menu-item" class="mobile-button next-page" type="button">Next</button>
871										</li>
872									
873										<li id="sub-menu-item" class="">
874											<a href="https://www.assent.com/capabilities/platform/enterprise-license-agreement/" target="">
875											Enterprise License Agreement											</a>
876
877																						<button data-target="#sub-menu-item" class="mobile-button next-page" type="button">Next</button>
878										</li>
879																		</ul>
880
881									
882					<div class="featured-content">
883													<figure>
884								<img src="https://www.assent.com/wp-content/uploads/2025/03/asp-hero-1.webp"
885								 alt=""
886							     height="2000"
887								 width="3000"
888								 loading="lazy" 
889								  >
890							</figure>
891						
892
893						<div class="featured-promo-title">
894							Meet the Assent Network for Manufacturers						</div>
895						<a class="btn -white"
896						   href="https://www.assent.com/asp/"
897						   target="">
898								Learn More 						</a>
899					</div>
900
901				
902								</div>
903							</div>
904						</div>
905					</div>
906
907				</li><li class="dropdown-menu" target=""><a href="https://www.assent.com/why-assent/">Why Assent</a><button class="mobile-button next-page" type="button">Next</button>
908					<div class="mega-menu">
909						<div class="container">
910							<div class="mega-menu__inner">
911								<div class="mega-menu__left">
912									<div class="sub-menu-title">
913										<button class="mobile-button prev-page">Main Menu</button>
914										<div class="sub-menu-title-text">Why Assent</div>
915									</div>
916									<ul>
917									
918										<li id="sub-menu-item" class="">
919											<a href="https://www.assent.com/why-assent/" target="">
920											Why Assent											</a>
921
922																						<button data-target="#sub-menu-item" class="mobile-button next-page" type="button">Next</button>
923										</li>
924									
925										<li id="sub-menu-item" class="">
926											<a href="https://www.assent.com/compare-assent/" target="">
927											How Assent Compares											</a>
928
929																						<button data-target="#sub-menu-item" class="mobile-button next-page" type="button">Next</button>
930										</li>
931									
932										<li id="sub-menu-item" class="">
933											<a href="https://www.assent.com/capabilities/expertise/" target="">
934											Our Expertise											</a>
935
936																						<button data-target="#sub-menu-item" class="mobile-button next-page" type="button">Next</button>
937										</li>
938																		</ul>
939
940									
941					<div class="featured-content">
942													<figure>
943								<img src="https://www.assent.com/wp-content/uploads/2025/03/asp-hero-1.webp"
944								 alt=""
945							     height="2000"
946								 width="3000"
947								 loading="lazy" 
948								  >
949							</figure>
950						
951
952						<div class="featured-promo-title">
953							Meet the Assent Network for Manufacturers						</div>
954						<a class="btn -white"
955						   href="https://www.assent.com/asp/"
956						   target="">
957								Learn More						</a>
958					</div>
959
960				
961								</div>
962							</div>
963						</div>
964					</div>
965
966				</li><li class="dropdown-menu" target=""><a href="https://www.assent.com/company/our-customers/customer-case-study-videos/">Customer Stories</a><button class="mobile-button next-page" type="button">Next</button>
967					<div class="mega-menu">
968						<div class="container">
969							<div class="mega-menu__inner">
970								<div class="mega-menu__left">
971									<div class="sub-menu-title">
972										<button class="mobile-button prev-page">Main Menu</button>
973										<div class="sub-menu-title-text">Customer Stories</div>
974									</div>
975									<ul>
976									
977										<li id="sub-menu-item" class="">
978											<a href="https://www.assent.com/company/our-customers/" target="">
979											Our Customers											</a>
980
981																						<button data-target="#sub-menu-item" class="mobile-button next-page" type="button">Next</button>
982										</li>
983									
984										<li id="sub-menu-item" class="">
985											<a href="https://www.assent.com/resources/content-hub/?pager=1&#038;filter=1&#038;category%5B%5D=case-study&#038;search_text=" target="">
986											Case Studies													</a>
987
988																						<button data-target="#sub-menu-item" class="mobile-button next-page" type="button">Next</button>
989										</li>
990									
991										<li id="sub-menu-item" class="">
992											<a href="https://www.assent.com/company/our-customers/customer-case-study-videos/" target="">
993											Success Stories											</a>
994
995																						<button data-target="#sub-menu-item" class="mobile-button next-page" type="button">Next</button>
996										</li>
997																		</ul>
998
999									
1000					<div class="featured-content">
1001													<figure>
1002								<img src="https://www.assent.com/wp-content/uploads/2025/03/asp-hero-1.webp"
1003								 alt=""
1004							     height="2000"
1005								 width="3000"
1006								 loading="lazy" 
1007								  >
1008							</figure>
1009						
1010
1011						<div class="featured-promo-title">
1012							Meet the Assent Network for Manufacturers						</div>
1013						<a class="btn -white"
1014						   href="https://www.assent.com/asp/"
1015						   target="">
1016								Learn More						</a>
1017					</div>
1018
1019				
1020								</div>
1021							</div>
1022						</div>
1023					</div>
1024
1025				</li><li class="dropdown-menu" target=""><a href="https://www.assent.com/resources/content-hub/">Resources	</a><button class="mobile-button next-page" type="button">Next</button>
1026					<div class="mega-menu">
1027						<div class="container">
1028							<div class="mega-menu__inner">
1029								<div class="mega-menu__left">
1030									<div class="sub-menu-title">
1031										<button class="mobile-button prev-page">Main Menu</button>
1032										<div class="sub-menu-title-text">Resources	</div>
1033									</div>
1034									<ul>
1035									
1036										<li id="sub-menu-item" class="dropdown">
1037											<a href="https://www.assent.com/resources/content-hub/" target="">
1038											Content Hub												</a>
1039
1040																						<div class="third-level">
1041												<div class="third-level--left">
1042
1043													<button data-target="#sub-menu-item" class="mobile-button prev-page">
1044														Content Hub														</button>
1045
1046													<div id="top-list-item"><strong>Interactive Tools, Webinars, Whitepapers, Guides and eBooks.</strong><a href="https://www.assent.com/resources/content-hub/" target="">Visit the Content Hub</a></div><div class="third-level--list"><ul><li id="third-level-list-item"><a href="https://www.assent.com/supply-chain-risk-management/assessment-tool/" target=""><span>Supply Chain Risk Assessment Tool</span><p>Supply Chain Risk Assessment Tool for Complex Manufacturers. Take the Assessment</p></a></li></ul></div><div class="third-level--list"><ul><li id="third-level-list-item"><a href="https://www.assent.com/resources/content-hub/?pager=1&#038;filter=1&#038;category%5B%5D=interactive-tool&#038;search_text=&#038;filter_order=" target=""><span>Interactive Tools</span><p>Tools for understanding your requirements, risks, and our solutions.</p></a></li><li id="third-level-list-item"><a href="https://www.assent.com/resources/content-hub/?pager=1&#038;filter=1&#038;category%5B%5D=guide&#038;search_text=&#038;filter_order=" target=""><span>Guides</span><p>Get up-to-date information on constantly evolving topics.</p></a></li><li id="third-level-list-item"><a href="https://www.assent.com/resources/content-hub/?pager=1&#038;filter=1&#038;category%5B%5D=webinar&#038;search_text=&#038;filter_order=" target=""><span>Webinars</span><p>Learn directly from experts on wide-ranging topics.</p></a></li><li id="third-level-list-item"><a href="https://www.assent.com/resources/content-hub/?pager=1&#038;filter=1&#038;category%5B%5D=whitepaper&#038;search_text=&#038;filter_order=" target=""><span>Whitepapers</span><p>Explore complex supply chain sustainability topics.</p></a></li><li id="third-level-list-item"><a href="https://www.assent.com/resources/content-hub/?pager=1&#038;filter=1&#038;category%5B%5D=ebook&#038;search_text=&#038;filter_order=" target=""><span>Ebooks</span><p>Keep on top of existing or emerging regulations and trends.</p></a></li></ul></div>											</div>
1047											</div>
1048																						<button data-target="#sub-menu-item" class="mobile-button next-page" type="button">Next</button>
1049										</li>
1050									
1051										<li id="sub-menu-item" class="dropdown">
1052											<a href="https://www.assent.com/resources/knowledge-center/" target="">
1053											Knowledge Center												</a>
1054
1055																						<div class="third-level">
1056												<div class="third-level--left">
1057
1058													<button data-target="#sub-menu-item" class="mobile-button prev-page">
1059														Knowledge Center														</button>
1060
1061													<div id="top-list-item"><strong>View details about our complete product intelligence network, including product material compliance, product sustainability, and responsible sourcing.</strong><a href="https://www.assent.com/resources/knowledge-center/" target="">See Regulatory Templates</a></div><div class="third-level--list"><ul><li id="third-level-list-item"><a href="https://www.assent.com/resources/knowledge-center/" target=""><span>Knowledge Center</span><p>Access the Assent Knowledge Center, the leading regulatory resource for supply chain management, from our team of experts.</p></a></li><li id="third-level-list-item"><a href="https://www.assent.com/resources/pfas-compliance/" target=""><span>PFAS</span><p>Per- and polyfluoroalkyl substances (PFAS)</p></a></li><li id="third-level-list-item"><a href="https://www.assent.com/resources/knowledge-center/?pager=1&#038;filter=1&#038;tag%5B%5D=conflict-minerals&#038;category%5B%5D=knowledge-article&#038;search_text=&#038;filter_order=" target=""><span>Conflict Minerals</span>
1061<p>Deep transparency into mineral sourcing.</p></a></li><li id="third-level-list-item"><a href="https://www.assent.com/resources/knowledge-center/?pager=1&#038;filter=1&#038;tag%5B%5D=esg&#038;category%5B%5D=knowledge-article&#038;search_text=&#038;filter_order=" target=""><span>ESG</span><p>Environmental, social, and governance (ESG) issues.</p></a></li><li id="third-level-list-item"><a href="https://www.assent.com/resources/knowledge-article/what-is-the-scdda/" target=""><span>SCDDA</span><p>Access the Assent Knowledge Center, the leading regulatory resource for supply chain management, from our team of experts.</p></a></li><li id="third-level-list-item"><a href="https://www.assent.com/resources/csrd-reporting/" target=""><span>CSRD</span><p>Streamline your reporting process to comply with the EU CSRD.</p></a></li><li id="third-level-list-item"><a href="https://www.assent.com/resources/knowledge-center/?pager=1&#038;filter=1&#038;tag%5B%5D=reach&#038;category%5B%5D=knowledge-article&#038;search_text=&#038;filter_order=" target=""><span>REACH</span><p>
1061Supply chain transparency needed for compliance.</p></a></li><li id="third-level-list-item"><a href="https://www.assent.com/resources/knowledge-center/?pager=1&#038;filter=1&#038;tag%5B%5D=rohs&#038;category%5B%5D=knowledge-article&#038;search_text=&#038;filter_order=" target=""><span>RoHS</span><p>Deep-map your supply chain to streamline compliance.</p></a></li><li id="third-level-list-item"><a href="https://www.assent.com/resources/knowledge-center/?pager=1&#038;filter=1&#038;tag%5B%5D=tsca&#038;category%5B%5D=knowledge-article&#038;search_text=&#038;filter_order=" target=""><span>TSCA</span><p>Grow better with our TSCA compliance solution.</p></a></li></ul></div>											</div>
1062											</div>
1063																						<button data-target="#sub-menu-item" class="mobile-button next-page" type="button">Next</button>
1064										</li>
1065									
1066										<li id="sub-menu-item" class="dropdown">
1067											<a href="https://www.assent.com/blog/" target="">
1068											Blog												</a>
1069
1070																						<div class="third-level">
1071												<div class="third-level--left">
1072
1073													<button data-target="#sub-menu-item" class="mobile-button prev-page">
1074														Blog														</button>
1075
1076													<div class="third-level--list"><ul><li id="third-level-list-item"><a href="https://www.assent.com/blog/" target=""><span>Blog</span><p>Read Assent’s blog for regulatory updates, supply chain sustainability advice, best practices, and more.</p></a></li><li id="third-level-list-item"><a href="https://www.assent.com/blog/?pager=1&#038;filter=1&#038;tag%5B%5D=supply-chain-sustainability&#038;search_text=&#038;filter_order=" target=""><span>Supply Chain Sustainability</span><p>Learn everything you need to know about supply chain sustainability.</p></a></li><li id="third-level-list-item"><a href="https://www.assent.com/blog/?pager=1&#038;filter=1&#038;tag%5B%5D=esg&#038;search_text=&#038;filter_order=" target=""><span>ESG</span><p>Discover how ESG and your supply chain are connected.</p></a></li><li id="third-level-list-item"><a href="https://www.assent.com/blog/?pager=1&#038;filter=1&#038;tag%5B%5D=responsible-minerals&#038;search_text=&#038;filter_order=" target=""><span>Responsible Minerals</span><p>Keep up with changing responsible minerals expectations.</p></a></li><li id="third-level-list-item"><a href="https://www.assent.com/blog/?pager=1&#038;filter=1&#038;tag%5B%5D=product-compliance&#038;search_text=&#038;filter_order=" target=""><span>Product Compliance</span><p>Get clear educational resources on key product compliance regulations.</p></a></li><li id="third-level-list-item"><a href="https://www.assent.com/blog/?pager=1&#038;filter=1&#038;tag%5B%5D=trade-compliance&#038;search_text=&#038;filter_order=" target=""><span>Trade Compliance</span><p>Learn best practices for managing your trade requirements.</p></a></li><li id="third-level-list-item"><a href="https://www.assent.com/blog/?pager=1&#038;filter=1&#038;tag%5B%5D=reach&#038;search_text=&#038;filter_order=" target=""><span>REACH</span><p>Get an expert breakdown of the REACH Regulation.</p></a></li></ul></div>											</div>
1077											</div>
1078																						<button data-target="#sub-menu-item" class="mobile-button next-page" type="button">Next</button>
1079										</li>
1080									
1081										<li id="sub-menu-item" class="">
1082											<a href="https://www.assent.com/events-webinars/" target="">
1083											Events &amp; Webinars											</a>
1084
1085																						<button data-target="#sub-menu-item" class="mobile-button next-page" type="button">Next</button>
1086										</li>
1087									
1088										<li id="sub-menu-item" class="dropdown">
1089											<a href="https://www.assent.com/resources/knowledge-center/#regulatory_templates" target="">
1090											Training Courses											</a>
1091
1092																						<div class="third-level">
1093												<div class="third-level--left">
1094
1095													<button data-target="#sub-menu-item" class="mobile-button prev-page">
1096														Training Courses													</button>
1097
1098													<div id="top-list-item"><strong>Leverage industry-standard templates for reporting on responsible sourcing, human trafficking and modern slavery.</strong><a href="https://www.assent.com/resources/knowledge-center/#regulatory_templates" target="">See Regulatory Templates</a></div><div class="third-level--list"><ul><li id="third-level-list-item"><a href="https://www.assent.com/training-courses/" target=""><span>Assent University</span>
1098<p>Access comprehensive educational resources to better understand your business and regulatory requirements, and how to build your programs to mitigate supply chain risk effectively.</p></a></li></ul></div>											</div>
1099											</div>
1100																						<button data-target="#sub-menu-item" class="mobile-button next-page" type="button">Next</button>
1101										</li>
1102																		</ul>
1103
1104									
1105					<div class="featured-content">
1106													<figure>
1107								<img src="https://www.assent.com/wp-content/uploads/2025/03/asp-hero-1.webp"
1108								 alt=""
1109							     height="2000"
1110								 width="3000"
1111								 loading="lazy" 
1112								  >
1113							</figure>
1114						
1115
1116						<div class="featured-promo-title">
1117							Meet the Assent Network for Manufacturers						</div>
1118						<a class="btn -white"
1119						   href="https://www.assent.com/asp/"
1120						   target="">
1121								Learn More 						</a>
1122					</div>
1123
1124				
1125								</div>
1126							</div>
1127						</div>
1128					</div>
1129
1130				</li><li class="dropdown-menu" target=""><a href="https://www.assent.com/company/our-story/">Company</a><button class="mobile-button next-page" type="button">Next</button>
1131					<div class="mega-menu">
1132						<div class="container">
1133							<div class="mega-menu__inner">
1134								<div class="mega-menu__left">
1135									<div class="sub-menu-title">
1136										<button class="mobile-button prev-page">Main Menu</button>
1137										<div class="sub-menu-title-text">Company</div>
1138									</div>
1139									<ul>
1140									
1141										<li id="sub-menu-item" class="dropdown">
1142											<a href="https://www.assent.com/company/our-story/" target="">
1143											About Us											</a>
1144
1145																						<div class="third-level">
1146												<div class="third-level--left">
1147
1148													<button data-target="#sub-menu-item" class="mobile-button prev-page">
1149														About Us													</button>
1150
1151													<div id="top-list-item"><strong>Learn how we became the top sustainability solution for leading manufacturers.</strong><a href="https://www.assent.com/company/our-story/" target="">Discover Assent</a></div><div class="third-level--list"><ul><li id="third-level-list-item"><a href="https://www.assent.com/company/sustainability/" target=""><span>Sustainability At Assent</span><p>Read about our ESG journey and access our corporate sustainability reports.</p></a></li><li id="third-level-list-item"><a href="https://www.assent.com/company/leadership/" target=""><span>Leadership Team</span><p>Meet the team that helped Assent become the leader in supply chain sustainability.</p></a></li><li id="third-level-list-item"><a href="https://www.assent.com/why-assent/" target=""><span>Why Assent</span><p>See the leading manufacturers working with us to achieve supply chain sustainability.</p></a></li><li id="third-level-list-item"><a href="https://www.assent.com/innovation-announcements/" target=""><span>Innovation Announcements</span><p>Discover our latest innovations that revolutionize supply chain sustainability and streamline your responsibilities.</p></a></li></ul></div>											</div>
1152											</div>
1153																						<button data-target="#sub-menu-item" class="mobile-button next-page" type="button">Next</button>
1154										</li>
1155									
1156										<li id="sub-menu-item" class="dropdown">
1157											<a href="https://www.assent.com/newsroom/" target="">
1158											News &amp; Information											</a>
1159
1160																						<div class="third-level">
1161												<div class="third-level--left">
1162
1163													<button data-target="#sub-menu-item" class="mobile-button prev-page">
1164														News &amp; Information													</button>
1165
1166													<div class="third-level--list"><ul><li id="third-level-list-item"><a href="https://www.assent.com/newsroom/" target=""><span>Newsroom</span><p>Read the latest news about Assent from around the world.</p></a></li><li id="third-level-list-item"><a href="https://www.assent.com/company/alliances/" target=""><span>Alliances &amp; Partnerships</span><p>Read more about the organizations and partners working with us to create supply chain sustainability.</p></a></li><li id="third-level-list-item"><a href="https://www.assent.com/company/certifications/" target=""><span>Certifications &amp; Recognition</span>
1166<p>View our industry and technology certifications.</p></a></li><li id="third-level-list-item"><a href="https://www.assent.com/company/contact-us/" target=""><span>Contact Us</span><p>Find out how to get in touch with us.</p></a></li></ul></div>											</div>
1167											</div>
1168																						<button data-target="#sub-menu-item" class="mobile-button next-page" type="button">Next</button>
1169										</li>
1170									
1171										<li id="sub-menu-item" class="">
1172											<a href="https://www.assent.com/company/careers/" target="">
1173											Careers													</a>
1174
1175																						<button data-target="#sub-menu-item" class="mobile-button next-page" type="button">Next</button>
1176										</li>
1177									
1178										<li id="sub-menu-item" class="">
1179											<a href="https://www.assent.com/customer-support/" target="">
1180											Support											</a>
1181
1182																						<button data-target="#sub-menu-item" class="mobile-button next-page" type="button">Next</button>
1183										</li>
1184									
1185										<li id="sub-menu-item" class="">
1186											<a href="https://www.assent.com/company/contact-us/" target="">
1187											Contact Us											</a>
1188
1189																						<button data-target="#sub-menu-item" class="mobile-button next-page" type="button">Next</button>
1190										</li>
1191																		</ul>
1192
1193									
1194					<div class="featured-content">
1195													<figure>
1196								<img src="https://www.assent.com/wp-content/uploads/2025/03/asp-hero-1.webp"
1197								 alt=""
1198							     height="2000"
1199								 width="3000"
1200								 loading="lazy" 
1201								  >
1202							</figure>
1203						
1204
1205						<div class="featured-promo-title">
1206							Meet the Assent Network for Manufacturers						</div>
1207						<a class="btn -white"
1208						   href="https://www.assent.com/asp/"
1209						   target="">
1210								Learn More 						</a>
1211					</div>
1212
1213				
1214								</div>
1215							</div>
1216						</div>
1217					</div>
1218
1219				</li></ul><div class="mobile-display">
1220					<div class="featured-content">
1221													<figure>
1222								<img src="https://www.assent.com/wp-content/uploads/2025/03/asp-hero-1.webp"
1223								 alt=""
1224							     height="2000"
1225								 width="3000"
1226								 loading="lazy" 
1227								  >
1228							</figure>
1229						
1230
1231						<div class="featured-promo-title">
1232							Meet the Assent Network for Manufacturers						</div>
1233						<a class="btn -white"
1234						   href="https://www.assent.com/asp/"
1235						   target="">
1236								Learn More 						</a>
1237					</div>
1238
1239				<a href="https://www.assent.com/capabilities/platform/pricing/" class="get-a-quote-btn">Pricing</a><div class="lang-item"><select id="lang_sel" class="lang-select" onchange="if(this.value){this.options[this.selectedIndex].selected=true;window.location.href=this.value;}"><option value="" disabled selected>Select Language</option><option value="https://www.assent.com/de/loesungen/produktkonformitaet/">Deutsch</option><option value="https://www.assent.com/solutions/product-compliance/">English</option><option value="https://www.assent.com/fr/solutions/conformite-produits/">Français</option><option value="https://www.assent.com/it/soluzioni/conformita-del-prodotto/">Italiano</option></select></div></div></nav><div class="header-cta"><a href="https://www.assent.com/capabilities/platform/pricing/" class="btn alt-btn">Pricing</a><a href="#" class="btn Book-A-Demo" target="">Book a Demo</a></div></div>
1240      <!-- hamburger -->
1241      <a href="javascript:;" data-label="Toggle Menu" aria-label="Menu" class="hamburger"><span></span></a></div></div>
1242
1243    </header><div class="main-content">
1244<!-- WYSIWYG -->
1245        <section class="wysiwyg-section" id="promo_card">
1246            <div class="container"><div class="promo-wrapper">
1247<p class="promo-heading">Explore our end-to-end solution for manufacturers to mitigate PFAS risks across supply chains —<a class="btn-link" href="https://www.assent.com/solutions/product-compliance/pfas/?itm_source=website&amp;itm_medium=banner&amp;itm_campaign=always-on&amp;itm_term=promo-banner-homepage&amp;itm_content=solution-page&amp;itm_channel=web&amp;itm_region=null">Get Started</a></p>
1248</div>
1249</div>    
1250        </section>
1251
1252
1253<style>
1254#promo_card.wysiwyg-section .container{
1255    padding: 0;
1256    --container-width: 97.25rem;
1257     max-width: 97.25rem;
1258     display: none;
1259}
1260
1261#promo_card{
1262    background-color: #ffe587;
1263}
1264 .promo-heading{
1265    padding: 0px 5px;
1266     color: #215273;
1267     margin-bottom: 0;
1268     font-family: 'Roboto', 'Arial', sans-serif;
1269     font-weight: 500;
1270    font-size: 1rem;
1271}
1272.promo-wrapper {
1273text-align: center; 
1274}
1275.promo-wrapper .btn-link{
1276    color:#813679;
1277     text-decoration:underline;
1278     margin-left: 5px;
1279}
1280
1281@media (max-width: 991px) {
1282.promo-wrapper {
1283        display: flex;
1284	align-items: center;
1285	justify-content: center;
1286	text-align: center;
1287}
1288
1289#promo_card.wysiwyg-section .container {
1290	padding-left: 2.19rem;
1291	padding-right: 2.19rem;
1292}
1293}
1294
1295@media (max-width: 1599px) {
1296	.promo-heading {
1297		padding: 0px 10px;
1298	}
1299}
1300</style>
1301
1302
1303<!-- banner area part -->
1304        <section class="generic-hero with-media navy fade-with-triangles  " ><div class="row hero-wrap">
1305                <div class="cell-7 hero-left"><div class="hero-left-bg"></div><div class="hero-left-inner d-flex align-items-center"><div class="breadcrumbs">
1306                                    <ul><li><a href="https://www.assent.com/solutions/">Solutions</a></li><li><span>Product Compliance</span></li></ul>
1307                                </div><div class="gh-content"><h1 class="h1">Product Compliance Solutions: The Foundation For Deeply Sustainable Enterprises</h1><p>Supply chains weren’t built with sustainability and product compliance in mind. Assent’s solutions helps you get ahead of regulations to set a rock-solid foundation for supply chain sustainability. </p>
1308<div class="btn-wrap"><a href="#" class="btn Book-A-Demo" target="">Book a Demo</a><a href="https://www.assent.com/solutions/product-compliance/tour#step1" target="" class="btn-link -white">Start Product Tour</a></div></div></div>
1309                </div><div class="cell-5 hero-right"><div class="hero-image">
1310                                <img decoding="async" src="https://www.assent.com/wp-content/uploads/2022/02/Assent_stockImage_CustomerImpact-tires-braided.jpeg" alt="Abstract pattern created by braided tires">
1311                            </div></div></div>
1312        </section>
1313
1314
1315<style>
1316	
1317	.main-container { overflow: hidden }
1318	
1319	.table-of-contents-container {
1320		position: relative;
1321	}
1322	
1323    .table-of-contents {
1324		min-height: 240px;
1325        position: absolute;
1326		top: 85px;
1327        right: 0;
1328        transform: translateX(230px);
1329        z-index: 995;
1330        width: 230px;
1331        border-radius: 0 0 0 4px;
1332        background: #FFF;
1333        box-shadow: 0 0 40px 0 rgba(0, 0, 0, 0.10), 0 0 40px 0 rgba(0, 0, 0, 0.10);
1334        box-sizing: border-box;
1335        transition: .2s transform ease-out;
1336    }
1337	
1338	.table-of-contents.fixed {
1339		top: 25vh;
1340		position: fixed;
1341	}
1342
1343    .table-of-contents:is(:hover, .default) {
1344        transform: translateX(0);
1345    }
1346
1347    .table-of-contents ul.table-of-contents-list {
1348        list-style-type: none;
1349        padding: 0 0 12px 0;
1350        margin: 0;
1351    }
1352
1353    .table-of-contents ul.table-of-contents-list li {
1354        width: 100%;
1355        margin: 0;
1356        padding: 0;
1357    }
1358
1359    .table-of-contents ul.table-of-contents-list li a {
1360		position: relative;
1361		display: block;
1362		color: #7A97AB;
1363		font-size: 20px;
1364		font-weight: 400;
1365		line-height: 150%;
1366		letter-spacing: 0;
1367		text-decoration: none;
1368		box-sizing: content-box;
1369		padding: 10px 18px;
1370		transition: .2s ease;
1371		overflow: hidden;
1372		text-overflow: ellipsis;
1373		white-space: nowrap;
1374		max-width: 100%;
1375    }
1376
1377    .table-of-contents ul.table-of-contents-list li a:hover {
1378        background-color: #F5F5F7;
1379        color: #4D758F;
1380    }
1381
1382    .table-of-contents ul.table-of-contents-list li a svg {
1383        position: absolute;
1384        top: 50%;
1385        left: 18px;
1386        transform: translateY(-50%);
1387        opacity: 0;
1388        transition: .2s opacity ease;
1389    }
1390
1391    .table-of-contents ul.table-of-contents-list li a.active svg {
1392        opacity: 1;
1393    }
1394
1395    .table-of-contents .table-of-contents-bookmark {
1396/*         writing-mode: sideways-lr; */
1397		writing-mode: vertical-rl;
1398  		transform: scale(-1);
1399        position: absolute;
1400        display: flex;
1401        align-items: center;
1402        justify-content: center;
1403        gap: 8px;
1404        top: 0;
1405        left: -50px;
1406        width: 30px;
1407        text-orientation: mixed;
1408        padding: 20px 10px;
1409        background-color: #215273;
1410        border-radius: 0 8px 8px 0;
1411        box-shadow: 0 0 40px rgba(0, 0, 0, 0.10);
1412        user-select: none;
1413        color: #FFF;
1414        font-family: Roboto, sans-serif;
1415        font-size: 18px;
1416        font-style: normal;
1417        font-weight: 600;
1418        line-height: 150%;
1419        box-sizing: content-box;
1420    }
1421	
1422	.table-of-contents ul.table-of-contents-list li a.active {
1423		color: #215273;
1424		font-weight: 700;
1425	}
1426
1427    @media (min-width: 768px) {
1428        .table-of-contents .table-of-contents-mobile-header {
1429            display: none;
1430        }
1431
1432        .table-of-contents ul.table-of-contents-list li a.active {
1433            font-size: 24px;
1434            padding-left: 36px;
1435        }
1436    }
1437
1438    @media(max-width: 767px) {
1439		
1440		body {
1441			--adminMenuHeight: 0px;
1442		}
1443		
1444		body.logged-in {
1445			--adminMenuHeight: 46px;
1446		}
1447		
1448        .table-of-contents-container {
1449            height: 50px;
1450            min-height: 50px;
1451        }
1452
1453        .table-of-contents {
1454			min-height: 0;
1455			position: relative;
1456			width: 100%;
1457			transform: none;
1458			border-top: 1px #E5E5E9 solid;
1459			z-index: 100;
1460			top: 0;
1461        }
1462
1463        .table-of-contents.fixed {
1464            position: fixed;
1465            top: calc(var(--primaryMenuHeight) + var(--adminMenuHeight));
1466            left: 0;
1467        }
1468
1469        .table-of-contents.fixed.offset-nav {
1470            margin-top: 0;
1471            transition: .4s margin-top;
1472        }
1473
1474        .table-of-contents ul.table-of-contents-list li a svg {
1475            display: none;
1476        }
1477
1478        .table-of-contents .table-of-contents-bookmark {
1479            display: none;
1480        }
1481
1482        .table-of-contents ul.table-of-contents-list {
1483            max-height: 0;
1484            overflow: hidden;
1485            transition: max-height 1s cubic-bezier(0, 1, 0, 1);
1486            padding: 0;
1487        }
1488
1489        .table-of-contents ul.table-of-contents-list.mobile-open {
1490            max-height: 2000px;
1491            transition: max-height 1s ease-out;
1492            padding: 0 0 12px 0;
1493        }
1494
1495        .table-of-contents .table-of-contents-mobile-header {
1496            display: flex;
1497            justify-content: space-between;
1498            align-items: center;
1499            padding: 10px 18px;
1500            color: #215273;
1501            font-family: Roboto, sans-serif;
1502            font-size: 20px;
1503            font-style: normal;
1504            font-weight: 700;
1505            line-height: 150%;
1506            border: none;
1507            background-color: white;
1508            width: 100%;
1509        }
1510		
1511		.main-container:has(.table-of-contents.fixed) .main-header {
1512			box-shadow: none;
1513		}
1514		
1515    }
1516</style>
1517
1518
1519<section class="table-of-contents-container">
1520    <div class="table-of-contents default">
1521        <div class="table-of-contents-bookmark">
1522            <svg xmlns="http://www.w3.org/2000/svg" width="18" height="19" viewBox="0 0 18 19" fill="none">
1523                <path fill-rule="evenodd" clip-rule="evenodd" d="M2.33329 3.00016L2.33329 16.3335C2.33329 16.5545 2.42109 16.7665 2.57737 16.9228C2.73365 17.079 2.94561 17.1668 3.16663 17.1668L14.8333 17.1668C15.0543 17.1668 15.2663 17.079 15.4225 16.9228C15.5788 16.7665 15.6666 16.5545 15.6666 16.3335L15.6666 3.00016C15.6666 2.77915 15.5788 2.56719 15.4225 2.41091C15.2663 2.25463 15.0543 2.16683 14.8333 2.16683L3.16663 2.16683C2.94561 2.16683 2.73365 2.25463 2.57737 2.41091C2.42109 2.56719 2.33329 2.77915 2.33329 3.00016ZM0.666626 16.3335C0.666626 16.9965 0.930018 17.6324 1.39886 18.1013C1.8677 18.5701 2.50358 18.8335 3.16663 18.8335L14.8333 18.8335C15.4963 18.8335 16.1322 18.5701 16.6011 18.1013C17.0699 17.6324 17.3333 16.9965 17.3333 16.3335L17.3333 3.00016C17.3333 2.33712 17.0699 1.70124 16.6011 1.2324C16.1322 0.763555 15.4963 0.500163 14.8333 0.500163L3.16663 0.500164C2.50358 0.500164 1.8677 0.763555 1.39886 1.2324C0.930017 1.70124 0.666625 2.33712 0.666625 3.00016L0.666626 16.3335ZM4.83329 14.6668L4.83329 13.0002L6.49996 13.0002L6.49996 14.6668L4.83329 14.6668ZM4.83329 10.5002C4.83329 10.7212 4.92109 10.9331 5.07737 11.0894C5.23365 11.2457 5.44561 11.3335 5.66663 11.3335C5.88764 11.3335 6.0996 11.2457 6.25588 11.0894C6.41216 10.9331 6.49996 10.7212 6.49996 10.5002L6.49996 5.50016C6.49996 5.27915 6.41216 5.06
1523719 6.25588 4.91091C6.0996 4.75463 5.88764 4.66683 5.66663 4.66683C5.44561 4.66683 5.23365 4.75463 5.07737 4.91091C4.92109 5.06719 4.83329 5.27915 4.83329 5.50016L4.83329 10.5002ZM8.16663 13.0002L8.16663 14.6668L9.83329 14.6668L9.83329 13.0002L8.16663 13.0002ZM8.99996 11.3335C8.77894 11.3335 8.56698 11.2457 8.4107 11.0894C8.25442 10.9331 8.16663 10.7212 8.16663 10.5002L8.16663 5.50016C8.16663 5.27915 8.25442 5.06719 8.4107 4.91091C8.56698 4.75463 8.77894 4.66683 8.99996 4.66683C9.22097 4.66683 9.43293 4.75463 9.58921 4.91091C9.74549 5.06719 9.83329 5.27915 9.83329 5.50016L9.83329 10.5002C9.83329 10.7212 9.74549 10.9331 9.58921 11.0894C9.43293 11.2457 9.22097 11.3335 8.99996 11.3335ZM11.5 13.0002L11.5 14.6668L13.1666 14.6668L13.1666 13.0002L11.5 13.0002ZM12.3333 11.3335C12.1123 11.3335 11.9003 11.2457 11.744 11.0894C11.5878 10.9331 11.5 10.7212 11.5 10.5002L11.5 5.50016C11.5 5.27915 11.5878 5.06719 11.744 4.91091C11.9003 4.75463 12.1123 4.66683 12.3333 4.66683C12.5543 4.66683 12.7663 4.75463 12.9225 4.91091C13.0788 5.06719 13.1666 5.27915 13.1666 5.50016L13.1666 10.5002C13.1666 10.7212 13.0788 10.9331 12.9225 11.0894C12.7663 11.2457 12.5543 11.3335 12.3333 11.3335Z" fill="white"/>
1524            </svg>
1525
1526            <span>Jump to a section</span>
1527        </div>
1528
1529        <button class="table-of-contents-mobile-header">
1530            <span>Jump to a section</span>
1531
1532            <svg xmlns="http://www.w3.org/2000/svg" width="16" height="10" viewBox="0 0 16 10" fill="none">
1533                <path fill-rule="evenodd" clip-rule="evenodd" d="M8.54772 9.44286L15.3568 2.63374L13.6549 0.931763L7.69673 6.88989L1.7386 0.931763L0.036621 2.63374L6.84574 9.44286C7.07146 9.66851 7.37756 9.79528 7.69673 9.79528C8.01589 9.79528 8.322 9.66851 8.54772 9.44286Z" fill="#00A398"/>
1534            </svg>
1535        </button>
1536
1537        <ul class="table-of-contents-list">
1538                            <li>
1539                    <a href="#overview">
1540                        <svg class="table-of-contents-icon" xmlns="http://www.w3.org/2000/svg" width="9" height="17" viewBox="0 0 9 17" fill="none">
1541                            <path fill-rule="evenodd" clip-rule="evenodd" d="M8.5111 7.64901L1.70198 0.839898L0 2.54188L5.95813 8.5L0 14.4581L1.70198 16.1601L8.5111 9.35099C8.73675 9.12527 8.86351 8.81917 8.86351 8.5C8.86351 8.18084 8.73675 7.87473 8.5111 7.64901Z" fill="#00A398"/>
1542                        </svg>
1543
1544                        Overview                    </a>
1545                </li>
1546                            <li>
1547                    <a href="#customers">
1548                        <svg class="table-of-contents-icon" xmlns="http://www.w3.org/2000/svg" width="9" height="17" viewBox="0 0 9 17" fill="none">
1549                            <path fill-rule="evenodd" clip-rule="evenodd" d="M8.5111 7.64901L1.70198 0.839898L0 2.54188L5.95813 8.5L0 14.4581L1.70198 16.1601L8.5111 9.35099C8.73675 9.12527 8.86351 8.81917 8.86351 8.5C8.86351 8.18084 8.73675 7.87473 8.5111 7.64901Z" fill="#00A398"/>
1550                        </svg>
1551
1552                        Our Customers                    </a>
1553                </li>
1554                            <li>
1555                    <a href="#guide">
1556                        <svg class="table-of-contents-icon" xmlns="http://www.w3.org/2000/svg" width="9" height="17" viewBox="0 0 9 17" fill="none">
1557                            <path fill-rule="evenodd" clip-rule="evenodd" d="M8.5111 7.64901L1.70198 0.839898L0 2.54188L5.95813 8.5L0 14.4581L1.70198 16.1601L8.5111 9.35099C8.73675 9.12527 8.86351 8.81917 8.86351 8.5C8.86351 8.18084 8.73675 7.87473 8.5111 7.64901Z" fill="#00A398"/>
1558                        </svg>
1559
1560                        Featured Resource                    </a>
1561                </li>
1562                            <li>
1563                    <a href="#capabilities">
1564                        <svg class="table-of-contents-icon" xmlns="http://www.w3.org/2000/svg" width="9" height="17" viewBox="0 0 9 17" fill="none">
1565                            <path fill-rule="evenodd" clip-rule="evenodd" d="M8.5111 7.64901L1.70198 0.839898L0 2.54188L5.95813 8.5L0 14.4581L1.70198 16.1601L8.5111 9.35099C8.73675 9.12527 8.86351 8.81917 8.86351 8.5C8.86351 8.18084 8.73675 7.87473 8.5111 7.64901Z" fill="#00A398"/>
1566                        </svg>
1567
1568                        Capabilities                    </a>
1569                </li>
1570                            <li>
1571                    <a href="#assent_advantage">
1572                        <svg class="table-of-contents-icon" xmlns="http://www.w3.org/2000/svg" width="9" height="17" viewBox="0 0 9 17" fill="none">
1573                            <path fill-rule="evenodd" clip-rule="evenodd" d="M8.5111 7.64901L1.70198 0.839898L0 2.54188L5.95813 8.5L0 14.4581L1.70198 16.1601L8.5111 9.35099C8.73675 9.12527 8.86351 8.81917 8.86351 8.5C8.86351 8.18084 8.73675 7.87473 8.5111 7.64901Z" fill="#00A398"/>
1574                        </svg>
1575
1576                        Why Assent                    </a>
1577                </li>
1578                            <li>
1579                    <a href="#resources">
1580                        <svg class="table-of-contents-icon" xmlns="http://www.w3.org/2000/svg" width="9" height="17" viewBox="0 0 9 17" fill="none">
1581                            <path fill-rule="evenodd" clip-rule="evenodd" d="M8.5111 7.64901L1.70198 0.839898L0 2.54188L5.95813 8.5L0 14.4581L1.70198 16.1601L8.5111 9.35099C8.73675 9.12527 8.86351 8.81917 8.86351 8.5C8.86351 8.18084 8.73675 7.87473 8.5111 7.64901Z" fill="#00A398"/>
1582                        </svg>
1583
1584                        Resources                    </a>
1585                </li>
1586                            <li>
1587                    <a href="#get_started">
1588                        <svg class="table-of-contents-icon" xmlns="http://www.w3.org/2000/svg" width="9" height="17" viewBox="0 0 9 17" fill="none">
1589                            <path fill-rule="evenodd" clip-rule="evenodd" d="M8.5111 7.64901L1.70198 0.839898L0 2.54188L5.95813 8.5L0 14.4581L1.70198 16.1601L8.5111 9.35099C8.73675 9.12527 8.86351 8.81917 8.86351 8.5C8.86351 8.18084 8.73675 7.87473 8.5111 7.64901Z" fill="#00A398"/>
1590                        </svg>
1591
1592                        Get Started                    </a>
1593                </li>
1594                    </ul>
1595    </div>
1596</section>
1597
1598<script type="text/javascript">
1599document.addEventListener("DOMContentLoaded", () => {
1600    
1601    const toc = document.querySelector('.table-of-contents');
1602    const mobileHeader = toc.querySelector('.table-of-contents-mobile-header');
1603    const tableOfContentList = toc.querySelector('ul');
1604    const hashMatch = document.querySelector('.table-of-contents-list a[href="' + window.location.hash + '"]');
1605    
1606    let firstVisit = false;
1607	let originalTocPos = toc.getBoundingClientRect().top;
1608    let active;
1609	
1610    function removeActiveLink() {
1611        active.classList.remove('active');
1612        active = null;
1613    }
1614
1615    function setActiveLink(link) {
1616        if (active) removeActiveLink();
1617
1618        link.classList.add('active');
1619        active = link;
1620    }
1621
1622    function updateTableOfContents() {
1623        const sections = document.querySelectorAll("section[id]");
1624
1625        const observer = new IntersectionObserver((entries) => {
1626            entries.forEach(entry => {
1627                if (entry.isIntersecting) {
1628                    const targetId = entry.target.getAttribute("id");
1629                    let tableOfContentsMatch = document.querySelector('.table-of-contents-list a[href="#' + targetId + '"]');
1630
1631                    if (tableOfContentsMatch) {
1632                        setActiveLink(tableOfContentsMatch);
1633                    }
1634                }
1635            });
1636        }, {
1637            root: null, // Observe relative to viewport
1638            rootMargin: "0px 0px -10% 0px", // Adjust for earlier highlighting, reduced from -30% on aug 12
1639            threshold: 0.1 // Trigger when at least 50% of section is visible, reduced from 0.3 on aug 12
1640        });
1641
1642        sections.forEach(section => observer.observe(section));
1643    }
1644
1645   function checkPosition() {
1646	   
1647	   const wpadminbar = document.getElementById('wpadminbar');
1648	   
1649	   let scrollTop = document.documentElement.scrollTop;
1650	   
1651	   let scrollDistance = scrollTop + document.querySelector('.main-header').offsetHeight + 33;
1652	   
1653	   if (window.matchMedia("(min-width: 767px)").matches) {
1654		   scrollDistance = scrollTop + (window.innerHeight / 4);  
1655	   } 
1656	   
1657	   //if (wpadminbar) { scrollDistance += wpadminbar.offsetHeight; }
1658        
1659	   if (originalTocPos <= scrollDistance) {
1660		   toc.classList.add('fixed');
1661		   if (!firstVisit) {
1662			   firstVisit = true;
1663			   setTimeout(function () {
1664				   toc.classList.remove('default');
1665			   }, 250); //wayne requested, aug 12
1666		   }
1667	   } else {
1668		   toc.classList.remove('fixed');
1669	   }
1670        
1671       updateTableOfContents();
1672    }
1673
1674    if (hashMatch) { setActiveLink(hashMatch); }
1675
1676    mobileHeader.addEventListener('click', (e) => {
1677        e.preventDefault();
1678        tableOfContentList.classList.toggle('mobile-open');
1679    });
1680
1681    tableOfContentList.querySelectorAll('a').forEach((tableOfContentItem) => {
1682        tableOfContentItem.addEventListener('click', () => {
1683            if (tableOfContentList.classList.contains('mobile-open')) {
1684                tableOfContentList.classList.remove('mobile-open');
1685            }
1686        });
1687    });
1688
1689    window.addEventListener('scroll', checkPosition );
1690	
1691	window.addEventListener('load', checkPosition() );
1692							
1693});;
1694</script>
1694
1695
1696
1697
1698<div style="height:64px" aria-hidden="true" class="wp-block-spacer"></div>
1699
1700
1701
1702<style>.hidden-quick-links-grid { display: none; } </style>
1703
1704
1705
1706<section  class="quick-links-grid hidden-quick-links-grid">
1707    <div class="container modern">
1708        <div class="row"><div class="cell-lg-5">
1709                    <div class="qlg-heading pr-xl-90"><h2 class="h2">Discover Solutions for Reliable Product Compliance Data</h2></div>
1710                </div><div class="cell-lg-7">
1711                    <div class="row qlg-row"><div class="cell-sm-6 "><a href="https://www.assent.com/solutions/product-compliance/reach-compliance-solution/" class="qlg-box"><div class="qlg-content"><h3 class="h4">REACH</h3><p>Supply chain transparency needed for compliance.</p>
1712<span class="btn-link">REACH</span></div></a></div><div class="cell-sm-6 "><a href="https://www.assent.com/solutions/product-compliance/pfas/" class="qlg-box"><div class="qlg-content"><h3 class="h4">PFAS</h3><p>Identify PFAS in your supply chain and set yourself up for success.</p>
1713<span class="btn-link">PFAS</span></div></a></div><div class="cell-sm-6 "><a href="https://www.assent.com/solutions/product-compliance/scip-compliance-solution/" class="qlg-box"><div class="qlg-content"><h3 class="h4">SCIP</h3><p>Meet submission obligations with a deep view of your supply chain.</p>
1714<span class="btn-link">SCIP</span></div></a></div><div class="cell-sm-6 "><a href="https://www.assent.com/solutions/product-compliance/rohs-compliance-solution/" class="qlg-box"><div class="qlg-content"><h3 class="h4">RoHS</h3><p>Deep-map your supply chain to streamline compliance.</p>
1715<span class="btn-link">RoHS</span></div></a></div><div class="cell-sm-6 "><a href="https://www.assent.com/solutions/product-compliance/tsca-compliance-solution/" class="qlg-box"><div class="qlg-content"><h3 class="h4">TSCA</h3><p>Grow better with Assent’s TSCA compliance solution.</p>
1716<span class="btn-link">TSCA</span></div></a></div><div class="cell-sm-6 "><a href="https://www.assent.com/solutions/product-compliance/prop-65-compliance-solution/" class="qlg-box"><div class="qlg-content"><h3 class="h4">Proposition 65</h3><p>Uncover deep supply chain data to meet labeling requirements.</p>
1717<span class="btn-link">Proposition 65</span></div></a></div><div class="cell-sm-6 hidden"><a href="https://www.assent.com/solutions/product-compliance/epr-packaging/" class="qlg-box"><div class="qlg-content"><h3 class="h4">EPR Packaging</h3><p>Collect packaging data, estimate fees and generate EPR compliance-ready reports.</p>
1718<span class="btn-link">EPR Packaging</span></div></a></div><div class="cell-sm-6 hidden"><a href="https://www.assent.com/solutions/product-compliance/full-material-declaration/" class="qlg-box"><div class="qlg-content"><h3 class="h4">Full Materials Disclosures</h3><p>Learn how we use FMDs to deep-map the entire complex manufacturing genome.</p>
1719<span class="btn-link">Full Materials Disclosures</span></div></a></div><div class="cell-sm-6 hidden"><a href="https://www.assent.com/solutions/product-compliance/ad-dsl/" class="qlg-box"><div class="qlg-content"><h3 class="h4">AD-DSL</h3><p>Our AD-DSL solution provides the missing foundation you need for compliance.</p>
1720<span class="btn-link">AD-DSL</span></div></a></div><div class="cell-sm-6 hidden"><a href="https://www.assent.com/solutions/product-compliance/eu-mdr-compliance/" class="qlg-box"><div class="qlg-content"><h3 class="h4">EU Medical Device Regulation</h3><p>See the EU MDR solution and how it helps you uncover hidden compliance risks.</p>
1721<span class="btn-link">EU Medical Device Regulation</span></div></a></div><div class="cell-sm-6 hidden"><a href="https://www.assent.com/solutions/product-compliance/dfars-compliance-solution/" class="qlg-box"><div class="qlg-content"><h3 class="h4">DFARS Specialty Metals</h3><p>Our solution will give you transparency needed to meet your DFARS requirements .</p>
1722<span class="btn-link">DFARS Specialty Metals</span></div></a></div></div>
1723                </div><button type="button" 
1724				data-open-text="See Less -"
1725				data-close-text="See All Solutions +"
1726				class="display_all_btn">See All Solutions +</button></div>
1727    </div></section>
1728
1729
1730
1731<!-- Fifty Fifty Promo -->
1732        <section class="fifty-fifty-promo elem-viewport " id="overview"><div class="container simple"><div class="row media-right"><div class="cell-lg-6"><div class="promo-media"><div class="promo-image">
1733                                        <img decoding="async" src="https://www.assent.com/wp-content/uploads/2022/02/Assent_stockImage_CustomerImpact-cables-wires.jpg" alt="Electrical employee examining wires in factory setting">
1734                                    </div></div></div>
1735                    <div class="cell-lg-6"><div class="promo-content"><div class="eyebrow-text">Overview</div><h2 class="h2">The #1 Hidden Risk For Complex Manufacturers</h2><div class="promo-wysiwyg default"><p>Compliance with regional laws is key to maintaining market access and protecting your company’s revenue and reputation. But regulations constantly evolve and keeping up with substance lists and requirements drains resources — resources many companies need elsewhere.</p>
1736<p>Learn more about recent enforcement actions that demonstrate why proactive compliance is a business must.</p>
1737</div><a href="https://www.assent.com/resources/enforcement-actions/" target="" class="btn">Recent Enforcements</a></div></div>
1738                </div></div>
1739        </section>
1740
1741
1742<div style="height:75px" aria-hidden="true" class="wp-block-spacer"></div>
1743
1744
1745<!-- Logo Promo -->
1746    <section class="logo-promo " id="customers">
1747        <div class="container">
1748            <div class="sec-heading text-center"><h2>Our Customers</h2><div class="desc"><p>Assent helps over 1,250 companies. We’re proud to work with the following organizations.</p>
1749</div></div><div class="logo-promo-outer">
1749<div class="logo-promo-wrap" data-slider="logo-promo-slider"><div class="logo-item"><div class="logo-item-inner"><img decoding="async" src="https://www.assent.com/wp-content/uploads/2024/10/abb-logo.jpg" 
1750										   width="333"
1751										   height="251"
1752										   loading="lazy" 
1753										   alt="ABB Group"></div></div><div class="logo-item"><div class="logo-item-inner"><img decoding="async" src="https://www.assent.com/wp-content/uploads/2024/10/big-hondacorplogo2.jpg" 
1754										   width="450"
1755										   height="238"
1756										   loading="lazy" 
1757										   alt="Honda Logo"></div></div><div class="logo-item"><div class="logo-item-inner"><img decoding="async" src="https://www.assent.com/wp-content/uploads/2023/07/General_Electric-e1721931700826.png" 
1758										   width="139"
1759										   height="57"
1760										   loading="lazy" 
1761										   alt="General Electric"></div></div><div class="logo-item"><div class="logo-item-inner"><img decoding="async" src="https://www.assent.com/wp-content/uploads/2023/07/Boeing.png" 
1762										   width="139"
1763										   height="78"
1764										   loading="lazy" 
1765										   alt="Boeing"></div></div><div class="logo-item"><div class="logo-item-inner"><img decoding="async" src="https://www.assent.com/wp-content/uploads/2023/07/Baxter.png" 
1766										   width="179"
1767										   height="30"
1768										   loading="lazy" 
1769										   alt="Baxter"></div></div><div class="logo-item"><div class="logo-item-inner"><img decoding="async" src="https://www.assent.com/wp-content/uploads/2023/07/Energizer.png" 
1770										   width="157"
1771										   height="42"
1772										   loading="lazy" 
1773										   alt="Energizer"></div></div><div class="logo-item"><div class="logo-item-inner"><img decoding="async" src="https://www.assent.com/wp-content/uploads/2023/07/Johnson_Johnson.png" 
1774										   width="179"
1775										   height="32"
1776										   loading="lazy" 
1777										   alt="Johnson &#038; Johnson"></div></div><div class="logo-item"><div class="logo-item-inner"><img decoding="async" src="https://www.assent.com/wp-content/uploads/2023/07/Cardinal_Health.png" 
1778										   width="192"
1779										   height="70"
1780										   loading="lazy" 
1781										   alt="Cardinal Health"></div></div><div class="logo-item"><div class="logo-item-inner"><img decoding="async" src="https://www.assent.com/wp-content/uploads/2023/07/Honeywell.png" 
1782										   width="158"
1783										   height="89"
1784										   loading="lazy" 
1785										   alt="Honeywell"></div></div><div class="logo-item"><div class="logo-item-inner"><img decoding="async" src="https://www.assent.com/wp-content/uploads/2023/07/RR.png" 
1786										   width="57"
1787										   height="70"
1788										   loading="lazy" 
1789										   alt="Rolls Royce"></div></div><div class="logo-item"><div class="logo-item-inner"><img decoding="async" src="https://www.assent.com/wp-content/uploads/2023/07/Netgear.png" 
1790										   width="168"
1791										   height="25"
1792										   loading="lazy" 
1793										   alt="Netgear"></div></div><div class="logo-item"><div class="logo-item-inner"><img decoding="async" src="https://www.assent.com/wp-content/uploads/2023/07/Jaguar_Landrover.png" 
1794										   width="192"
1795										   height="58"
1796										   loading="lazy" 
1797										   alt="Jaguar Landrover"></div></div><div class="logo-item"><div class="logo-item-inner"><img decoding="async" src="https://www.assent.com/wp-content/uploads/2023/07/Imax.png" 
1798										   width="178"
1799										   height="34"
1800										   loading="lazy" 
1801										   alt="Imax"></div></div><div class="logo-item"><div class="logo-item-inner"><img decoding="async" src="https://www.assent.com/wp-content/uploads/2023/07/Polaris.png" 
1802										   width="192"
1803										   height="108"
1804										   loading="lazy" 
1805										   alt="Polaris"></div></div><div class="logo-item"><div class="logo-item-inner"><img decoding="async" src="https://www.assent.com/wp-content/uploads/2023/07/Toshiba.png" 
1806										   width="196"
1807										   height="61"
1808										   loading="lazy" 
1809										   alt="Toshiba"></div></div></div></div></div>
1810    </section>
1811
1812
1813<div style="height:75px" aria-hidden="true" class="wp-block-spacer"></div>
1814
1815
1816
1817<section  class="quick-links-grid">
1818    <div class="container ">
1819        <div class="row"><div class="cell-lg-5">
1820                    <div class="qlg-heading pr-xl-90"><h2 class="h2">Reveal Risks &#038; Opportunities</h2><p>Go beyond “check-box compliance” to meet or exceed regulatory requirements down to the parts of parts and suppliers of suppliers level.</p>
1821</div>
1822                </div><div class="cell-lg-7">
1823                    <div class="row qlg-row"><div class="cell-sm-6 "><div class="qlg-box"><div class="qlg-content"><h3 class="h4">Protect Revenue</h3><p>Ensure access to the markets you want to do business in with a documented, auditable compliance program.</p>
1824</div></div></div><div class="cell-sm-6 "><div class="qlg-box"><div class="qlg-content"><h3 class="h4">Reduce Disruptions</h3><p>Avoid supply chain disruptions caused by parts or suppliers that aren’t compliant with global regulations.</p>
1825</div></div></div><div class="cell-sm-6 "><div class="qlg-box"><div class="qlg-content"><h3 class="h4">Streamline Operations</h3><p>Focus your resources where they do the most good and leave the data gathering and analysis to us — with 24/7 support, 365 days a year.</p>
1826</div></div></div><div class="cell-sm-6 "><div class="qlg-box"><div class="qlg-content"><h3 class="h4">Level Up Your Suppliers</h3><p>Build a sustainable, prepared, and educated supply chain through expert-led, multi-lingual supplier training.</p>
1827</div></div></div></div>
1828                </div></div>
1829    </div></section>
1830
1831
1832
1833
1834<div style="height:75px" aria-hidden="true" class="wp-block-spacer"></div>
1835
1836
1837<section class="premium-resource-promo elem-viewport"  id="guide" data-theme="light">
1838        <div class="container">
1839            <div class="tab-wrap only-first">
1840                <div class="tab-body"><div class="row align-items-center is-active" data-tab-id="prp-1">
1841                            <div class="cell-md-5 resource-img">
1842                                <div class="resource-img-inner"><div class="figure-wrap"><figure><img decoding="async" class="no-lazyload" src="https://www.assent.com/wp-content/uploads/2022/02/Assent_stockImage_CustomerImpact-landclearing-worker.jpeg" alt="Industrial employee looking out over construction site"></figure></div><div class="stat-1"></div><div class="stat-2"></div></div>
1843                            </div>
1844                            <div class="cell-md-7 resource-content ">
1845                                <div class="desc-inner"><div class="eyebrow-text">Guide</div><h2>The Assent Supply Chain Sustainability Platform</h2><p>Assent’s platform gives manufacturers deep visibility into their supply chains. It supports the collection, management, and analysis of data for a variety of product compliance requirements — including REACH, RoHS, TSCA, and more. Find out how.</p>
1846<a href="/resources/guide/platform-enterprise/" class="btn " target="">Get the Guide</a></div>
1847                            </div>
1848                        </div></div><div class="tab-header"></div>
1849            </div>
1850        </div>
1851    </section>
1852
1853
1854<div style="height:75px" aria-hidden="true" class="wp-block-spacer"></div>
1855
1856
1857
1858<p class="wp-block-paragraph"></p>
1859
1860
1861<section class="tabbed-content "  id="capabilities">
1862    <div class="container"><div class="sec-heading text-center"><h2>Our Product Compliance Solution Built For Complex Manufacturers</h2></div><div class="tc-wrap">
1863            <div class="row">
1864                <div class="cell-md-6 pr-xl-50"><div class="tc-links d-md-block d-none"><div class="tc-tab-title d-flex flex-nowrap align-items-center"><h5 class="h5">The Depth Complex Manufacturers Demand</h5></div><div class="tc-tab-title d-flex flex-nowrap align-items-center"><h5 class="h5">Data You Can Trust </h5></div><div class="tc-tab-title d-flex flex-nowrap align-items-center"><h5 class="h5">A Single, Future-Proof Platform</h5></div></div><div class="tc-links-mobile d-md-none d-block">
1865                        <div class="tc-slider"><div class="tc-tab-title d-flex flex-nowrap align-items-center"><h5 class="h5">The Depth Complex Manufacturers Demand</h5></div><div class="tc-tab-title d-flex flex-nowrap align-items-center"><h5 class="h5">Data You Can Trust </h5></div><div class="tc-tab-title d-flex flex-nowrap align-items-center"><h5 class="h5">A Single, Future-Proof Platform</h5></div></div>
1866                    </div></div>
1867                <div class="cell-md-6 pr-xl-50"><div class="tc-right-wrap"><div class="tc-right pl-xl-50" id="tc-tab1"><h4 class="h4">The Depth Complex Manufacturers Demand</h4><div class="tc-content"><p>A Complex Manufacturing-Centric Approach: Handle large amounts of data across business silos.</p>
1868<p>A Smarter Supply Network: Make better decisions with data gathered using effective supplier engagement in 11 languages.</p>
1869<p>Robust Support: Get ongoing assistance with supplier outreach, data collection, training, support, and more.</p>
1870<p>Expertise &amp; Resources: A full range of managed services, guidance, and thought leadership materials to support your program.</p>
1871</div></div><div class="tc-right pl-xl-50" id="tc-tab2"><h4 class="h4">Data You Can Trust </h4><div class="tc-content"><p>Assent Sustainability Network: We already work with many of your suppliers, meaning product compliance data is readily available.</p>
1872<p>Deep-Mapping: We give you deep visibility into your supply chain so you can better understand what goes into your product and map it against global regulatory requirements.</p>
1873<p>Automated &amp;
1873 Streamlined: Minimize supplier fatigue and duplicated efforts.</p>
1874<p>Risk Scoring: Dashboards identify high-risk parts and suppliers.</p>
1875</div></div><div class="tc-right pl-xl-50" id="tc-tab3"><h4 class="h4">A Single, Future-Proof Platform</h4><div class="tc-content"><p>A Strong Data Foundation: Organize parts data in one central database.</p>
1876<p>Proactive: Ready to respond to new regulations, suppliers, products, and markets.</p>
1877<p>Scalable: Keeps pace as your company grows.</p>
1878</div></div></div></div>                
1879            </div>                
1880        </div>
1881
1882    </div>
1883</section>
1884
1885
1886<div style="height:75px" aria-hidden="true" class="wp-block-spacer"></div>
1887
1888
1889<!-- Fifty Fifty Promo -->
1890        <section class="fifty-fifty-promo elem-viewport " id="assent_advantage"><div class="container branded"><div class="row "><div class="cell-lg-6"><div class="promo-media"><div class="promo-image">
1891                                        <img decoding="async" src="https://www.assent.com/wp-content/uploads/2022/02/highlights-1500x1000-1-e1645929022931.png" alt="A screenshot representation of the Assent Platform">
1892                                    </div></div></div>
1893                    <div class="cell-lg-6"><div class="promo-content"><div class="eyebrow-text">Why Assent</div><h2 class="h2">The Assent Advantage</h2><div class="promo-wysiwyg styled"><p>See deeper, be smarter, and grow better with Assent. We have the only supply chain sustainability management platform built specifically for complex manufacturers. When product compliance requirements change, our software triggers the need for additional data collection, and our managed services include support and outreach in local languages and time zones.</p>
1894</div><a href="/why-assent/" target="" class="btn">Why Assent</a></div></div>
1895                </div></div>
1896        </section>
1897
1898
1899<div style="height:75px" aria-hidden="true" class="wp-block-spacer"></div>
1900
1901
1902
1903<!-- CTA Banner --><section class="cta-banner elem-viewport gradient3">
1904                <div class="container">
1905                    <div class="cta-banner-wrap"  >
1906                        <div class="row">
1907                            <div class="cell-lg-9">
1908                                <div class="cta-banner-content"><h2 class="h2">Get Product Compliance Right</h2><p>Look deeper into your supply chain. The Assent platform goes beyond “check-box compliance” so you can exceed your regulatory requirements, right down to parts of parts and suppliers of suppliers.</p>
1909</div>
1910                            </div>
1911                            <div class="cell-lg-3 d-flex align-items-center justify-content-center"><a href="/capabilities/platform/" class="btn -white " target="">Explore the Platform</a></div>
1912                        </div>
1913                    </div>
1914                </div>
1915            </section>
1916<style>
1917    @media (max-width: 991px) {
1918        .cta-banner.image-on-right {
1919            text-align: center;
1920        }
1921
1922        .cta-banner.gradient2 .align-items-center.justify-content-center {
1923            justify-content: center;
1924        }
1925
1926        .cta-banner.gradient3 .align-items-center.justify-content-center {
1927            justify-content: center;
1928        }
1929    }
1930</style>
1931
1932
1933<div style="height:75px" aria-hidden="true" class="wp-block-spacer"></div>
1934
1935
1936
1937<!-- Four Card Promo -->
1938<section class="card-promo" id="resources">
1939    <div class="container">
1940        <div class="sec-heading text-center"><h2>Solutions for Product Compliance</h2><div class="desc"><p>Explore our solutions for getting standardized, validated, and usable product compliance data from your supply chain.</p>
1941</div></div>
1942        <!--  class --><div class="card-promo-row row-style2"><div class="card-item">
1943                    <a  href="/solutions/product-compliance/scip-compliance-solution/" target=""  class="card-inner">
1944                        <div class="card-header"><div class="card-title">
1945                                    <h5>Simplify SCIP Requirements</h5>
1946                                </div></div>
1947                        <div class="card-body"><p>Meet your SCIP obligations and other related requirements. See how Assent can make SCIP submissions more simple.</p>
1948</div>
1949                    </a>
1950                </div><div class="card-item">
1951                    <a  href="/solutions/product-compliance/rohs-compliance-solution/" target=""  class="card-inner">
1952                        <div class="card-header"><div class="card-title">
1953                                    <h5>Streamline RoHS Compliance</h5>
1954                                </div></div>
1955                        <div class="card-body"><p>Learn more about how Assent deep-maps your supply chain to streamline RoHS compliance.</p>
1956</div>
1957                    </a>
1958                </div><div class="card-item">
1959                    <a  href="/solutions/product-compliance/tsca-compliance-solution/" target=""  class="card-inner">
1960                        <div class="card-header"><div class="card-title">
1961                                    <h5>Automate TSCA Compliance</h5>
1962                                </div></div>
1963                        <div class="card-body"><p>Grow better with Assent’s product compliance platform, automating your TSCA program.</p>
1964</div>
1965                    </a>
1966                </div><div class="card-item">
1967                    <a  href="/solutions/product-compliance/prop-65-compliance-solution/" target=""  class="card-inner">
1968                        <div class="card-header"><div class="card-title">
1969                                    <h5>
1969Proposition 65 Compliance</h5>
1970                                </div></div>
1971                        <div class="card-body"><p>See how Assent’s SaaS platform will help you collect the deep data you need to comply with Proposition 65.</p>
1972</div>
1973                    </a>
1974                </div><div class="card-item">
1975                    <a  href="/solutions/product-compliance/reach-compliance-solution/" target=""  class="card-inner">
1976                        <div class="card-header"><div class="card-title">
1977                                    <h5>Get REACH Compliant</h5>
1978                                </div></div>
1979                        <div class="card-body"><p>Discover more about your REACH requirements, and how Assent will help you create the supply chain transparency you need.</p>
1980</div>
1981                    </a>
1982                </div><div class="card-item">
1983                    <a  href="/solutions/product-compliance/pfas/" target=""  class="card-inner">
1984                        <div class="card-header"><div class="card-title">
1985                                    <h5>PFAS Reporting</h5>
1986                                </div></div>
1987                        <div class="card-body"><p>Solutions to identify PFAS in your supply chain, meet reporting requirements, and maintain market access.</p>
1988</div>
1989                    </a>
1990                </div></div></div>
1991</section>
1992
1993
1994<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>
1995
1996
1997<section class="card-grid-comp elem-viewport "  data-theme="dark">
1998        <div class="container">
1999            <div class="sec-heading text-center inner-text-white"><h2>Industry Solutions for Complex Manufacturing</h2><div class="desc"><p>Discover how our automated supply chain sustainability management solutions help complex manufacturers see deeper, be smarter, and grow better. </p>
2000</div> </div><div class="row justify-content-center card-box-wrap"><div class="cell-lg-6 card-box"><a href="/solutions/industry/electronics-supply-chain/" target="_self" class="card-box-inner"><div class="desc"><h5 class="title">Electronic Industry Solution</h5><p>Find solutions to deep-map your electronics supply chain. Learn more about Assent’s platform and how we support your business growth goals.</p>
2001<span class="btn-link">Electronics Solution</span></div><figure>
2002                                <img decoding="async" src="https://www.assent.com/wp-content/uploads/2022/02/Assent_stockImage_CustomerImpact_electronics-microchips-stacked-e1652375198760.jpg" alt="Rows of microchips">
2003                            </figure></a></div><div class="cell-lg-6 card-box"><a href="/solutions/industry/industrial-supply-chain-solutions/" target="_self" class="card-box-inner"><div class="desc"><h5 class="title">Industrial Equipment Solution</h5><p>Assent helps industrial equipment manufacturers grow better by allowing you to see deep into your supply chain.</p>
2004<span class="btn-link">Industrial Equipment Solution</span></div><figure>
2005                                <img decoding="async" src="https://www.assent.com/wp-content/uploads/2022/02/Assent_stockImage_CustomerImpact-silver-rings.jpeg" alt="Close-up on box of silver washers">
2006                            </figure></a></div><div class="cell-lg-6 card-box"><a href="/solutions/industry/medical-devices-supply-chain/" target="_self" class="card-box-inner"><div class="desc"><h5 class="title">Complete Medical Supply Chain Tools</h5><p>View Assent’s medical device supply chain solution.</p>
2007<span class="btn-link">Medical Devices Solution</span></div><figure>
2008                                <img decoding="async" src="https://www.assent.com/wp-content/uploads/2022/02/Assent_stockImage_CustomerImpact_medical-heart-monitors-machines-e1652375220418.jpg" alt="Several rows of heart monitoring medical devices">
2009                            </figure></a></div><div class="cell-lg-6 card-box"><a href="/solutions/industry/aerospace-supply-chain/" target="_self" class="card-box-inner"><div class="desc"><h5 class="title">Aerospace &#038; Defense Solution</h5><p>Assent’s Aerospace and defense solutions are built by experts with decades of experience in the industry. See for yourself. </p>
2010<span class="btn-link">Aerospace and Defense Solution</span></div><figure>
2011                                <img decoding="async" src="https://www.assent.com/wp-content/uploads/2022/02/Assent_stockImage_CustomerImpact-propeller-closeup-–-2.jpeg" alt="Close-up view of a plane's propeller">
2012                            </figure></a></div></div></div>
2013    </section>
2014
2015
2016<div style="height:75px" aria-hidden="true" class="wp-block-spacer"></div>
2017
2018
2019<section class="related-resource-comp classic" >
2020    <div class="container">
2021        <div class="sec-heading text-center"><h2>Related Product Compliance Resources</h2></div><div class="row-wrapper"><div class="row justify-content-center"><div class="cell-lg-4 cell-sm-6 resource"><div class="resource-inner"><figure><a href="https://www.assent.com/blog/distributors-better-sourcing-decisions-product-intelligence/" aria-label="Distributors: Better Sourcing Decisions Begin With Product Intelligence"><img decoding="async" src="https://www.assent.com/wp-content/uploads/2026/03/Blog-Image_Reach-Enforcement.webp" alt="Two compliance professionals in a warehouse."></a></figure><div class="desc"><div class="desc-inner"><div class="cat-and-name"><span class="cat"><a class="cat-link" href="https://www.assent.com/category/blog/">Blog</a></span><a href="https://www.assent.com/author/azizat-olayanju/" class="author" data-time="7"><div class="img-wrap"><img decoding="async" src="https://www.assent.com/wp-content/uploads/2026/08/Azizat-Olayanju.webp" alt="Azizat Olayanju"></div><span>Azizat Olayanju</span></a></div><h4><a href="https://www.assent.com/blog/distributors-better-sourcing-decisions-product-intelligence/">Distributors: Better Sourcing Decisions Begin With Product Intelligence</a></h4><p>Learn why distributors need product intelligence to connect critical data for smarter sourcing decisions and improved business efficie
2021ncy.</p></div><div class="tag-wrap"><a rel="nofollow" class="tag-link" href="?pager=1&#038;filter=1&#038;tag[]=assent-sustainability-platform&#038;search_text=&#038;filter_order=">Assent Network</a><a rel="nofollow" class="tag-link" href="?pager=1&#038;filter=1&#038;tag[]=product-compliance&#038;search_text=&#038;filter_order=">Product Compliance</a><a rel="nofollow" class="tag-link" href="?pager=1&#038;filter=1&#038;tag[]=product-intelligence&#038;search_text=&#038;filter_order=">Product Intelligence</a></div></div></div></div><div class="cell-lg-4 cell-sm-6 resource"><div class="resource-inner"><figure><a href="https://www.assent.com/blog/ten-years-in-amsterdam-where-were-going-from-here/" aria-label="Ten Years in Amsterdam: Where We&#8217;re Going From Here"><img decoding="async" src="https://www.assent.com/wp-content/uploads/2026/08/Web_Blog-european-union-flag-waving-in-front-of-building-2026-03-13-04-15-42-utc.jpg" alt="The European Union flag waving outside a building."></a></figure><div class="desc"><div class="desc-inner"><div class="cat-and-name"><span class="cat"><a class="cat-link" href="https://www.assent.com/category/blog/">Blog</a></span><a href="https://www.assent.com/author/anton-obbens/" class="author" data-time="4"><div class="img-wrap"><img decoding="async" src="https://www.assent.com/wp-content/uploads/2026/08/Anton-Obbens.webp" alt="Anton Obbens"></div><span>Anton Obbens</span></a></div><h4><a href="https://www.assent.com/blog/ten-years-in-amsterdam-where-were-going-from-here/">Ten Years in Amsterdam: Where We&#8217;re Going From Here</a></h4><p>Learn how product intelligence from Assent and IPOINT empowers companies in automotive and manufacturing industries.</p></div><div class="tag-wrap"><a rel="nofollow" class="tag-link" href="?pager=1&#038;filter=1&#038;tag[]=assent-sustainability-platform&#038;search_text=&#038;filter_order=">Assent Network</a><a rel="nofollow" class="tag-link" href="?pager=1&#038;filter=1&#038;tag[]=product-compliance&#038;search_text=&#038;filter_order=">Product Compliance</a><a rel="nofollow" class="tag-link" href="?pager=1&#038;filter=1&#038;tag[]=product-intelligence&#038;search_text=&#038;filter_order=">Product Intelligence</a></div></div></div></div><div class="cell-lg-4 cell-sm-6 resource"><div class="resource-inner"><figure><a href="https://www.assent.com/resources/infographic/the-supply-chain-data-foundation-that-streamlines-your-compliance-process/" aria-label="The Supply Chain Data Foundation That Streamlines Your Compliance Process"><img decoding="async" src="https://www.assent.com/wp-content/uploads/2026/08/Web_Hero_Image-shipping-container-ocean-trade-compliance-aerial-view-resize-1208186874.webp" alt=""></a></figure><div class="desc"><div class="desc-inner"><div class="cat-and-name"><span class="cat"><a class="cat-link" href="https://www.assent.com/category/infographic/">Infographic</a></span></div><h4><a href="https://www.assent.com/resources/infographic/the-supply-chain-data-foundation-that-streamlines-your-compliance-process/">The Supply Chain Data Foundation That Streamlines Your Compliance Process</a></h4><p>Discover the five pillars of a supply chain data foundation, and how Assent helps improve data quality, reduce risk, and stay compliant.</p></div><div class="tag-wrap"><a rel="nofollow" class="tag-link" href="?pager=1&#038;filter=1&#038;tag[]=product-compliance&#038;search_text=&#038;filter_order=">Product Compliance</a><a rel="nofollow" class="tag-link" href="?pager=1&#038;filter=1&#038;tag[]=supply-chain-data&#038;search_text=&#038;filter_order=">supply chain data</a></div></div></div></div></div></div></div>
2022</section>
2023
2024	<section class="two-column-form elem-viewport default  blue call-to-action "  id="get_started">
2025		
2026				
2027		<div class="container">
2028			<div class="row">
2029				<div class="cell-lg-7 mb-lg-0 mb-30">
2030					<div class="tcf-content bullet-check pr-xxl-90 pr-lg-30">
2031						<div class="eyebrow-text">Book a Live Demo</div>						<H2>See Deeper, Be Smarter, Grow Better</H2>												<div class="tcf-content-desc"><p>See why our supply chain sustainability platform is the number one choice for the world’s most sustainable complex manufacturers looking to solve product compliance.</p>
2032</div>											</div>
2033				</div>
2034				<div class="cell-lg-5 d-lg-flex align-items-center"> 
2035					<div class="tcf-wrap pl-xl-50">
2036												<input type="hidden" id="form_nonce" name="form_nonce" value="53eca0c35d" /><input type="hidden" name="_wp_http_referer" value="/solutions/product-compliance/" /><!-- FormComplete General demo -->
2037<form name="demoForm" action="/form-handler" class="form--wrap" data-handler="pardotForm21" method="post" data-formtype="demo" onsubmit = "return demoFunction(this);" class="general-demo" id="fc_generaldemo">
2038
2039  <p class="form-field  email pd-text required">
2040    <label class="field-label" for="Email">Business Email*</label>
2041    <input type="email" name="Email" id="pardot_email" value="" class="text" size="30" maxlength="255" onchange="" onfocus="" required="">
2042  </p>
2043
2044
2045  <p class="form-field  first_name pd-text required half">      
2046    <label class="field-label" for="FirstName">First Name*</label>
2047    <input type="text" name="FirstName" id="pardot_firstname" value="" class="text" size="30" maxlength="40" onchange="" onfocus="" required=""> 
2048  </p>
2049      
2050  <p class="form-field  last_name pd-text required half">
2051    <label class="field-label" for="LastName">Last Name*</label>
2052    <input type="text" name="LastName" id="pardot_lastname" value="" class="text" size="30" maxlength="80" onchange="" onfocus="" required="">
2053  </p>
2054
2055  <p class="form-field  company pd-text required half">
2056    <label class="field-label" for="Company">Company*</label>
2057    <input type="text" name="Company" id="pardot_company" value="" class="text" size="30" maxlength="255" onchange="" onfocus="" required="">
2058  </p>
2059
2060  <p class="form-field phone pd-text half">
2061    <label class="field-label" for="Phone">Phone</label>
2062    <input type="text" name="Phone" id="pardot_phone" value="" class="text" size="30" maxlength="255" onchange="" onfocus="">
2063  </p>
2064
2065  <p class="form-field  job_title pd-text required half">
2066    <label class="field-label" for="Title">Job Title*</label>
2067    <input type="text" name="Title" id="pardot_job_title" value="" class="text" size="30" maxlength="255" onchange="" onfocus="" required="">
2068  </p>
2069    
2070  <p class="form-field  country pd-text form-field-primary">
2071    <!-- <label class="field-label" for="Country_L">Country</label> -->
2072    <select name="Country" id="pardot_country" required>
2073      <option value='' selected disabled>Country*</option>
2074      <option value='Afghanistan'>Afghanistan</option>
2075      <option value='Algeria'>Algeria</option>
2076      <option value='Angola'>Angola</option>
2077      <option value='Argentina'>Argentina</option>
2078      <option value='Armenia'>Armenia</option>
2079      <option value='Australia'>Australia</option>
2080      <option value='Austria'>Austria</option>
2081      <option value='Bahamas'>Bahamas</option>
2082      <option value='Bangladesh'>Bangladesh</option>
2083      <option value='Belgium'>Belgium</option>
2084      <option value='Belize'>Belize</option>
2085      <option value='Benin'>Benin</option>
2086      <option value='Bermuda'>Bermuda</option>
2087      <option value='Bolivia'>Bolivia</option>
2088      <option value='Brazil'>Brazil</option>
2089      <option value='Bulgaria'>Bulgaria</option>
2090      <option value='Cameroon'>Cameroon</option>
2091      <option value='Canada'>Canada</option>
2092      <option value='Chile'>Chile</option>
2093      <option value='China'>China</option>
2094      <option value='Colombia'>Colombia</option>
2095      <option value='Congo'>Congo</option>
2096      <option value='Costa Rica'>Costa Rica</option>
2097      <option value='Croatia'>Croatia</option>
2098      <option value='Cuba'>Cuba</option>
2099      <option value='Cyprus'>Cyprus</option>
2100      <option value='Czech Republic'>Czech Republic</option>
2101      <option value='Czechia'>Czechia</option>
2102      <option value='Denmark'>Denmark</option>
2103      <option value='Ecuador'>Ecuador</option>
2104      <option value='Egypt'>Egypt</option>
2105      <option value='El Salvador'>El Salvador</option>
2106      <option value='Estonia'>Estonia</option>
2107      <option value='Finland'>Finland</option>
2108      <option value='France'>France</option>
2109      <option value='Germany'>Germany</option>
2110      <option value='Ghana'>Ghana</option>
2111      <option value='Greece'>Greece</option>
2112      <option value='Guatemala'>Guatemala</option>
2113      <option value='Haiti'>Haiti</option>
2114      <option value='Hong Kong'>Hong Kong</option>
2115      <option value='Hungary'>
2115Hungary</option>
2116      <option value='Iceland'>Iceland</option>
2117      <option value='India'>India</option>
2118      <option value='Indonesia'>Indonesia</option>
2119      <option value='Iran'>Iran</option>
2120      <option value='Ireland'>Ireland</option>
2121      <option value='Israel'>Israel</option>
2122      <option value='Italy'>Italy</option>
2123      <option value='Jamaica'>Jamaica</option>
2124      <option value='Japan'>Japan</option>
2125      <option value='Kazakhstan'>Kazakhstan</option>
2126      <option value='Kenya'>Kenya</option>
2127      <option value='Kuala Lumpur'>Kuala Lumpur</option>
2128      <option value='Kuwait'>Kuwait</option>
2129      <option value='Latvia'>Latvia</option>
2130      <option value='Lebanon'>Lebanon</option>
2131      <option value='Libya'>Libya</option>
2132      <option value='Liechtenstein'>Liechtenstein</option>
2133      <option value='Lithuania'>Lithuania</option>
2134      <option value='London'>London</option>
2135      <option value='Luxembourg'>Luxembourg</option>
2136      <option value='Macao'>Macao</option>
2137      <option value='Madagascar'>Madagascar</option>
2138      <option value='Malawi'>Malawi</option>
2139      <option value='Malaysia'>Malaysia</option>
2140      <option value='Mauritius'>Mauritius</option>
2141      <option value='Mexico'>Mexico</option>
2142      <option value='Mongolia'>Mongolia</option>
2143      <option value='Morocco'>Morocco</option>
2144      <option value='Netherlands'>Netherlands</option>
2145      <option value='New Zealand'>New Zealand</option>
2146      <option value='Nicaragua'>Nicaragua</option>
2147      <option value='Nigeria'>Nigeria</option>
2148      <option value='Norway'>Norway</option>
2149      <option value='Oman'>Oman</option>
2150      <option value='Pakistan'>Pakistan</option>
2151      <option value='Panama'>Panama</option>
2152      <option value='Papua New Guinea'>Papua New Guinea</option>
2153      <option value='Paraguay'>Paraguay</option>
2154      <option value='Peru'>Peru</option>
2155      <option value='Philippines'>Philippines</option>
2156      <option value='Poland'>Poland</option>
2157      <option value='Portugal'>Portugal</option>
2158      <option value='Qatar'>Qatar</option>
2159      <option value='Romania'>Romania</option>
2160      <option value='Russia'>Russia</option>
2161      <option value='Russian Federation'>Russian Federation</option>
2162      <option value='Saint Kitts and Nevis'>Saint Kitts and Nevis</option>
2163      <option value='Saudi Arabia'>Saudi Arabia</option>
2164      <option value='Senegal'>Senegal</option>
2165      <option value='Slovakia'>Slovakia</option>
2166      <option value='Slovenia'>Slovenia</option>
2167        <option value='Singapore'>Singapore</option>
2168      <option value='South Africa'>South Africa</option>
2169      <option value='South Korea'>South Korea</option>
2170      <option value='Spain'>Spain</option>
2171      <option value='Sri Lanka'>Sri Lanka</option>
2172      <option value='Suriname'>Suriname</option>
2173      <option value='Sweden'>Sweden</option>
2174      <option value='Switzerland'>Switzerland</option>
2175      <option value='Syria'>Syria</option>
2176      <option value='Taiwan'>Taiwan</option>
2177      <option value='Tanzania'>Tanzania</option>
2178      <option value='Thailand'>Thailand</option>
2179      <option value='Trinidad and Tobago'>Trinidad and Tobago</option>
2180      <option value='Tunisia'>Tunisia</option>
2181      <option value='Turkey'>Turkey</option>
2182      <option value='Uganda'>Uganda</option>
2183      <option value='Ukraine'>Ukraine</option>
2184      <option value='United Arab Emirates'>United Arab Emirates</option>
2185      <option value='United Kingdom'>United Kingdom</option>
2186      <option value='United States of America'>United States of America</option>
2187      <option value='Uzbekistan'>Uzbekistan</option>
2188      <option value='Vietnam'>Vietnam</option>
2189      <option value='Zambia'>Zambia</option>
2190      <option value='Zimbabwe'>Zimbabwe</option>
2191    </select>
2192  </p>
2193      
2194  <p class="form-field  utm_campaign pd-hidden  hidden   ">
2195    <input type="hidden" name="utm_campaign" id="pardot_utm_campaign" value="">
2196  </p>
2197      
2198  <p class="form-field  utm_medium pd-hidden  hidden   ">
2199    <input type="hidden" name="utm_medium" id="pardot_utm_medium" value="">
2200  </p>
2201      
2202  <p class="form-field  utm_source pd-hidden  hidden   ">
2203    <input type="hidden" name="utm_source" id="pardot_utm_source" value="">
2204  </p>
2205
2206  <p class="form-field  utm_term pd-hidden  hidden   ">
2207    <input type="hidden" name="utm_term" id="pardot_utm_term" value="">
2208  </p>
2209
2210  <p class="form-field  utm_region pd-hidden  hidden   ">
2211    <input type="hidden" name="utm_region" id="pardot_utm_region" value="">
2212  </p>
2213
2214  <p class="form-field  utm_channel pd-hidden  hidden   ">
2215    <input type="hidden" name="utm_channel" id="pardot_utm_channel" value="">
2216  </p>
2217
2218  <p class="form-field  utm_content pd-hidden  hidden   ">
2219    <input type="hidden" name="utm_content" id="pardot_utm_content" value="">
2220  </p>
2221
2222  <p class="form-field  referring-page pd-hidden  hidden   ">
2223    <input type="hidden" name="ReferringPage" id="pardot_referring_page" value="">
2224  </p>
2225
2226<div style="position:absolute; left:-9999px; top: -9999px;">
2227    <label for="pardot_extra_field">Comments</label>
2228    <input type="text" id="pardot_extra_field" name="pardot_extra_field">
2229</div>
2230
2231  <p class="form-field consent-stmt">
2232    <span>By submitting this form, I consent to be contacted by Assent, which includes receiving Assent&#8217;s eNewsletter and other promotional messages via email, in accordance with <a href="https://www.assent.com/privacy/" target="_blank">Assent&#8217;s Privacy Policy</a>.</span>
2233  </p>
2234    
2235  <!-- forces IE5-8 to correctly submit UTF8 content  -->
2236  <input name="_utf8" type="hidden" value="☃">
2237  <p class="submit">
2238    <input type="submit"  value="Submit" id ="btn-submit">
2239  </p>
2240  
2241<input type="hidden" name="form_validation" value="STRvRmlqNEVRLzBBTXVrQ2dnaFZYWnFObkJ0TGxLQjBRdHgvaHJHN1VhakhUdWFVTittUmZadzhZRDBYREQ3Q1FlQ3gzRkx6ZE00cmNZRGpqelRsT0E9PTo6tAEuy4r8Cbl_FSv75D7gYw" /><input type="hidden" id="form_nonce" name="form_nonce" value="53eca0c35d" /><input type="hidden" name="_wp_http_referer" value="/solutions/product-compliance/" /></form>
2242					</div> 
2243					
2244						<div id="ratings">
2245		<a href="https://www.g2.com/products/assent-inc-the-assent-supply-chain-sustainability-platform/reviews" target="_blank" rel="noopener">
2246			<img decoding="async" src="https://www.assent.com/wp-content/themes/assent-wp/assets/images/webistry/badge_with_background.png?v=1" alt="4.5 out of 5 stars by G2" height="48" width="172" loading="lazy">
2247		</a>
2248		<img decoding="async" src="https://www.assent.com/wp-content/themes/assent-wp/assets/images/webistry/Supply-Chain-Sustainability-Software-2026-Leader.png" alt="Green Quadrent 2026" width="100" height="100" loading="lazy">
2249		<img decoding="async" src="https://www.assent.com/wp-content/themes/assent-wp/assets/images/webistry/top-50-best-software-badge.svg" alt="Top 50 Best Software Badge" width="92" height="106" loading="lazy">
2250		<img decoding="async" src="https://www.assent.com/wp-content/themes/assent-wp/assets/images/webistry/Product-Compliance-Software_Leader-Light100.png" alt="Green Quadrent 2025" width="100" height="100" loading="lazy">
2251		<div id="widget-container"></div>
2252	</div>
2253					</div>
2254			</div>
2255		</div>
2256	</section>
2257
2258<script type="text/javascript">
2259    (function() {
2260        // Retrieve the form action URL parameter from the query string
2261        const urlParams = new URLSearchParams(window.location.search);
2262        const formActionParam = urlParams.get('form_action');
2263        const form = document.querySelector('.two-column-form.book-a-demo');
2264
2265        // Update the action attribute of the forms on this page
2266        if (form && formActionParam) {
2267            const formHandler = form.querySelector('input[name="form_validation"]');
2268
2269            if (formHandler) {
2270                formHandler.value = formActionParam;
2271            }
2272        }
2273    }());
2274</script>
2274
2275</div></div>
2276<footer class="main-footer pt-lg-50 pt-30 webistry">
2277	 <div class="container">
2278		  <div class="main-footer-top">
2279			  <div class="row">
2280				  <div class="cell-xl-6 cell-lg-6">
2281					  <a href="https://www.assent.com/" class="footer-logo" rel="noopener">
2282                                    <img src="https://www.assent.com/wp-content/uploads/2025/02/logo.svg" alt="Assent">
2283                                </a><div class="social-feed">
2284										<ul class="d-flex justify-content-center justify-lg-content-start"><li><a href="https://www.linkedin.com/company/assent-compliance-inc" aria-label="linkedin" class="icon-linkedin" target="_blank" rel="noopener"></a></li><li><a href="https://www.youtube.com/@assentincorporated" aria-label="youtube" class="icon-youtube" target="_blank" rel="noopener"></a></li></ul>
2285							</div>				  </div>
2286				  <div class="cell-xl-6 cell-lg-6 row justify-content-center justify-lg-content-end">
2287					  <img src="/wp-content/uploads/2024/09/B-Corp-Logo-Tagline-Lockup-Standards-Black-RGB-2.svg" alt="Certified B Corporation">
2288				  </div>
2289			  </div>
2290		 </div>
2291		 <div class="main-footer-content">
2292			 <div class="row">
2293				 <div class="cell-xl-8 row">
2294                     <div class="cell-xl-3 cell-lg-3 cell-md-4 cell-sm-12 quick-links"><div id="nav_menu-8" class=""><span>Solutions</span><div class="menu-webistry-footer-menu-1-container"><ul id="menu-webistry-footer-menu-1" class="menu"><li id="menu-item-77214" class="menu-item menu-item-type-post_type menu-item-object-page current-menu-item page_item page-item-3850 current_page_item menu-item-77214"><a href="https://www.assent.com/solutions/product-compliance/" aria-current="page">Product Compliance</a></li>
2295<li id="menu-item-77212" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-77212"><a href="https://www.assent.com/solutions/esg-supply-chain/">Sustainability</a></li>
2296<li id="menu-item-77216" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-77216"><a href="https://www.assent.com/solutions/trade-compliance/">Trade Compliance</a></li>
2297<li id="menu-item-77302" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-77302"><a href="https://www.assent.com/capabilities/services/">Managed Services</a></li>
2298</ul></div></div></div><div class="cell-xl-3 cell-lg-3 cell-md-4 cell-sm-12 quick-links"><div id="nav_menu-9" class=""><span>Industries</span><div class="menu-webistry-footer-menu-2-container"><ul id="menu-webistry-footer-menu-2" class="menu"><li id="menu-item-77227" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-77227"><a href="https://www.assent.com/solutions/industry/medical-devices-supply-chain/">Medical Devices</a></li>
2299<li id="menu-item-77230" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-77230"><a href="https://www.assent.com/solutions/industry/electronics-supply-chain/">Electronics</a></li>
2300<li id="menu-item-77231" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-77231"><a href="https://www.assent.com/solutions/industry/industrial-supply-chain-solutions/">Industrial Equipment</a></li>
2301<li id="menu-item-77229" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-77229"><a href="https://www.assent.com/solutions/industry/automotive-supply-chain-solutions/">Automotive</a></li>
2302<li id="menu-item-77228" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-77228"><a href="https://www.assent.com/solutions/industry/aerospace-supply-chain/">Aerospace &#038; Defense</a></li>
2303</ul></div></div></div><div class="cell-xl-3 cell-lg-3 cell-md-4 cell-sm-12 quick-links"><div id="nav_menu-15" class=""><span>By Job Function</span><div class="menu-webistry-footer-menu-9-container"><ul id="menu-webistry-footer-menu-9" class="menu"><li id="menu-item-1172764" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1172764"><a href="https://www.assent.com/solutions/job-function/engineering/">Engineering</a></li>
2304<li id="menu-item-1172761" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1172761"><a href="https://www.assent.com/solutions/job-function/quality/">Quality</a></li>
2305<li id="menu-item-1172760" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1172760"><a href="https://www.assent.com/solutions/job-function/procurement/">Procurement</a></li>
2306<li id="menu-item-1172759" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1172759"><a href="https://www.assent.com/solutions/job-function/sustainability-leader/">Sustainability Leader</a></li>
2307<li id="menu-item-1172758" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1172758"><a href="https://www.assent.com/solutions/job-function/supply-chain-leader/">Supply Chain Leader</a></li>
2308</ul></div></div></div><div class="cell-xl-3 cell-lg-3 cell-md-4 cell-sm-12 quick-links"><div id="nav_menu-10" class=""><span>Network</span><div class="menu-webistry-footer-menu-3-container"><ul id="menu-webistry-footer-menu-3" class="menu"><li id="menu-item-77262" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-77262"><a href="https://www.assent.com/capabilities/platform/supplier-screening/">Supplier Screening</a></li>
2309<li id="menu-item-77263" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-77263"><a href="https://www.assent.com/capabilities/platform/pricing/">Pricing</a></li>
2310<li id="menu-item-77264" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-77264"><a href="https://www.assent.com/company/security/">Data Security</a></li>
2311<li id="menu-item-77265" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-77265"><a href="https://www.assent.com/capabilities/platform/capabilities-platform-supply-chain-reporting/">Reporting &#038; Data</a></li>
2312<li id="menu-item-77266" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-77266"><a href="https://www.assent.com/capabilities/platform/supply-chain-integrations/">Integrations</a></li>
2313</ul></div></div></div><div class="cell-xl-3 cell-lg-3 cell-md-4 cell-sm-12 quick-links"><div id="nav_menu-11" class=""><span>Services</span><div class="menu-webistry-footer-menu-4-container"><ul id="menu-webistry-footer-menu-4" class="menu"><li id="menu-item-77279" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-77279"><a href="https://www.assent.com/capabilities/services/advisory-services/">Advisory Services</a></li>
2314<li id="menu-item-77276" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-77276"><a href="https://www.assent.com/capabilities/services/supplier-engagement/">Supplier Engagement</a></li>
2315<li id="menu-item-77277" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-77277"><a href="https://www.assent.com/capabilities/services/sustainability-compliance-program-management/">Program Management</a></li>
2316<li id="menu-item-567520" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-567520"><a href="https://www.assent.com/capabilities/expertise/">Regulatory Experts</a></li>
2317</ul></div></div></div><div class="cell-xl-3 cell-lg-3 cell-md-4 cell-sm-12 quick-links"><div id="nav_menu-12" class=""><span>Resources</span><div class="menu-webistry-footer-menu-5-container"><ul id="menu-webistry-footer-menu-5" class="menu"><li id="menu-item-77281" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-77281"><a href="https://www.assent.com/blog/">Blog</a></li>
2318<li id="menu-item-77282" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-77282"><a href="https://www.assent.com/resources/knowledge-center/">Knowledge Center</a></li>
2319<li id="menu-item-77283" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-77283"><a href="https://www.assent.com/resources/content-hub/">Content Hub</a></li>
2320<li id="menu-item-77284" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-77284"><a href="https://www.assent.com/resources/content-hub/?pager=1&#038;filter=1&#038;category%5B%5D=interactive-tool&#038;search_text=&#038;filter_order=">Tools</a></li>
2321</ul></div></div></div><div class="cell-xl-3 cell-lg-3 cell-md-4 cell-sm-12 quick-links"><div id="nav_menu-13" class=""><span>About</span><div class="menu-webistry-footer-menu-6-container"><ul id="menu-webistry-footer-menu-6" class="menu"><li id="menu-item-77285" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-77285"><a href="https://www.assent.com/company/our-story/">Our Story</a></li>
2322<li id="menu-item-77288" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-77288"><a href="https://www.assent.com/company/leadership/">Leadership</a></li>
2323<li id="menu-item-77575" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-77575"><a href="https://www.assent.com/why-assent/">Why Assent</a></li>
2324<li id="menu-item-77287" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-77287"><a href="https://www.assent.com/company/our-customers/customer-case-study-videos/">Customer Stories</a></li>
2325</ul></div></div></div><div class="cell-xl-3 cell-lg-3 cell-md-4 cell-sm-12 quick-links"><div id="nav_menu-14" class=""><span>Connect</span><div class="menu-webistry-footer-menu-7-container"><ul id="menu-webistry-footer-menu-7" class="menu">
2325<li id="menu-item-77289" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-77289"><a href="https://www.assent.com/company/contact-us/">Contact Us</a></li>
2326<li id="menu-item-82824" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-82824"><a href="https://www.assent.com/book-a-demo/">Book a Demo</a></li>
2327<li id="menu-item-77290" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-77290"><a href="https://www.assent.com/company/careers/">Careers</a></li>
2328<li id="menu-item-77292" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-77292"><a href="https://www.assent.com/customer-support/">Support</a></li>
2329</ul></div></div></div>				 </div>
2330				 <div class="cell-xl-4">
2331					 <div class="subscribe-wrap"><div class="subscribe-title">Subscribe to Assent</div><div class="subscribe-form-wrap"><p>Sign up to stay in the loop on industry trends and hear about upcoming events.</p><input type="hidden" id="form_nonce" name="form_nonce" value="53eca0c35d" /><input type="hidden" name="_wp_http_referer" value="/solutions/product-compliance/" /><!-- Newsletter -->
2332<form action="/form-handler" class="form--wrap newsletter" data-handler="pardotForm6" method="post" class="newsletter" data-formtype="newsletter" onsubmit = "return demoFunction(this);" >
2333  <p class="form-field  email pd-text required">
2334    <label class="field-label" for="Email">Business Email Address</label>
2335    <input type="email" name="Email" id="pardot_email" value="" class="text" size="30" maxlength="255" onchange="" onfocus="" required="">
2336  </p>
2337      
2338  <p class="form-field  utm_campaign pd-hidden  hidden   ">
2339    <input type="hidden" name="utm_campaign" id="pardot_utm_campaign" value="">
2340  </p>
2341      
2342  <p class="form-field  utm_medium pd-hidden  hidden   ">
2343    <input type="hidden" name="utm_medium" id="pardot_utm_medium" value="">
2344  </p>
2345      
2346  <p class="form-field  utm_source pd-hidden  hidden   ">
2347    <input type="hidden" name="utm_source" id="pardot_utm_source" value="">
2348  </p>
2349
2350  <p class="form-field  utm_term pd-hidden  hidden   ">
2351    <input type="hidden" name="utm_term" id="pardot_utm_term" value="">
2352  </p>
2353
2354  <p class="form-field  utm_region pd-hidden  hidden   ">
2355    <input type="hidden" name="utm_region" id="pardot_utm_region" value="">
2356  </p>
2357      
2358  <p class="form-field  utm_channel pd-hidden  hidden   ">
2359    <input type="hidden" name="utm_channel" id="pardot_utm_channel" value="">
2360  </p>
2361
2362  <p class="form-field  utm_content pd-hidden  hidden   ">
2363    <input type="hidden" name="utm_content" id="pardot_utm_content" value="">
2364  </p>
2365
2366  <p class="form-field  referring-page pd-hidden  hidden   ">
2367    <input type="hidden" name="ReferringPage" id="pardot_referring_page" value="">
2368  </p>
2369
2370  <p class="form-field  targetCampaign pd-hidden  hidden   ">
2371    <input type="hidden" name="targetCampaign" id="pardot_target_campaign" value="">
2372  </p>
2373
2374<!--  <p class="form-field  test_book_a_demo_checkbox pd-checkbox required  no-label  ">
2375    <span class="value"><span><input type="checkbox" name="Book a demo" id="demo-checkbox" value="" onchange=""><label class="inline" for="Book a demo">I would like to book a demo.</label></span></span>
2376  </p> -->
2377    
2378  <!-- forces IE5-8 to correctly submit UTF8 content  -->
2379  <input name="_utf8" type="hidden" value="☃">
2380  <p class="submit" style="margin-bottom: 0;">
2381    <input type="submit" value="Sign Up Now">
2382  </p>
2383
2384<p class="form-field consent-stmt full reveal" style="line-height: 1.1; font-size: 12px;">
2385    <span>By submitting this form, I consent<span class="dots"> ...see more  </span><span class="more"> to be contacted by Assent, which includes receiving Assent's newsletter and other promotional messages via email, in accordance with <a href="https://www.assent.com/privacy/" target="_blank">Assent’s Privacy Policy</a>.</span></span>
2386  </p>
2387<!--
2388  <p class="form-field consent-stmt full reveal" style="line-height: 1.1; font-size: 12px;">
2389    <a id="terms" title="Terms & Conditions" href="#popup-msg">See terms & conditions</a>
2390  </p>
2391-->
2392<input type="hidden" name="form_validation" value="Y21GRjI2Vm9FaCtsTnExNVVTbWRFajBuRXZ3WXlJUEszOWNqbUhHVG8xaEdlRVk0QUN4VEEvWTRFa21sT1YxSHk5b1ZYMWJsZEdob2xRMXpNUTlLeHc9PTo6_AIg-t-Pqm3EYn1EOzrQmA" /><input type="hidden" id="form_nonce" name="form_nonce" value="53eca0c35d" /><input type="hidden" name="_wp_http_referer" value="/solutions/product-compliance/" /></form>
2393<script type="text/javascript">
2394</script>
2394
2395
2396<!-- 
2397<script>
2398jQuery(document).ready(function(){
2399  jQuery("#terms").fancybox({
2400	'scrolling'		: 'no',
2401	'titleShow'		: false,
2402	'onClosed'		: function() {
2403	    $("#popup-msg").hide();
2404	}
2405  });
2406});
2407</script>
2407 
2408-->
2409
2410<style>
2411.dots { font-weight: 700; color: #813679; }
2412.dots, .dots:hover { cursor: pointer; }
2413.more,
2414.consent-stmt.full .dots { display: none; }
2415.consent-stmt.full .more { display: inline; opacity: 0; transition: all 0.2s ease; }
2416.consent-stmt.full.reveal .more { opacity: 1; }
2417</style>
2418<script>
2419jQuery(document).ready(function(){
2420  function show_privacy() {
2421    jQuery('.consent-stmt').addClass('full');
2422    setTimeout(function() {
2423      jQuery('.consent-stmt').addClass('reveal');
2424    }, 200);
2425  }
2426  jQuery('.dots').on('click', show_privacy);
2427  jQuery('[data-formtype="newsletter"] input[type="email"]').focus(show_privacy);
2428});
2429</script>
2429</div>
2430                                </div>
2431                     <div class="recaptcha-notice">
2432                         <hr>
2433                         <span>This site is protected by reCAPTCHA and the Google
2434                            <a href="https://policies.google.com/privacy" target="_blank">Privacy Policy</a> and
2435                            <a href="https://policies.google.com/terms" target="_blank">Terms of Service</a> apply.</span>
2436                     </div>
2437
2438				 </div>
2439			 </div>
2440		 </div>
2441
2442		 <div class="main-footer-bottom d-flex justify-content-between align-items-center pb-30">
2443			 <div class="footer-bottom-left d-flex align-items-center">
2444				 <div class="footer-bottom-menu"><ul id="menu-webistry-footer-menu-8" class="menu"><li id="menu-item-77293" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-home menu-item-has-children menu-item-77293"><a href="https://www.assent.com/">English</a>
2445<ul class="sub-menu">
2446	<li id="menu-item-77294" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-77294"><a href="https://www.assent.com/de/">Deutsch</a></li>
2447	<li id="menu-item-77295" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-77295"><a href="https://www.assent.com/it/">Italiano</a></li>
2448	<li id="menu-item-77296" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-77296"><a href="https://www.assent.com/fr/">Français</a></li>
2449</ul>
2450</li>
2451<li id="menu-item-77297" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-77297"><a href="https://www.assent.com/privacy/">Assent &amp; Website Privacy Policy</a></li>
2452<li id="menu-item-77298" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-77298"><a href="https://www.assent.com/assent-sustainability-platform-asp-terms-of-service/">Assent Sustainability Platform (ASP) – Terms of Service</a></li>
2453<li id="menu-item-77299" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-77299"><a href="#cookie-preferences">Cookies Preferences</a></li>
2454</ul></div>			</div>
2455			 <div class="footer-bottom-right">
2456				 <div class="copyright-content d-flex">&copy; 2026&nbsp;<p>Assent Inc.</p>
2457</div>			 </div>
2458    	</div>
2459	</div>
2460</footer>
2461
2462
2463<div class="custom-popup-as0008 bottom-tri-block hidden">
2464	<button class="state-change" aria-label="Minify"></button>
2465	<figure>
2466		<img src="/wp-content/themes/assent-wp/assets/images/webistry/discover_our_platform.png" alt="Discover Our Platform">
2467	</figure>
2468	<article>
2469		<h3>Still Exploring?</h3>
2470		<p>Looks like you’ve been exploring our platform.<br>Want to see everything in one place?</p>
2471		<a href="https://www.assent.com/capabilities/platform/">Discover Our Platform</a>
2472	</article>
2473</div>
2474
2475
2476
2477	<div class="back-to-top">
2478		<div class="back-to-top-wrap hidden">
2479
2480			<a class="btn back-to-top-link use-header-cta" href="#">Book a Demo</a>
2481
2482			
2483			<button type="button" class="btn-link -green">
2484				Back to Top			</button>
2485
2486			
2487		</div>
2488	</div>
2489
2490
2491<script type="speculationrules">
2492{"prefetch":[{"source":"document","where":{"and":[{"href_matches":"/*"},{"not":{"href_matches":["/wp-*.php","/wp-admin/*","/wp-content/uploads/*","/wp-content/*","/wp-content/plugins/*","/wp-content/themes/assent-wp/*","/*\\?(.+)"]}},{"not":{"selector_matches":"a[rel~=\"nofollow\"]"}},{"not":{"selector_matches":".no-prefetch, .no-prefetch a"}}]},"eagerness":"conservative"}]}
2493</script>
2493
2494<!--noptimize--><!-- Page generated in 1.2862 seconds. --><!--/noptimize-->
2495<div role="navigation" aria-label="Language Switcher" class="wpml-ls-statics-footer wpml-ls wpml-ls-legacy-list-horizontal">
2496	<ul><li class="wpml-ls-slot-footer wpml-ls-item wpml-ls-item-de wpml-ls-first-item wpml-ls-item-legacy-list-horizontal">
2497				<a href="https://www.assent.com/de/loesungen/produktkonformitaet/" hreflang="de" lang="de" class="wpml-ls-link" aria-label="Switch to German (Deutsch)" title="Switch to German (Deutsch)">
2498					                                    <img
2499            class="wpml-ls-flag"
2500            src="https://www.assent.com/wp-content/plugins/sitepress-multilingual-cms/res/flags/de.png"
2501            alt=""
2502            loading="lazy"
2503            width=18
2504            height=12
2505    /><span class="wpml-ls-native">Deutsch</span><span class="wpml-ls-display"><span class="wpml-ls-bracket"> (</span>German<span class="wpml-ls-bracket">)</span></span></a>
2506			</li><li class="wpml-ls-slot-footer wpml-ls-item wpml-ls-item-en wpml-ls-current-language wpml-ls-item-legacy-list-horizontal">
2507				<a href="https://www.assent.com/solutions/product-compliance/" hreflang="en" lang="en" class="wpml-ls-link" aria-current="page" aria-label="Switch to English (English)" title="Switch to English (English)">
2508					                                    <img
2509            class="wpml-ls-flag"
2510            src="https://www.assent.com/wp-content/plugins/sitepress-multilingual-cms/res/flags/en.png"
2511            alt=""
2512            loading="lazy"
2513            width=18
2514            height=12
2515    /><span class="wpml-ls-native">English</span></a>
2516			</li><li class="wpml-ls-slot-footer wpml-ls-item wpml-ls-item-fr wpml-ls-item-legacy-list-horizontal">
2517				<a href="https://www.assent.com/fr/solutions/conformite-produits/" hreflang="fr" lang="fr" class="wpml-ls-link" aria-label="Switch to French (Français)" title="Switch to French (Français)">
2518					                                    <img
2519            class="wpml-ls-flag"
2520            src="https://www.assent.com/wp-content/plugins/sitepress-multilingual-cms/res/flags/fr.png"
2521            alt=""
2522            loading="lazy"
2523            width=18
2524            height=12
2525    /><span class="wpml-ls-native">Français</span><span class="wpml-ls-display"><span class="wpml-ls-bracket"> (</span>French<span class="wpml-ls-bracket">)</span></span></a>
2526			</li><li class="wpml-ls-slot-footer wpml-ls-item wpml-ls-item-it wpml-ls-last-item wpml-ls-item-legacy-list-horizontal">
2527				<a href="https://www.assent.com/it/soluzioni/conformita-del-prodotto/" hreflang="it" lang="it" class="wpml-ls-link" aria-label="Switch to Italian (Italiano)" title="Switch to Italian (Italiano)">
2528					                                    <img
2529            class="wpml-ls-flag"
2530            src="https://www.assent.com/wp-content/plugins/sitepress-multilingual-cms/res/flags/it.png"
2531            alt=""
2532            loading="lazy"
2533            width=18
2534            height=12
2535    /><span class="wpml-ls-native">Italiano</span><span class="wpml-ls-display"><span class="wpml-ls-bracket"> (</span>Italian<span class="wpml-ls-bracket">)</span></span></a>
2536			</li></ul>
2537</div>
2538<link rel='stylesheet' id='quick-links-grid-css-css' href='https://www.assent.com/wp-content/themes/assent-wp/blocks/quick-links-grid/quick-links-grid.css?ver=1790264585' media='all' />
2539<script data-wp-strategy="defer" defer id="ASSENT-slick-jquery-js" src="https://www.assent.com/wp-content/themes/assent-wp/assets/js/slick-1.8.1.min.js?ver=1790175983"></script>
vendor: 1 bytes, line 2539
2539
2540<script data-wp-strategy="defer" defer id="ASSENT-select2-jquery-js" src="https://www.assent.com/wp-content/themes/assent-wp/assets/js/select2.min.js?ver=1790175983"></script>
vendor: 1 bytes, line 2540
2540
2541<script data-wp-strategy="defer" defer id="ASSENT-sticky-kit-jquery-js" src="https://www.assent.com/wp-content/themes/assent-wp/assets/js/jquery.sticky-kit.min.js?ver=1790175983"></script>
vendor: 1 bytes, line 2541
2541
2542<script data-wp-strategy="defer" defer id="ASSENT-vimeo-player-jquery-js" src="https://www.assent.com/wp-content/themes/assent-wp/assets/js/vimeo-player.js?ver=1790175983"></script>
vendor: 1 bytes, line 2542
2542
2543<script data-wp-strategy="defer" defer id="ASSENT-jquery-validate-js" src="https://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.19.3/jquery.validate.min.js"></script>
vendor: 1 bytes, line 2543
2543
2544<script data-wp-strategy="defer" defer id="ASSENT-device-menu-jquery-js" src="https://www.assent.com/wp-content/themes/assent-wp/assets/js/device-menu.js?ver=1790175983"></script>
vendor: 1 bytes, line 2544
2544
2545<script data-wp-strategy="defer" defer id="ASSENT-scripts-jquery-js" src="https://www.assent.com/wp-content/themes/assent-wp/assets/js/scripts.js?ver=1790175983&#038;ver=1.14"></script>
vendor: 1 bytes, line 2545
2545
2546<script id="ASSENT-form-loading-spinner-js-js" src="https://www.assent.com/wp-content/themes/assent-wp/assets/js/form-loading-spinner.js?ver=1790175983"></script>
vendor: 1 bytes, line 2546
2546
2547<script id="ASSENT-component-interaction-js-js" src="https://www.assent.com/wp-content/themes/assent-wp/assets/js/component-interaction.js?ver=1790175983"></script>
vendor: 1 bytes, line 2547
2547
2548<script id="demo-button-js" src="https://www.assent.com/wp-content/themes/assent-wp/assets/js/demo-button.js?ver=1790175983&#038;ver=1790264585"></script>
vendor: 1 bytes, line 2548
2548
2549<script id="open-cookie-preferences-js" src="https://www.assent.com/wp-content/themes/assent-wp/assets/js/open-cookie-preferences.js?ver=1790175983&#038;ver=1.0.0"></script>
vendor: 1 bytes, line 2549
2549
2550<script id="page-links-to-js" src="https://www.assent.com/wp-content/plugins/page-links-to/dist/new-tab.js?ver=1790175981&#038;ver=3.4.1"></script>
vendor: 1 bytes, line 2550
2550
2551<script id="smush-lazy-load-js" src="https://www.assent.com/wp-content/plugins/wp-smush-pro/app/assets/js/smush-lazy-load-native.min.js?ver=3.9.6"></script>
vendor: 1 bytes, line 2551
2551
2552<script id="recaptcha-zoominfo-js" src="https://www.assent.com/wp-content/themes/assent-wp/assets/js/recaptcha-zoominfo.js?ver=1.1.0"></script>
vendor: 1 bytes, line 2552
2552
2553<script id="quick-links-grid-js-js" src="https://www.assent.com/wp-content/themes/assent-wp/blocks/quick-links-grid/quick-links-grid.js?ver=1790264585"></script>
vendor: 1 bytes, line 2553
2553
2554<script id="wp-emoji-settings" type="application/json">
2555{"baseUrl":"https://s.w.org/images/core/emoji/17.0.2/72x72/","ext":".png","svgUrl":"https://s.w.org/images/core/emoji/17.0.2/svg/","svgExt":".svg","source":{"concatemoji":"https://www.assent.com/wp-includes/js/wp-emoji-release.min.js?ver=7.1"}}
2556</script>
vendor: 1 bytes, line 2556
2556
2557<script type="module">
2558/*! This file is auto-generated */
2559var e="script#wp-emoji-settings",t=document.querySelector(e);if(!(t instanceof HTMLScriptElement))throw new Error("Element missing: "+e);const r=JSON.parse(t.text),s=(window._wpemojiSettings=r,"wpEmojiSettingsSupports"),o=["flag","emoji"];function i(e){try{var t={supportTests:e,timestamp:(new Date).valueOf()};sessionStorage.setItem(s,JSON.stringify(t))}catch(e){}}function c(e,t,n){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);t=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data);e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(n,0,0);const r=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data);return t.every((e,t)=>e===r[t])}function p(e,t){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);var n=e.getImageData(16,16,1,1);for(let e=0;e<n.data.length;e++)if(0!==n.data[e])return!1;return!0}function u(e,t,n,r){switch(t){case"flag":return n(e,"\ud83c\udff3\ufe0f\u200d\u26a7\ufe0f","\ud83c\udff3\ufe0f\u200b\u26a7\ufe0f")?!1:!n(e,"\ud83c\udde8\ud83c\uddf6","\ud83c\udde8\u200b\ud83c\uddf6")&&!n(e,"\ud83c\udff4\udb40\udc67\udb40\udc62\udb40\udc65\udb40\udc6e\udb40\udc67\udb40\udc7f","\ud83c\udff4\u200b\udb40\udc67\u200b\udb40\udc62\u200b\udb40\udc65\u200b\udb40\udc6e\u200b\udb40\udc67\u200b\udb40\udc7f");case"emoji":return!r(e,"\ud83e\u1fac8")}return!1}function f(e,t,n,r){let a;const s=(a="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?new OffscreenCanvas(300,150):document.createElement("canvas")).getContext("2d",{willReadFrequently:!0}),o=(s.textBaseline="top",s.font="600 32px Arial",{});return e.forEach(e=>{o[e]=t(s,e,n,r)}),o}function a(e){var t=document.createElement("script");t.src=e,t.defer=!0,document.head.appendChild(t)}r.supports={everything:!0,everythingExceptFlag:!0},new Promise(t=>{let n=function(){try{var e=JSON.parse(sessionStorage.getItem(s));if("object"==typeof e&&"number"==typeof e.timestamp&&(new Date).valueOf()<e.timestamp+604800&&"object"==typeof e.supportTests)return e.supportTests}catch(e){}return null}();if(!n){if("undefined"!=typeof Worker&&"undefined"!=typeof OffscreenCanvas&&"undefined"!=typeof URL&&URL.createObjectURL&&"undefined"!=typeof Blob)try{var e="postMessage("+f.toString()+"("+[JSON.stringify(o),u.toString(),c.toString(),p.toString()].join(",")+"));",r=new Blob([e],{type:"text/javascript"});const a=new Worker(URL.createObjectURL(r),{name:"wpTestEmojiSupports"});return void(a.onmessage=e=>{i(n=e.data),a.terminate(),t(n)})}catch(e){}i(n=f(o,u,c,p))}t(n)}).then(e=>{for(const n in e)r.supports[n]=e[n],r.supports.everything=r.supports.everything&&r.supports[n],"flag"!==n&&(r.supports.everythingExceptFlag=r.supports.everythingExceptFlag&&r.supports[n]);var t;r.supports.everythingExceptFlag=r.supports.everythingExceptFlag&&!r.supports.flag,r.supports.everything||((t=r.source||{}).concatemoji?a(t.concatemoji):t.wpemoji&&t.twemoji&&(a(t.twemoji),a(t.wpemoji)))});
2560//# sourceURL=https://www.assent.com/wp-includes/js/wp-emoji-loader.min.js
2561</script>
2561
2562        
2562<script id="assent-form-logger-late">
2563            (function() {
2564                var L = window.__assentFormLogger;
2565                if (!L) return;
2566
2567                // --- 1. jQuery AJAX failures (gated resource forms) ---
2568                if (window.jQuery) {
2569                    jQuery(document).ajaxComplete(function(event, xhr, settings) {
2570                        try {
2571                            var url = (settings && settings.url) || '';
2572                            if (url.indexOf('admin-ajax.php') === -1) return;
2573
2574                            var data = (settings && typeof settings.data === 'string') ? settings.data : '';
2575                            if (data.indexOf('handle_ajax_form') === -1) return;
2576
2577                            var params = data ? new URLSearchParams(data) : null;
2578                            var email = params ? (params.get('Email') || params.get('email') || '') : '';
2579                            var tokens = params ? params.getAll('g-recaptcha-response') : [];
2580                            var last = tokens.length ? tokens[tokens.length - 1] : '';
2581
2582                            var payload = {
2583                                email: email,
2584                                http_status: xhr.status,
2585                                token_count: tokens.length
2586                            };
2587
2588                            if (xhr.status >= 400) {
2589                                payload.error_type = 'client_http_error';
2590                                payload.error_message = 'HTTP ' + xhr.status + ' (' + xhr.statusText + ')';
2591                                L.send(payload);
2592                                return;
2593                            }
2594
2595                            if (xhr.responseJSON && xhr.responseJSON.success === false) {
2596                                var d = xhr.responseJSON.data || {};
2597                                var code = d.error || d.message || 'unknown';
2598                                payload.error_type = (code === 'RE0001') ? 'low_score'
2599                                    : (String(code).indexOf('Missing reCAPTCHA') === 0 ? 'missing_token' : 'client_logic_error');
2600                                payload.error_message = String(code) + (last ? ' [token sent: ok]' : ' [token sent: EMPTY]');
2601                                if (typeof d.score !== 'undefined') payload.score = d.score;
2602                                L.send(payload);
2603                            }
2604                        } catch (e) {}
2605                    });
2606                }
2607
2608                // --- 2. HTML5 validation errors ---
2609                document.addEventListener('invalid', function(e) {
2610                    try {
2611                        var t = e.target;
2612                        if (!t || ['INPUT', 'SELECT', 'TEXTAREA'].indexOf(t.tagName) === -1) return;
2613
2614                        var form = t.closest ? t.closest('form') : null;
2615                        var emailField = form ? form.querySelector('input[type="email"]') : null;
2616
2617                        L.send({
2618                            error_type: 'validation_error',
2619                            error_message: 'Validation failed on field: ' + (t.name || t.id || 'unnamed'),
2620                            email: emailField ? emailField.value : ''
2621                        });
2622                    } catch (err) {}
2623                }, true);
2624
2625                // --- 3. JavaScript crashes ---
2626                window.addEventListener('error', function(e) {
2627                    try {
2628                        if (!e || !e.message) return;
2629                        L.send({
2630                            error_type: 'js_crash',
2631                            error_message: e.message + ' (' + (e.filename || '?') + ':' + (e.lineno || 0) + ')'
2632                        });
2633                    } catch (err) {}
2634                });
2635            })();
2636        </script>
2636
2637<!-- Google Tag Manager (noscript) -->
vendor: 69 bytes, lines 2637-2638
2637
2638<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=
2638GTM-KNHXFGP
vendor: 85 bytes, lines 2638-2639
2638"
2639height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
2640<!-- End Google Tag Manager (noscript) -->
2641
2642<script type="text/javascript" src="https://www.gartner.com/peer-insights/vendor-portal/public/Widget/js/widget.js"></script>
vendor: 2 bytes, line 2642
2642
2643<script type="text/javascript">
2644const gartnerEl = document.querySelector('#widget-container');
2645GartnerPI_Widget({
2646		size: "small",
2647		theme: "dark",
2648		sourcingLink: "https://gtnr.io/NWZaMrv7d",
2649		widget_id: "YWVhYWI2N2EtMzMyNS00NzJiLWJiN2ItNTVjMDU1MzRlMThh",
2650		version: "2",
2651		container: gartnerEl
2652	})
2653
2654setTimeout(function (){
2655document.querySelectorAll("[id='widget-container']").forEach(el => {
2656if (el != gartnerEl) {
2657   el.innerHTML = gartnerEl.innerHTML;
2658}
2659});
2660}, 2000);
2661</script>
2661
2662
2663
2664
2665<script defer type="text/javascript"  id="zoom">
2666piAId = '956773';
2667piCId = '2197';
2668piHostname = 'pi.pardot.com';
2669(function() {
2670	function async_load(){
2671		var s = document.createElement('script'); s.type = 'text/javascript';
2672		s.src = ('https:' == document.location.protocol ? 'https://pi' : 'http://cdn') + '.pardot.com/pd.js';
2673		var c = document.getElementsByTagName('script')[0]; c.parentNode.insertBefore(s, c);
2674	}
2675	if(window.attachEvent) { window.attachEvent('onload', async_load); }
2676	else { window.addEventListener('load', async_load, false); }
2677})();
2678</script>
2678
2679
2680<!--vwo off-site homepage/pricing/book-a-demo tracking from march 27, 2025-->
2681<script type="text/javascript">
2682if (typeof VWO !== 'undefined' && typeof VWO.push === 'function') {
2683     if (document.cookie.includes("vwo_homepage_variant_seen=true")) {
2684          VWO.push(['track.goalConversion', 234]); 
2685          document.cookie = "vwo_homepage_variant_seen=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;";
2686    }
2687
2688    if (document.cookie.includes("vwo_pricing_variant_seen=true")) {
2689          VWO.push(['track.goalConversion', 235]); 
2690          document.cookie = "vwo_pricing_variant_seen=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;";
2691    }
2692
2693   if (document.cookie.includes("vwo_book_a_demo_variant_seen=true")) {
2694          VWO.push(['track.goalConversion', 236]); 
2695          document.cookie = "vwo_book_a_demo_variant_seen=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;";
2696    }
2697
2698  if (document.cookie.includes("vwo_book_a_demo_electronics_variant_seen=true")) {
2699          VWO.push(['track.goalConversion', 250]); 
2700          document.cookie = "vwo_book_a_demo_electronics_variant_seen=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;";
2701    }
2702}
2703</script>
2703
2704
2705<!--vwo off-site homepage/pricing/book-a-demo tracking from may 2, 2025-->
2706<script type="text/javascript">
2707if (typeof VWO !== 'undefined' && typeof VWO.push === 'function') {
2708  if (document.cookie.includes("vwo_homepage_medical_variant_seen=true")) {
2709          VWO.push(['track.goalConversion', 241]); 
2710          document.cookie = "vwo_homepage_medical_variant_seen=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;";
2711    }
2712
2713  if (document.cookie.includes("vwo_pricing_medical_variant_seen=true")) {
2714          VWO.push(['track.goalConversion', 243]); 
2715          document.cookie = "vwo_pricing_medical_variant_seen=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;";
2716    }
2717
2718  if (document.cookie.includes("vwo_book_a_demo_medical_variant_seen=true")) {
2719          VWO.push(['track.goalConversion', 245]); 
2720          document.cookie = "vwo_book_a_demo_medical_variant_seen=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;";
2721    }
2722
2723if (document.cookie.includes("vwo_homepage_electronics_seen=true")) {
2724          VWO.push(['track.goalConversion', 248]); 
2725          document.cookie = "vwo_homepage_electronics_seen=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;";
2726    }
2727
2728if (document.cookie.includes("vwo_pricing_electronics_variant_seen=true")) {
2729          VWO.push(['track.goalConversion', 252]); 
2730          document.cookie = "vwo_pricing_electronics_variant_seen=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;";
2731    }
2732
2733if (document.cookie.includes("vwo_book_a_demo_electronics_variant_seen=true")) {
2734          VWO.push(['track.goalConversion', 250]); 
2735          document.cookie = "vwo_book_a_demo_electronics_variant_seen=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;";
2736    }
2737
2738
2739
2740if (document.cookie.includes("vwo_homepage_aerospace_variant_seen=true")) {
2741          VWO.push(['track.goalConversion', 254]); 
2742          document.cookie = "vwo_homepage_aerospace_variant_seen=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;";
2743    }
2744
2745if (document.cookie.includes("vwo_pricing_aerospace_variant_seen=true")) {
2746          VWO.push(['track.goalConversion', 255]); 
2747          document.cookie = "vwo_pricing_aerospace_variant_seen=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;";
2748    }
2749
2750if (document.cookie.includes("vwo_book_a_demo_aerospace_variant_seen=true")) {
2751          VWO.push(['track.goalConversion', 257]); 
2752          document.cookie = "vwo_book_a_demo_aerospace_variant_seen=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;";
2753    }
2754
2755if (document.cookie.includes("vwo_homepage_automotive_variant_seen=true")) {
2756          VWO.push(['track.goalConversion', 261]); 
2757          document.cookie = "vwo_homepage_automotive_variant_seen=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;";
2758    }
2759
2760if (document.cookie.includes("vwo_pricing_automotive_variant_seen=true")) {
2761          VWO.push(['track.goalConversion', 262]); 
2762          document.cookie = "vwo_pricing_automotive_variant_seen=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;";
2763    }
2764
2765if (document.cookie.includes("vwo_book_a_demo_automotive_variant_seen=true")) {
2766          VWO.push(['track.goalConversion', 264]); 
2767          document.cookie = "vwo_book_a_demo_automotive_variant_seen=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;";
2768    }
2769
2770
2771}
2772</script>
2772
2773
2774<!--Canadian cta tracking-->
2775<script type="text/javascript">
2776	window._vis_opt_queue = window._vis_opt_queue || [];
2777	window._vis_opt_queue.push(function() {_vis_opt_goal_conversion(238);});
2778</script>
2778
2779
2780<!--AI messaging-->
2781<script type="text/javascript">
2782	window._vis_opt_queue = window._vis_opt_queue || [];
2783	window._vis_opt_queue.push(function() {_vis_opt_goal_conversion(239);});
2784</script>
2784
2785
2786<script defer>
2787
2788    jQuery(document).ready(function ($) {
2789        // Initialize FancyBox
2790        $("[data-fancybox]").fancybox({
2791            baseClass: "fancybox-custom-layout",
2792            transitionEffect: "slide",
2793            animationEffect: "fade",
2794            slideClass: "fancybox-slide--custom",
2795            infobar: false,
2796            buttons: [
2797                "close"
2798            ],
2799            thumbs: {
2800                autoStart: true,
2801                hideOnClose: true,
2802                parentEl: ".fancybox-slide--custom"
2803            }
2804        });
2805
2806
2807        if($(".form--wrap").length){
2808            $.validator.messages = $.extend({}, $.validator.messages, {
2809                required: 'This field is required.',
2810                remote: 'Please fix this field.',
2811                email: 'Please enter a valid email address.',
2812                url: 'Please enter a valid URL.',
2813                date: 'Please enter a valid date.',
2814                dateISO: 'Please enter a valid date (ISO).',
2815                number: 'Please enter a valid number.',
2816                digits: 'Please enter only digits.',
2817                equalTo: 'Please enter the same value again.',
2818                maxlength: $.validator.format('Please enter no more than {0} characters.'),
2819                minlength: $.validator.format('Please enter at least {0} characters.'),
2820                rangelength: $.validator.format('Please enter a value between {0} and {1} characters long.'),
2821                range: $.validator.format('Please enter a value between {0} and {1}.'),
2822                max: $.validator.format('Please enter a value less than or equal to {0}.'),
2823                min: $.validator.format('Please enter a value greater than or equal to {0}.'),
2824                step: $.validator.format('Please enter a multiple of {0}.')
2825            });
2826        }
2827    });
2828</script>
vendor: 1 bytes, line 2828
2828
2829<script type="text/javascript">window.NREUM||(NREUM={});NREUM.info={"beacon":"bam.nr-data.net","licenseKey":"NRJS-222c0d99af9fd6e2b0b","applicationID":"1502973767","transactionName":"ZlQBYUNYWEZZAUNfXV8eIlZFUFlbFxJWUVc=","queueTime":0,"applicationTime":1471,"atts":"ShMCFwtCS0g=","errorBeacon":"bam.nr-data.net","agent":""}</script>
2829</body>
2830</html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.