PageSourceSearch

https://www.chlorineinstitute.org/news/latest-news

html chlorineinstitute.org collected 2026-10-02 03:44:40 UTC 151,552 bytes, 1,441 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.noviams.com/novi-file-uploads/tci/structure/favicon.ico" />
12    <link rel="apple-touch-icon" href="https://assets.noviams.com/novi-file-uploads/tci/structure/apple_icon.png" />
13
14    
15    <title>Latest News - The Chlorine Institute</title>
16
17    
18            <link rel="canonical" href="https://www.chlorineinstitute.org/news/latest-news" />
19        <meta property="og:url" content="https://www.chlorineinstitute.org/news/latest-news" />
20    
21
22    
23
24
25
26    <link href="https://assets.noviams.com/novi-core-assets/css/c/tci/tci.css" rel="stylesheet" />
27    <link href="https://assets.noviams.com/novi-core-assets/css/fontawesome.css" rel="stylesheet" />
28    <link href="/css-fingerprintF33D99896E2EEBCE0EA73AE03F8605A1/event-starting-modal.css" rel="stylesheet" />
29
30
31
32    <link href="/client-apps/main/dist/css-fingerprint54A37ADB16B7E58AA32AC8D1E6983419/content-region-shims.css" rel="stylesheet" />
33    <link href="/client-apps/main/dist/css-fingerprintA2B8FF91F793D1095AFC692DC44E5761/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":"1554429612","transactionName":"bwQGMkVZWBFQV0FfXlZOKTB0F3QOXlN2WV9MEwsKW11ETXhaUVNJ","queueTime":0,"applicationTime":844,"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:"1588971398",accountID:"4212042",trustKey:"4212042",xpid:"UAQGU1ZXChABUVRWAwMOUFUD",licenseKey:"NRJS-e2842e214a327241915",applicationID:"1554429612",browserID:"1588971398"};;/*! For license information please see nr-loader-spa-1.322.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.322.0"])},981(e,t,r){"use strict";r.d(t,["R",0,{AJAX:"AjaxRequest",PA:"PageAction",UA:"UserAction",BP:"BrowserPerformance",WS:"WebSocket",SPV:"SecurityPolicyViolation",JSE:"JavaScriptError",LOG:"Log",PVE:"PageView",PVT:"PageViewTiming",SR:"SessionReplay",ST:"SessionTrace",BI:"BrowserInteraction"}])},9752(e,t,r){"use strict";const n="newrelic-iframe-",i=n+"timing-update",s=n+"api",a=n+"api-response",o=n+"vitals-update",c=n+"ajax";r.d(t,["$8",0,o,"Gi",0,a,"KU",0,c,"Pl",0,n,"cS",0,s,"cr",0,i])},6154(e,t,r){"use strict";var n=r(1863);const i="undefined"!=typeof window&&!!window.document,s="undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self.navigator instanceof WorkerNavigator||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis.navigator instanceof WorkerNavigator),a=i?window:"undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis),o=Boolean("hidden"===a?.document?.visibilityState),c=""+a?.location,d=/iPad|iPhone|iPod/.test(a.navigator?.userAgent),u=d&&"undefined"==typeof SharedWorker,l=(()=>{const e=a.navigator?.userAgent?.match(/Firefox[/\s](\d+\.\d+)/);return Array.isArray(e)&&e.length>=2?+e[1]:0})(),f=Date.now()-(0,n.t)();r.d(t,["OF",0,d,"RI",0,i,"WN",0,f,"bv",0,s,"gm",0,a,"lR",0,l,"m",0,c,"mw",0,o,"sb",0,u,"zk",0,()=>{const e=a?.performance?.getEntriesByType?.("navigation")?.[0];if(e&&e.responseStart>0&&e.responseStart<a.performance.now())return e}])},7295(e,t,r){"use strict";r.d(t,{Xv:()=>a,gX:()=>i,iW:()=>s});var n=[];function i(e){if(!e||s(e))return!1;if(0===n.length)return!0;if("*"===n[0].hostname)return!1;for(var t=0;t<n.length;t++){var r=n[t];if(r.hostname.test(e.hostname)&&r.pathname.test(e.pathname))return!1}return!0}function s(e){return void 0===e.hostname}function a(e){if(n=[],e&&e.length)for(var t=0;t<e.length;t++){let r=e[t];if(!r)continue;if("*"===r)return void(n=[{hostname:"*"}]);0===r.indexOf("http://")?r=r.substring(7):0===r.indexOf("https://")&&(r=r.substring(8));const i=r.indexOf("/");let s,a;i>0?(s=r.substring(0,i),a=r.substring(i)):(s=r,a="*");let[c]=s.split(":");n.push({hostname:o(c),pathname:o(a,!0)})}}function o(e,t=!1){const r=e.replace(/[.+?^${}()|[\]\\]/g,e=>"\\"+e).replace(/\*/g,".*?");return new RegExp((t?"^":"")+r+"$")}},3241(e,t,r){"use strict";r.d(t,{W:()=>i});var n=r(6154);function i(e={}){try{n.gm.dispatchEvent(new CustomEvent("newrelic",{detail:e}))}catch(e){}}},1687(e,t,r){"use strict";r.d(t,{Ak:()=>o,Ze:()=>d,x3:()=>c});var n=r(3241),i=r(3606),s=r(860),a=r(2646);function o(e,t){if(!e)return;const r={staged:!1,priority:s.P3[t]||0};
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.322.0.min.js"),r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{const e={},t="NRBA-1.322.0.PROD:";r.l=(n,i,s,a)=>
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-SARROoir04gFygxlr/+mTI+PyMeFL+epi1vnUA2G5mTQ7s3G44ItQBJKbOaIMdIE5OBzuaKhb4k5JYta0NICxg==",249:"sha512-6DKQo5WP7YlpzX6l9UfYkgGLGK2oITdoaYTcZtgl5Foa22NY63lED/0z1hBBLeD7qZCz/YdlY19/r8drlol1tg==",212:"sha512-CYxuvSpDx6ErqWJwAvpoHn54eY37YdMcFao/axOumlw3BsSL7yioOeB2LWViY/Njs818sQG10dSglUhYCMfLPw==",238:"sha512-mvbMILWa3ohYst+u6TLfNrmtY2swUIB3rbJFN/uzt3W62KhgvUVwB81UEZ1R0/it5bfrQ5EVz864pi/CAmucNQ=="};o=document.createElement("script"),o.charset="utf-8",r.nc&&o.setAttribute("nonce",r.nc),o.setAttribute("data-webpack",t+s),o.src=n,0!==o.src.indexOf(window.location.origin+"/")&&(o.crossOrigin="anonymous"),u[a]&&(o.integrity=u[a])}e[n]=[i];const l=(t,r)=>{o.onerror=o.onload=null,clearTimeout(f);const i=e[n];if(delete e[n],o.parentNode?.removeChild(o),i?.forEach(e=>e(r)),t)return t(r)},f=setTimeout(l.bind(null,void 0,{type:"timeout",target:o}),12e4);o.onerror=l.bind(null,o.onerror),o.onload=l.bind(null,o.onload),c&&document.head.appendChild(o)}})(),r.r=e=>{Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.p="https://js-agent.newrelic.com/",(()=>{const e={38:0,788:0};r.f.j=(t,n)=>{let i=r.o(e,t)?e[t]:void 0;if(0!==i)if(i)n.push(i[2]);else{const s=new Promise((r,n)=>i=e[t]=[r,n]);n.push(i[2]=s);const a=r.p+r.u(t),o=new Error,c=n=>{if(r.o(e,t)&&(i=e[t],0!==i&&(e[t]=void 0),i)){const e=n&&("load"===n.type?"missing":n.type),r=n&&n.target&&n.target.src;o.message="Loading chunk "+t+" failed: ("+e+": "+r+")",o.name="ChunkLoadError",o.type=e,o.request=r,i[1](o)}};r.l(a,c,"chunk-"+t,t)}};const t=(t,n)=>{let[i,s,a]=n;var o,c,d=0;if(i.some(t=>0!==e[t])){for(o in s)r.o(s,o)&&(r.m[o]=s[o]);if(a)a(r)}for(t&&t(n);d<i.length;d++)c=i[d],r.o(e,c)&&e[c]&&e[c][0](),e[c]=0},n=self["webpackChunk:NRBA-1.322.0.PROD"]=self["webpackChunk:NRBA-1.322.0.PROD"]||[];n.forEach(t.bind(null,0)),n.push=t.bind(null,n.push.bind(n))})(),(()=>{"use strict";r(8374);var e=r(8362),t=r(860);const n=Object.values(t.K7);var i=r(384),s=r(1741);var a=r(2555),o=r(3333),c=r(9300);const d=e=>{if(!e||"string"!=typeof e)return!1;try{document.createDocumentFragment().querySelector(e)}catch{return!1}return!0};var u=r(2614),l=r(944),f=r(8122);const h="[data-nr-mask]",p=e=>(0,f.a)(e,(()=>{const e={feature_flags:[],experimental:{register:!1,resources:!1,iframe_bridge:!1,iframe_domains:[]},mask_selector:"*",block_selector:"[data-nr-block]",mask_input_options:{color:!1,date:!1,"datetime-local":!1,email:!1,month:!1,number:!1,range:!1,search:!1,tel:!1,text:!1,time:!1,url:!1,week:!1,textarea:!1,select:!1,password:!0}};return{ajax:{deny_list:void 0,block_internal:!0,enabled:!0,autoStart:!0,capture_payloads:c.mo.NONE},api:{register:{get enabled(){return e.feature_flags.includes(o.$v.REGISTER)||e.experimental.register},set enabled(t){e.experimental.register=t},duplicate_data_to_container:!1,get allow_iframe_bridge(){return e.feature_flags.includes(o.$v.IFRAME_BRIDGE)||e.experimental.iframe_bridge},set allow_iframe_bridge(t){e.experimental.iframe_bridge=t},get iframe_domains(){return e.experimental.iframe_domains},set iframe_domains(t){Array.isArray(t)?e.experimental.iframe_domains=t:(0,l.R)(1,t)}}},browser_consent_mode:{enabled:!1},distributed_tracing:{enabled:void 0,exclude_newrelic_header:void 0,cors_use_newrelic_header:void 0,cors_use_tracecontext_headers:void 0,allowed_origins:void 0},get feature_flags(){return e.feature_flags},set feature_flags(t){e.feature_flags=t},generic_events:{enabled:!0,autoStart:!0},harvest:{interval:30},jserrors:{enabled:!0,autoStart:!0},logging:{enabled:!0,autoStart:!0},metrics:{enabled:!0,autoStart:!0},obfuscate:void 0,page_action:{enabled:!0},page_view_event:{enabled:!0,autoStart:!0},page_view_timing:{enabled:!0,autoStart:!0},performance:{capture_marks:!1,capture_measures:!1,capture_detail:!0,resources:{get enabled(){return e.feature_flags.includes(o.$v.RESOURCES)||e.experimental.resources},set enabled(t){e.experimental.resources=t},asset_types:[],first_party_domains:[],ignore_newrelic:!0}},privacy:{cookies_enabled:!0},proxy:{assets:void 0,beacon:void 0},session:{expiresMs:u.wk,inactiveMs:u.BB},session_replay:{autoStart:!0,enabled:!1,preload:!1,sampling_rate:10,error_sampling_rate:100,collect_fonts:!1,inl
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=(0,ye.ZF)(),a=(0,ye.el)(),o=Date.now(),c={spanId:s,traceId:a,timestamp:o};return(e.sameOrigin||this.isAllowedOrigin(e)&&this.useTraceContextHeadersForCors())&&(c.traceContextParentHeader=this.generateTraceContextParentHeader(s,a),c.traceContextStateHeader=this.generateTraceContextStateHeader(s,o,r,n,i)),(e.sameOrigin&&!this.excludeNewrelicHeader()||!e.sameOrigin&&this.isAllowedOrigin(e)&&this.useNewrelicHeaderForCors())&&(c.newrelicHeader=this.generateTraceHeader(s,a,o,r,n,i)),c}generateTraceContextParentHeader(e,t){return"00-"+t+"-"+e+"-01"}generateTraceContextStateHeader(e,t,r,n,i){return i+"@nr=0-1-"+r+"-"+n+"-"+e+"----"+t}generateTraceHeader(e,t,r,n,i,s){if(!("function"==typeof g.gm?.btoa))return null;var a={v:[0,1],d:{ty:"Browser",ac:n,ap:i,id:e,tr:t,ti:r}};return s&&n!==s&&(a.d.tk=s),btoa((0,X.A)(a))}shouldGenerateTrace(e){return this.agentRef.init?.distributed_tracing?.enabled&&this.isAllowedOrigin(e)}isAllowedOrigin(e){var t=!1;const r=this.agentRef.init?.distributed_tracing;if(e.sameOrigin)t=!0;else if(r?.allowed_origins instanceof Array)for(var n=0;n<r.allowed_origins.length;n++){var i=(0,Ge.D)(r.allowed_origins[n]);if(e.hostname===i.hostname&&e.protocol===i.protocol&&e.port===i.port){t=!0;break}}return t}excludeNewrelicHeader(){var e=this.agentRef.init?.distributed_tracing;return!!e&&!!e.exclude_newrelic_header}useNewrelicHeaderForCors(){var e=this.agentRef.init?.distributed_tracing;return!!e&&!1!==e.cors_use_newrelic_header}useTraceContextHeadersForCors(){var e=this.agentRef.init?.distributed_tracing;return!!e&&!!e.cors_use_tracecontext_headers}}var Ye=r(7295);function Ze(e){return"string"==typeof e?e:e instanceof(0,i.dV)().o.REQ?e.url:g.gm?.URL&&e instanceof URL?e.href:void 0}function $e(e,t){var r=(0,Ge.D)(t),n=e.params||e;n.hostname=r.hostname,n.port=r.port,n.protocol=r.protocol,n.host=r.hostname+":"+r.port,n.pathname=r.pathname,e.parsedOrigin=r,e.sameOrigin=r.sameOrigin}var Je=["load","error","abort","timeout"],Xe=Je.length,Qe=(0,i.dV)().o.REQ,et=(0,i.dV)().o.XHR;const tt="X-NewRelic-App-Data",rt="internal-error";class nt extends W{static featureName=c.TZ;constructor(e){super(e,c.TZ),this.dt=new qe(e),this.handler=(e,t,r,n)=>(0,S.p)(e,t,r,n,this.ee);try{const e={xmlhttprequest:"xhr",fetch:"fetch",beacon:"beacon"};g.gm?.performance?.getEntriesByType("resource").forEach(r=>{if(r.initiatorType in e&&0!==r.responseStatus){const n={status:r.responseStatus},i={rxSize:r.transferSize,duration:Math.floor(r.duration),cbTime:0};$e(n,r.name),this.handler("xhr",[n,i,r.startTime,r.responseEnd,e[r.initiatorType]],void 0,t.K7.ajax)}})}catch(e){}ze(this.ee,e),De(this.ee,e),function(e,r,n,i){const s=[c.mo.ALL,c.mo.FAILURES].includes(e.init.ajax?.capture_payloads);function a(e){var t=this;t.totalCbs=0,t.called=0,t.cbTime=0,t.end=A,t.ended=!1,t.xhrGuids={},t.lastSize=null,t.loadCaptureCalled=!1,t.params=this.params||{},t.metrics=this.metrics||{},t.latestLongtaskEnd=0,e.addEventListener("load",function(r){O(t,e)},(0,J.jT)(!1)),g.lR||e.addEventListener("progress",function(e){t.lastSize=e.loaded},(0,J.jT)(!1))}function o(e){this.params={method:e[0]},$e(this,e[1]),this.metrics={}}function d(t,r){e.loader_config.xpid&&this.sameOrigin&&r.setRequestHeader("X-NewRelic-ID",e.loader_config.xpid);var n=i.generateTracePayload(this.parsedOrigin);if(n){var s=!1;n.newrelicHeader&&(r.setRequestHeader("newrelic",n.newrelicHeader),s=!0),n.traceContextParentHeader&&(r.setRequestHeader("traceparent",n.traceContextParentHeader),n.traceContextStateHeader&&r.setRequestHeader("tracestate",n.traceContextStateHeader),s=!0),s&&(this.dt=n)}}function u(e,t){s&&e.length>=2&&(this.requestHeaders??={},this.requestHeaders[e[0].toLowerCase()]=e[1])}function l(e,t){var n=this.metrics,i=e[0],s=this;if(n&&i){var a=Le(i);a&&(n.txSize=a)}this.startTime=(0,_.t)(),this.requestBody=i,this.listener=function(e){try{"abort"!==e.type||s.loadCaptureCalled||(s.params.aborted=!0),("load"
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-ZKZ1S0W4JT
vendor: 13 bytes, line 38
38"></script>
39<script nonce="JZjWojSX8FgbksSzmsO9qA==">
vendor: 130 bytes, lines 40-43
40window.dataLayer = window.dataLayer || [];
41function gtag(){dataLayer.push(arguments);}
42gtag('js', new Date());
43gtag('config', '
43G-ZKZ1S0W4JT
vendor: 5 bytes, line 43
43');
44</script>
44
45
46    
47    <!-- Google tag (gtag.js) -->
48<head>
vendor: 63 bytes, line 48
48<script async src="https://www.googletagmanager.com/gtag/js?id=
48G-ZKZ1S0W4JT
vendor: 42 bytes, line 48
48" data-novi-association-source></script>
49<script data-novi-association-source>
50  
vendor: 138 bytes, lines 50-54
50window.dataLayer = window.dataLayer || [];
51  function gtag(){dataLayer.push(arguments);}
52  gtag('js', new Date());
53
54  gtag('config', '
54G-ZKZ1S0W4JT
vendor: 5 bytes, line 54
54');
55</script>
55
56</head>
57    
58    <style type="text/css">
59        html body div#content.body-content.c-body-content__ div.section.upcoming div.events.hidden-xs.hidden-sm div.container div.events-nav.clearfix a.pull-right{
60float: right !important;}
61    </style>
62</head>
63<body>
64    
65        <a href="#content" class="skip">Skip to content</a>
66    
67    
68        <header>
69            
70
71
72
73<div class="c-nav" id="c-nav">
74
75    <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">
76    <span class="novicon novicon-cart" aria-hidden="true"></span>
77    <strong>
78        <span class="items-in-cart" data-bind="html: profileViewModel.CartItemQuantity()" role="status"></span> <span data-bind="html: profileViewModel.CartItemQuantityLabel()"></span>
79    </strong> in your cart <span class="view-cart">View Cart</span>
80</a>
81
82
83
84    <div class="c-nav-utility" role="list">
85
86        <!-- CART BEGIN -->
87        <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()" aria-label="Items in cart" role="listitem">
88            <span class="items-in-cart c-nav-utility__span c-nav-utility__items-in-cart" role="status" data-bind="html: profileViewModel.CartItemQuantity()">
89            </span>
90            <span class="c-nav-utility__span c-nav-utility__cart">
91                Cart
92            </span>
93        </a>
94        <!-- CART END -->
95        <!-- LOGIN/USER BEGIN -->
96                <a href="#join-modal" data-toggle="modal" id="join-link" class="c-nav-utility__link c-nav-utility__join-link" role="listitem">
97                    <span class="join-modal-link c-nav-utility__span c-nav-utility__join">
98                        Join
99                    </span>
100                </a>
101            <a href="
102/login" class="c-nav-utility__link c-nav-utility__login-link" role="listitem">
103                <span class="c-nav-utility__span c-nav-utility__login">
104                    Login
105                </span>
106            </a>
107        <!-- LOGIN/USER END -->
108        <!-- CUSTOM BEGIN -->
109        <div class="c-nav-utility__custom-display">
110            
111
112        </div>
113        <!-- CUSTOM END -->
114        <!-- CONTACT US BEGIN -->
115        <a href="/contact-us" class="c-nav-utility__link c-nav-utility__contact-link">
116            <span class="c-nav-utility__span c-nav-utility__contact">
117                Contact
118            </span>
119        </a>
120        <!-- CONTACT US END -->
121
122        <!-- SEARCH PANEL BEGIN -->
123
124        <a href="#search-panel" class="hidden-xs hidden-sm search-toggle c-nav-utility__link" aria-label="Search Site" aria-expanded="false">
125            <span class="c-nav-utility__span">
126                <i class="fas fa-search" aria-hidden="true"></i>
127            </span>
128        </a>
129
130        <div id="search-panel">
131            <div class="form-group">
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" role="search">
136                    <span class="novicon novicon-arrow-right" aria-hidden="true"></span>
137                </a>
138            </div>
139        </div>
140        <!-- SEARCH PANEL END -->
141
142    </div>
143
144
145
146    <div class="c-nav-navigation" id="c-nav-navigation">
147
148        <div class="navbar__wrapper">
149
150            <a href="/" class="navbar__logo-wrapper">
151
152                <img alt="The Chlorine Institute Logo" src="https://assets.noviams.com/novi-file-uploads/tci/structure/main_logo.png" class="img-responsive c-nav-navigation__img" />
153
154            </a>
155
156            <a href="javascript:void(0);" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse" aria-label="Open and close the menu">
157                <span class="">
158                    <i class="fas fa-bars" aria-hidden="true"></i>
159                </span>
160            </a>
161
162            <div class="c-nav-navigation__collapse-wrapper">
163
164                <nav class="navbar-collapse collapse c-nav-navigation__collapse">
165
166                    <ul class="nav navbar-nav c-nav-navigation__ul">
167                        <li class="c-nav-navigation__toggle-wrapper">
168    <a href="javascript:void(0);" target="">
169        <span class="c-nav-navigation__toggle"></span>
170        About
171        <span class="caret c-nav-navigation__caret-mobile"></span>
172    </a>
173    <ul class="dropdown-menu level-2">
174<li class="c-nav-navigation__toggle-wrapper">
175    <a href="javascript:void(0);" target="">
176        <span class="c-nav-navigation__toggle"></span>
177        Mission Chemicals
178        <span class="caret c-nav-navigation__caret-mobile"></span>
179    </a>
180    <ul class="dropdown-menu level-3">
181<li class="c-nav-navigation__toggle-wrapper">
182    <a href="/chlorine" target="_self">
183        Chlorine
184    </a>
185</li>
186<li class="c-nav-navigation__toggle-wrapper">
187    <a href="/sodium-hypochlorite" target="_self">
188        Sodium Hypochlorite
189    </a>
190</li>
191<li class="c-nav-navigation__toggle-wrapper">
192    <a href="/hydrogen-chloride" target="_self">
193        Hydrogen Chloride
194    </a>
195</li>
196<li class="c-nav-navigation__toggle-wrapper">
197    <a href="/sodium-hydroxide" target="_self">
198        Sodium Hydroxide
199    </a>
200</li>
201<li class="c-nav-navigation__toggle-wrapper">
202    <a href="/potassium-hydroxide" target="_self">
203        Potassium Hydroxide
204    </a>
205</li>
206    </ul>
207</li>
208<li class="c-nav-navigation__toggle-wrapper">
209    <a href="/about-us" target="_self">
210        About Us
211    </a>
212</li>
213<li class="c-nav-navigation__toggle-wrapper">
214    <a href="/news/latest-news" target="_self">
215        <span class="c-nav-navigation__toggle"></span>
216        Latest News
217        <span class="caret c-nav-navigation__caret-mobile"></span>
218    </a>
219    <ul class="dropdown-menu level-3">
220<li class="c-nav-navigation__toggle-wrapper">
221    <a href="/news/press-releases" target="_self">
222        Press Releases
223    </a>
224</li>
225    </ul>
226</li>
227<li class="c-nav-navigation__toggle-wrapper">
228    <a href="/faqs" target="_self">
229        Frequently Asked Questions
230    </a>
231</li>
232<li class="c-nav-navigation__toggle-wrapper">
233    <a href="/technical-services" target="_self">
234        Technical Service Questions
235    </a>
236</li>
237<li class="c-nav-navigation__toggle-wrapper">
238    <a href="/contact-us" target="_self">
239        Contact Us
240    </a>
241</li>
242    </ul>
243</li>
244<li class="c-nav-navigation__toggle-wrapper">
245    <a href="javascript:void(0);" target="">
246        <span class="c-nav-navigation__toggle"></span>
247        Membership
248        <span class="caret c-nav-navigation__caret-mobile"></span>
249    </a>
250    <ul class="dropdown-menu level-2">
251<li class="c-nav-navigation__toggle-wrapper">
252    <a href="/why-join" target="_self">
253        Why Join
254    </a>
255</li>
256<li class="c-nav-navigation__toggle-wrapper">
257    <a href="/member-compass" target="_self">
258        Member Compass
259    </a>
260</li>
261<li class="c-nav-navigation__toggle-wrapper">
262    <a href="/board-of-directors-handbook" target="_self">
263        Board of Directors Handbook
264    </a>
265</li>
266<li class="c-nav-navigation__toggle-wrapper">
267    <a href="/official-correspondent-manual" target="_self">
268        Official Correspondent Manual
269    </a>
270</li>
271<li class="c-nav-navigation__toggle-wrapper">
272    <a href="/member-directory/" target="_self">
273        Member Directory
274    </a>
275</li>
276<li class="c-nav-navigation__toggle-wrapper">
277    <a href="/member-directory-public/" target="_self">
278        Member Directory (Public)
279    </a>
280</li>
281    </ul>
282</li>
283<li class="c-nav-navigation__toggle-wrapper">
284    <a href="javascript:void(0);" target="">
285        <span class="c-nav-navigation__toggle"></span>
286        Technical Committees
287        <span class="caret c-nav-navigation__caret-mobile"></span>
288    </a>
289    <ul class="dropdown-menu level-2">
290<li class="c-nav-navigation__toggle-wrapper">
291    <a href="javascript:void(0);" target="">
292        <span class="c-nav-navigation__toggle"></span>
293        Stewardship
294        <span class="caret c-nav-navigation__caret-mobile"></span>
295    </a>
296    <ul class="dropdown-menu level-3">
297<li class="c-nav-navigation__toggle-wrapper">
298    <a href="/stewardship-overview" target="_self">
299        Stewardship Overview
300    </a>
301</li>
302<li class="c-nav-navigation__toggle-wrapper">
303    <a href="/government-activity" target="_self">
304        Stewardship Government Activity
305    </a>
306</li>
307<li class="c-nav-navigation__toggle-wrapper">
308    <a href="/stewardship-resources" target="_self">
309        Stewardship Resources
310    </a>
311</li>
312<li class="c-nav-navigation__toggle-wrapper">
313    <a href="/ambassador-package" target="_self">
314        Ambassador Package
315    </a>
316</li>
317    </ul>
318</li>
319<li class="c-nav-navigation__toggle-wrapper">
320    <a href="javascript:void(0);" target="">
321        <span class="c-nav-navigation__toggle"></span>
322        Health, Environment, Safety &amp; Security
323        <span class="caret c-nav-navigation__caret-mobile"></span>
324    </a>
325    <ul class="dropdown-menu level-3">
326<li class="c-nav-navigation__toggle-wrapper">
327    <a href="/hess-overview" target="_self">
328        HESS Overview
329    </a>
330</li>
331<li class="c-nav-navigation__toggle-wrapper">
332    <a href="/ci-safety-incident-reporting" target="_self">
333        CI Safety Incident Reporting
334    </a>
335</li>
336<li class="c-nav-navigation__toggle-wrapper">
337    <a href="/performance-recognition" target="_self">
338        Performance Recognition
339    </a>
340</li>
341<li class="c-nav-navigation__toggle-wrapper">
342    <a href="/hess-government-activity" target="_self">
343        HESS Government Activity
344    </a>
345</li>
346<li class="c-nav-navigation__toggle-wrapper">
347    <a href="/hess-resources" target="_self">
348        Health, Environment, Safety &amp; Security Resources
349    </a>
350</li>
351<li class="c-nav-navigation__toggle-wrapper">
352    <a href="/monthly-fixed-facility-updates-overview" target="_self">
353        Monthly Fixed Facility Updates
354    </a>
355</li>
356<li class="c-nav-navigation__toggle-wrapper">
357    <a href="/international-wcc" target="_self">
358        International WCC
359    </a>
360</li>
361    </ul>
362</li>
363<li class="c-nav-navigation__toggle-wrapper">
364    <a href="javascript:void(0);" target="">
365        <span class="c-nav-navigation__toggle"></span>
366        Emergency Preparedness
367        <span class="caret c-nav-navigation__caret-mobile"></span>
368    </a>
369    <ul class="dropdown-menu level-3">
370<li class="c-nav-navigation__toggle-wrapper">
371    <a href="/emergency-preparedness-overview" target="_self">
372        Emergency Preparedness Overview
373    </a>
374</li>
375<li class="c-nav-navigation__toggle-wrapper">
376    <a href="/chlorep" target="_self">
377        Chlorine Response / CHLOREP
378    </a>
379</li>
380<li class="c-nav-navigation__toggle-wrapper">
381    <a href="/er-training-exercises-and-outreach" target="_self">
382        ER Training, Exercises &amp; Outreach
383    </a>
384</li>
385<li class="c-nav-navigation__toggle-wrapper">
386    <a href="/emergency-response-resources" target="_self">
387        Emergency Response Resources
388    </a>
389</li>
390    </ul>
391</li>
392<li class="c-nav-navigation__toggle-wrapper">
393    <a href="javascript:void(0);" target="">
394        <span class="c-nav-navigation__toggle"></span>
395        Transportation
396        <span class="caret c-nav-navigation__caret-mobile"></span>
397    </a>
398    <ul class="dropdown-menu level-3">
399<li class="c-nav-navigation__toggle-wrapper">
400    <a href="/transportation-overview" target="_self">
401        Transportation Overview
402    </a>
403</li>
404<li class="c-nav-navigation__toggle-wrapper">
405    <a href="/incident-statistics" target="_self">
406        Incident Statistics
407    </a>
408</li>
409<li class="c-nav-navigation__toggle-wrapper">
410    <a href="/industry-initiatives" target="_self">
411        Industry Initiatives
412    </a>
413</li>
414<li class="c-nav-navigation__toggle-wrapper">
415    <a href="/transportation-government-activity" target="_self">
416        Transportation Government Activity
417    </a>
418</li>
419<li class="c-nav-navigation__toggle-wrapper">
420    <a href="/transportation-monthly-updates" target="_self">
421        Transportation Monthly Updates
422    </a>
423</li>
424<li class="c-nav-navigation__toggle-wrapper">
425    <a href="/transportation-resources-overview" target="_self">
426        Transportation Resources Overview
427    </a>
428</li>
429    </ul>
430</li>
431    </ul>
432</li>
433<li class="c-nav-navigation__toggle-wrapper">
434    <a href="https://www.chlorineinstitute.org/meetings-overview/" target="_blank">
435        <span class="c-nav-navigation__toggle"></span>
436        Events &amp; Education
437        <span class="caret c-nav-navigation__caret-mobile"></span>
438    </a>
439    <ul class="dropdown-menu level-2">
440<li class="c-nav-navigation__toggle-wrapper">
441    <a href="/ci-education-hub-construction" target="_self">
442        CI Education Hub
443    </a>
444</li>
445<li class="c-nav-navigation__toggle-wrapper">
446    <a href="/news/past-meetings" target="_self">
447        Past Meetings
448    </a>
449</li>
450<li class="c-nav-navigation__toggle-wrapper">
451    <a href="/news/past-webinars" target="_self">
452        Past Webinars
453    </a>
454</li>
455    </ul>
456</li>
457<li class="c-nav-navigation__toggle-wrapper">
458    <a href="https://www.chlorineinstitute.org/products" target="_blank">
459        <span class="c-nav-navigation__toggle"></span>
460        Bookstore
461        <span class="caret c-nav-navigation__caret-mobile"></span>
462    </a>
463    <ul class="dropdown-menu level-2">
464<li class="c-nav-navigation__toggle-wrapper">
465    <a href="https://assets.noviams.com/novi-file-uploads/tci/2026_Resource_Catalog.pdf" target="_blank">
466        2026 CI Resource Catalog
467    </a>
468</li>
469<li class="c-nav-navigation__toggle-wrapper">
470    <a href="/ci-publications-report" target="_self">
471        CI Publications Report
472    </a>
473</li>
474<li class="c-nav-navigation__toggle-wrapper">
475    <a href="/recursos-en-espanol" target="_self">
476        Recursos en Espa&#241;ol
477    </a>
478</li>
479    </ul>
480</li>
481
482                    </ul>
483
484                    <ul class="nav navbar-nav c-nav-navigation__ul c-nav-navigation__ul--mobile">
485
486                        <li>
487
488                            <div class="c-nav-utility__custom-display">
489                                
490
491                            </div>
492                        </li>
493
494                        <li>
495                            <!-- CONTACT US BEGIN -->
496                            <a href="/contact-us" class="c-nav-utility__link c-nav-utility__contact-link">
497                                <span class="c-nav-utility__span c-nav-utility__contact">
498                                    Contact
499                                </span>
500                            </a>
501                            <!-- CONTACT US END -->
502
503                        </li>
504
505                        <li class="visible-xs visible-sm">
506                            <div id="search-panel-mobile" role="search">
507                                <div class="form-group">
508                                    <span><input type="text" class="form-control search-text" aria-label="Enter keyword to search site for" placeholder="Search site" /></span>
509                                    <a href="/search" aria-label="Click to search site" class="btn btn-secondary search-go"><span class="novicon novicon-arrow-right"></span></a>
510                                </div>
511                            </div>
512                        </li>
513
514                        <li>
515
516                                    <a href="#join-modal" data-toggle="modal" id="mobile-join-link" class="c-nav-utility__link c-nav-utility__join-link">
517                                        <span class="join-modal-link c-nav-utility__span c-nav-utility__join">
518                                            Join
519                                        </span>
520                                    </a>
521                                <a href="
522/login" class="c-nav-utility__link c-nav-utility__login-link">
523                                    <span class="c-nav-utility__span c-nav-utility__login">
524                                        Login
525                                    </span>
526                                </a>
527                            <!-- LOGIN/USER END -->
528
529                        </li>
530
531                    </ul>
532
533                </nav>
534
535            </div>
536
537
538        </div>
539
540    </div>
541
542</div>
543
544
545
546
547
548<script nonce="JZjWojSX8FgbksSzmsO9qA==">
549    var novi = {};
550    novi.checkScroll = function () {
551
552        // Determine the viewport width your in using a media query from Javascript
553        var mediaQuery = window.matchMedia("(max-width: 991px)");
554
555        // Get the distance the user has scrolled from the top
556        var scrollTop = Math.max(window.pageYOffset, document.documentElement.scrollTop, document.body.scrollTop);
557
558        // We are determining if we need to recalculate the distance the #main-nav element is from the top based on
559        // the ternary if statements below. Basically we don't want the novi.navTop value to be calculated to the exact
560        // scroll top position and we want the #main-nav element to be a certain distance from the top of the page when
561        // the page is wide enough (hence the media query)
562        novi.navTop = mediaQuery.matches && novi.navTop < novi.nav.offset().top && novi.nav.offset().top < scrollTop
563            ? novi.nav.offset().top
564            : novi.navTop;
565
566        // 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
567        // and not the hamburger menu button)
568        if (!mediaQuery.matches && scrollTop > novi.navTop + novi.navHeight) {
569            var height = novi.nav.outerHeight();
570            novi.navBackground.addClass("c-nav-scroll");
571            novi.nav.addClass("c-nav-scroll__anchor");
572            novi.navBrand.addClass("nav-brand-show");
573            novi.bodyClass.css('margin-top', novi.navHeight);
574
575        }
576        else if (mediaQuery.matches || scrollTop <= novi.navTop) {
577            novi.navBackground.removeClass("c-nav-scroll");
578            novi.nav.removeClass("c-nav-scroll__anchor");
579            novi.navBrand.removeClass("nav-brand-show");
580            novi.bodyClass.css('margin-top', '0');
581
582        }
583    };
584    document.addEventListener("DOMContentLoaded", function (event) {
585        novi.nav = $("#c-nav");
586        novi.navBackground = $("#c-nav");
587        novi.navBrand = $("#nav-brand");
588        novi.bodyClass = $("#content");
589        novi.navHeight = $(".c-nav").outerHeight();
590
591
592        // NOTE [Brian Hall 2017-07-17]: This is a work around for when adding a member via the member-compass --> Staff area
593        var navOffset = novi.nav.offset();
594        novi.navTop = typeof (navOffset) === "undefined" || navOffset === null ? null : novi.nav.offset().top;
595
596        novi.navOffset = 0;
597        var adminBar = $("#admin-bar");
598        if (adminBar)
599            novi.navOffset = adminBar.outerHeight();
600        $(window).scroll(function () {
601            novi.checkScroll();
602        });
603        $(window).on("resize", function () {
604            novi.checkScroll();
605        });
606        novi.checkScroll();
607
608        $('.navbar-toggle').click(function () {
609            $(this).next('span').slideToggle('500');
610            $(this).find('i').toggleClass('fa-bars fa-times')
611        });
612    });
613</script>
613
614        </header>
615
616    <div class="body-content c-body-content__latest-news c-body-content__latest-news" id="content" role="main">
617        
618<div class="container moved-up blog-list-container" role="main">
619	<div class="header-ribbon" aria-labelledby="ac-article-list-title">
620		<h1 id="ac-article-list-title" class="c-article-list__h1">Latest News</h1>
621		<h2 class="subtitle c-article-list__subtitle" role="presentation">Stay informed with all that is happening within the industry.</h2>
622	</div>
623	<div class="well box c-article-list">
624
625		<div class="categories c-article-list__category-list">
626
627			<div class="c-article-list__category-list-wrapper" role="list">
628
629					<span class="category c-article-list__category">
630						<a class="c-article-list__category--link" href="/news/latest-news">Latest News</a>
631					</span>
632					<span class="category c-article-list__category">
633						<a class="c-article-list__category--link" href="/news/member-spotlight">Member Spotlight</a>
634					</span>
635					<span class="category c-article-list__category">
636						<a class="c-article-list__category--link" href="/news/podcast">Podcast</a>
637					</span>
638					<span class="category c-article-list__category">
639						<a class="c-article-list__category--link" href="/news/press-releases">Press Releases</a>
640					</span>
641			</div>
642		</div>
643
644
645
646		<div class="o-filter-bar clearfix">
647			<div class="o-filter-bar__quick-search" role="search">
648				<label for="search-box">Search</label>
649				<div class="search input-group">
650
651					<input type="text" id="search-box" aria-label="Enter text to search News" class="form-control" placeholder="Search News" />
652
653					<a href="javascript:void(0);" class="btn btn-primary input-group-addon c-article-list__filters-btn" aria-label="Search" id="search-go">
654						<span class="novicon novicon-arrow-right" aria-hidden="true"></span>
655					</a>
656
657				</div>
658			</div>
659
660			<div>
661				<select aria-label="Select a Blog Category" class="form-control" id="Category" name="Category"><option value="">Topic/Category</option>
662<option selected="selected" value="news/latest-news">Latest News</option>
663<option value="news/member-spotlight">Member Spotlight</option>
664<option value="news/podcast">Podcast</option>
665<option value="news/press-releases">Press Releases</option>
666</select>
667			</div>
668		</div>
669		<div class="articles clearfix" aria-label="Articles">
670<div class="article col-xs-12 c-article-list">
671
672    <hr class="c-article-list__hr--top" />
673
674    <div class="g-article-list__left">
675
676        <a class="title c-article-list-full-width__title c-article-list-full-width--small" href="/news/ci-welcomes-aoc-city-of-astoria-hsande-compliance-resources-inc-and-mp-materials-copy">
677            CI Welcomes Emerald Electrolytic Systems, Halocarbon, and OURAY as New Members 
678        </a>
679
680        <div role="img" class="c-article-list__img " style="background-image:url('https://assets.noviams.com/novi-file-uploads/tci/backgrounds/powerpoint-background-picture.jpg')" aria-label="Image for CI Welcomes Emerald Electrolytic Systems, Halocarbon, and OURAY as New Members "></div>
681
682    </div>
683
684    <div class="g-article-list__right">
685
686            <div class="categories"
687                 role="region"
688                 aria-label="Categories">
689                <div role="list">
690                        <a href="/news/ci-insider" role="listitem"><span class="c-article-list-full-width__category">CI Insider</span></a><span class="separator">,</span>
691                        <a href="/news/latest-news" role="listitem"><span class="c-article-list-full-width__category">Latest News</span></a><span class="separator">,</span>
692                        <a href="/news/member-spotlight" role="listitem"><span class="c-article-list-full-width__category">Member Spotlight</span></a><span class="separator">,</span>
693                </div>
694            </div>
695
696        <a class="c-article-list-full-width__wrapper" href="/news/ci-welcomes-aoc-city-of-astoria-hsande-compliance-resources-inc-and-mp-materials-copy">
697            <div class="title c-article-list-full-width__title c-article-list-full-width--large">
698                <span role="heading" aria-level="2">CI Welcomes Emerald Electrolytic Systems, Halocarbon, and OURAY as New Members </span>
699            </div>
700        </a>
701        <p class="c-article-list__description">
702            The Chlorine Institute (CI) is pleased to welcome three new members approved by the CI Board of Directors. These organizations bring valuable expertise and industry experience that will further strengthen CI&rsquo;s membership community and support the Institute&rsquo;s mission of advancing... <a href="/news/ci-welcomes-aoc-city-of-astoria-hsande-compliance-resources-inc-and-mp-materials-copy" aria-label="Continue reading more about CI Welcomes Emerald Electrolytic Systems, Halocarbon, and OURAY as New Members "><span class="c-article-list__read-more"><span>Continue Reading</span><svg viewBox="0 0 13 20"><polyline points="0.5 19.5 3 19.5 12.5 10 3 0.5" /></svg></span></a>
703        </p>
704
705        <div class="g-article-list__right-posted-by c-article-list__posted-by">
706        </div>
707
708        <div class="g-article-list__right-date c-article-list__date" aria-label="Date posted">
709            <span class="sr-only">Date posted</span>09/1/2026
710        </div>
711    </div>
712
713    <hr class="c-article-list__hr--bottom" />
714
715</div><div class="article col-xs-12 c-article-list">
716
717    <hr class="c-article-list__hr--top" />
718
719    <div class="g-article-list__left">
720
721        <a class="title c-article-list-full-width__title c-article-list-full-width--small" href="/news/welcome-new-project-engineer--david-karpf">
722            Welcome New Project Engineer – David Karpf
723        </a>
724
725        <div role="img" class="c-article-list__img " style="background-image:url('https://assets.noviams.com/novi-file-uploads/tci/backgrounds/powerpoint-background-picture.jpg')" aria-label="Image for Welcome New Project Engineer – David Karpf"></div>
726
727    </div>
728
729    <div class="g-article-list__right">
730
731            <div class="categories"
732                 role="region"
733                 aria-label="Categories">
734                <div role="list">
735                        <a href="/news/ci-insider" role="listitem"><span class="c-article-list-full-width__category">CI Insider</span></a><span class="separator">,</span>
736                        <a href="/news/latest-news" role="listitem"><span class="c-article-list-full-width__category">Latest News</span></a><span class="separator">,</span>
737                </div>
738            </div>
739
740        <a class="c-article-list-full-width__wrapper" href="/news/welcome-new-project-engineer--david-karpf">
741            <div class="title c-article-list-full-width__title c-article-list-full-width--large">
742                <span role="heading" aria-level="2">Welcome New Project Engineer – David Karpf</span>
743            </div>
744        </a>
745        <p class="c-article-list__description">
746            Please join us in welcoming CI&rsquo;s new staff member, David Karpf, Project Engineer. David is a chemical engineer and graduate of University of Nebraska-Lincoln. His previous experience includes project and process engineering roles at Nebraska Nitrogen and Ag Processing Inc.
747As Project... <a href="/news/welcome-new-project-engineer--david-karpf" aria-label="Continue reading more about Welcome New Project Engineer – David Karpf"><span class="c-article-list__read-more"><span>Continue Reading</span><svg viewBox="0 0 13 20"><polyline points="0.5 19.5 3 19.5 12.5 10 3 0.5" /></svg></span></a>
748        </p>
749
750        <div class="g-article-list__right-posted-by c-article-list__posted-by">
751        </div>
752
753        <div class="g-article-list__right-date c-article-list__date" aria-label="Date posted">
754            <span class="sr-only">Date posted</span>09/1/2026
755        </div>
756    </div>
757
758    <hr class="c-article-list__hr--bottom" />
759
760</div><div class="article col-xs-12 c-article-list">
761
762    <hr class="c-article-list__hr--top" />
763
764    <div class="g-article-list__left">
765
766        <a class="title c-article-list-full-width__title c-article-list-full-width--small" href="/news/syracuse-training">
767            Registration Open: Chlorine Rail Safety &amp;
767 Hazmat Emergency Response Training in Syracuse, NY
768        </a>
769
770        <div role="img" class="c-article-list__img c-article-list__img--show" style="background-image:url('https://assets.noviams.com/novi-file-uploads/tci/blog/articles/syracuse-ny-transcaer-flyer-2026-1.png')" aria-label="Image for Registration Open: Chlorine Rail Safety &amp; Hazmat Emergency Response Training in Syracuse, NY"></div>
771
772    </div>
773
774    <div class="g-article-list__right">
775
776            <div class="categories"
777                 role="region"
778                 aria-label="Categories">
779                <div role="list">
780                        <a href="/news/ci-insider" role="listitem"><span class="c-article-list-full-width__category">CI Insider</span></a><span class="separator">,</span>
781                        <a href="/news/latest-news" role="listitem"><span class="c-article-list-full-width__category">Latest News</span></a><span class="separator">,</span>
782                </div>
783            </div>
784
785        <a class="c-article-list-full-width__wrapper" href="/news/syracuse-training">
786            <div class="title c-article-list-full-width__title c-article-list-full-width--large">
787                <span role="heading" aria-level="2">Registration Open: Chlorine Rail Safety &amp; Hazmat Emergency Response Training in Syracuse, NY</span>
788            </div>
789        </a>
790        <p class="c-article-list__description">
791            Don&rsquo;t miss your chance to attend CI&rsquo;s next TRANSCAER event in Syracuse, NY from September 9-11, 2026! This free hazmat training is designed to help you and your colleagues strengthen your emergency response skills alongside industry experts and community leaders. We&rsquo;d love to... <a href="/news/syracuse-training" aria-label="Continue reading more about Registration Open: Chlorine Rail Safety &amp; Hazmat Emergency Response Training in Syracuse, NY"><span class="c-article-list__read-more"><span>Continue Reading</span><svg viewBox="0 0 13 20"><polyline points="0.5 19.5 3 19.5 12.5 10 3 0.5" /></svg></span></a>
792        </p>
793
794        <div class="g-article-list__right-posted-by c-article-list__posted-by">
795<span class="sr-only">Posted</span><span>by </span>Brooke Lobdell<span></span>
796        </div>
797
798        <div class="g-article-list__right-date c-article-list__date" aria-label="Date posted">
799            <span class="sr-only">Date posted</span>09/1/2026
800        </div>
801    </div>
802
803    <hr class="c-article-list__hr--bottom" />
804
805</div><div class="article col-xs-12 c-article-list">
806
807    <hr class="c-article-list__hr--top" />
808
809    <div class="g-article-list__left">
810
811        <a class="title c-article-list-full-width__title c-article-list-full-width--small" href="/news/ci-welcomes-aoc-city-of-astoria-hsande-compliance-resources-inc-and-mp-materials">
812            CI Welcomes AOC, City of Astoria, HS&amp;E Compliance Resources, Inc., and MP Materials
813        </a>
814
815        <div role="img" class="c-article-list__img " style="background-image:url('https://assets.noviams.com/novi-file-uploads/tci/backgrounds/powerpoint-background-picture.jpg')" aria-label="Image for CI Welcomes AOC, City of Astoria, HS&amp;E Compliance Resources, Inc., and MP Materials"></div>
816
817    </div>
818
819    <div class="g-article-list__right">
820
821            <div class="categories"
822                 role="region"
823                 aria-label="Categories">
824                <div role="list">
825                        <a href="/news/ci-insider" role="listitem"><span class="c-article-list-full-width__category">CI Insider</span></a><span class="separator">,</span>
826                        <a href="/news/latest-news" role="listitem"><span class="c-article-list-full-width__category">Latest News</span></a><span class="separator">,</span>
827                        <a href="/news/member-spotlight" role="listitem"><span class="c-article-list-full-width__category">Member Spotlight</span></a><span class="separator">,</span>
828                </div>
829            </div>
830
831        <a class="c-article-list-full-width__wrapper" href="/news/ci-welcomes-aoc-city-of-astoria-hsande-compliance-resources-inc-and-mp-materials">
832            <div class="title c-article-list-full-width__title c-article-list-full-width--large">
833                <span role="heading" aria-level="2">CI Welcomes AOC, City of Astoria, HS&amp;E Compliance Resources, Inc., and MP Materials</span>
834            </div>
835        </a>
836        <p class="c-article-list__description">
837            The Chlorine Institute (CI) is pleased to welcome four new members approved by the CI Board of Directors. These organizations bring valuable expertise and industry experience that will further strengthen CI&rsquo;s membership community and support the Institute&rsquo;s mission of advancing safety,... <a href="/news/ci-welcomes-aoc-city-of-astoria-hsande-compliance-resources-inc-and-mp-materials" aria-label="Continue reading more about CI Welcomes AOC, City of Astoria, HS&amp;E Compliance Resources, Inc., and MP Materials"><span class="c-article-list__read-more"><span>Continue Reading</span><svg viewBox="0 0 13 20"><polyline points="0.5 19.5 3 19.5 12.5 10 3 0.5" /></svg></span></a>
838        </p>
839
840        <div class="g-article-list__right-posted-by c-article-list__posted-by">
841        </div>
842
843        <div class="g-article-list__right-date c-article-list__date" aria-label="Date posted">
844            <span class="sr-only">Date posted</span>08/4/2026
845        </div>
846    </div>
847
848    <hr class="c-article-list__hr--bottom" />
849
850</div><div class="article col-xs-12 c-article-list">
851
852    <hr class="c-article-list__hr--top" />
853
854    <div class="g-article-list__left">
855
856        <a class="title c-article-list-full-width__title c-article-list-full-width--small" href="/news/chlorine-institute-announces-board-leadership-transition-and-welcomes-new-directors">
857            Chlorine Institute Announces Board Leadership Transition and Welcomes New Directors
858        </a>
859
860        <div role="img" class="c-article-list__img c-article-list__img--show" style="background-image:url('https://assets.noviams.com/novi-file-uploads/tci/blog/articles/ci-logo-no-inc-process-paths-copy-1.jpg')" aria-label="Image for Chlorine Institute Announces Board Leadership Transition and Welcomes New Directors"></div>
861
862    </div>
863
864    <div class="g-article-list__right">
865
866            <div class="categories"
867                 role="region"
868                 aria-label="Categories">
869                <div role="list">
870                        <a href="/news/ci-insider" role="listitem"><span class="c-article-list-full-width__category">CI Insider</span></a><span class="separator">,</span>
871                        <a href="/news/latest-news" role="listitem"><span class="c-article-list-full-width__category">Latest News</span></a><span class="separator">,</span>
872                        <a href="/news/press-releases" role="listitem"><span class="c-article-list-full-width__category">Press Releases</span></a><span class="separator">,</span>
873                </div>
874            </div>
875
876        <a class="c-article-list-full-width__wrapper" href="/news/chlorine-institute-announces-board-leadership-transition-and-welcomes-new-directors">
877            <div class="title c-article-list-full-width__title c-article-list-full-width--large">
878                <span role="heading" aria-level="2">Chlorine Institute Announces Board Leadership Transition and Welcomes New Directors</span>
879            </div>
880        </a>
881        <p class="c-article-list__description">
882            The Chlorine Institute (CI) has announced several leadership updates to its Board of Directors.
883Lenny Scott, Vice President &ndash; Global Process Technology at Olin Corporation, has been appointed Chair of the CI Board of Directors. Lenny brings extensive industry experience and a longstanding... <a href="/news/chlorine-institute-announces-board-leadership-transition-and-welcomes-new-directors" aria-label="Continue reading more about Chlorine Institute Announces Board Leadership Transition and Welcomes New Directors"><span class="c-article-list__read-more"><span>Continue Reading</span><svg viewBox="0 0 13 20"><polyline points="0.5 19.5 3 19.5 12.5 10 3 0.5" /></svg></span></a>
884        </p>
885
886        <div class="g-article-list__right-posted-by c-article-list__posted-by">
887<span class="sr-only">Posted</span><span>by </span>Brooke Lobdell<span></span>
888        </div>
889
890        <div class="g-article-list__right-date c-article-list__date" aria-label="Date posted">
891            <span class="sr-only">Date posted</span>08/4/2026
892        </div>
893    </div>
894
895    <hr class="c-article-list__hr--bottom" />
896
897</div><div class="article col-xs-12 c-article-list">
898
899    <hr class="c-article-list__hr--top" />
900
901    <div class="g-article-list__left">
902
903        <a class="title c-article-list-full-width__title c-article-list-full-width--small" href="/news/speaker-proposals-now-invited-for-2027-hess-seminar">
904            Speaker Proposals Now Invited for 2027 HESS+ Seminar
905        </a>
906
907        <div role="img" class="c-article-list__img c-article-list__img--show" style="background-image:url('https://assets.noviams.com/novi-file-uploads/tci/blog/articles/hess-seminar-graphics-1.png')" aria-label="Image for Speaker Proposals Now Invited for 2027 HESS+ Seminar"></div>
908
909    </div>
910
911    <div class="g-article-list__right">
912
913            <div class="categories"
914                 role="region"
915                 aria-label="Categories">
916                <div role="list">
917                        <a href="/news/ci-insider" role="listitem"><span class="c-article-list-full-width__category">CI Insider</span></a><span class="separator">,</span>
918                        <a href="/news/latest-news" role="listitem"><span class="c-article-list-full-width__category">Latest News</span></a><span class="separator">,</span>
919                </div>
920            </div>
921
922        <a class="c-article-list-full-width__wrapper" href="/news/speaker-proposals-now-invited-for-2027-hess-seminar">
923            <div class="title c-article-list-full-width__title c-article-list-full-width--large">
924                <span role="heading" aria-level="2">Speaker Proposals Now Invited for 2027 HESS+ Seminar</span>
925            </div>
926        </a>
927        <p class="c-article-list__description">
928            Planning is underway for The Chlorine Institute&rsquo;s 2027 HESS+ Seminar, to be held during our regular Annual Meeting on April 7, 2027, at The Westin Charlotte in Charlotte, North Carolina. 
929The Health, Environment, Safety and Security Plus or HESS+ Seminar will feature two rooms of concurrent... <a href="/news/speaker-proposals-now-invited-for-2027-hess-seminar" aria-label="Continue reading more about Speaker Proposals Now Invited for 2027 HESS+ Seminar"><span class="c-article-list__read-more"><span>Continue Reading</span><svg viewBox="0 0 13 20"><polyline points="0.5 19.5 3 19.5 12.5 10 3 0.5" /></svg></span></a>
930        </p>
931
932        <div class="g-article-list__right-posted-by c-article-list__posted-by">
933        </div>
934
935        <div class="g-article-list__right-date c-article-list__date" aria-label="Date posted">
936            <span class="sr-only">Date posted</span>07/30/2026
937        </div>
938    </div>
939
940    <hr class="c-article-list__hr--bottom" />
941
942</div><div class="article col-xs-12 c-article-list">
943
944    <hr class="c-article-list__hr--top" />
945
946    <div class="g-article-list__left">
947
948        <a class="title c-article-list-full-width__title c-article-list-full-width--small" href="/news/cis-indianapolis-training-highlights-collaboration-and-honors-leadership">
949            CI&#39;s Indianapolis Training Highlights Collaboration and Honors Leadership
950        </a>
951
952        <div role="img" class="c-article-list__img c-article-list__img--show" style="background-image:url('https://assets.noviams.com/novi-file-uploads/tci/blog/articles/img_2394-1.jpeg')" aria-label="Image for CI&#39;s Indianapolis Training Highlights Collaboration and Honors Leadership"></div>
953
954    </div>
955
956    <div class="g-article-list__right">
957
958            <div class="categories"
959                 role="region"
960                 aria-label="Categories">
961                <div role="list">
962                        <a href="/news/ci-insider" role="listitem"><span class="c-article-list-full-width__category">CI Insider</span></a><span class="separator">,</span>
963                        <a href="/news/latest-news" role="listitem"><span class="c-article-list-full-width__category">Latest News</span></a><span class="separator">,</span>
964                </div>
965            </div>
966
967        <a class="c-article-list-full-width__wrapper" href="/news/cis-indianapolis-training-highlights-collaboration-and-honors-leadership">
968            <div class="title c-article-list-full-width__title c-article-list-full-width--large">
969                <span role="heading" aria-level="2">CI&#39;s Indianapolis Training Highlights Collaboration and Honors Leadership</span>
970            </div>
971        </a>
972        <p class="c-article-list__description">
973            
974Earlier this month, CI held its second chlorine emergency response training event of 2026 in Indianapolis, IN from June 2-4 in partnership with our host CSX in its Avon railyard. The training brought together 82 responders from 29 different organizations, including significant representation by... <a href="/news/cis-indianapolis-training-highlights-collaboration-and-honors-leadership" aria-label="Continue reading more about CI&#39;s Indianapolis Training Highlights Collaboration and Honors Leadership"><span class="c-article-list__read-more"><span>Continue Reading</span><svg viewBox="0 0 13 20"><polyline points="0.5 19.5 3 19.5 12.5 10 3 0.5" /></svg></span></a>
975        </p>
976
977        <div class="g-article-list__right-posted-by c-article-list__posted-by">
978        </div>
979
980        <div class="g-article-list__right-date c-article-list__date" aria-label="Date posted">
981            <span class="sr-only">Date posted</span>07/1/2026
982        </div>
983    </div>
984
985    <hr class="c-article-list__hr--bottom" />
986
987</div><div class="article col-xs-12 c-article-list">
988
989    <hr class="c-article-list__hr--top" />
990
991    <div class="g-article-list__left">
992
993        <a class="title c-article-list-full-width__title c-article-list-full-width--small" href="/news/stay-current-with-cis-newly-revised-resources--">
994            Stay Current with CI&#39;s Newly Revised Resources  
995        </a>
996
997        <div role="img" class="c-article-list__img c-article-list__img--show" style="background-image:url('https://assets.noviams.com/novi-file-uploads/tci/blog/articles/combined-for-insider-1.png')" aria-label="Image for Stay Current with CI&#39;s Newly Revised Resources  "></div>
998
999    </div>
1000
1001    <div class="g-article-list__right">
1002
1003            <div class="categories"
1004                 role="region"
1005                 aria-label="Categories">
1006                <div role="list">
1007                        <a href="/news/ci-insider" role="listitem"><span class="c-article-list-full-width__category">CI Insider</span></a><span class="separator">,</span>
1008                        <a href="/news/latest-news" role="listitem"><span class="c-article-list-full-width__category">Latest News</span></a><span class="separator">,</span>
1009                </div>
1010            </div>
1011
1012        <a class="c-article-list-full-width__wrapper" href="/news/stay-current-with-cis-newly-revised-resources--">
1013            <div class="title c-article-list-full-width__title c-article-list-full-width--large">
1014                <span role="heading" aria-level="2">Stay Current with CI&#39;s Newly Revised Resources  </span>
1015            </div>
1016        </a>
1017        <p class="c-article-list__description">
1018            
1019The Chlorine Institute is pleased to announce the release of several newly revised resources designed to support safety, emergency preparedness, and continuous improvement across the chlorine industry.
1020Among the latest updates are the Emergency Kit A, B, and C Instruction Booklets, trusted... <a href="/news/stay-current-with-cis-newly-revised-resources--" aria-label="Continue reading more about Stay Current with CI&#39;s Newly Revised Resources  "><span class="c-article-list__read-more"><span>Continue Reading</span><svg viewBox="0 0 13 20"><polyline points="0.5 19.5 3 19.5 12.5 10 3 0.5" /></svg></span></a>
1021        </p>
1022
1023        <div class="g-article-list__right-posted-by c-article-list__posted-by">
1024        </div>
1025
1026        <div class="g-article-list__right-date c-article-list__date" aria-label="Date posted">
1027            <span class="sr-only">Date posted</span>07/1/2026
1028        </div>
1029    </div>
1030
1031    <hr class="c-article-list__hr--bottom" />
1032
1033</div><div class="article col-xs-12 c-article-list">
1034
1035    <hr class="c-article-list__hr--top" />
1036
1037    <div class="g-article-list__left">
1038
1039        <a class="title c-article-list-full-width__title c-article-list-full-width--small" href="/news/june-2026-recently-revised-resources">
1040            June 2026 Recently Revised Resources
1041        </a>
1042
1043        <div role="img" class="c-article-list__img c-article-list__img--show" style="background-image:url('https://assets.noviams.com/novi-file-uploads/tci/blog/articles/june-2026-revised-resources-1.png')" aria-label="Image for June 2026 Recently Revised Resources"></div>
1044
1045    </div>
1046
1047    <div class="g-article-list__right">
1048
1049            <div class="categories"
1050                 role="region"
1051                 aria-label="Categories">
1052                <div role="list">
1053                        <a href="/news/ci-insider" role="listitem"><span class="c-article-list-full-width__category">CI Insider</span></a><span class="separator">,</span>
1054                        <a href="/news/latest-news" role="listitem"><span class="c-article-list-full-width__category">Latest News</span></a><span class="separator">,</span>
1055                </div>
1056            </div>
1057
1058        <a class="c-article-list-full-width__wrapper" href="/news/june-2026-recently-revised-resources">
1059            <div class="title c-article-list-full-width__title c-article-list-full-width--large">
1060                <span role="heading" aria-level="2">June 2026 Recently Revised Resources</span>
1061            </div>
1062        </a>
1063        <p class="c-article-list__description">
1064            Check out the newest editions of CI Pamphlets 91 and 167! <a href="/news/june-2026-recently-revised-resources" aria-label="Continue reading more about June 2026 Recently Revised Resources"><span class="c-article-list__read-more"><span>Continue Reading</span><svg viewBox="0 0 13 20"><polyline points="0.5 19.5 3 19.5 12.5 10 3 0.5" /></svg></span></a>
1065        </p>
1066
1067        <div class="g-article-list__right-posted-by c-article-list__posted-by">
1068        </div>
1069
1070        <div class="g-article-list__right-date c-article-list__date" aria-label="Date posted">
1071            <span class="sr-only">Date posted</span>06/11/2026
1072        </div>
1073    </div>
1074
1075    <hr class="c-article-list__hr--bottom" />
1076
1077</div><div class="article col-xs-12 c-article-list">
1078
1079    <hr class="c-article-list__hr--top" />
1080
1081    <div class="g-article-list__left">
1082
1083        <a class="title c-article-list-full-width__title c-article-list-full-width--small" href="/news/celebrating-20-years-at-msfa-2026-chlorep-team-training">
1084            Celebrating 20 Years at MSFA: 2026 CHLOREP Team Training
1085        </a>
1086
1087        <div role="img" class="c-article-list__img c-article-list__img--show" style="background-image:url('https://assets.noviams.com/novi-file-uploads/tci/blog/articles/msfa-plaque-1.jpg')" aria-label="Image for Celebrating 20 Years at MSFA: 2026 CHLOREP Team Training"></div>
1088
1089    </div>
1090
1091    <div class="g-article-list__right">
1092
1093            <div class="categories"
1094                 role="region"
1095                 aria-label="Categories">
1096                <div role="list">
1097                        <a href="/news/ci-insider" role="listitem"><span class="c-article-list-full-width__category">CI Insider</span></a><span class="separator">,</span>
1098                        <a href="/news/latest-news" role="listitem"><span class="c-article-list-full-width__category">Latest News</span></a><span class="separator">,</span>
1099                </div>
1100            </div>
1101
1102        <a class="c-article-list-full-width__wrapper" href="/news/celebrating-20-years-at-msfa-2026-chlorep-team-training">
1103            <div class="title c-article-list-full-width__title c-article-list-full-width--large">
1104                <span role="heading" aria-level="2">Celebrating 20 Years at MSFA: 2026 CHLOREP Team Training</span>
1105            </div>
1106        </a>
1107        <p class="c-article-list__description">
1108            CI's 2026 CHLOREP Team Training brought another successful&mdash;and record-setting&mdash;week to the Mississippi State Fire Academy (MSFA), welcoming 129 students and 70 instructors for hands-on, scenario-based emergency response training.
1109
1110This year also marked a significant milestone: 20... <a href="/news/celebrating-20-years-at-msfa-2026-chlorep-team-training" aria-label="Continue reading more about Celebrating 20 Years at MSFA: 2026 CHLOREP Team Training"><span class="c-article-list__read-more"><span>Continue Reading</span><svg viewBox="0 0 13 20"><polyline points="0.5 19.5 3 19.5 12.5 10 3 0.5" /></svg></span></a>
1111        </p>
1112
1113        <div class="g-article-list__right-posted-by c-article-list__posted-by">
1114<span class="sr-only">Posted</span><span>by </span>Brooke Lobdell<span></span>
1115        </div>
1116
1117        <div class="g-article-list__right-date c-article-list__date" aria-label="Date posted">
1118            <span class="sr-only">Date posted</span>06/2/2026
1119        </div>
1120    </div>
1121
1122    <hr class="c-article-list__hr--bottom" />
1123
1124</div><div class="article col-xs-12 c-article-list">
1125
1126    <hr class="c-article-list__hr--top" />
1127
1128    <div class="g-article-list__left">
1129
1130        <a class="title c-article-list-full-width__title c-article-list-full-width--small" href="/news/rmp2026">
1131            CI Urges Changes in RMP Proposed Rule to Support a Performance-Based Approach
1132        </a>
1133
1134        <div role="img" class="c-article-list__img " style="background-image:url('https://assets.noviams.com/novi-file-uploads/tci/backgrounds/powerpoint-background-picture.jpg')" aria-label="Image for CI Urges Changes in RMP Proposed Rule to Support a Performance-Based Approach"></div>
1135
1136    </div>
1137
1138    <div class="g-article-list__right">
1139
1140            <div class="categories"
1141                 role="region"
1142                 aria-label="Categories">
1143                <div role="list">
1144                        <a href="/news/ci-insider" role="listitem"><span class="c-article-list-full-width__category">CI Insider</span></a><span class="separator">,</span>
1145                        <a href="/news/latest-news" role="listitem"><span class="c-article-list-full-width__category">Latest News</span></a><span class="separator">,</span>
1146                </div>
1147            </div>
1148
1149        <a class="c-article-list-full-width__wrapper" href="/news/rmp2026">
1150            <div class="title c-article-list-full-width__title c-article-list-full-width--large">
1151                <span role="heading" aria-level="2">CI Urges Changes in RMP Proposed Rule to Support a Performance-Based Approach</span>
1152            </div>
1153        </a>
1154        <p class="c-article-list__description">
1155            CI submitted comments on EPA&rsquo;s Risk Management Program (RMP) Proposed Rule on May 11, 2026, reaffirming that its members are committed to achieving zero releases through both strong regulatory frameworks and voluntary best practices. In its letter, CI urged EPA to adopt a... <a href="/news/rmp2026" aria-label="Continue reading more about CI Urges Changes in RMP Proposed Rule to Support a Performance-Based Approach"><span class="c-article-list__read-more"><span>Continue Reading</span><svg viewBox="0 0 13 20"><polyline points="0.5 19.5 3 19.5 12.5 10 3 0.5" /></svg></span></a>
1156        </p>
1157
1158        <div class="g-article-list__right-posted-by c-article-list__posted-by">
1159        </div>
1160
1161        <div class="g-article-list__right-date c-article-list__date" aria-label="Date posted">
1162            <span class="sr-only">Date posted</span>05/19/2026
1163        </div>
1164    </div>
1165
1166    <hr class="c-article-list__hr--bottom" />
1167
1168</div><div class="article col-xs-12 c-article-list">
1169
1170    <hr class="c-article-list__hr--top" />
1171
1172    <div class="g-article-list__left">
1173
1174        <a class="title c-article-list-full-width__title c-article-list-full-width--small" href="/news/registration-is-open-free-transcaer-hazmat-training-in-indianapolis">
1175            Registration Is Open: Free TRANSCAER Hazmat Training in Indianapolis
1176        </a>
1177
1178        <div role="img" class="c-article-list__img c-article-list__img--show" style="background-image:url('https://assets.noviams.com/novi-file-uploads/tci/blog/articles/img_4045-1.jpeg')" aria-label="Image for Registration Is Open: Free TRANSCAER Hazmat Training in Indianapolis"></div>
1179
1180    </div>
1181
1182    <div class="g-article-list__right">
1183
1184            <div class="categories"
1185                 role="region"
1186                 aria-label="Categories">
1187                <div role="list">
1188                        <a href="/news/ci-insider" role="listitem"><span class="c-article-list-full-width__category">CI Insider</span></a><span class="separator">,</span>
1189                        <a href="/news/latest-news" role="listitem"><span class="c-article-list-full-width__category">Latest News</span></a><span class="separator">,</span>
1190                </div>
1191            </div>
1192
1193        <a class="c-article-list-full-width__wrapper" href="/news/registration-is-open-free-transcaer-hazmat-training-in-indianapolis">
1194            <div class="title c-article-list-full-width__title c-article-list-full-width--large">
1195                <span role="heading" aria-level="2">Registration Is Open: Free TRANSCAER Hazmat Training in Indianapolis</span>
1196            </div>
1197        </a>
1198        <p class="c-article-list__description">
1199            Registration is now open for a free TRANSCAER hazardous materials response training in Indianapolis offered June 2-4, 2026.
1200Designed for emergency responders and community partners, this training focuses on real‑world response to hazmat transportation incidents and coordination with... <a href="/news/registration-is-open-free-transcaer-hazmat-training-in-indianapolis" aria-label="Continue reading more about Registration Is Open: Free TRANSCAER Hazmat Training in Indianapolis"><span class="c-article-list__read-more"><span>Continue Reading</span><svg viewBox="0 0 13 20"><polyline points="0.5 19.5 3 19.5 12.5 10 3 0.5" /></svg></span></a>
1201        </p>
1202
1203        <div class="g-article-list__right-posted-by c-article-list__posted-by">
1204        </div>
1205
1206        <div class="g-article-list__right-date c-article-list__date" aria-label="Date posted">
1207            <span class="sr-only">Date posted</span>04/30/2026
1208        </div>
1209    </div>
1210
1211    <hr class="c-article-list__hr--bottom" />
1212
1213</div>		</div>
1214<div class="pagination clearfix" role="navigation" aria-label="Pagination">
1215        <div class="paging-scroller">
1216        <ul class="page-numbers list-unstyled">
1217                <li>
1218                        <span tabindex="0" aria-label="current page 1" aria-current="page">1</span>
1219                </li>
1220                <li>
1221                        <a href="/news/latest-news?Page=2">2</a>
1222                </li>
1223                <li>
1224                        <a href="/news/latest-news?Page=3">3</a>
1225                </li>
1226        </ul>
1227    </div>
1228    <a href="/news/latest-news?Page=2" class="next"><span class="novicon novicon-arrow-right" role="img" aria-label="Next"></span>Next</a>
1229</div>
1230			</div>
1231</div>
1232
1233    </div>
1234
1235    
1236
1237
1238    <footer>
1239        <div class="footer-cms-region">
1240            <div class="container">
1241                
1242
1243            </div>
1244        </div>
1245
1246        <div class="c-footer">
1247
1248            <div class="container">
1249
1250                <div class="o-column g-footer__left c-footer__left">
1251
1252                    <p class="address c-footer__address">
1253                        1300 Wilson Blvd., Suite 525<br />Arlington, VA 22209
1254                    </p>
1255
1256                    <span class="c-footer__line">
1257                        &#8212;
1258                    </span>
1259
1260                    <p class="phone c-footer__phone">
1261                        703.894.4140
1262                    </p>
1263
1264                    <div class="social-icons c-footer__social-icons c-footer__social-icons--left" role="list">
1265                            <span role="listitem"><a href="https://www.facebook.com/thechlorineinstitute/" 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>
1266                                                    <span role="listitem"><a href="https://twitter.com/TheChlorineINST" aria-label="Tweet at us on X" class="icon twitter c-footer__social-icons--twitter" target="_blank"><i class="fa-brands fa-x-twitter" aria-hidden="true"></i></a></span>
1267                                                    <span role="listitem"><a href="https://www.linkedin.com/company/3904115?report%2Esuccess=8y99HFeuiFA4KUntTOkhwLzz_ErOdHQU3NPjcO43ie7GOan_6YSgKLSpixM4OYpa3USEnjmpiUMVldpx60FuSrSO7HB3lqWU6IS6KsVo_YoLJk" 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>
1268                                                                            <span role="listitem"><a href="https://www.youtube.com/user/TheChlorineInstitute" 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>
1269                        <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>
1270                    </div>
1271
1272                </div>
1273
1274                <div class="o-column g-footer__center c-footer__center">
1275
1276                    <div class="c-footer__affiliates">
1277                        
1278
1279                    </div>
1280
1281                    <div class="c-footer__static-wrapper">
1282                        
1283
1284                    </div>
1285
1286                </div>
1287
1288                <div class="o-column g-footer__right c-footer__right">
1289
1290                    <div class="c-footer__text-block">
1291                        
1292
1293                    </div>
1294
1295                    <div class="social-icons c-footer__social-icons c-footer__social-icons--right">
1296                            <a href="https://www.facebook.com/thechlorineinstitute/" title="Find us on Facebook" class="icon facebook c-footer__social-icons--facebook" target="_blank"><span class="novicon novicon-facebook"></span></a>
1297                                                    <a href="https://twitter.com/TheChlorineINST" title="Tweet at us" class="icon twitter c-footer__social-icons--twitter" target="_blank"><i class="fa-brands fa-x-twitter" aria-hidden="true"></i></a>
1298                                                    <a href="https://www.linkedin.com/company/3904115?report%2Esuccess=8y99HFeuiFA4KUntTOkhwLzz_ErOdHQU3NPjcO43ie7GOan_6YSgKLSpixM4OYpa3USEnjmpiUMVldpx60FuSrSO7HB3lqWU6IS6KsVo_YoLJk" title="Connect with us on LinkedIn" class="icon linked-in c-footer__social-icons--linkedin" target="_blank"><span class="novicon novicon-linked-in"></span></a>
1299                                                                            <a href="https://www.youtube.com/user/TheChlorineInstitute" title="Find us on YouTube" class="icon youtube c-footer__social-icons--youtube" target="_blank"><span class="novicon novicon-youtube"></span></a>
1300                        <a href="/contact-us" title="Contact Us" class="icon facebook c-footer__social-icons--envelope"><span class="novicon novicon-envelope"></span></a>
1301                    </div>
1302
1303                    <div class="c-footer__novi">
1304                        <a class="novi" href="https://www.noviams.com">
1305                            <img alt="Novi AMS" src="/img/noviams-logo.png" class="img-responsive" />
1306                            <br />
1307                            Association Management Software
1308                        </a>
1309                    </div>
1310                </div>
1311
1312            </div>
1313
1314            <div class="container">
1315                <div class="c-footer__copyright-wrapper">
1316
1317                    <p class="c-footer__copyright">
1318                        Copyright &copy; 2026 - The Chlorine Institute. <a href="/legal" class="c-footer__legal">Legal</a>
1319                    </p>
1320                </div>
1321
1322
1323
1324            </div>
1325
1326</footer>
1327<div class="modal fade sliced-corner" id="join-modal" tabindex="-1" role="dialog" aria-labelledby="modal-title">
1328	<div class="modal-dialog">
1329		<div class="modal-content">
1330			<div class="modal-header">
1331				<a href="javascript:void(0);" class="close" data-dismiss="modal" aria-label="Close" role="button"><span aria-hidden="true">&times;</span></a>
1332				<h3 class="modal-title" id="modal-title" role="heading" aria-level="2">Membership &amp; Account Access</h3>
1333			</div>
1334			<div class="modal-body">
1335				<div class="well">
1336					<div class="row">
1337						<div class="col-sm-6" style="display: flex; flex-direction: column; justify-content: space-between">
1338							
1339<novi-content-wrapper><h4 style="text-align: center;">Is Your Company a Member?</h4>
1340<p><strong>If your company is already a member, we invite you to set up an online account to:</strong></p>
1341<ul>
1342<li>Update Your Profile</li>
1343<li>Register for Events</li>
1344<li>Receive Legislative Updates</li>
1345<li>View &amp; Pay Invoices</li>
1346<li>Access the Member Directory</li>
1347</ul></novi-content-wrapper>
1348							<a href="/register?memberTypeID=null" class="btn btn-secondary create-account-link" role="button">Create an Account</a>
1349						</div>
1350						<div class="col-sm-6" style="display: flex; flex-direction: column; justify-content: space-between">
1351							
1352<novi-content-wrapper><h4 center;“="" style="text-align: center;">Interested in Membership?</h4>
1353<p>The members of CI invite and encourage you to join! By working together, we can achieve our mission to maintain and enhance our industry as a whole.</p>
1354<p>All membership applications for CI must be approved by the Board of Directors.</p>
1355<p>If you are ready to join, click below to get started!</p></novi-content-wrapper>						
1356							<a href="/membership-information" class="btn btn-secondary" role="button">View Membership Information</a>
1357						</div>
1358					</div>
1359				</div>
1360			</div>
1361		</div>
1362	</div>
1363</div>
1364    
1364<script nonce="JZjWojSX8FgbksSzmsO9qA==">
1365        var serverTimeOffset = -4;
1366        window.noviCmsNamespace = window.noviCmsNamespace || {};
1367    </script>
1367
1368    
1368<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>
1368
1369    
1369<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>
1369
1370    
1370<script src="/client-apps/main/dist/js/bundles/frontend-fingerprint8CC497C30BE0890AA90B263D2735F1C7/frontend-bundle.js"></script>
1370
1371        
1371<script nonce="JZjWojSX8FgbksSzmsO9qA==">
1372        setTimeout(() => {
1373            imageMapResize();
1374        }, 1);
1375
1376        $('[data-toggle="tooltip"]').tooltip({ container: "body" });
1377        var isPageEditToggleUrl = "/AdminBar/SetIsPageEditToggled";
1378        var getUsersToImpersonateUrl = "/Account/GetUsersToImpersonate";
1379        var impersonateUserUrl = "/Account/ImpersonateUser";
1380        var getStaticRegionRevisionsUrl = "/StaticPage/GetStaticRegionRevisions";
1381        var attendeeEventStartingReadUrl = "/events/attendee-event-starting-read";
1382
1383        var pageID = 0;
1384        var staticPageRegionIds = [86425,86426,89560,93796,93797,93800,96515];
1385        var getLinkedCustomerAccountsUrl = "/Account/GetLinkedCustomerAccounts";
1386        var switchCustomerRecordUrl = "/Account/SwitchCustomerRecord";
1387        var isAuthenticated = false;
1388        var attendeeStartTimes = [];
1389        var cartItemQuantity = 0;
1390        var noviNs = noviNs || {};
1391        noviNs.tenantSettings = { customStyling: false };
1392        var allowMultipleAccounts = false;
1393    </script>
1393
1394
1395    
1395<script nonce="JZjWojSX8FgbksSzmsO9qA==">
1396    var answerNpsSurveyUrl = "/Account/AnswerNpsSurvey";
1397    var getNpsSurveyFormDataUrl = "/Account/GetNpsSurveyFormData";
1398    var snoozeNpsSurveyUrl = "/Account/SnoozeNpsSurvey";
1399    var skipNpsSurveyUrl = "/Account/SkipNpsSurvey";
1400    var npsSurveyId = null;
1401    </script>
1401
1402
1403
1404
1405
1406        <div id="fb-root"></div>
1407        
1407<script nonce="JZjWojSX8FgbksSzmsO9qA==">
1408            (function (d, s, id) {
1409                var js, fjs = d.getElementsByTagName(s)[0];
1410                if (d.getElementById(id)) return;
1411                js = d.createElement(s); js.id = id;
1412                js.src = 'https://connect.facebook.net/en_US/sdk.js#xfbml=1&autoLogAppEvents=1&version=v3.0&appId=682198771971182';
1413                fjs.parentNode.insertBefore(js, fjs);
1414            }(document, 'script', 'facebook-jssdk'));</script>
1414
1415    
1416	
1416<script nonce="JZjWojSX8FgbksSzmsO9qA==">
1417		var baseUrl = "/";
1418		var urlPrefix = "news/";
1419	</script>
1419
1420	
1420<script src="/client-apps/main/dist/js/scripts-fingerprint968996D7AABC97A79E93192CCF4B4E89/blog.js"></script>
1420
1421
1422    
1422<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>
1422
1423
1424    
1424<script src="/client-apps/main/dist/js/bundles/frontend-fingerprint259DDE4CE032190C4F795F7C48C9534A/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>
1424
1425    
1426
1427
1428
1429<script nonce="JZjWojSX8FgbksSzmsO9qA==">
1430    window.noviCmsNamespace = window.noviNs || {};
1431    window.noviCmsNamespace.isPageEditToggled = false;
1432    window.noviCmsNamespace.contentRegionsLoadedEvent = 'contentRegionsLoaded';
1433    window.noviCmsNamespace.waitToLoadTinyMce = false;
1434</script>
vendor: 2 bytes, line 1434
1434
1435<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>
1435
1436
1437    <span style="display: none;">
1438        
1439    </span>
1440</body>
1441</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.