PageSourceSearch

https://www.promidatlantic.org/

html promidatlantic.org collected 2026-10-09 22:27:55 UTC 145,117 bytes, 1,423 lines download raw bytes

1
2
3<!DOCTYPE html>
4<html lang="en">
5<head>
6    
7    
8    <meta charset="utf-8">
9    <meta http-equiv="x-ua-compatible" content="IE=edge,chrome=1" />
10    <meta name="viewport" content="width=device-width, initial-scale=1">
11    <link rel="shortcut icon" href="https://assets-002.noviams.com/novi-file-uploads/pro/structure/favicon_white.ico" />
12    <link rel="apple-touch-icon" href="https://assets-002.noviams.com/novi-file-uploads/pro/structure/pro_apple_touch_icon_1024x1024-1.png" />
13
14    
15    <title>Professional Remodeling Organization | PRO </title>
16
17    
18            <link rel="canonical" href="https://www.promidatlantic.org/" />
19        <meta property="og:url" content="https://www.promidatlantic.org/" />
20    
21
22    
23
24
25
26    <link href="https://assets-002.noviams.com/novi-core-assets/css/c/pro/pro.css" rel="stylesheet" />
27    <link href="https://assets-002.noviams.com/novi-core-assets/css/fontawesome.css" rel="stylesheet" />
28    <link href="/css-fingerprint5A47ED0DFFD6440BD5E049954EB92443/event-starting-modal.css" rel="stylesheet" />
29
30
31
32    <link href="/client-apps/main/dist/css-fingerprint4DE2EE79378F266E7D72B6E63217EBBE/content-region-shims.css" rel="stylesheet" />
33    <link href="/client-apps/main/dist/css-fingerprint2B52356E96AEE186D78F2122BC4557A4/prism.css" rel="stylesheet" />
34
35    
35<script type="text/javascript">window.NREUM||(NREUM={});NREUM.info = {"beacon":"bam.nr-data.net","errorBeacon":"bam.nr-data.net","licenseKey":"NRJS-e2842e214a327241915","applicationID":"1502958261","transactionName":"bwQGMkVZWBFQV0FfXlZOKTB0F34NXFF2WV9MEwsKW11ETXhaUVNJ","queueTime":0,"applicationTime":315,"agent":"","atts":""}</script>
35<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:"1588880786",accountID:"4212042",trustKey:"4212042",xpid:"UAQGU1ZXChABUVFQDgQPVFIA",licenseKey:"NRJS-e2842e214a327241915",applicationID:"1502958261",browserID:"1588880786"};;/*! For license information please see nr-loader-spa-1.323.0.min.js.LICENSE.txt */
36(()=>{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.323.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};
36e.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;
36const 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);
36if(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$:()=>
36o,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])}
36(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}
36;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.323.0.min.js"),r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{const e={},t="NRBA-1.323.0.PROD:";r.l=(n,i,s,a)=>
36{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-ORjtmy+nQMgxbu0os8+oTRa5sPzbinyuWSvpZrrstVLIaHofRRlfODdH+oUmkIgeQpM+vPf3vG/4RzvCsFVh1A==",249:"sha512-o7+K6xC0z3TqynjVxpd+jgiSgqy8rrPeRcUSqt5J0Rqg5Su5CycLMYfpwiM3WBCHiNDrG5aZoXJQ6HRc335XYQ==",212:"sha512-kRvBt1IYQDBnClTEWNaE8sDFqbXXM3Vdyf972Uf4MFbJxl7u3KmdO+jdB1H4achPEoT9YtNXHswaESey6sCH0A==",238:"sha512-U5EGmyYbFVR2UMNAuZJ7fTgVVtPa5b8RPMySDwXo7z3frRdkUJ2x1VAQTLQCeBab8VlGVGRV8FiSHIn/pwN72A=="};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.323.0.PROD"]=self["webpackChunk:NRBA-1.323.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
36ine_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()=>
36{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)=>
36null==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
36dTimingMethod(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
36imeToRegister: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})})}
36return 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,a=(0,ye.ZF)(),o=(0,ye.el)(),c=Date.now();this.agentRef.runtime?.timeKeeper?.ready&&(s=Math.floor(this.agentRef.runtime.timeKeeper.correctAbsoluteTimestamp(c)));var d={spanId:a,traceId:o,timestamp:c,timestampCorrected:s};return(e.sameOrigin||this.isAllowedOrigin(e)&&this.useTraceContextHeadersForCors())&&(d.traceContextParentHeader=this.generateTraceContextParentHeader(a,o),d.traceContextStateHeader=this.generateTraceContextStateHeader(a,s??c,r,n,i)),(e.sameOrigin&&!this.excludeNewrelicHeader()||!e.sameOrigin&&this.isAllowedOrigin(e)&&this.useNewrelicHeaderForCors())&&(d.newrelicHeader=this.generateTraceHeader(a,o,s??c,r,n,i)),d}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"
36!==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);
36if(!(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)}
36);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)})});
36class 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
36h(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>
vendor: 71 bytes, lines 36-38
36
37    
38<script async src="https://www.googletagmanager.com/gtag/js?id=
38G-QS083553P5
vendor: 13 bytes, line 38
38"></script>
39<script nonce="Koay9jelr1I4DZStB3AkCg==">
vendor: 130 bytes, lines 40-43
40window.dataLayer = window.dataLayer || [];
41function gtag(){dataLayer.push(arguments);}
42gtag('js', new Date());
43gtag('config', '
43G-QS083553P5
vendor: 5 bytes, line 43
43');
44</script>
44
45
46    
47    
48    
49    <style type="text/css">
50        .article-content-container .blog-categories a {
51	color: #fff;
52	font-weight: 700;
53}
54
55.article-content-container .blog-categories a:hover {
56	color: #BA2406;
57	font-weight: 700;
58}
59
60html body div#content.body-content.c-body-content__membership-information div.container.moved-up.register-container div.row.step-1 div.o-column.g-register__content.article .bottom-area .btn, .btn-default, .btn-secondary {
61	border-color: #f0f0f0;
62	border: 2px solid #f0f0f0;
63	color: #fff;
64	background: #BA2307;
65}
66div.member-type h3
67{
68color:#BA2307 !important;}
69
70
71div.member-type .pull-right {
72	float: left !important;
73margin: 20px 0px 40px 0px;
74}
75
76
77div.content.c-article-widget__content a.c-article-widget__blog-category{
78color: #ba2406}
79
80
81.btn-secondary{
82background: #6A6A6A;
83color: #ffffff}
84
85.btn-secondary:hover{
86background: #ffffff;
87color: #6A6A6A;}
88    </style>
89</head>
90<body>
91    
92        <a href="#content" class="skip">Skip to content</a>
93    
94    
95        <header>
96            
97
98
99<div class="c-nav-centered">
100
101    <div class="c-nav-centered__wrapper">
102
103        <div class="c-nav-centered__login-out" role="list">
104
105            <a href="/products/checkout" id="cart-items-link" class="cart c-nav-utility__link c-nav-utility__cart-link hidden-xs hidden-sm"  style="display:none" data-bind="visible: profileViewModel && profileViewModel.CartHasItems && profileViewModel.CartHasItems()" role="listitem">
106                <span class="items-in-cart c-nav-utility__span c-nav-utility__items-in-cart" data-bind="html: profileViewModel.CartItemQuantity()" role="status">
107                </span>
108                <span class="c-nav-utility__span c-nav-utility__cart">
109                    Cart
110                </span>
111            </a>
112                    <a href="#join-modal" data-toggle="modal" id="join-link" class="c-nav-utility__link c-nav-utility__join-link" role="listitem"><span class="join-modal-link c-nav-utility__span c-nav-utility__join">Join</span></a>
113                <a href="
114/login" class="c-nav-utility__link c-nav-utility__login-link" role="listitem"><span class="c-nav-utility__span c-nav-utility__login">Login</span></a>
115
116        </div>
117
118        <div class="c-nav-centered__logo">
119
120            <a href="/" class="navbar__logo-wrapper">
121
122                <img alt="Professional Remodeling Organization Logo" src="https://assets-002.noviams.com/novi-file-uploads/pro/structure/pro_logotype_horiz_temp_color.png" class="img-responsive c-nav-navigation__img" />
123
124            </a>
125
126        </div>
127
128        <div class="c-nav-centered__search">
129
130            <div id="search-panel">
131                <div class="form-group" role="search">
132                    <span class="pull-left">
133                        <input type="text" class="form-control search-text" aria-label="Enter keyword to search site for" placeholder="Search site" />
134                    </span>
135                    <a href="/search" aria-label="Search Site" class="btn search-go">
136                        <span class="novicon novicon-arrow-right" aria-hidden="true"></span>
137                    </a>
138                </div>
139            </div>
140        </div>
141
142        <nav class="c-nav-centered__navigation" role="navigation">
143
144            <div class="navbar-collapse collapse c-nav-navigation__collapse">
145
146                <ul class="nav navbar-nav c-nav-navigation__ul">
147                    <li class="c-nav-navigation__toggle-wrapper">
148    <a href="javascript:void(0);" target="">
149        <span class="c-nav-navigation__toggle"></span>
150        About
151        <span class="caret c-nav-navigation__caret-mobile"></span>
152    </a>
153    <ul class="dropdown-menu level-2">
154<li class="c-nav-navigation__toggle-wrapper">
155    <a href="/about-us" target="_self">
156        About Us
157    </a>
158</li>
159<li class="c-nav-navigation__toggle-wrapper">
160    <a href="/pro-pledge" target="_self">
161        PRO Pledge
162    </a>
163</li>
164<li class="c-nav-navigation__toggle-wrapper">
165    <a href="/leadership-roster" target="_self">
166        Leadership Rosters
167    </a>
168</li>
169<li class="c-nav-navigation__toggle-wrapper">
170    <a href="/sponsors-and-partners" target="_self">
171        Sponsors &amp; Partners
172    </a>
173</li>
174<li class="c-nav-navigation__toggle-wrapper">
175    <a href="/contact-us" target="_self">
176        Contact Us
177    </a>
178</li>
179<li class="c-nav-navigation__toggle-wrapper">
180    <a href="/legal" target="_self">
181        Legal
182    </a>
183</li>
184<li class="c-nav-navigation__toggle-wrapper">
185    <a href="/sms-terms-and-conditions" target="_self">
186        SMS Policy
187    </a>
188</li>
189<li class="c-nav-navigation__toggle-wrapper">
190    <a href="/getting-started-in-the-industry-" target="_self">
191        Getting started in the industry? 
192    </a>
193</li>
194    </ul>
195</li>
196<li class="c-nav-navigation__toggle-wrapper">
197    <a href="javascript:void(0);" target="">
198        <span class="c-nav-navigation__toggle"></span>
199        Awards
200        <span class="caret c-nav-navigation__caret-mobile"></span>
201    </a>
202    <ul class="dropdown-menu level-2">
203<li class="c-nav-navigation__toggle-wrapper">
204    <a href="https://www.awards.promidatlantic.org/" target="_blank">
205        Remodeler of the Year Awards
206    </a>
207</li>
208<li class="c-nav-navigation__toggle-wrapper">
209    <a href="/enter-metro-dc-awards" target="_self">
210        Enter the Metro DC PRO Awards
211    </a>
212</li>
213<li class="c-nav-navigation__toggle-wrapper">
214    <a href="/pro-achievement-awards" target="_self">
215        PRO Achievement Awards
216    </a>
217</li>
218    </ul>
219</li>
220<li class="c-nav-navigation__toggle-wrapper">
221    <a href="javascript:void(0);" target="">
222        <span class="c-nav-navigation__toggle"></span>
223        Homeowners
224        <span class="caret c-nav-navigation__caret-mobile"></span>
225    </a>
226    <ul class="dropdown-menu level-2">
227<li class="c-nav-navigation__toggle-wrapper">
228    <a href="/let-us-help-you-find-a-pro-forms" target="_self">
229        Let Us Help You Find a PRO
230    </a>
231</li>
232<li class="c-nav-navigation__toggle-wrapper">
233    <a href="/members-pro-mid-atlantic/" target="_self">
234        PRO Member Directory
235    </a>
236</li>
237<li class="c-nav-navigation__toggle-wrapper">
238    <a href="/why-hire-a-pro" target="_self">
239        Why hire a PRO?
240    </a>
241</li>
242<li class="c-nav-navigation__toggle-wrapper">
243    <a href="https://www.awards.promidatlantic.org/" target="_blank">
244        Get Inspired
245    </a>
246</li>
247<li class="c-nav-navigation__toggle-wrapper">
248    <a href="/questions" target="_self">
249        Questions to ask a remodeler
250    </a>
251</li>
252<li class="c-nav-navigation__toggle-wrapper">
253    <a href="/remodeling-roadmap" target="_self">
254        Remodeling Roadmap
255    </a>
256</li>
257<li class="c-nav-navigation__toggle-wrapper">
258    <a href="/file-a-grievance" target="_self">
259        File a Grievance
260    </a>
261</li>
262    </ul>
263</li>
264<li class="c-nav-navigation__toggle-wrapper">
265    <a href="javascript:void(0);" target="">
266        <span class="c-nav-navigation__toggle"></span>
267        Professionals
268        <span class="caret c-nav-navigation__caret-mobile"></span>
269    </a>
270    <ul class="dropdown-menu level-2">
271<li class="c-nav-navigation__toggle-wrapper">
272    <a href="/pro-membership" target="_self">
273        Why join PRO?
274    </a>
275</li>
276<li class="c-nav-navigation__toggle-wrapper">
277    <a href="/membership-information" target="_self">
278        Join PRO
279    </a>
280</li>
281<li class="c-nav-navigation__toggle-wrapper">
282    <a href="/member-benefits" target="_self">
283        Member to Member Benefits
284    </a>
285</li>
286<li class="c-nav-navigation__toggle-wrapper">
287    <a href="/advocacy-" target="_self">
288        Advocacy 
289    </a>
290</li>
291<li class="c-nav-navigation__toggle-wrapper">
292    <a href="javascript:void(0);" target="">
293        <span class="c-nav-navigation__toggle"></span>
294        Education
295        <span class="caret c-nav-navigation__caret-mobile"></span>
296    </a>
297    <ul class="dropdown-menu level-3">
298<li class="c-nav-navigation__toggle-wrapper">
299    <a href="/pro-learning-institute" target="_self">
300        PRO Learning Institute
301    </a>
302</li>
303<li class="c-nav-navigation__toggle-wrapper">
304    <a href="/get-certified" target="_self">
305        Get Certified
306    </a>
307</li>
308<li class="c-nav-navigation__toggle-wrapper">
309    <a href="/continuing-education" target="_self">
310        Continuing Education
311    </a>
312</li>
313    </ul>
314</li>
315    </ul>
316</li>
317<li class="c-nav-navigation__toggle-wrapper">
318    <a href="javascript:void(0);" target="">
319        <span class="c-nav-navigation__toggle"></span>
320        Members
321        <span class="caret c-nav-navigation__caret-mobile"></span>
322    </a>
323    <ul class="dropdown-menu level-2">
324<li class="c-nav-navigation__toggle-wrapper">
325    <a href="https://www.promidatlantic.org/membership-information" target="_blank">
326        Join PRO
327    </a>
328</li>
329<li class="c-nav-navigation__toggle-wrapper">
330    <a href="/member-compass" target="_self">
331        Member Compass
332    </a>
333</li>
334<li class="c-nav-navigation__toggle-wrapper">
335    <a href="https://www.promidatlantic.org/members-pro-mid-atlantic" target="_blank">
336        Member Directory
337    </a>
338</li>
339<li class="c-nav-navigation__toggle-wrapper">
340    <a href="/refer-a-pro" target="_self">
341        Refer a PRO
342    </a>
343</li>
344<li class="c-nav-navigation__toggle-wrapper">
345    <a href="/renew-your-membership" target="_self">
346        Renew your membership
347    </a>
348</li>
349<li class="c-nav-navigation__toggle-wrapper">
350    <a href="/news/" target="_self">
351        Blog
352    </a>
353</li>
354    </ul>
355</li>
356<li class="c-nav-navigation__toggle-wrapper">
357    <a href="javascript:void(0);" target="">
358        <span class="c-nav-navigation__toggle"></span>
359        Events
360        <span class="caret c-nav-navigation__caret-mobile"></span>
361    </a>
362    <ul class="dropdown-menu level-2">
363<li class="c-nav-navigation__toggle-wrapper">
364    <a href="https://www.promidatlantic.org/events/greater-philly-events" target="_blank">
365        Greater Philadelphia Events
366    </a>
367</li>
368<li class="c-nav-navigation__toggle-wrapper">
369    <a href="https://www.promidatlantic.org/events/dc" target="_blank">
370        Metro DC Events
371    </a>
372</li>
373<li class="c-nav-navigation__toggle-wrapper">
374    <a href="/events/nyc-events" target="_self">
375        NYC Events
376    </a>
377</li>
378    </ul>
379</li>
380<li class="c-nav-navigation__toggle-wrapper">
381    <a href="javascript:void(0);" target="">
382        <span class="c-nav-navigation__toggle"></span>
383        Choose Your Region
384        <span class="caret c-nav-navigation__caret-mobile"></span>
385    </a>
386    <ul class="dropdown-menu level-2">
387<li class="c-nav-navigation__toggle-wrapper">
388    <a href="/greater-philadelphia" target="_self">
389        Greater Philadelphia
390    </a>
391</li>
392<li class="c-nav-navigation__toggle-wrapper">
393    <a href="/metro-dc" target="_self">
394        Metro DC
395    </a>
396</li>
397    </ul>
398</li>
399
400                </ul>
401            </div>
402        </nav>
403
404    </div>
405
406</div>
407
408<nav class="c-nav" id="c-nav" role="navigation">
409
410    <a href="/products/checkout" id="cart-items-link-mobile" class="cart cart-mobile hidden-md hidden-lg" style="display:none" data-bind="visible: profileViewModel && profileViewModel.CartHasItems && profileViewModel.CartHasItems()" aria-label="View Cart">
411    <span class="novicon novicon-cart" aria-hidden="true"></span>
412    <strong>
413        <span class="items-in-cart" data-bind="html: profileViewModel.CartItemQuantity()" role="status"></span> <span data-bind="html: profileViewModel.CartItemQuantityLabel()"></span>
414    </strong> in your cart <span class="view-cart">View Cart</span>
415</a>
416
417
418
419    <div class="c-nav-navigation" id="c-nav-navigation">
420
421        <div class="navbar__wrapper">
422
423            <a href="/" class="navbar__logo-wrapper">
424
425                <img alt="Professional Remodeling Organization Logo" src="https://assets-002.noviams.com/novi-file-uploads/pro/structure/pro_logotype_horiz_temp_color.png" class="img-responsive c-nav-navigation__img" />
426
427            </a>
428
429            <a href="javascript:void(0);" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse" aria-label="Open and close the menu">
430                <i class="fas fa-bars" aria-hidden="true"></i>
431            </a>
432
433            <div class="c-nav-navigation__collapse-wrapper">
434
435                <div class="navbar-collapse collapse c-nav-navigation__collapse">
436
437                    <ul class="nav navbar-nav c-nav-navigation__ul">
438                        <li class="c-nav-navigation__toggle-wrapper">
439    <a href="javascript:void(0);" target="">
440        <span class="c-nav-navigation__toggle"></span>
441        About
442        <span class="caret c-nav-navigation__caret-mobile"></span>
443    </a>
444    <ul class="dropdown-menu level-2">
445<li class="c-nav-navigation__toggle-wrapper">
446    <a href="/about-us" target="_self">
447        About Us
448    </a>
449</li>
450<li class="c-nav-navigation__toggle-wrapper">
451    <a href="/pro-pledge" target="_self">
452        PRO Pledge
453    </a>
454</li>
455<li class="c-nav-navigation__toggle-wrapper">
456    <a href="/leadership-roster" target="_self">
457        Leadership Rosters
458    </a>
459</li>
460<li class="c-nav-navigation__toggle-wrapper">
461    <a href="/sponsors-and-partners" target="_self">
462        Sponsors &amp; Partners
463    </a>
464</li>
465<li class="c-nav-navigation__toggle-wrapper">
466    <a href="/contact-us" target="_self">
467        Contact Us
468    </a>
469</li>
470<li class="c-nav-navigation__toggle-wrapper">
471    <a href="/legal" target="_self">
472        Legal
473    </a>
474</li>
475<li class="c-nav-navigation__toggle-wrapper">
476    <a href="/sms-terms-and-conditions" target="_self">
477        SMS Policy
478    </a>
479</li>
480<li class="c-nav-navigation__toggle-wrapper">
481    <a href="/getting-started-in-the-industry-" target="_self">
482        Getting started in the industry? 
483    </a>
484</li>
485    </ul>
486</li>
487<li class="c-nav-navigation__toggle-wrapper">
488    <a href="javascript:void(0);" target="">
489        <span class="c-nav-navigation__toggle"></span>
490        Awards
491        <span class="caret c-nav-navigation__caret-mobile"></span>
492    </a>
493    <ul class="dropdown-menu level-2">
494<li class="c-nav-navigation__toggle-wrapper">
495    <a href="https://www.awards.promidatlantic.org/" target="_blank">
496        Remodeler of the Year Awards
497    </a>
498</li>
499<li class="c-nav-navigation__toggle-wrapper">
500    <a href="/enter-metro-dc-awards" target="_self">
501        Enter the Metro DC PRO Awards
502    </a>
503</li>
504<li class="c-nav-navigation__toggle-wrapper">
505    <a href="/pro-achievement-awards" target="_self">
506        PRO Achievement Awards
507    </a>
508</li>
509    </ul>
510</li>
511<li class="c-nav-navigation__toggle-wrapper">
512    <a href="javascript:void(0);" target="">
513        <span class="c-nav-navigation__toggle"></span>
514        Homeowners
515        <span class="caret c-nav-navigation__caret-mobile"></span>
516    </a>
517    <ul class="dropdown-menu level-2">
518<li class="c-nav-navigation__toggle-wrapper">
519    <a href="/let-us-help-you-find-a-pro-forms" target="_self">
520        Let Us Help You Find a PRO
521    </a>
522</li>
523<li class="c-nav-navigation__toggle-wrapper">
524    <a href="/members-pro-mid-atlantic/" target="_self">
525        PRO Member Directory
526    </a>
527</li>
528<li class="c-nav-navigation__toggle-wrapper">
529    <a href="/why-hire-a-pro" target="_self">
530        Why hire a PRO?
531    </a>
532</li>
533<li class="c-nav-navigation__toggle-wrapper">
534    <a href="https://www.awards.promidatlantic.org/" target="_blank">
535        Get Inspired
536    </a>
537</li>
538<li class="c-nav-navigation__toggle-wrapper">
539    <a href="/questions" target="_self">
540        Questions to ask a remodeler
541    </a>
542</li>
543<li class="c-nav-navigation__toggle-wrapper">
544    <a href="/remodeling-roadmap" target="_self">
545        Remodeling Roadmap
546    </a>
547</li>
548<li class="c-nav-navigation__toggle-wrapper">
549    <a href="/file-a-grievance" target="_self">
550        File a Grievance
551    </a>
552</li>
553    </ul>
554</li>
555<li class="c-nav-navigation__toggle-wrapper">
556    <a href="javascript:void(0);" target="">
557        <span class="c-nav-navigation__toggle"></span>
558        Professionals
559        <span class="caret c-nav-navigation__caret-mobile"></span>
560    </a>
561    <ul class="dropdown-menu level-2">
562<li class="c-nav-navigation__toggle-wrapper">
563    <a href="/pro-membership" target="_self">
564        Why join PRO?
565    </a>
566</li>
567<li class="c-nav-navigation__toggle-wrapper">
568    <a href="/membership-information" target="_self">
569        Join PRO
570    </a>
571</li>
572<li class="c-nav-navigation__toggle-wrapper">
573    <a href="/member-benefits" target="_self">
574        Member to Member Benefits
575    </a>
576</li>
577<li class="c-nav-navigation__toggle-wrapper">
578    <a href="/advocacy-" target="_self">
579        Advocacy 
580    </a>
581</li>
582<li class="c-nav-navigation__toggle-wrapper">
583    <a href="javascript:void(0);" target="">
584        <span class="c-nav-navigation__toggle"></span>
585        Education
586        <span class="caret c-nav-navigation__caret-mobile"></span>
587    </a>
588    <ul class="dropdown-menu level-3">
589<li class="c-nav-navigation__toggle-wrapper">
590    <a href="/pro-learning-institute" target="_self">
591        PRO Learning Institute
592    </a>
593</li>
594<li class="c-nav-navigation__toggle-wrapper">
595    <a href="/get-certified" target="_self">
596        Get Certified
597    </a>
598</li>
599<li class="c-nav-navigation__toggle-wrapper">
600    <a href="/continuing-education" target="_self">
601        Continuing Education
602    </a>
603</li>
604    </ul>
605</li>
606    </ul>
607</li>
608<li class="c-nav-navigation__toggle-wrapper">
609    <a href="javascript:void(0);" target="">
610        <span class="c-nav-navigation__toggle"></span>
611        Members
612        <span class="caret c-nav-navigation__caret-mobile"></span>
613    </a>
614    <ul class="dropdown-menu level-2">
615<li class="c-nav-navigation__toggle-wrapper">
616    <a href="https://www.promidatlantic.org/membership-information" target="_blank">
617        Join PRO
618    </a>
619</li>
620<li class="c-nav-navigation__toggle-wrapper">
621    <a href="/member-compass" target="_self">
622        Member Compass
623    </a>
624</li>
625<li class="c-nav-navigation__toggle-wrapper">
626    <a href="https://www.promidatlantic.org/members-pro-mid-atlantic" target="_blank">
627        Member Directory
628    </a>
629</li>
630<li class="c-nav-navigation__toggle-wrapper">
631    <a href="/refer-a-pro" target="_self">
632        Refer a PRO
633    </a>
634</li>
635<li class="c-nav-navigation__toggle-wrapper">
636    <a href="/renew-your-membership" target="_self">
637        Renew your membership
638    </a>
639</li>
640<li class="c-nav-navigation__toggle-wrapper">
641    <a href="/news/" target="_self">
642        Blog
643    </a>
644</li>
645    </ul>
646</li>
647<li class="c-nav-navigation__toggle-wrapper">
648    <a href="javascript:void(0);" target="">
649        <span class="c-nav-navigation__toggle"></span>
650        Events
651        <span class="caret c-nav-navigation__caret-mobile"></span>
652    </a>
653    <ul class="dropdown-menu level-2">
654<li class="c-nav-navigation__toggle-wrapper">
655    <a href="https://www.promidatlantic.org/events/greater-philly-events" target="_blank">
656        Greater Philadelphia Events
657    </a>
658</li>
659<li class="c-nav-navigation__toggle-wrapper">
660    <a href="https://www.promidatlantic.org/events/dc" target="_blank">
661        Metro DC Events
662    </a>
663</li>
664<li class="c-nav-navigation__toggle-wrapper">
665    <a href="/events/nyc-events" target="_self">
666        NYC Events
667    </a>
668</li>
669    </ul>
670</li>
671<li class="c-nav-navigation__toggle-wrapper">
672    <a href="javascript:void(0);" target="">
673        <span class="c-nav-navigation__toggle"></span>
674        Choose Your Region
675        <span class="caret c-nav-navigation__caret-mobile"></span>
676    </a>
677    <ul class="dropdown-menu level-2">
678<li class="c-nav-navigation__toggle-wrapper">
679    <a href="/greater-philadelphia" target="_self">
680        Greater Philadelphia
681    </a>
682</li>
683<li class="c-nav-navigation__toggle-wrapper">
684    <a href="/metro-dc" target="_self">
685        Metro DC
686    </a>
687</li>
688    </ul>
689</li>
690
691                    </ul>
692
693                    <ul class="nav navbar-nav c-nav-navigation__ul c-nav-navigation__ul--mobile">
694
695                        <li>
696
697                            <div class="c-nav-utility__custom-display">
698                                
699
700                            </div>
701                        </li>
702
703                        <li>
704                            <a href="/contact-us" class="c-nav-utility__link c-nav-utility__contact-link">
705                                <span class="c-nav-utility__span c-nav-utility__contact">
706                                    Contact
707                                </span>
708                            </a>
709
710                        </li>
711
712                        <li class="visible-xs visible-sm">
713                            <div id="search-panel-mobile" role="search">
714                                <div class="form-group">
715                                    <span><input type="text" class="form-control search-text" aria-label="Enter keyword to search site for" placeholder="Search site" /></span>
716                                    <a href="/search" aria-label="Click to search site" class="btn btn-secondary search-go"><span class="novicon novicon-arrow-right"></span></a>
717                                </div>
718                            </div>
719                        </li>
720
721                        <li>
722
723                                    <a href="#join-modal" data-toggle="modal" id="mobile-join-link" class="c-nav-utility__link c-nav-utility__join-link">
724                                        <span class="join-modal-link c-nav-utility__span c-nav-utility__join">
725                                            Join
726                                        </span>
727                                    </a>
728                                <a href="
729/login" class="c-nav-utility__link c-nav-utility__login-link">
730                                    <span class="c-nav-utility__span c-nav-utility__login">
731                                        Login
732                                    </span>
733                                </a>
734
735                        </li>
736
737                    </ul>
738
739                </div>
740
741            </div>
742
743        </div>
744
745    </div>
746
747</nav>
748
749<script nonce="Koay9jelr1I4DZStB3AkCg==">
750    var novi = {};
751    novi.checkScroll = function () {
752
753        // Determine the viewport width your in using a media query from Javascript
754        var mediaQuery = window.matchMedia("(max-width: 991px)");
755
756        // Get the distance the user has scrolled from the top
757        var scrollTop = Math.max(window.pageYOffset, document.documentElement.scrollTop, document.body.scrollTop);
758
759        // We are determining if we need to recalculate the distance the #main-nav element is from the top based on
760        // the ternary if statements below. Basically we don't want the novi.navTop value to be calculated to the exact
761        // scroll top position and we want the #main-nav element to be a certain distance from the top of the page when
762        // the page is wide enough (hence the media query)
763        novi.navTop = mediaQuery.matches && novi.navTop < novi.nav.offset().top && novi.nav.offset().top < scrollTop
764            ? novi.nav.offset().top
765            : novi.navTop;
766
767        // If we have scrolled far enough down, we need to pin the navigation menu to the top (provided we're in a wide enough page for the navigation bar
768        // and not the hamburger menu button)
769        if (!mediaQuery.matches && scrollTop > novi.navTop + novi.navHeight) {
770            var height = novi.nav.outerHeight();
771            novi.navBackground.addClass("c-nav-scroll");
772            novi.navCentered.addClass("c-nav-scroll");
773            novi.nav.addClass("c-nav-scroll__anchor");
774            novi.navBrand.addClass("nav-brand-show");
775            novi.bodyClass.css('margin-top', novi.navHeight);
776
777        }
778        else if (mediaQuery.matches || scrollTop <= novi.navTop) {
779            novi.navBackground.removeClass("c-nav-scroll");
780            novi.navCentered.removeClass("c-nav-scroll");
781            novi.nav.removeClass("c-nav-scroll__anchor");
782            novi.navBrand.removeClass("nav-brand-show");
783            novi.bodyClass.css('margin-top', '0');
784
785        }
786    };
787    document.addEventListener("DOMContentLoaded", function (event) {
788        novi.nav = $("#c-nav");
789        novi.navBackground = $("#c-nav");
790        novi.navCentered = $(".c-nav-centered");
791        novi.navBrand = $("#nav-brand");
792        novi.bodyClass = $("#content");
793        novi.navHeight = $(".c-nav").outerHeight();
794
795
796        // NOTE [Brian Hall 2017-07-17]: This is a work around for when adding a member via the member-compass --> Staff area
797        var navOffset = novi.nav.offset();
798        novi.navTop = typeof (navOffset) === "undefined" || navOffset === null ? null : novi.nav.offset().top;
799
800        novi.navOffset = 0;
801        var adminBar = $("#admin-bar");
802        if (adminBar)
803            novi.navOffset = adminBar.outerHeight();
804        $(window).scroll(function () {
805            novi.checkScroll();
806        });
807        $(window).on("resize", function () {
808            novi.checkScroll();
809        });
810        novi.checkScroll();
811
812        $('.navbar-toggle').click(function () {
813            $(this).next('i').slideToggle('500');
814            $(this).find('i').toggleClass('fa-bars fa-times')
815        });
816    });
817</script>
817
818        </header>
819
820    <div class="body-content c-body-content__ c-body-content__homepage" id="content" role="main">
821        
822
823<div class="section single-region" id='get-started'>
824    <div class="container">
825        <div class="region">
826            
827<novi-content-wrapper><div class="row" style="text-align: center;">
828<div class="col-md-4" style="text-align: center;"><a href="/find-my-region" title="PRO Regions" class="btn btn-primary">FIND MY REGION<br>Central Virginia, Greater Philadelphia, Metro DC</a></div>
829<div class="col-md-4"><a href="/let-us-help-you-find-a-pro-forms" title="Find a Pro" class="btn btn-primary">LET US HELP YOU <br>FIND A PRO <br>in your area</a></div>
830<div class="col-md-4" style="text-align: center;"><a href="/membership-information" title="Become a Member" class="btn btn-primary">JOIN PRO!<br>Associate with the best to be<br>the best</a></div>
831</div>
832<p>&nbsp;</p></novi-content-wrapper>
833        </div>
834    </div>
835</div>
836<div id="top-featured-carousel" class="section main-event" data-slick='{"infinite": true, "arrows": false, "dots": true, "slidesToShow": 1, "autoplay": true}' >
837            <div class="">
838                <div class="background" style="background-image: url(&#39;https://assets-002.noviams.com/novi-file-uploads/pro/events/heading-12.png&#39;);">
839                    <div class="overlay">
840                        <div class="container">
841                            <div class="event-info">
842                                <div class="date"><span class="novicon novicon-calendar"></span>Wednesday, October 21, 2026</div>
843                                <hr />
844                                <h1>PRO After Hours hosted by Mosaic Home Interiors </h1>
845                                <a class="btn btn-transparent" href="/events/pro-after-hours-hosted-by-mosaic-home-interiors-">View Event</a>
846                            </div>
847                        </div>
848                    </div>
849                </div>
850            </div>
851            <div class="slick-slide">
852                <div class="background" style="background-image: url(&#39;https://assets-002.noviams.com/novi-file-uploads/pro/events/crafted-with-purpose-3.png&#39;);">
853                    <div class="overlay">
854                        <div class="container">
855                            <div class="event-info">
856                                <div class="date"><span class="novicon novicon-calendar"></span>Tuesday, October 27, 2026</div>
857                                <hr />
858                                <h1>Artisanal Craft in Sustainable Spaces</h1>
859                                <a class="btn btn-transparent" href="/events/lunch-ceu-by-the-joyce-agency-at-ferguson">View Event</a>
860                            </div>
861                        </div>
862                    </div>
863                </div>
864            </div>
865
866</div>
867<div class="section single-region" id='about-association'>
868    <div class="container">
869        <div class="region">
870            
871<novi-content-wrapper><h3>&nbsp;</h3>
872<h4 class="c-hp-about-association__title">Serving the Remodeling Community for 50 years<br><br></h4>
873<div class="col-md-6" style="color: #ba2406; text-align: center;">
874<p><strong>Are you a Remodeling Professional?</strong></p>
875<div style="color: black; text-align: center;"><strong> &nbsp; Become a Member Today!</strong></div>
876<p style="text-align: left;"></p>
877<p style="color: black; text-align: left;"><br p="" style="text-align: left;">Members of the Professional Remodeling Organization (PRO) Mid Atlantic represent the most qualified and ethical professionals in the remodeling industry. They meet advanced criteria and pledge a commitment to high standards of professionalism and PRO&rsquo;s Code of Ethics. <a href="https://www.promidatlantic.org/pro-membership" target="_blank">Learn more</a> about the value of PRO membership or <a href="mailto:mail:%[email protected]" target="_blank">drop us a note</a> and we can discuss the membership options with you.</p>
878<br><a href="https://www.promidatlantic.org/pro-membership" target="_blank" class="btn btn-primary">Join PRO!</a><br><strong>&nbsp;<br><br></strong></div>
879<div class="col-md-6" style="color: #ba2406; text-align: center;">
880<p><strong>Remodeling Your Home?</strong></p>
881<div style="color: black; text-align: center;"><strong> Turn to PRO, a Trusted Resource<br><br></strong></div>
882<div style="color: black; text-align: center;">
883<p style="text-align: left;"></p>
884<p style="text-align: left;">PRO is an ally to homeowners and works to ensure they get the maximum value and enjoyment out of their remodeling investments. The <a href="https://www.promidatlantic.org/pro-pledge" target="_blank">PRO Code of Ethics</a> and rigorous application process ensure a standard of service and professionalism that make PRO members exemplary leaders in their field.</p>
885</div>
886<div style="color: black; text-align: center;"></div>
887<div style="color: black; text-align: center;"></div>
888<div style="color: black; text-align: center;"><br><br><a href="https://www.awards.promidatlantic.org/" target="_blank" class="btn btn-primary">See home projects by PROs</a><br><strong>&nbsp;<br><br></strong></div>
889</div></novi-content-wrapper>
890        </div>
891    </div>
892</div>
893
894<div class="section upcoming" >
895        <div class="events hidden-xs hidden-sm">
896            <div class="container">
897                <span class="events-tab"><span class="novicon novicon-calendar"></span></span>
898                <div class="events-nav clearfix">
899                    <a href="events/?PastEvents=1" class="pull-left">Past Events</a>
900                    <a href="events/" class="pull-right">View Calendar</a>
901                    <h2>Upcoming Events</h2>
902                </div>
903                    <div class="col-md-4 event" role="listitem">
904                        
905
906
907<div class="event-table c-event-date-stub">
908    <div class="c-event-date-stub__wrapper">
909        <div class="date-stub c-event-date-stub__start" title="Starts October 21, 2026 at 5:00 PM">
910            Oct <strong>21</strong>
911        </div>
912
913    </div>
914
915    <div class="title c-event-date-stub__event-wrapper">
916        <a href="/events/pro-after-hours-hosted-by-mosaic-home-interiors-"  data-aria-label="Event Details for PRO After Hours hosted by Mosaic Home Interiors ">
917            <strong class="c-event-date-stub__event-name" role="heading" aria-level="3">
918                PRO After Hours hosted by Mosaic Home Interiors 
919            </strong>
920        </a>
921            <span class="time c-event-date-stub__time">5:00 PM - 7:00 PM</span>
922                <span class="time c-event-date-stub__time"><small>EDT</small></span>
923
924    <a href="/events/pro-after-hours-hosted-by-mosaic-home-interiors-"  data-aria-label="Event Details for PRO After Hours hosted by Mosaic Home Interiors ">
925        <span class="c-event-date-stub__btn">
926            Details
927        </span>
928    </a>
929    </div>
930</div>
931                    </div>
932                    <div class="col-md-4 event" role="listitem">
933                        
934
935
936<div class="event-table c-event-date-stub">
937    <div class="c-event-date-stub__wrapper">
938        <div class="date-stub c-event-date-stub__start" title="Starts October 27, 2026 at 11:15 AM">
939            Oct <strong>27</strong>
940        </div>
941
942    </div>
943
944    <div class="title c-event-date-stub__event-wrapper">
945        <a href="/events/lunch-ceu-by-the-joyce-agency-at-ferguson"  data-aria-label="Event Details for Artisanal Craft in Sustainable Spaces">
946            <strong class="c-event-date-stub__event-name" role="heading" aria-level="3">
947                Artisanal Craft in Sustainable Spaces
948            </strong>
949        </a>
950            <span class="time c-event-date-stub__time">11:15 AM - 1:00 PM</span>
951                <span class="time c-event-date-stub__time"><small>EDT</small></span>
952
953    <a href="/events/lunch-ceu-by-the-joyce-agency-at-ferguson"  data-aria-label="Event Details for Artisanal Craft in Sustainable Spaces">
954        <span class="c-event-date-stub__btn">
955            Details
956        </span>
957    </a>
958    </div>
959</div>
960                    </div>
961                    <div class="col-md-4 event" role="listitem">
962                        
963
964
965<div class="event-table c-event-date-stub">
966    <div class="c-event-date-stub__wrapper">
967        <div class="date-stub c-event-date-stub__start" title="Starts November 18, 2026 at 4:00 PM">
968            Nov <strong>18</strong>
969        </div>
970
971    </div>
972
973    <div class="title c-event-date-stub__event-wrapper">
974        <a href="/events/meet-the-remodeler-2026"  data-aria-label="Event Details for PRO Meet the Remodeler 2026 hosted by The Tile Shop">
975            <strong class="c-event-date-stub__event-name" role="heading" aria-level="3">
976                PRO Meet the Remodeler 2026 hosted by The Tile Shop
977            </strong>
978        </a>
979            <span class="time c-event-date-stub__time">4:00 PM - 7:00 PM</span>
980                <span class="time c-event-date-stub__time"><small>EST</small></span>
981
982    <a href="/events/meet-the-remodeler-2026"  data-aria-label="Event Details for PRO Meet the Remodeler 2026 hosted by The Tile Shop">
983        <span class="c-event-date-stub__btn">
984            Details
985        </span>
986    </a>
987    </div>
988</div>
989                    </div>
990            </div>
991        </div>
992    <div class="mobile-callouts hidden-md hidden-lg">
993        <div class="container">
994            <a href="events/?CalendarView=1" class="btn btn-primary btn-mobile"><span class="border"><span class="novicon novicon-calendar"></span>Events Calendar</span></a>
995        </div>
996    </div>
997</div>
998<div class="section single-region" id='calendar-button'>
999    <div class="container">
1000        <div class="region">
1001            
1002
1003        </div>
1004    </div>
1005</div>
1006
1007<div class="section featured-slider" >
1008</div>
1009<div class="section double-region c-hp-double-region" id='c-hp-double-region'>
1010    <div class="container">
1011        <div class="region double-region-left">
1012            
1013
1014        </div>
1015        <div class="region double-region-right">
1016            
1017
1018        </div>
1019    </div>
1020</div>
1021
1022<div class="section we-are" >
1023    <div class="parallax" style="background-image: url('https://assets-002.noviams.com/novi-file-uploads/pro/backgrounds/novi-events-1.jpg');">
1024        <div class="overlay">
1025            <div class="container">
1026                
1027<novi-content-wrapper><h2>Our Mission</h2> <p><span>"Lorem ipsum dolor sit amet,
1028                consectetur adipiscing elit,
1029                sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."</span></p></novi-content-wrapper>
1030
1031<h4 class="line-before line-after" role="heading" aria-level="2"><novi-content-wrapper>Thank You to Our 2025 Annual Partners</novi-content-wrapper></h4>                    <div id="partners" role="list" data-slick='{"infinite": true, "slidesToShow": 6, "responsive": [{"breakpoint": 1200, "settings":{"slidesToShow": 5}},{"breakpoint": 992, "settings":{"slidesToShow": 3}},{"breakpoint": 575, "settings":{"slidesToShow": 2}},{"breakpoint": 410, "settings":{"slidesToShow": 1}}] }'>
1032                            <div role="listitem">
1033                                <a href="sponsors/dc-magazine-modern-luxury-media" title="DC Magazine Modern Luxury Media">
1034                                            <div class="circle-image">
1035                                                <img class="img-circle" alt="DC Magazine Modern Luxury Media" src="https://assets-002.noviams.com/novi-file-uploads/pro/members/hbntl_cover.png" />
1036                                            </div>
1037
1038                                </a>
1039                            </div>
1040                            <div role="listitem">
1041                                <a href="sponsors/kohler-signature-stores-by-grof-usa" title="Kohler Signature Stores by GROF USA">
1042                                            <div class="circle-image">
1043                                                <img class="img-circle" alt="Kohler Signature Stores by GROF USA" src="https://assets-002.noviams.com/novi-file-uploads/pro/members/kohlersignaturestore-grofusa_logo-2line-kb-pa_2020-01-29_blk-1.jpg" />
1044                                            </div>
1045
1046                                </a>
1047                            </div>
1048                            <div role="listitem">
1049                                <a href="sponsors/the-somerville-bath--kitchen-store-dc" title="The Somerville Bath &amp; Kitchen Store - DC">
1050                                            <div class="circle-image">
1051                                                <img class="img-circle" alt="The Somerville Bath &amp; Kitchen Store - DC" src="https://assets-002.noviams.com/novi-file-uploads/pro/members/untitled-design-50-1.png" />
1052                                            </div>
1053
1054                                </a>
1055                            </div>
1056                            <div role="listitem">
1057                                <a href="sponsors/level-up-solutions-services" title="Level Up Solutions Services">
1058                                            <div class="circle-image">
1059                                                <img class="img-circle" alt="Level Up Solutions Services" src="https://assets-002.noviams.com/novi-file-uploads/pro/members/levup_logo_4c-1-1.png" />
1060                                            </div>
1061
1062                                </a>
1063                            </div>
1064                            <div role="listitem">
1065                                <a href="sponsors/burke--burke-insurance" title="Burke &amp; Burke Insurance">
1066                                            <div class="circle-image">
1067                                                <img class="img-circle" alt="Burke &amp; Burke Insurance" src="https://assets-002.noviams.com/novi-file-uploads/pro/members/burke--burke-horizontal-logo-with-phone-number-3.png" />
1068                                            </div>
1069
1070                                </a>
1071                            </div>
1072                            <div role="listitem">
1073                                <a href="sponsors/conestoga-ceramic-tile" title="Conestoga Tile">
1074                                            <div class="circle-image">
1075                                                <img class="img-circle" alt="Conestoga Tile" src="https://assets-002.noviams.com/novi-file-uploads/pro/members/conestogaico---square---hi-res-1.jpg" />
1076                                            </div>
1077
1078                                </a>
1079                            </div>
1080                            <div role="listitem">
1081                                <a href="sponsors/tw-perry-inc" title="TW Perry, Inc.">
1082                                            <div class="circle-image">
1083                                                <img class="img-circle" alt="TW Perry, Inc." src="https://assets-002.noviams.com/novi-file-uploads/pro/members/twp-bfs-logo-1.png" />
1084                                            </div>
1085
1086                                </a>
1087                            </div>
1088                            <div role="listitem">
1089                                <a href="sponsors/cambria" title="Cambria">
1090                                            <div class="circle-image">
1091                                                <img class="img-circle" alt="Cambria" src="https://assets-002.noviams.com/novi-file-uploads/pro/members/cambria_-1.png" />
1092                                            </div>
1093
1094                                </a>
1095                            </div>
1096                            <div role="listitem">
1097                                <a href="sponsors/the-tile-shop" title="The Tile Shop">
1098                                            <div class="circle-image">
1099                                                <img class="img-circle" alt="The Tile Shop" src="https://assets-002.noviams.com/novi-file-uploads/pro/members/the-tile-shop-logo-1.jpeg" />
1100                                            </div>
1101
1102                                </a>
1103                            </div>
1104                            <div role="listitem">
1105                                <a href="sponsors/echo-electric-company-inc" title="Echo Electric Company, Inc.">
1106                                            <div class="circle-image">
1107                                                <img class="img-circle" alt="Echo Electric Company, Inc." src="https://assets-002.noviams.com/novi-file-uploads/pro/members/echo_logo_new_revised_with_colors_2568_-1.jpg" />
1108                                            </div>
1109
1110                                </a>
1111                            </div>
1112                            <div role="listitem">
1113                                <a href="sponsors/tart-lumber-company-inc" title="Tart Lumber C
1113ompany, Inc.">
1114                                            <div class="circle-image">
1115                                                <img class="img-circle" alt="Tart Lumber Company, Inc." src="https://assets-002.noviams.com/novi-file-uploads/pro/members/tart_logo-1.jpeg" />
1116                                            </div>
1117
1118                                </a>
1119                            </div>
1120                            <div role="listitem">
1121                                <a href="sponsors/mid-south-building-supply-inc" title="Mid South Building Supply, Inc.">
1122                                            <div class="circle-image">
1123                                                <img class="img-circle" alt="Mid South Building Supply, Inc." src="https://assets-002.noviams.com/novi-file-uploads/pro/members/midsouth_logo-1.png" />
1124                                            </div>
1125
1126                                </a>
1127                            </div>
1128                            <div role="listitem">
1129                                <a href="sponsors/home--design-magazine" title="Home &amp; Design magazine">
1130                                            <div class="circle-image">
1131                                                <img class="img-circle" alt="Home &amp; Design magazine" src="https://assets-002.noviams.com/novi-file-uploads/pro/members/hd-logo-1.jpg" />
1132                                            </div>
1133
1134                                </a>
1135                            </div>
1136                            <div role="listitem">
1137                                <a href="sponsors/digital-polygon" title="Digital Polygon">
1138                                            <div class="circle-image">
1139                                                <img class="img-circle" alt="Digital Polygon" src="https://assets-002.noviams.com/novi-file-uploads/pro/members/untitled-design-16.png" />
1140                                            </div>
1141
1142                                </a>
1143                            </div>
1144                    </div>
1145            </div>
1146        </div>
1147    </div>
1148</div>
1149<div class="section double-region widgets" id='widgets'>
1150    <div class="container">
1151        <div class="region double-region-left">
1152            
1153<novi-content-wrapper><h5 style="text-align: center;">What can PRO offer you? There are benefits for everyone in your company</h5>
1154<div class="content" style="text-align: center;">
1155<p>Lead Generation Service</p>
1156<p>PRO Preferred Insurance Offerings</p>
1157<p>PRO Women&rsquo;s Network</p>
1158<p>PRO-Owner&rsquo;s Email Group</p>
1159<p><a href="/advocacy" aria-invalid="true">Local Government Advocacy</a></p>
1160<p>Member-to-Member Email Group</p>
1161<p><a href="/pro-remodeler-of-the-year-awards" title="PRO Remodeler of the Year Awards Program">PRO Awards Program</a></p>
1162<p>Monthly Education/Networking Events</p>
1163<p><a href="/certification" title="Certification">Certification Program</a></p>
1164</div></novi-content-wrapper>
1165        </div>
1166        <div class="region double-region-right">
1167            
1168<novi-content-wrapper><h5>Representing the most ethical&nbsp;remodelers in the Mid Atlantic</h5>
1169<div class="content" style="text-align: center;">
1170<p>PRO members in <a href="https://www.promidatlantic.org/greater-philadelphia" target="_blank">Greater Philadelphia</a> and <a href="https://www.promidatlantic.org/metro-dc">Metro DC</a>&nbsp; are driven and inspirational leaders of small to large-size businesses&nbsp; who want sound business advice, educational opportunities and recognition from their remodeling industry peers. Each affiliate has it's own leadership, events and awards program.</p>
1171<p><span style="letter-spacing: 0px;">PRO membership provides members access to education, advocacy, recognition, networking and is tailored to the needs of remodeling professionals in their region.&nbsp;&nbsp;</span><span style="letter-spacing: 0px;"></span></p>
1172<p><span style="letter-spacing: 0px;"><img src="https://assets-002.noviams.com/novi-file-uploads/pro/gra
1172phics/Pillars_graphic_2.png" alt=""></span></p>
1173</div></novi-content-wrapper>
1174        </div>
1175    </div>
1176</div>
1177
1178    </div>
1179
1180    
1181
1182
1183<footer>
1184    <div class="footer-cms-region">
1185        <div class="container">
1186            
1187<novi-content-wrapper><p><img src="https://assets-002.noviams.com/novi-file-uploads/pro/Jan-Mar_26__2_.png" width="1280" height="480" alt=""></p>
1188<p></p></novi-content-wrapper>
1189        </div>
1190    </div>
1191
1192    <div class="c-footer">
1193
1194        <div class="container c-footer__top">
1195
1196            <div class="o-column g-footer__left c-footer__top-left">
1197
1198                <a href="/" class="c-footer__logo-wrapper">
1199                    <img alt="Professional Remodeling Organization Logo" src="https://assets-002.noviams.com/novi-file-uploads/pro/structure/pro_logotype_horiz_temp_color.png" class="img-responsive c-footer__logo" />
1200                </a>
1201
1202                <p class="address c-footer__address">
1203                    
1204                </p>
1205
1206                <p class="phone c-footer__phone">
1207                    
1208                </p>
1209
1210                <div class="social-icons c-footer__social-icons c-footer__social-icons--left" role="list">
1211                        <span role="listitem"><a href="https://www.facebook.com/PROMidAtlantic" aria-label="Find us on Facebook" class="icon facebook c-footer__social-icons--facebook" target="_blank"><span class="novicon novicon-facebook" aria-hidden="true"></span></a></span>
1212                                                                <span role="listitem"><a href="https://www.linkedin.com/company/pro-mid-atlantic/" aria-label="Connect with us on LinkedIn" class="icon linked-in c-footer__social-icons--linkedin" target="_blank"><span class="novicon novicon-linked-in" aria-hidden="true"></span></a></span>
1213                                            <span role="listitem"><a href="https://www.instagram.com/pro_midatlantic/" aria-label="Connect with us on Instagram" class="icon instagram c-footer__social-icons--instagram" target="_blank"><span class="novicon novicon-instagram" aria-hidden="true"></span></a></span>
1214                                            <span role="listitem"><a href="https://www.youtube.com/channel/UC6lFNT0WUp2bF796I0I77FA/videos" aria-label="Find us on YouTube" class="icon youtube c-footer__social-icons--youtube" target="_blank"><span class="novicon novicon-youtube" aria-hidden="true"></span></a></span>
1215                    <span role="listitem"><a href="/contact-us" aria-label="Contact Us via Email" class="icon facebook c-footer__social-icons--envelope"><span class="novicon novicon-envelope" aria-hidden="true"></span></a></span>
1216                </div>
1217
1218            </div>
1219
1220
1221            <div class="o-column g-footer__right c-footer__top-right">
1222
1223                <div class="c-footer__text-block">
1224                    
1225<novi-content-wrapper><style><!--
1226table, th, td {
1227        border-collapse: collapse;
1228      }
1229      th, td {
1230        padding: 0px;
1231        text-align: center;
1232      }
1233--></style>
1234<h6 style="color: #ba2406; text-align: left;"><strong>&nbsp;Annual Diamond </strong><strong>Partner</strong></h6>
1235<table style="width: 100%;">
1236<tbody>
1237<tr>
1238<td style="width: 48.7083%; text-align: right; vertical-align: top;"><img src="https://assets-002.noviams.com/novi-file-uploads/pro/logos/Sponsor_logos/TWP_BFS_Logo.png" alt="Image 1" style="width: 156px; display: block; margin-left: auto; margin-right: auto;" height="156">
1239<p></p>
1240</td>
1241<td style="width: 46.2917%;">
1242<p style="text-align: center;"><a href="/let-us-help-you-find-a-pro-forms" class="btn btn-primary" title="Let Us Help You Find a PRO">Let Us Help You Find a PRO</a></p>
1243<p style="text-align: center;">&nbsp;</p>
1244<p style="text-align: center;"><a href="/events" class="btn btn-secondary">PRO Events Calendar</a></p>
1245<p style="text-align: center;">&nbsp;</p>
1246<p style="text-align: center;"><img src="https://assets-002.noviams.com/novi-file-uploads/pro/auto-files/image_1714063492751.png" alt="Better Business Bureau logo" width="144" height="59"></p>
1247</td>
1248</tr>
1249</tbody>
1250</table></novi-content-wrapper>
1251                </div>
1252
1253            </div>
1254
1255        </div>
1256
1257        <div class="container c-footer__bottom">
1258
1259            <div class="o-column g-footer__novi c-footer__bottom-left">
1260                <div class="c-footer__novi">
1261                    <a class="c-footer__novi-wrapper" href="https://www.noviams.com">
1262                        <img alt="Novi AMS" src="/img/noviams-logo-full-color.png" class="img-responsive c-footer__novi-img" />
1263                        <p class="c-footer__novi-text">
1264                            Association Management Software
1265                        </p>
1266                    </a>
1267                </div>
1268            </div>
1269
1270            <div class="o-column g-footer__copyright c-footer__bottom-center">
1271
1272                <div class="c-footer__copyright-wrapper">
1273
1274                    <p class="c-footer__copyright">
1275                        Copyright &copy; 2026 - Professional Remodeling Organization. <a href="/legal" class="c-footer__legal">Legal</a>
1276                    </p>
1277                </div>
1278            </div>
1279
1280            <div class="o-column g-footer__affiliates c-footer__bottom-right">
1281
1282                <div class="c-footer__affiliates">
1283                    
1284<novi-content-wrapper><div class="content" style="text-align: center;">Telephone: (240) 242-3349</div>
1285<div class="content" style="text-align: center;">PO Box 59425 Potomac, MD 20859</div></novi-content-wrapper>
1286                </div>
1287            </div>
1288
1289        </div>
1290    </div>
1291
1292</footer>
1293<div class="modal fade sliced-corner" id="join-modal" tabindex="-1" role="dialog" aria-labelledby="modal-title">
1294	<div class="modal-dialog">
1295		<div class="modal-content">
1296			<div class="modal-header">
1297				<a href="javascript:void(0);" class="close" data-dismiss="modal" aria-label="Close" role="button"><span aria-hidden="true">&times;</span></a>
1298				<h3 class="modal-title" id="modal-title" role="heading" aria-level="2">Membership &amp; Account Access</h3>
1299			</div>
1300			<div class="modal-body">
1301				<div class="well">
1302					<div class="row">
1303						<div class="col-sm-6" style="display: flex; flex-direction: column; justify-content: space-between">
1304							
1305<novi-content-wrapper><h4 style="text-align: center;">Is your company a member or do you want to create a guest account?</h4>
1306<p><strong>If you are an employee of a PRO member company, we invite you to set up an online account to:</strong></p>
1307<ul>
1308<li>Access the Member Directory</li>
1309<li>Register for Events</li>
1310<li>Register for Classes</li>
1311<li>Receive Legislative Updates</li>
1312<li>View &amp; Pay Invoices</li>
1313</ul></novi-content-wrapper>
1314							<a href="/register?memberTypeID=null" class="btn btn-secondary create-account-link" role="button">Create an Account</a>
1315						</div>
1316						<div class="col-sm-6" style="display: flex; flex-direction: column; justify-content: space-between">
1317							
1318<novi-content-wrapper><h4 style="text-align: center;">Applying for Membership?</h4>
1319<p>The members of PRO invite and encourage you to join! By working together, we can achieve our mission to maintain and enhance our industry as a whole.</p>
1320<p>All membership applications for PRO must be approved by the Board of Directors.&nbsp;</p></novi-content-wrapper>						
1321							<a href="/membership-information" class="btn btn-secondary" role="button">View Membership Information</a>
1322						</div>
1323					</div>
1324				</div>
1325			</div>
1326		</div>
1327	</div>
1328</div>
1329        
vendor: 1,751 bytes, lines 1329-1330
1329<script nonce="Koay9jelr1I4DZStB3AkCg==">
1330            !function (t, e) { var o, n, p, r; e.__SV || (window.posthog = e, e._i = [], e.init = function (i, s, a) { function g(t, e) { var o = e.split("."); 2 == o.length && (t = t[o[0]], e = o[1]), t[e] = function () { t.push([e].concat(Array.prototype.slice.call(arguments, 0))) } } (p = t.createElement("script")).type = "text/javascript", p.async = !0, p.src = s.api_host.replace(".i.posthog.com", "-assets.i.posthog.com") + "/static/array.js", (r = t.getElementsByTagName("script")[0]).parentNode.insertBefore(p, r); var u = e; for (void 0 !== a ? u = e[a] = [] : a = "posthog", u.people = u.people || [], u.toString = function (t) { var e = "posthog"; return "posthog" !== a && (e += "." + a), t || (e += " (stub)"), e }, u.people.toString = function () { return u.toString(1) + ".people (stub)" }, o = "init capture register register_once register_for_session unregister unregister_for_session getFeatureFlag getFeatureFlagPayload isFeatureEnabled reloadFeatureFlags updateEarlyAccessFeatureEnrollment getEarlyAccessFeatures on onFeatureFlags onSessionId getSurveys getActiveMatchingSurveys renderSurvey canRenderSurvey getNextSurveyStep identify setPersonProperties group resetGroups setPersonPropertiesForFlags resetPersonPropertiesForFlags setGroupPropertiesForFlags resetGroupPropertiesForFlags reset get_distinct_id getGroups get_session_id get_session_replay_url alias set_config startSessionRecording stopSessionRecording sessionRecordingStarted captureException loadToolbar get_property getSessionProperty createPersonProfile opt_in_capturing opt_out_capturing has_opted_in_capturing has_opted_out_capturing clear_opt_in_out_capturing debug".split(" "), n = 0; n < o.length; n++)g(u, o[n]);
1330 e._i.push([i, s, a]) }, e.__SV = 1) }(document, window.posthog || []);
1331            posthog.init('phc_9mA7xuJ96NmAImMoWFFwQxkBB0lJKsVfiRQISVf3iDv', {
1332                api_host: 'https://us.i.posthog.com',
1333                person_profiles: 'identified_only',
1334                enable_recording_console_log: true,
1335                session_recording: {
1336                    maskAllInputs: false,
1337                    maskInputOptions: { password: true }
1338                },
1339                integrations: {
1340                    intercom: true
1341                }
1342            });
1343
1344            
1345            posthog.reset();
1346            
1347
1348        </script>
1348
1349    
1349<script nonce="Koay9jelr1I4DZStB3AkCg==">
1350        var serverTimeOffset = -4;
1351        window.noviCmsNamespace = window.noviCmsNamespace || {};
1352    </script>
1352
1353    
1353<script src="/client-apps/main/dist/js/scripts-fingerprint9122de35482ea65306f6643c48dc6a94cf6d71b596ec0f51dfb1a7fd26f2c21f/knockout-3.5.3.js" integrity="sha256-kSLeNUguplMG9mQ8SNxqlM9tcbWW7A9R37Gn/Sbywh8=" crossorigin="anonymous" data-justification="" data-novi-source="true"></script>
1353
1354    
1354<script src="/client-apps/main/dist/js/scripts-fingerprint389c0211008fab85e0b8e29e04df7b37e7e54e3cebb801612b6b9458828d67a5/knockout-bindings.js" integrity="sha256-OJwCEQCPq4XguOKeBN97N+flTjzruAFhK2uUWIKNZ6U=" crossorigin="anonymous" data-justification="Shared helpers for applying Knockout bindings without double-binding errors." data-novi-source="true"></script>
1354
1355    
1355<script src="/client-apps/main/dist/js/bundles/frontend-fingerprintC883911C9A871F0A38840B99E0636897/frontend-bundle.js"></script>
1355
1356        
1356<script nonce="Koay9jelr1I4DZStB3AkCg==">
1357        setTimeout(() => {
1358            imageMapResize();
1359        }, 1);
1360
1361        $('[data-toggle="tooltip"]').tooltip({ container: "body" });
1362        var isPageEditToggleUrl = "/AdminBar/SetIsPageEditToggled";
1363        var getUsersToImpersonateUrl = "/Account/GetUsersToImpersonate";
1364        var impersonateUserUrl = "/Account/ImpersonateUser";
1365        var getStaticRegionRevisionsUrl = "/StaticPage/GetStaticRegionRevisions";
1366        var attendeeEventStartingReadUrl = "/events/attendee-event-starting-read";
1367
1368        var pageID = 13436;
1369        var staticPageRegionIds = [34530,34531,37205,37206,37268,37269,37272,37273,37799,34532,34533,36042,36162,36207,36208,37270,38032,39009,41416];
1370        var getLinkedCustomerAccountsUrl = "/Account/GetLinkedCustomerAccounts";
1371        var switchCustomerRecordUrl = "/Account/SwitchCustomerRecord";
1372        var isAuthenticated = false;
1373        var attendeeStartTimes = [];
1374        var cartItemQuantity = 0;
1375        var noviNs = noviNs || {};
1376        noviNs.tenantSettings = { customStyling: false };
1377        var allowMultipleAccounts = false;
1378    </script>
1378
1379
1380    
1380<script nonce="Koay9jelr1I4DZStB3AkCg==">
1381    var answerNpsSurveyUrl = "/Account/AnswerNpsSurvey";
1382    var getNpsSurveyFormDataUrl = "/Account/GetNpsSurveyFormData";
1383    var snoozeNpsSurveyUrl = "/Account/SnoozeNpsSurvey";
1384    var skipNpsSurveyUrl = "/Account/SkipNpsSurvey";
1385    var npsSurveyId = null;
1386    </script>
1386
1387
1388
1389
1390
1391        <div id="fb-root"></div>
1392        
1392<script nonce="Koay9jelr1I4DZStB3AkCg==">
1393            (function (d, s, id) {
1394                var js, fjs = d.getElementsByTagName(s)[0];
1395                if (d.getElementById(id)) return;
1396                js = d.createElement(s); js.id = id;
1397                js.src = 'https://connect.facebook.net/en_US/sdk.js#xfbml=1&autoLogAppEvents=1&version=v3.0&appId=682198771971182';
1398                fjs.parentNode.insertBefore(js, fjs);
1399            }(document, 'script', 'facebook-jssdk'));</script>
1399
1400    
1401	
1401<script src="/client-apps/main/dist/js/bundles/libraries-fingerprintDE71C27CEA820B55797C37BEF52F70EA/slickjs-bundle.js"></script>
1401
1402	
1402<script src="/client-apps/main/dist/js/scripts-fingerprint6664DAB58720CF72ECB8CEC45C792EE1/accessibility-home-page.js"></script>
1402
1403
1404    
1404<script src="/client-apps/main/dist/js/bundles/frontend-fingerprintc55afadbe274e6d24bb1c30c9ddb1593131d2ee8b723670ea3c52b48223840d6/nps-survey-bundle.js" integrity="sha256-xVr62+J05tJLscMMndsVkxMdLui3I2cOo8UrSCI4QNY=" crossorigin="anonymous" data-justification="" data-novi-source="true"></script>
1404
1405
1406    
1406<script src="/client-apps/main/dist/js/bundles/frontend-fingerprint12EBDDD950FB8AA8021466AC6B13BBDE/nps-survey-bundle.js" data-novi-source data-justification="The nps-survey-bundle.js script is used for handling the display and submission of NPS (Net Promoter Score) surveys."></script>
1406
1407    
1408
1409
1410
1411<script nonce="Koay9jelr1I4DZStB3AkCg==">
1412    window.noviCmsNamespace = window.noviNs || {};
1413    window.noviCmsNamespace.isPageEditToggled = false;
1414    window.noviCmsNamespace.contentRegionsLoadedEvent = 'contentRegionsLoaded';
1415    window.noviCmsNamespace.waitToLoadTinyMce = false;
1416</script>
vendor: 2 bytes, line 1416
1416
1417<script src="/client-apps/main/dist/js-fingerprint55cde5548e6a513a0d3898e6986b6db360d83b6749ca4429ccf286b92e0fd46b/prism.js" integrity="sha256-Vc3lVI5qUToNOJjmmGtts2DYO2dJykQpzPKGuS4P1Gs=" crossorigin="anonymous" data-justification="The prism.js script is a lightweight syntax highlighter used for displaying code snippets in a user-friendly format. It does not process, store, or transmit any PCI-sensitive data." data-novi-source="true"></script>
1417
1418
1419    <span style="display: none;">
1420        
1421    </span>
1422</body>
1423</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.