CINXE.COM

Services | Noodle

<!doctype html><html lang="en-US" prefix="og: https://ogp.me/ns#"><head><meta charset="UTF-8"><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:"1120154503",accountID:"3797346",trustKey:"66686",xpid:"VwEOVlVXDhABVFJUBQMFVlcA",licenseKey:"NRJS-da4b82ac82d62ca47d9",applicationID:"1036222031"};;/*! For license information please see nr-loader-spa-1.286.0.min.js.LICENSE.txt */ (()=>{var e,t,r={8122:(e,t,r)=>{"use strict";r.d(t,{a:()=>i});var n=r(944);function i(e,t){try{if(!e||"object"!=typeof e)return(0,n.R)(3);if(!t||"object"!=typeof t)return(0,n.R)(4);const r=Object.create(Object.getPrototypeOf(t),Object.getOwnPropertyDescriptors(t)),o=0===Object.keys(r).length?e:r;for(let a in o)if(void 0!==e[a])try{if(null===e[a]){r[a]=null;continue}Array.isArray(e[a])&&Array.isArray(t[a])?r[a]=Array.from(new Set([...e[a],...t[a]])):"object"==typeof e[a]&&"object"==typeof t[a]?r[a]=i(e[a],t[a]):r[a]=e[a]}catch(e){(0,n.R)(1,e)}return r}catch(e){(0,n.R)(2,e)}}},2555:(e,t,r)=>{"use strict";r.d(t,{Vp:()=>c,fn:()=>s,x1:()=>u});var n=r(384),i=r(8122);const o={beacon:n.NT.beacon,errorBeacon:n.NT.errorBeacon,licenseKey:void 0,applicationID:void 0,sa:void 0,queueTime:void 0,applicationTime:void 0,ttGuid:void 0,user:void 0,account:void 0,product:void 0,extra:void 0,jsAttributes:{},userAttributes:void 0,atts:void 0,transactionName:void 0,tNamePlain:void 0},a={};function s(e){try{const t=c(e);return!!t.licenseKey&&!!t.errorBeacon&&!!t.applicationID}catch(e){return!1}}function c(e){if(!e)throw new Error("All info objects require an agent identifier!");if(!a[e])throw new Error("Info for ".concat(e," was never set"));return a[e]}function u(e,t){if(!e)throw new Error("All info objects require an agent identifier!");a[e]=(0,i.a)(t,o);const r=(0,n.nY)(e);r&&(r.info=a[e])}},9417:(e,t,r)=>{"use strict";r.d(t,{D0:()=>h,gD:()=>g,xN:()=>p});var n=r(3333);const i=e=>{if(!e||"string"!=typeof e)return!1;try{document.createDocumentFragment().querySelector(e)}catch{return!1}return!0};var o=r(2614),a=r(944),s=r(384),c=r(8122);const u="[data-nr-mask]",d=()=>{const e={feature_flags:[],experimental:{marks:!1,measures:!1,resources:!1},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},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:{get capture_marks(){return e.feature_flags.includes(n.$v.MARKS)||e.experimental.marks},set capture_marks(t){e.experimental.marks=t},get capture_measures(){return e.feature_flags.includes(n.$v.MEASURES)||e.experimental.measures},set capture_measures(t){e.experimental.measures=t},capture_detail:!0,resources:{get enabled(){return e.feature_flags.includes(n.$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:o.wk,inactiveMs:o.BB},session_replay:{autoStart:!0,enabled:!1,preload:!1,sampling_rate:10,error_sampling_rate:100,collect_fonts:!1,inline_images:!1,fix_stylesheets:!0,mask_all_inputs:!0,get mask_text_selector(){return e.mask_selector},set mask_text_selector(t){i(t)?e.mask_selector="".concat(t,",").concat(u):""===t||null===t?e.mask_selector=u:(0,a.R)(5,t)},get block_class(){return"nr-block"},get ignore_class(){return"nr-ignore"},get mask_text_class(){return"nr-mask"},get block_selector(){return e.block_selector},set block_selector(t){i(t)?e.block_selector+=",".concat(t):""!==t&&(0,a.R)(6,t)},get mask_input_options(){return e.mask_input_options},set mask_input_options(t){t&&"object"==typeof t?e.mask_input_options={...t,password:!0}:(0,a.R)(7,t)}},session_trace:{enabled:!0,autoStart:!0},soft_navigations:{enabled:!0,autoStart:!0},spa:{enabled:!0,autoStart:!0},ssl:void 0,user_actions:{enabled:!0,elementAttributes:["id","className","tagName","type"]}}},l={},f="All configuration objects require an agent identifier!";function h(e){if(!e)throw new Error(f);if(!l[e])throw new Error("Configuration for ".concat(e," was never set"));return l[e]}function p(e,t){if(!e)throw new Error(f);l[e]=(0,c.a)(t,d());const r=(0,s.nY)(e);r&&(r.init=l[e])}function g(e,t){if(!e)throw new Error(f);var r=h(e);if(r){for(var n=t.split("."),i=0;i<n.length-1;i++)if("object"!=typeof(r=r[n[i]]))return;r=r[n[n.length-1]]}return r}},5603:(e,t,r)=>{"use strict";r.d(t,{a:()=>c,o:()=>s});var n=r(384),i=r(8122);const o={accountID:void 0,trustKey:void 0,agentID:void 0,licenseKey:void 0,applicationID:void 0,xpid:void 0},a={};function s(e){if(!e)throw new Error("All loader-config objects require an agent identifier!");if(!a[e])throw new Error("LoaderConfig for ".concat(e," was never set"));return a[e]}function c(e,t){if(!e)throw new Error("All loader-config objects require an agent identifier!");a[e]=(0,i.a)(t,o);const r=(0,n.nY)(e);r&&(r.loader_config=a[e])}},3371:(e,t,r)=>{"use strict";r.d(t,{V:()=>f,f:()=>l});var n=r(8122),i=r(384),o=r(6154),a=r(9324);let s=0;const c={buildEnv:a.F3,distMethod:a.Xs,version:a.xv,originTime:o.WN},u={customTransaction:void 0,disabled:!1,isolatedBacklog:!1,loaderType:void 0,maxBytes:3e4,onerror:void 0,ptid:void 0,releaseIds:{},appMetadata:{},session:void 0,denyList:void 0,timeKeeper:void 0,obfuscator:void 0,harvester:void 0},d={};function l(e){if(!e)throw new Error("All runtime objects require an agent identifier!");if(!d[e])throw new Error("Runtime for ".concat(e," was never set"));return d[e]}function f(e,t){if(!e)throw new Error("All runtime objects require an agent identifier!");d[e]={...(0,n.a)(t,u),...c},Object.hasOwnProperty.call(d[e],"harvestCount")||Object.defineProperty(d[e],"harvestCount",{get:()=>++s});const r=(0,i.nY)(e);r&&(r.runtime=d[e])}},9324:(e,t,r)=>{"use strict";r.d(t,{F3:()=>i,Xs:()=>o,Yq:()=>a,xv:()=>n});const n="1.286.0",i="PROD",o="CDN",a="^2.0.0-alpha.18"},6154:(e,t,r)=>{"use strict";r.d(t,{A4:()=>s,OF:()=>d,RI:()=>i,WN:()=>h,bv:()=>o,gm:()=>a,lR:()=>f,m:()=>u,mw:()=>c,sb:()=>l});var n=r(1863);const i="undefined"!=typeof window&&!!window.document,o="undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self.navigator instanceof WorkerNavigator||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis.navigator instanceof WorkerNavigator),a=i?window:"undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis),s="complete"===a?.document?.readyState,c=Boolean("hidden"===a?.document?.visibilityState),u=""+a?.location,d=/iPad|iPhone|iPod/.test(a.navigator?.userAgent),l=d&&"undefined"==typeof SharedWorker,f=(()=>{const e=a.navigator?.userAgent?.match(/Firefox[/\s](\d+\.\d+)/);return Array.isArray(e)&&e.length>=2?+e[1]:0})(),h=Date.now()-(0,n.t)()},7295:(e,t,r)=>{"use strict";r.d(t,{Xv:()=>a,gX:()=>i,iW:()=>o});var n=[];function i(e){if(!e||o(e))return!1;if(0===n.length)return!0;for(var t=0;t<n.length;t++){var r=n[t];if("*"===r.hostname)return!1;if(s(r.hostname,e.hostname)&&c(r.pathname,e.pathname))return!1}return!0}function o(e){return void 0===e.hostname}function a(e){if(n=[],e&&e.length)for(var t=0;t<e.length;t++){let r=e[t];if(!r)continue;0===r.indexOf("http://")?r=r.substring(7):0===r.indexOf("https://")&&(r=r.substring(8));const i=r.indexOf("/");let o,a;i>0?(o=r.substring(0,i),a=r.substring(i)):(o=r,a="");let[s]=o.split(":");n.push({hostname:s,pathname:a})}}function s(e,t){return!(e.length>t.length)&&t.indexOf(e)===t.length-e.length}function c(e,t){return 0===e.indexOf("/")&&(e=e.substring(1)),0===t.indexOf("/")&&(t=t.substring(1)),""===e||e===t}},3241:(e,t,r)=>{"use strict";r.d(t,{W:()=>o});var n=r(6154);const i="newrelic";function o(e={}){try{n.gm.dispatchEvent(new CustomEvent(i,{detail:e}))}catch(e){}}},1687:(e,t,r)=>{"use strict";r.d(t,{Ak:()=>c,Ze:()=>l,x3:()=>u});var n=r(7836),i=r(3606),o=r(860),a=r(2646);const s={};function c(e,t){const r={staged:!1,priority:o.P3[t]||0};d(e),s[e].get(t)||s[e].set(t,r)}function u(e,t){e&&s[e]&&(s[e].get(t)&&s[e].delete(t),h(e,t,!1),s[e].size&&f(e))}function d(e){if(!e)throw new Error("agentIdentifier required");s[e]||(s[e]=new Map)}function l(e="",t="feature",r=!1){if(d(e),!e||!s[e].get(t)||r)return h(e,t);s[e].get(t).staged=!0,f(e)}function f(e){const t=Array.from(s[e]);t.every((([e,t])=>t.staged))&&(t.sort(((e,t)=>e[1].priority-t[1].priority)),t.forEach((([t])=>{s[e].delete(t),h(e,t)})))}function h(e,t,r=!0){const o=e?n.ee.get(e):n.ee,s=i.i.handlers;if(!o.aborted&&o.backlog&&s){if(r){const e=o.backlog[t],r=s[t];if(r){for(let t=0;e&&t<e.length;++t)p(e[t],r);Object.entries(r).forEach((([e,t])=>{Object.values(t||{}).forEach((t=>{t[0]?.on&&t[0]?.context()instanceof a.y&&t[0].on(e,t[1])}))}))}}o.isolatedBacklog||delete s[t],o.backlog[t]=null,o.emit("drain-"+t,[])}}function p(e,t){var r=e[1];Object.values(t[r]||{}).forEach((t=>{var r=e[0];if(t[0]===r){var n=t[1],i=e[3],o=e[2];n.apply(i,o)}}))}},7836:(e,t,r)=>{"use strict";r.d(t,{P:()=>c,ee:()=>u});var n=r(384),i=r(8990),o=r(3371),a=r(2646),s=r(5607);const c="nr@context:".concat(s.W),u=function e(t,r){var n={},s={},d={},l=!1;try{l=16===r.length&&(0,o.f)(r).isolatedBacklog}catch(e){}var f={on:p,addEventListener:p,removeEventListener:function(e,t){var r=n[e];if(!r)return;for(var i=0;i<r.length;i++)r[i]===t&&r.splice(i,1)},emit:function(e,r,n,i,o){!1!==o&&(o=!0);if(u.aborted&&!i)return;t&&o&&t.emit(e,r,n);for(var a=h(n),c=g(e),d=c.length,l=0;l<d;l++)c[l].apply(a,r);var p=v()[s[e]];p&&p.push([f,e,r,a]);return a},get:m,listeners:g,context:h,buffer:function(e,t){const r=v();if(t=t||"feature",f.aborted)return;Object.entries(e||{}).forEach((([e,n])=>{s[n]=t,t in r||(r[t]=[])}))},abort:function(){f._aborted=!0,Object.keys(f.backlog).forEach((e=>{delete f.backlog[e]}))},isBuffering:function(e){return!!v()[s[e]]},debugId:r,backlog:l?{}:t&&"object"==typeof t.backlog?t.backlog:{},isolatedBacklog:l};return Object.defineProperty(f,"aborted",{get:()=>{let e=f._aborted||!1;return e||(t&&(e=t.aborted),e)}}),f;function h(e){return e&&e instanceof a.y?e:e?(0,i.I)(e,c,(()=>new a.y(c))):new a.y(c)}function p(e,t){n[e]=g(e).concat(t)}function g(e){return n[e]||[]}function m(t){return d[t]=d[t]||e(f,t)}function v(){return f.backlog}}(void 0,"globalEE"),d=(0,n.Zm)();d.ee||(d.ee=u)},2646:(e,t,r)=>{"use strict";r.d(t,{y:()=>n});class n{constructor(e){this.contextId=e}}},9908:(e,t,r)=>{"use strict";r.d(t,{d:()=>n,p:()=>i});var n=r(7836).ee.get("handle");function i(e,t,r,i,o){o?(o.buffer([e],i),o.emit(e,t,r)):(n.buffer([e],i),n.emit(e,t,r))}},3606:(e,t,r)=>{"use strict";r.d(t,{i:()=>o});var n=r(9908);o.on=a;var i=o.handlers={};function o(e,t,r,o){a(o||n.d,i,e,t,r)}function a(e,t,r,i,o){o||(o="feature"),e||(e=n.d);var a=t[o]=t[o]||{};(a[r]=a[r]||[]).push([e,i])}},3878:(e,t,r)=>{"use strict";function n(e,t){return{capture:e,passive:!1,signal:t}}function i(e,t,r=!1,i){window.addEventListener(e,t,n(r,i))}function o(e,t,r=!1,i){document.addEventListener(e,t,n(r,i))}r.d(t,{DD:()=>o,jT:()=>n,sp:()=>i})},5607:(e,t,r)=>{"use strict";r.d(t,{W:()=>n});const n=(0,r(9566).bz)()},9566:(e,t,r)=>{"use strict";r.d(t,{LA:()=>s,ZF:()=>c,bz:()=>a,el:()=>u});var n=r(6154);const i="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx";function o(e,t){return e?15&e[t]:16*Math.random()|0}function a(){const e=n.gm?.crypto||n.gm?.msCrypto;let t,r=0;return e&&e.getRandomValues&&(t=e.getRandomValues(new Uint8Array(30))),i.split("").map((e=>"x"===e?o(t,r++).toString(16):"y"===e?(3&o()|8).toString(16):e)).join("")}function s(e){const t=n.gm?.crypto||n.gm?.msCrypto;let r,i=0;t&&t.getRandomValues&&(r=t.getRandomValues(new Uint8Array(e)));const a=[];for(var s=0;s<e;s++)a.push(o(r,i++).toString(16));return a.join("")}function c(){return s(16)}function u(){return s(32)}},2614:(e,t,r)=>{"use strict";r.d(t,{BB:()=>a,H3:()=>n,g:()=>u,iL:()=>c,tS:()=>s,uh:()=>i,wk:()=>o});const n="NRBA",i="SESSION",o=144e5,a=18e5,s={STARTED:"session-started",PAUSE:"session-pause",RESET:"session-reset",RESUME:"session-resume",UPDATE:"session-update"},c={SAME_TAB:"same-tab",CROSS_TAB:"cross-tab"},u={OFF:0,FULL:1,ERROR:2}},1863:(e,t,r)=>{"use strict";function n(){return Math.floor(performance.now())}r.d(t,{t:()=>n})},7485:(e,t,r)=>{"use strict";r.d(t,{D:()=>i});var n=r(6154);function i(e){if(0===(e||"").indexOf("data:"))return{protocol:"data"};try{const t=new URL(e,location.href),r={port:t.port,hostname:t.hostname,pathname:t.pathname,search:t.search,protocol:t.protocol.slice(0,t.protocol.indexOf(":")),sameOrigin:t.protocol===n.gm?.location?.protocol&&t.host===n.gm?.location?.host};return r.port&&""!==r.port||("http:"===t.protocol&&(r.port="80"),"https:"===t.protocol&&(r.port="443")),r.pathname&&""!==r.pathname?r.pathname.startsWith("/")||(r.pathname="/".concat(r.pathname)):r.pathname="/",r}catch(e){return{}}}},944:(e,t,r)=>{"use strict";function n(e,t){"function"==typeof console.debug&&console.debug("New Relic Warning: https://github.com/newrelic/newrelic-browser-agent/blob/main/docs/warning-codes.md#".concat(e),t)}r.d(t,{R:()=>n})},5701:(e,t,r)=>{"use strict";r.d(t,{B:()=>a,t:()=>s});var n=r(7836),i=r(3241);const o=new Set,a={};function s(e,t){const r=n.ee.get(t);a[t]??={},e&&"object"==typeof e&&(o.has(t)||(r.emit("rumresp",[e]),a[t]=e,o.add(t),(0,i.W)({agentIdentifier:t,loaded:!0,drained:!0,type:"lifecycle",name:"load",feature:void 0,data:e})))}},8990:(e,t,r)=>{"use strict";r.d(t,{I:()=>i});var n=Object.prototype.hasOwnProperty;function i(e,t,r){if(n.call(e,t))return e[t];var i=r();if(Object.defineProperty&&Object.keys)try{return Object.defineProperty(e,t,{value:i,writable:!0,enumerable:!1}),i}catch(e){}return e[t]=i,i}},6389:(e,t,r)=>{"use strict";function n(e,t=500,r={}){const n=r?.leading||!1;let i;return(...r)=>{n&&void 0===i&&(e.apply(this,r),i=setTimeout((()=>{i=clearTimeout(i)}),t)),n||(clearTimeout(i),i=setTimeout((()=>{e.apply(this,r)}),t))}}function i(e){let t=!1;return(...r)=>{t||(t=!0,e.apply(this,r))}}r.d(t,{J:()=>i,s:()=>n})},3304:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});var n=r(7836);const i=()=>{const e=new WeakSet;return(t,r)=>{if("object"==typeof r&&null!==r){if(e.has(r))return;e.add(r)}return r}};function o(e){try{return JSON.stringify(e,i())??""}catch(e){try{n.ee.emit("internal-error",[e])}catch(e){}return""}}},5289:(e,t,r)=>{"use strict";r.d(t,{GG:()=>o,sB:()=>a});var n=r(3878);function i(){return"undefined"==typeof document||"complete"===document.readyState}function o(e,t){if(i())return e();(0,n.sp)("load",e,t)}function a(e){if(i())return e();(0,n.DD)("DOMContentLoaded",e)}},384:(e,t,r)=>{"use strict";r.d(t,{NT:()=>o,US:()=>d,Zm:()=>a,bQ:()=>c,dV:()=>s,nY:()=>u,pV:()=>l});var n=r(6154),i=r(1863);const o={beacon:"bam.nr-data.net",errorBeacon:"bam.nr-data.net"};function a(){return n.gm.NREUM||(n.gm.NREUM={}),void 0===n.gm.newrelic&&(n.gm.newrelic=n.gm.NREUM),n.gm.NREUM}function s(){let e=a();return e.o||(e.o={ST:n.gm.setTimeout,SI:n.gm.setImmediate,CT:n.gm.clearTimeout,XHR:n.gm.XMLHttpRequest,REQ:n.gm.Request,EV:n.gm.Event,PR:n.gm.Promise,MO:n.gm.MutationObserver,FETCH:n.gm.fetch,WS:n.gm.WebSocket}),e}function c(e,t){let r=a();r.initializedAgents??={},t.initializedAt={ms:(0,i.t)(),date:new Date},r.initializedAgents[e]=t}function u(e){let t=a();return t.initializedAgents?.[e]}function d(e,t){a()[e]=t}function l(){return function(){let e=a();const t=e.info||{};e.info={beacon:o.beacon,errorBeacon:o.errorBeacon,...t}}(),function(){let e=a();const t=e.init||{};e.init={...t}}(),s(),function(){let e=a();const t=e.loader_config||{};e.loader_config={...t}}(),a()}},2843:(e,t,r)=>{"use strict";r.d(t,{u:()=>i});var n=r(3878);function i(e,t=!1,r,i){(0,n.DD)("visibilitychange",(function(){if(t)return void("hidden"===document.visibilityState&&e());e(document.visibilityState)}),r,i)}},8139:(e,t,r)=>{"use strict";r.d(t,{u:()=>f});var n=r(7836),i=r(3434),o=r(8990),a=r(6154);const s={},c=a.gm.XMLHttpRequest,u="addEventListener",d="removeEventListener",l="nr@wrapped:".concat(n.P);function f(e){var t=function(e){return(e||n.ee).get("events")}(e);if(s[t.debugId]++)return t;s[t.debugId]=1;var r=(0,i.YM)(t,!0);function f(e){r.inPlace(e,[u,d],"-",p)}function p(e,t){return e[1]}return"getPrototypeOf"in Object&&(a.RI&&h(document,f),c&&h(c.prototype,f),h(a.gm,f)),t.on(u+"-start",(function(e,t){var n=e[1];if(null!==n&&("function"==typeof n||"object"==typeof n)){var i=(0,o.I)(n,l,(function(){var e={object:function(){if("function"!=typeof n.handleEvent)return;return n.handleEvent.apply(n,arguments)},function:n}[typeof n];return e?r(e,"fn-",null,e.name||"anonymous"):n}));this.wrapped=e[1]=i}})),t.on(d+"-start",(function(e){e[1]=this.wrapped||e[1]})),t}function h(e,t,...r){let n=e;for(;"object"==typeof n&&!Object.prototype.hasOwnProperty.call(n,u);)n=Object.getPrototypeOf(n);n&&t(n,...r)}},3434:(e,t,r)=>{"use strict";r.d(t,{Jt:()=>o,YM:()=>c});var n=r(7836),i=r(5607);const o="nr@original:".concat(i.W);var a=Object.prototype.hasOwnProperty,s=!1;function c(e,t){return e||(e=n.ee),r.inPlace=function(e,t,n,i,o){n||(n="");const a="-"===n.charAt(0);for(let s=0;s<t.length;s++){const c=t[s],u=e[c];d(u)||(e[c]=r(u,a?c+n:n,i,c,o))}},r.flag=o,r;function r(t,r,n,s,c){return d(t)?t:(r||(r=""),nrWrapper[o]=t,function(e,t,r){if(Object.defineProperty&&Object.keys)try{return Object.keys(e).forEach((function(r){Object.defineProperty(t,r,{get:function(){return e[r]},set:function(t){return e[r]=t,t}})})),t}catch(e){u([e],r)}for(var n in e)a.call(e,n)&&(t[n]=e[n])}(t,nrWrapper,e),nrWrapper);function nrWrapper(){var o,a,d,l;try{a=this,o=[...arguments],d="function"==typeof n?n(o,a):n||{}}catch(t){u([t,"",[o,a,s],d],e)}i(r+"start",[o,a,s],d,c);try{return l=t.apply(a,o)}catch(e){throw i(r+"err",[o,a,e],d,c),e}finally{i(r+"end",[o,a,l],d,c)}}}function i(r,n,i,o){if(!s||t){var a=s;s=!0;try{e.emit(r,n,i,t,o)}catch(t){u([t,r,n,i],e)}s=a}}}function u(e,t){t||(t=n.ee);try{t.emit("internal-error",e)}catch(e){}}function d(e){return!(e&&"function"==typeof e&&e.apply&&!e[o])}},9414:(e,t,r)=>{"use strict";r.d(t,{J:()=>c});var n=r(7836),i=r(2646),o=r(944),a=r(3434);const s=new Map;function c(e,t,r,c){if("object"!=typeof t||!t||"string"!=typeof r||!r||"function"!=typeof t[r])return(0,o.R)(29);const u=function(e){return(e||n.ee).get("logger")}(e),d=(0,a.YM)(u),l=new i.y(n.P);l.level=c.level,l.customAttributes=c.customAttributes;const f=t[r]?.[a.Jt]||t[r];return s.set(f,l),d.inPlace(t,[r],"wrap-logger-",(()=>s.get(f))),u}},9300:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.ajax},3333:(e,t,r)=>{"use strict";r.d(t,{$v:()=>u,TZ:()=>n,Zp:()=>i,kd:()=>c,mq:()=>s,nf:()=>a,qN:()=>o});const n=r(860).K7.genericEvents,i=["auxclick","click","copy","keydown","paste","scrollend"],o=["focus","blur"],a=4,s=1e3,c=["PageAction","UserAction","BrowserPerformance"],u={MARKS:"experimental.marks",MEASURES:"experimental.measures",RESOURCES:"experimental.resources"}},6774:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.jserrors},993:(e,t,r)=>{"use strict";r.d(t,{A$:()=>o,ET:()=>a,TZ:()=>s,p_:()=>i});var n=r(860);const i={ERROR:"ERROR",WARN:"WARN",INFO:"INFO",DEBUG:"DEBUG",TRACE:"TRACE"},o={OFF:0,ERROR:1,WARN:2,INFO:3,DEBUG:4,TRACE:5},a="log",s=n.K7.logging},3785:(e,t,r)=>{"use strict";r.d(t,{R:()=>c,b:()=>u});var n=r(9908),i=r(1863),o=r(860),a=r(8154),s=r(993);function c(e,t,r={},c=s.p_.INFO){(0,n.p)(a.xV,["API/logging/".concat(c.toLowerCase(),"/called")],void 0,o.K7.metrics,e),(0,n.p)(s.ET,[(0,i.t)(),t,r,c],void 0,o.K7.logging,e)}function u(e){return"string"==typeof e&&Object.values(s.p_).some((t=>t===e.toUpperCase().trim()))}},8154:(e,t,r)=>{"use strict";r.d(t,{z_:()=>o,XG:()=>s,TZ:()=>n,rs:()=>i,xV:()=>a});r(6154),r(9566),r(384);const n=r(860).K7.metrics,i="sm",o="cm",a="storeSupportabilityMetrics",s="storeEventMetrics"},6630:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.pageViewEvent},782:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.pageViewTiming},6344:(e,t,r)=>{"use strict";r.d(t,{BB:()=>d,G4:()=>o,Qb:()=>l,TZ:()=>i,Ug:()=>a,_s:()=>s,bc:()=>u,yP:()=>c});var n=r(2614);const i=r(860).K7.sessionReplay,o={RECORD:"recordReplay",PAUSE:"pauseReplay",REPLAY_RUNNING:"replayRunning",ERROR_DURING_REPLAY:"errorDuringReplay"},a=.12,s={DomContentLoaded:0,Load:1,FullSnapshot:2,IncrementalSnapshot:3,Meta:4,Custom:5},c={[n.g.ERROR]:15e3,[n.g.FULL]:3e5,[n.g.OFF]:0},u={RESET:{message:"Session was reset",sm:"Reset"},IMPORT:{message:"Recorder failed to import",sm:"Import"},TOO_MANY:{message:"429: Too Many Requests",sm:"Too-Many"},TOO_BIG:{message:"Payload was too large",sm:"Too-Big"},CROSS_TAB:{message:"Session Entity was set to OFF on another tab",sm:"Cross-Tab"},ENTITLEMENTS:{message:"Session Replay is not allowed and will not be started",sm:"Entitlement"}},d=5e3,l={API:"api"}},5270:(e,t,r)=>{"use strict";r.d(t,{Aw:()=>c,CT:()=>u,SR:()=>s,rF:()=>d});var n=r(384),i=r(9417),o=r(7767),a=r(6154);function s(e){return!!(0,n.dV)().o.MO&&(0,o.V)(e)&&!0===(0,i.gD)(e,"session_trace.enabled")}function c(e){return!0===(0,i.gD)(e,"session_replay.preload")&&s(e)}function u(e,t){const r=t.correctAbsoluteTimestamp(e);return{originalTimestamp:e,correctedTimestamp:r,timestampDiff:e-r,originTime:a.WN,correctedOriginTime:t.correctedOriginTime,originTimeDiff:Math.floor(a.WN-t.correctedOriginTime)}}function d(e,t){try{if("string"==typeof t?.type){if("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";r.d(t,{He:()=>i,Kp:()=>s,Lc:()=>u,Rz:()=>d,TZ:()=>n,bD:()=>o,d3:()=>a,jx:()=>l,uP:()=>c});const n=r(860).K7.sessionTrace,i="bstResource",o="resource",a="-start",s="-end",c="fn"+a,u="fn"+s,d="pushState",l=1e3},3962:(e,t,r)=>{"use strict";r.d(t,{AM:()=>o,O2:()=>c,Qu:()=>u,TZ:()=>s,ih:()=>d,pP:()=>a,tC:()=>i});var n=r(860);const i=["click","keydown","submit","popstate"],o="api",a="initialPageLoad",s=n.K7.softNav,c={INITIAL_PAGE_LOAD:"",ROUTE_CHANGE:1,UNSPECIFIED:2},u={INTERACTION:1,AJAX:2,CUSTOM_END:3,CUSTOM_TRACER:4},d={IP:"in progress",FIN:"finished",CAN:"cancelled"}},7378:(e,t,r)=>{"use strict";r.d(t,{$p:()=>x,BR:()=>b,Kp:()=>R,L3:()=>y,Lc:()=>c,NC:()=>o,SG:()=>d,TZ:()=>i,U6:()=>p,UT:()=>m,d3:()=>w,dT:()=>f,e5:()=>A,gx:()=>v,l9:()=>l,oW:()=>h,op:()=>g,rw:()=>u,tH:()=>T,uP:()=>s,wW:()=>E,xq:()=>a});var n=r(384);const i=r(860).K7.spa,o=["click","submit","keypress","keydown","keyup","change"],a=999,s="fn-start",c="fn-end",u="cb-start",d="api-ixn-",l="remaining",f="interaction",h="spaNode",p="jsonpNode",g="fetch-start",m="fetch-done",v="fetch-body-",b="jsonp-end",y=(0,n.dV)().o.ST,w="-start",R="-end",x="-body",E="cb"+R,A="jsTime",T="fetch"},4234:(e,t,r)=>{"use strict";r.d(t,{W:()=>o});var n=r(7836),i=r(1687);class o{constructor(e,t){this.agentIdentifier=e,this.ee=n.ee.get(e),this.featureName=t,this.blocked=!1}deregisterDrain(){(0,i.x3)(this.agentIdentifier,this.featureName)}}},7767:(e,t,r)=>{"use strict";r.d(t,{V:()=>o});var n=r(9417),i=r(6154);const o=e=>i.RI&&!0===(0,n.gD)(e,"privacy.cookies_enabled")},8969:(e,t,r)=>{"use strict";r.d(t,{j:()=>I});var n=r(860),i=r(2555),o=r(9908),a=r(1687),s=r(5289),c=r(6154),u=r(944),d=r(8154),l=r(384),f=r(6344);const h=["setErrorHandler","finished","addToTrace","addRelease","recordCustomEvent","addPageAction","setCurrentRouteName","setPageViewName","setCustomAttribute","interaction","noticeError","setUserId","setApplicationVersion","start",f.G4.RECORD,f.G4.PAUSE,"log","wrapLogger"],p=["setErrorHandler","finished","addToTrace","addRelease"];var g=r(1863),m=r(2614),v=r(993),b=r(3785),y=r(9414),w=r(3241),R=r(5701);function x(){const e=(0,l.pV)();h.forEach((t=>{e[t]=(...r)=>function(t,...r){let n=[];return Object.values(e.initializedAgents).forEach((e=>{e&&e.runtime?e.exposed&&e[t]&&"micro-agent"!==e.runtime.loaderType&&n.push(e[t](...r)):(0,u.R)(38,t)})),n[0]}(t,...r)}))}const E={};var A=r(9417),T=r(5603),S=r(3371);const N=e=>{const t=e.startsWith("http");e+="/",r.p=t?e:"https://"+e};var O=r(7836);const _=new Set;function I(e,t={},h,I){let{init:P,info:j,loader_config:C,runtime:k={},exposed:L=!0}=t;k.loaderType=h;const H=(0,l.pV)();j||(P=H.init,j=H.info,C=H.loader_config),(0,A.xN)(e.agentIdentifier,P||{}),(0,T.a)(e.agentIdentifier,C||{}),j.jsAttributes??={},c.bv&&(j.jsAttributes.isWorker=!0),(0,i.x1)(e.agentIdentifier,j);const M=e.init,D=[j.beacon,j.errorBeacon];_.has(e.agentIdentifier)||(M.proxy.assets&&(N(M.proxy.assets),D.push(M.proxy.assets)),M.proxy.beacon&&D.push(M.proxy.beacon),x(),(0,l.US)("activatedFeatures",R.B),e.runSoftNavOverSpa&&=!0===M.soft_navigations.enabled&&M.feature_flags.includes("soft_nav")),k.denyList=[...M.ajax.deny_list||[],...M.ajax.block_internal?D:[]],k.ptid=e.agentIdentifier,(0,S.V)(e.agentIdentifier,k),_.has(e.agentIdentifier)||(e.ee=O.ee.get(e.agentIdentifier),e.exposed=L,function(e,t){t||(0,a.Ak)(e.agentIdentifier,"api");const l=e.ee.get("tracer");E[e.agentIdentifier]=m.g.OFF,e.ee.on(f.G4.REPLAY_RUNNING,(t=>{E[e.agentIdentifier]=t}));const h="api-",x=h+"ixn-";function A(t,r,n,o){const a=e.info;return null===r?delete a.jsAttributes[t]:(0,i.x1)(e.agentIdentifier,{...a,jsAttributes:{...a.jsAttributes,[t]:r}}),N(h,n,!0,o||null===r?"session":void 0)(t,r)}function T(){}e.log=function(t,{customAttributes:r={},level:i=v.p_.INFO}={}){(0,o.p)(d.xV,["API/log/called"],void 0,n.K7.metrics,e.ee),(0,b.R)(e.ee,t,r,i)},e.wrapLogger=(t,r,{customAttributes:i={},level:a=v.p_.INFO}={})=>{(0,o.p)(d.xV,["API/wrapLogger/called"],void 0,n.K7.metrics,e.ee),(0,y.J)(e.ee,t,r,{customAttributes:i,level:a})},p.forEach((t=>{e[t]=N(h,t,!0,"api")})),e.addPageAction=N(h,"addPageAction",!0,n.K7.genericEvents),e.recordCustomEvent=N(h,"recordCustomEvent",!0,n.K7.genericEvents),e.setPageViewName=function(t,r){if("string"==typeof t)return"/"!==t.charAt(0)&&(t="/"+t),e.runtime.customTransaction=(r||"http://custom.transaction")+t,N(h,"setPageViewName",!0)()},e.setCustomAttribute=function(e,t,r=!1){if("string"==typeof e){if(["string","number","boolean"].includes(typeof t)||null===t)return A(e,t,"setCustomAttribute",r);(0,u.R)(40,typeof t)}else(0,u.R)(39,typeof e)},e.setUserId=function(e){if("string"==typeof e||null===e)return A("enduser.id",e,"setUserId",!0);(0,u.R)(41,typeof e)},e.setApplicationVersion=function(e){if("string"==typeof e||null===e)return A("application.version",e,"setApplicationVersion",!1);(0,u.R)(42,typeof e)},e.start=()=>{try{(0,o.p)(d.xV,["API/start/called"],void 0,n.K7.metrics,e.ee),e.ee.emit("manual-start-all")}catch(e){(0,u.R)(23,e)}},e[f.G4.RECORD]=function(){(0,o.p)(d.xV,["API/recordReplay/called"],void 0,n.K7.metrics,e.ee),(0,o.p)(f.G4.RECORD,[],void 0,n.K7.sessionReplay,e.ee)},e[f.G4.PAUSE]=function(){(0,o.p)(d.xV,["API/pauseReplay/called"],void 0,n.K7.metrics,e.ee),(0,o.p)(f.G4.PAUSE,[],void 0,n.K7.sessionReplay,e.ee)},e.interaction=function(e){return(new T).get("object"==typeof e?e:{})};const S=T.prototype={createTracer:function(t,r){var i={},a=this,s="function"==typeof r;return(0,o.p)(d.xV,["API/createTracer/called"],void 0,n.K7.metrics,e.ee),e.runSoftNavOverSpa||(0,o.p)(x+"tracer",[(0,g.t)(),t,i],a,n.K7.spa,e.ee),function(){if(l.emit((s?"":"no-")+"fn-start",[(0,g.t)(),a,s],i),s)try{return r.apply(this,arguments)}catch(e){const t="string"==typeof e?new Error(e):e;throw l.emit("fn-err",[arguments,this,t],i),t}finally{l.emit("fn-end",[(0,g.t)()],i)}}}};function N(t,r,i,a){return function(){return(0,o.p)(d.xV,["API/"+r+"/called"],void 0,n.K7.metrics,e.ee),(0,w.W)({agentIdentifier:e.agentIdentifier,drained:!!R.B?.[e.agentIdentifier],type:"data",name:"api",feature:t+r,data:{notSpa:i,bufferGroup:a}}),a&&(0,o.p)(t+r,[i?(0,g.t)():performance.now(),...arguments],i?null:this,a,e.ee),i?void 0:this}}function O(){r.e(478).then(r.bind(r,8778)).then((({setAsyncAPI:t})=>{t(e),(0,a.Ze)(e.agentIdentifier,"api")})).catch((t=>{(0,u.R)(27,t),e.ee.abort()}))}["actionText","setName","setAttribute","save","ignore","onEnd","getContext","end","get"].forEach((t=>{S[t]=N(x,t,void 0,e.runSoftNavOverSpa?n.K7.softNav:n.K7.spa)})),e.setCurrentRouteName=e.runSoftNavOverSpa?N(x,"routeName",void 0,n.K7.softNav):N(h,"routeName",!0,n.K7.spa),e.noticeError=function(t,r){"string"==typeof t&&(t=new Error(t)),(0,o.p)(d.xV,["API/noticeError/called"],void 0,n.K7.metrics,e.ee),(0,o.p)("err",[t,(0,g.t)(),!1,r,!!E[e.agentIdentifier]],void 0,n.K7.jserrors,e.ee)},c.RI?(0,s.GG)((()=>O()),!0):O()}(e,I),(0,w.W)({agentIdentifier:e.agentIdentifier,drained:!!R.B?.[e.agentIdentifier],type:"lifecycle",name:"initialize",feature:void 0,data:e.config})),_.add(e.agentIdentifier)}},8374:(e,t,r)=>{r.nc=(()=>{try{return document?.currentScript?.nonce}catch(e){}return""})()},860:(e,t,r)=>{"use strict";r.d(t,{$J:()=>d,K7:()=>c,P3:()=>u,XX:()=>i,Yy:()=>s,df:()=>o,qY:()=>n,v4:()=>a});const n="events",i="jserrors",o="browser/blobs",a="rum",s="browser/logs",c={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",spa:"spa"},u={[c.pageViewEvent]:1,[c.pageViewTiming]:2,[c.metrics]:3,[c.jserrors]:4,[c.spa]:5,[c.ajax]:6,[c.sessionTrace]:7,[c.softNav]:8,[c.sessionReplay]:9,[c.logging]:10,[c.genericEvents]:11},d={[c.pageViewEvent]:a,[c.pageViewTiming]:n,[c.ajax]:n,[c.spa]:n,[c.softNav]:n,[c.metrics]:i,[c.jserrors]:i,[c.sessionTrace]:o,[c.sessionReplay]:o,[c.logging]:s,[c.genericEvents]:"ins"}}},n={};function i(e){var t=n[e];if(void 0!==t)return t.exports;var o=n[e]={exports:{}};return r[e](o,o.exports,i),o.exports}i.m=r,i.d=(e,t)=>{for(var r in t)i.o(t,r)&&!i.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},i.f={},i.e=e=>Promise.all(Object.keys(i.f).reduce(((t,r)=>(i.f[r](e,t),t)),[])),i.u=e=>({212:"nr-spa-compressor",249:"nr-spa-recorder",478:"nr-spa"}[e]+"-1.286.0.min.js"),i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),e={},t="NRBA-1.286.0.PROD:",i.l=(r,n,o,a)=>{if(e[r])e[r].push(n);else{var s,c;if(void 0!==o)for(var u=document.getElementsByTagName("script"),d=0;d<u.length;d++){var l=u[d];if(l.getAttribute("src")==r||l.getAttribute("data-webpack")==t+o){s=l;break}}if(!s){c=!0;var f={478:"sha512-xt9QypT23DNupLy9wXPzK6uGCHucLx9ieBiprVZwJD/HfkKcTY5t9xUrMvJ/ybOBfVDiFPL8R/YCJHdANxjV3g==",249:"sha512-KxJzV7dF4ry7RzxsxRBMJPnHjRdZUbseWowgGkDemMtubSveBZAlqlWb/489Lpd5K2u0Q2zTSBK599A9+u9jpA==",212:"sha512-ges3wTNuYgFINvgkoryTYKsHZWBqvLFD9qo1XJQWq5OYq+1DVXuGFs9cYogVoQEoCQxuaUdKAXcxF/sl3Ntbrg=="};(s=document.createElement("script")).charset="utf-8",s.timeout=120,i.nc&&s.setAttribute("nonce",i.nc),s.setAttribute("data-webpack",t+o),s.src=r,0!==s.src.indexOf(window.location.origin+"/")&&(s.crossOrigin="anonymous"),f[a]&&(s.integrity=f[a])}e[r]=[n];var h=(t,n)=>{s.onerror=s.onload=null,clearTimeout(p);var i=e[r];if(delete e[r],s.parentNode&&s.parentNode.removeChild(s),i&&i.forEach((e=>e(n))),t)return t(n)},p=setTimeout(h.bind(null,void 0,{type:"timeout",target:s}),12e4);s.onerror=h.bind(null,s.onerror),s.onload=h.bind(null,s.onload),c&&document.head.appendChild(s)}},i.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.p="https://js-agent.newrelic.com/",(()=>{var e={38:0,788:0};i.f.j=(t,r)=>{var n=i.o(e,t)?e[t]:void 0;if(0!==n)if(n)r.push(n[2]);else{var o=new Promise(((r,i)=>n=e[t]=[r,i]));r.push(n[2]=o);var a=i.p+i.u(t),s=new Error;i.l(a,(r=>{if(i.o(e,t)&&(0!==(n=e[t])&&(e[t]=void 0),n)){var o=r&&("load"===r.type?"missing":r.type),a=r&&r.target&&r.target.src;s.message="Loading chunk "+t+" failed.\n("+o+": "+a+")",s.name="ChunkLoadError",s.type=o,s.request=a,n[1](s)}}),"chunk-"+t,t)}};var t=(t,r)=>{var n,o,[a,s,c]=r,u=0;if(a.some((t=>0!==e[t]))){for(n in s)i.o(s,n)&&(i.m[n]=s[n]);if(c)c(i)}for(t&&t(r);u<a.length;u++)o=a[u],i.o(e,o)&&e[o]&&e[o][0](),e[o]=0},r=self["webpackChunk:NRBA-1.286.0.PROD"]=self["webpackChunk:NRBA-1.286.0.PROD"]||[];r.forEach(t.bind(null,0)),r.push=t.bind(null,r.push.bind(r))})(),(()=>{"use strict";i(8374);var e=i(944),t=i(6344),r=i(9566);class n{agentIdentifier;constructor(){this.agentIdentifier=(0,r.LA)(16)}#e(t,...r){if(this[t]!==n.prototype[t])return this[t](...r);(0,e.R)(35,t)}addPageAction(e,t){return this.#e("addPageAction",e,t)}recordCustomEvent(e,t){return this.#e("recordCustomEvent",e,t)}setPageViewName(e,t){return this.#e("setPageViewName",e,t)}setCustomAttribute(e,t,r){return this.#e("setCustomAttribute",e,t,r)}noticeError(e,t){return this.#e("noticeError",e,t)}setUserId(e){return this.#e("setUserId",e)}setApplicationVersion(e){return this.#e("setApplicationVersion",e)}setErrorHandler(e){return this.#e("setErrorHandler",e)}addRelease(e,t){return this.#e("addRelease",e,t)}log(e,t){return this.#e("log",e,t)}}class o extends n{#e(t,...r){if(this[t]!==o.prototype[t]&&this[t]!==n.prototype[t])return this[t](...r);(0,e.R)(35,t)}start(){return this.#e("start")}finished(e){return this.#e("finished",e)}recordReplay(){return this.#e(t.G4.RECORD)}pauseReplay(){return this.#e(t.G4.PAUSE)}addToTrace(e){return this.#e("addToTrace",e)}setCurrentRouteName(e){return this.#e("setCurrentRouteName",e)}interaction(){return this.#e("interaction")}wrapLogger(e,t,r){return this.#e("wrapLogger",e,t,r)}}var a=i(860),s=i(9417);const c=Object.values(a.K7);function u(e){const t={};return c.forEach((r=>{t[r]=function(e,t){return!0===(0,s.gD)(t,"".concat(e,".enabled"))}(r,e)})),t}var d=i(8969);var l=i(1687),f=i(4234),h=i(5289),p=i(6154),g=i(5270),m=i(7767),v=i(6389);class b extends f.W{constructor(e,t,r=!0){super(e.agentIdentifier,t),this.auto=r,this.abortHandler=void 0,this.featAggregate=void 0,this.onAggregateImported=void 0,!1===e.init[this.featureName].autoStart&&(this.auto=!1),this.auto?(0,l.Ak)(e.agentIdentifier,t):this.ee.on("manual-start-all",(0,v.J)((()=>{(0,l.Ak)(e.agentIdentifier,this.featureName),this.auto=!0,this.importAggregator(e)})))}importAggregator(t,r={}){if(this.featAggregate||!this.auto)return;let n;this.onAggregateImported=new Promise((e=>{n=e}));const o=async()=>{let o;try{if((0,m.V)(this.agentIdentifier)){const{setupAgentSession:e}=await i.e(478).then(i.bind(i,6526));o=e(t)}}catch(t){(0,e.R)(20,t),this.ee.emit("internal-error",[t]),this.featureName===a.K7.sessionReplay&&this.abortHandler?.()}try{if(!this.#t(this.featureName,o))return(0,l.Ze)(this.agentIdentifier,this.featureName),void n(!1);const{lazyFeatureLoader:e}=await i.e(478).then(i.bind(i,6103)),{Aggregate:a}=await e(this.featureName,"aggregate");this.featAggregate=new a(t,r),t.runtime.harvester.initializedAggregates.push(this.featAggregate),n(!0)}catch(t){(0,e.R)(34,t),this.abortHandler?.(),(0,l.Ze)(this.agentIdentifier,this.featureName,!0),n(!1),this.ee&&this.ee.abort()}};p.RI?(0,h.GG)((()=>o()),!0):o()}#t(e,t){switch(e){case a.K7.sessionReplay:return(0,g.SR)(this.agentIdentifier)&&!!t;case a.K7.sessionTrace:return!!t;default:return!0}}}var y=i(6630);class w extends b{static featureName=y.T;constructor(e,t=!0){super(e,y.T,t),this.importAggregator(e)}}var R=i(384);var x=i(9908),E=i(2843),A=i(3878),T=i(782),S=i(1863);class N extends b{static featureName=T.T;constructor(e,t=!0){super(e,T.T,t),p.RI&&((0,E.u)((()=>(0,x.p)("docHidden",[(0,S.t)()],void 0,T.T,this.ee)),!0),(0,A.sp)("pagehide",(()=>(0,x.p)("winPagehide",[(0,S.t)()],void 0,T.T,this.ee))),this.importAggregator(e))}}var O=i(8154);class _ extends b{static featureName=O.TZ;constructor(e,t=!0){super(e,O.TZ,t),p.RI&&document.addEventListener("securitypolicyviolation",(e=>{(0,x.p)(O.xV,["Generic/CSPViolation/Detected"],void 0,this.featureName,this.ee)})),this.importAggregator(e)}}var I=i(6774),P=i(3304);class j{constructor(e,t,r,n,i){this.name="UncaughtError",this.message="string"==typeof e?e:(0,P.A)(e),this.sourceURL=t,this.line=r,this.column=n,this.__newrelic=i}}function C(e){return H(e)?e:new j(void 0!==e?.message?e.message:e,e?.filename||e?.sourceURL,e?.lineno||e?.line,e?.colno||e?.col,e?.__newrelic)}function k(e){const t="Unhandled Promise Rejection: ";if(!e?.reason)return;if(H(e.reason)){try{e.reason.message.startsWith(t)||(e.reason.message=t+e.reason.message)}catch(e){}return C(e.reason)}const r=C(e.reason);return(r.message||"").startsWith(t)||(r.message=t+r.message),r}function L(e){if(e.error instanceof SyntaxError&&!/:\d+$/.test(e.error.stack?.trim())){const t=new j(e.message,e.filename,e.lineno,e.colno,e.error.__newrelic);return t.name=SyntaxError.name,t}return H(e.error)?e.error:C(e)}function H(e){return e instanceof Error&&!!e.stack}class M extends b{static featureName=I.T;#r=!1;constructor(e,r=!0){super(e,I.T,r);try{this.removeOnAbort=new AbortController}catch(e){}this.ee.on("internal-error",((e,t)=>{this.abortHandler&&(0,x.p)("ierr",[C(e),(0,S.t)(),!0,{},this.#r,t],void 0,this.featureName,this.ee)})),this.ee.on(t.G4.REPLAY_RUNNING,(e=>{this.#r=e})),p.gm.addEventListener("unhandledrejection",(e=>{this.abortHandler&&(0,x.p)("err",[k(e),(0,S.t)(),!1,{unhandledPromiseRejection:1},this.#r],void 0,this.featureName,this.ee)}),(0,A.jT)(!1,this.removeOnAbort?.signal)),p.gm.addEventListener("error",(e=>{this.abortHandler&&(0,x.p)("err",[L(e),(0,S.t)(),!1,{},this.#r],void 0,this.featureName,this.ee)}),(0,A.jT)(!1,this.removeOnAbort?.signal)),this.abortHandler=this.#n,this.importAggregator(e)}#n(){this.removeOnAbort?.abort(),this.abortHandler=void 0}}var D=i(8990);let K=1;const U="nr@id";function V(e){const t=typeof e;return!e||"object"!==t&&"function"!==t?-1:e===p.gm?0:(0,D.I)(e,U,(function(){return K++}))}function G(e){if("string"==typeof e&&e.length)return e.length;if("object"==typeof e){if("undefined"!=typeof ArrayBuffer&&e instanceof ArrayBuffer&&e.byteLength)return e.byteLength;if("undefined"!=typeof Blob&&e instanceof Blob&&e.size)return e.size;if(!("undefined"!=typeof FormData&&e instanceof FormData))try{return(0,P.A)(e).length}catch(e){return}}}var F=i(8139),B=i(7836),W=i(3434);const z={},q=["open","send"];function Z(t){var r=t||B.ee;const n=function(e){return(e||B.ee).get("xhr")}(r);if(void 0===p.gm.XMLHttpRequest)return n;if(z[n.debugId]++)return n;z[n.debugId]=1,(0,F.u)(r);var i=(0,W.YM)(n),o=p.gm.XMLHttpRequest,a=p.gm.MutationObserver,s=p.gm.Promise,c=p.gm.setInterval,u="readystatechange",d=["onload","onerror","onabort","onloadstart","onloadend","onprogress","ontimeout"],l=[],f=p.gm.XMLHttpRequest=function(t){const r=new o(t),a=n.context(r);try{n.emit("new-xhr",[r],a),r.addEventListener(u,(s=a,function(){var e=this;e.readyState>3&&!s.resolved&&(s.resolved=!0,n.emit("xhr-resolved",[],e)),i.inPlace(e,d,"fn-",y)}),(0,A.jT)(!1))}catch(t){(0,e.R)(15,t);try{n.emit("internal-error",[t])}catch(e){}}var s;return r};function h(e,t){i.inPlace(t,["onreadystatechange"],"fn-",y)}if(function(e,t){for(var r in e)t[r]=e[r]}(o,f),f.prototype=o.prototype,i.inPlace(f.prototype,q,"-xhr-",y),n.on("send-xhr-start",(function(e,t){h(e,t),function(e){l.push(e),a&&(g?g.then(b):c?c(b):(m=-m,v.data=m))}(t)})),n.on("open-xhr-start",h),a){var g=s&&s.resolve();if(!c&&!s){var m=1,v=document.createTextNode(m);new a(b).observe(v,{characterData:!0})}}else r.on("fn-end",(function(e){e[0]&&e[0].type===u||b()}));function b(){for(var e=0;e<l.length;e++)h(0,l[e]);l.length&&(l=[])}function y(e,t){return t}return n}var Y="fetch-",J=Y+"body-",X=["arrayBuffer","blob","json","text","formData"],Q=p.gm.Request,ee=p.gm.Response,te="prototype";const re={};function ne(e){const t=function(e){return(e||B.ee).get("fetch")}(e);if(!(Q&&ee&&p.gm.fetch))return t;if(re[t.debugId]++)return t;function r(e,r,n){var i=e[r];"function"==typeof i&&(e[r]=function(){var e,r=[...arguments],o={};t.emit(n+"before-start",[r],o),o[B.P]&&o[B.P].dt&&(e=o[B.P].dt);var a=i.apply(this,r);return t.emit(n+"start",[r,e],a),a.then((function(e){return t.emit(n+"end",[null,e],a),e}),(function(e){throw t.emit(n+"end",[e],a),e}))})}return re[t.debugId]=1,X.forEach((e=>{r(Q[te],e,J),r(ee[te],e,J)})),r(p.gm,"fetch",Y),t.on(Y+"end",(function(e,r){var n=this;if(r){var i=r.headers.get("content-length");null!==i&&(n.rxSize=i),t.emit(Y+"done",[null,r],n)}else t.emit(Y+"done",[e],n)})),t}var ie=i(7485),oe=i(5603);class ae{constructor(e){this.agentIdentifier=e}generateTracePayload(e){if(!this.shouldGenerateTrace(e))return null;var t=(0,oe.o)(this.agentIdentifier);if(!t)return null;var n=(t.accountID||"").toString()||null,i=(t.agentID||"").toString()||null,o=(t.trustKey||"").toString()||null;if(!n||!i)return null;var a=(0,r.ZF)(),s=(0,r.el)(),c=Date.now(),u={spanId:a,traceId:s,timestamp:c};return(e.sameOrigin||this.isAllowedOrigin(e)&&this.useTraceContextHeadersForCors())&&(u.traceContextParentHeader=this.generateTraceContextParentHeader(a,s),u.traceContextStateHeader=this.generateTraceContextStateHeader(a,c,n,i,o)),(e.sameOrigin&&!this.excludeNewrelicHeader()||!e.sameOrigin&&this.isAllowedOrigin(e)&&this.useNewrelicHeaderForCors())&&(u.newrelicHeader=this.generateTraceHeader(a,s,c,n,i,o)),u}generateTraceContextParentHeader(e,t){return"00-"+t+"-"+e+"-01"}generateTraceContextStateHeader(e,t,r,n,i){return i+"@nr=0-1-"+r+"-"+n+"-"+e+"----"+t}generateTraceHeader(e,t,r,n,i,o){if(!("function"==typeof p.gm?.btoa))return null;var a={v:[0,1],d:{ty:"Browser",ac:n,ap:i,id:e,tr:t,ti:r}};return o&&n!==o&&(a.d.tk=o),btoa((0,P.A)(a))}shouldGenerateTrace(e){return this.isDtEnabled()&&this.isAllowedOrigin(e)}isAllowedOrigin(e){var t=!1,r={};if((0,s.gD)(this.agentIdentifier,"distributed_tracing")&&(r=(0,s.D0)(this.agentIdentifier).distributed_tracing),e.sameOrigin)t=!0;else if(r.allowed_origins instanceof Array)for(var n=0;n<r.allowed_origins.length;n++){var i=(0,ie.D)(r.allowed_origins[n]);if(e.hostname===i.hostname&&e.protocol===i.protocol&&e.port===i.port){t=!0;break}}return t}isDtEnabled(){var e=(0,s.gD)(this.agentIdentifier,"distributed_tracing");return!!e&&!!e.enabled}excludeNewrelicHeader(){var e=(0,s.gD)(this.agentIdentifier,"distributed_tracing");return!!e&&!!e.exclude_newrelic_header}useNewrelicHeaderForCors(){var e=(0,s.gD)(this.agentIdentifier,"distributed_tracing");return!!e&&!1!==e.cors_use_newrelic_header}useTraceContextHeadersForCors(){var e=(0,s.gD)(this.agentIdentifier,"distributed_tracing");return!!e&&!!e.cors_use_tracecontext_headers}}var se=i(9300),ce=i(7295),ue=["load","error","abort","timeout"],de=ue.length,le=(0,R.dV)().o.REQ,fe=(0,R.dV)().o.XHR;const he="X-NewRelic-App-Data";class pe extends b{static featureName=se.T;constructor(e,t=!0){super(e,se.T,t),this.dt=new ae(e.agentIdentifier),this.handler=(e,t,r,n)=>(0,x.p)(e,t,r,n,this.ee);try{const e={xmlhttprequest:"xhr",fetch:"fetch",beacon:"beacon"};p.gm?.performance?.getEntriesByType("resource").forEach((t=>{if(t.initiatorType in e&&0!==t.responseStatus){const r={status:t.responseStatus},n={rxSize:t.transferSize,duration:Math.floor(t.duration),cbTime:0};ge(r,t.name),this.handler("xhr",[r,n,t.startTime,t.responseEnd,e[t.initiatorType]],void 0,a.K7.ajax)}}))}catch(e){}ne(this.ee),Z(this.ee),function(e,t,r,n){function i(e){var t=this;t.totalCbs=0,t.called=0,t.cbTime=0,t.end=R,t.ended=!1,t.xhrGuids={},t.lastSize=null,t.loadCaptureCalled=!1,t.params=this.params||{},t.metrics=this.metrics||{},e.addEventListener("load",(function(r){E(t,e)}),(0,A.jT)(!1)),p.lR||e.addEventListener("progress",(function(e){t.lastSize=e.loaded}),(0,A.jT)(!1))}function o(e){this.params={method:e[0]},ge(this,e[1]),this.metrics={}}function s(t,r){e.loader_config.xpid&&this.sameOrigin&&r.setRequestHeader("X-NewRelic-ID",e.loader_config.xpid);var i=n.generateTracePayload(this.parsedOrigin);if(i){var o=!1;i.newrelicHeader&&(r.setRequestHeader("newrelic",i.newrelicHeader),o=!0),i.traceContextParentHeader&&(r.setRequestHeader("traceparent",i.traceContextParentHeader),i.traceContextStateHeader&&r.setRequestHeader("tracestate",i.traceContextStateHeader),o=!0),o&&(this.dt=i)}}function c(e,r){var n=this.metrics,i=e[0],o=this;if(n&&i){var a=G(i);a&&(n.txSize=a)}this.startTime=(0,S.t)(),this.body=i,this.listener=function(e){try{"abort"!==e.type||o.loadCaptureCalled||(o.params.aborted=!0),("load"!==e.type||o.called===o.totalCbs&&(o.onloadCalled||"function"!=typeof r.onload)&&"function"==typeof o.end)&&o.end(r)}catch(e){try{t.emit("internal-error",[e])}catch(e){}}};for(var s=0;s<de;s++)r.addEventListener(ue[s],this.listener,(0,A.jT)(!1))}function u(e,t,r){this.cbTime+=e,t?this.onloadCalled=!0:this.called+=1,this.called!==this.totalCbs||!this.onloadCalled&&"function"==typeof r.onload||"function"!=typeof this.end||this.end(r)}function d(e,t){var r=""+V(e)+!!t;this.xhrGuids&&!this.xhrGuids[r]&&(this.xhrGuids[r]=!0,this.totalCbs+=1)}function l(e,t){var r=""+V(e)+!!t;this.xhrGuids&&this.xhrGuids[r]&&(delete this.xhrGuids[r],this.totalCbs-=1)}function f(){this.endTime=(0,S.t)()}function h(e,r){r instanceof fe&&"load"===e[0]&&t.emit("xhr-load-added",[e[1],e[2]],r)}function g(e,r){r instanceof fe&&"load"===e[0]&&t.emit("xhr-load-removed",[e[1],e[2]],r)}function m(e,t,r){t instanceof fe&&("onload"===r&&(this.onload=!0),("load"===(e[0]&&e[0].type)||this.onload)&&(this.xhrCbStart=(0,S.t)()))}function v(e,r){this.xhrCbStart&&t.emit("xhr-cb-time",[(0,S.t)()-this.xhrCbStart,this.onload,r],r)}function b(e){var t,r=e[1]||{};if("string"==typeof e[0]?0===(t=e[0]).length&&p.RI&&(t=""+p.gm.location.href):e[0]&&e[0].url?t=e[0].url:p.gm?.URL&&e[0]&&e[0]instanceof URL?t=e[0].href:"function"==typeof e[0].toString&&(t=e[0].toString()),"string"==typeof t&&0!==t.length){t&&(this.parsedOrigin=(0,ie.D)(t),this.sameOrigin=this.parsedOrigin.sameOrigin);var i=n.generateTracePayload(this.parsedOrigin);if(i&&(i.newrelicHeader||i.traceContextParentHeader))if(e[0]&&e[0].headers)s(e[0].headers,i)&&(this.dt=i);else{var o={};for(var a in r)o[a]=r[a];o.headers=new Headers(r.headers||{}),s(o.headers,i)&&(this.dt=i),e.length>1?e[1]=o:e.push(o)}}function s(e,t){var r=!1;return t.newrelicHeader&&(e.set("newrelic",t.newrelicHeader),r=!0),t.traceContextParentHeader&&(e.set("traceparent",t.traceContextParentHeader),t.traceContextStateHeader&&e.set("tracestate",t.traceContextStateHeader),r=!0),r}}function y(e,t){this.params={},this.metrics={},this.startTime=(0,S.t)(),this.dt=t,e.length>=1&&(this.target=e[0]),e.length>=2&&(this.opts=e[1]);var r,n=this.opts||{},i=this.target;"string"==typeof i?r=i:"object"==typeof i&&i instanceof le?r=i.url:p.gm?.URL&&"object"==typeof i&&i instanceof URL&&(r=i.href),ge(this,r);var o=(""+(i&&i instanceof le&&i.method||n.method||"GET")).toUpperCase();this.params.method=o,this.body=n.body,this.txSize=G(n.body)||0}function w(e,t){if(this.endTime=(0,S.t)(),this.params||(this.params={}),(0,ce.iW)(this.params))return;let n;this.params.status=t?t.status:0,"string"==typeof this.rxSize&&this.rxSize.length>0&&(n=+this.rxSize);const i={txSize:this.txSize,rxSize:n,duration:(0,S.t)()-this.startTime};r("xhr",[this.params,i,this.startTime,this.endTime,"fetch"],this,a.K7.ajax)}function R(e){const t=this.params,n=this.metrics;if(!this.ended){this.ended=!0;for(let t=0;t<de;t++)e.removeEventListener(ue[t],this.listener,!1);t.aborted||(0,ce.iW)(t)||(n.duration=(0,S.t)()-this.startTime,this.loadCaptureCalled||4!==e.readyState?null==t.status&&(t.status=0):E(this,e),n.cbTime=this.cbTime,r("xhr",[t,n,this.startTime,this.endTime,"xhr"],this,a.K7.ajax))}}function E(e,r){e.params.status=r.status;var n=function(e,t){var r=e.responseType;return"json"===r&&null!==t?t:"arraybuffer"===r||"blob"===r||"json"===r?G(e.response):"text"===r||""===r||void 0===r?G(e.responseText):void 0}(r,e.lastSize);if(n&&(e.metrics.rxSize=n),e.sameOrigin&&r.getAllResponseHeaders().indexOf(he)>=0){var i=r.getResponseHeader(he);i&&((0,x.p)(O.rs,["Ajax/CrossApplicationTracing/Header/Seen"],void 0,a.K7.metrics,t),e.params.cat=i.split(", ").pop())}e.loadCaptureCalled=!0}t.on("new-xhr",i),t.on("open-xhr-start",o),t.on("open-xhr-end",s),t.on("send-xhr-start",c),t.on("xhr-cb-time",u),t.on("xhr-load-added",d),t.on("xhr-load-removed",l),t.on("xhr-resolved",f),t.on("addEventListener-end",h),t.on("removeEventListener-end",g),t.on("fn-end",v),t.on("fetch-before-start",b),t.on("fetch-start",y),t.on("fn-start",m),t.on("fetch-done",w)}(e,this.ee,this.handler,this.dt),this.importAggregator(e)}}function ge(e,t){var r=(0,ie.D)(t),n=e.params||e;n.hostname=r.hostname,n.port=r.port,n.protocol=r.protocol,n.host=r.hostname+":"+r.port,n.pathname=r.pathname,e.parsedOrigin=r,e.sameOrigin=r.sameOrigin}const me={},ve=["pushState","replaceState"];function be(e){const t=function(e){return(e||B.ee).get("history")}(e);return!p.RI||me[t.debugId]++||(me[t.debugId]=1,(0,W.YM)(t).inPlace(window.history,ve,"-")),t}var ye=i(3738);const{He:we,bD:Re,d3:xe,Kp:Ee,TZ:Ae,Lc:Te,uP:Se,Rz:Ne}=ye;class Oe extends b{static featureName=Ae;constructor(e,t=!0){super(e,Ae,t);if(!(0,m.V)(this.agentIdentifier))return void this.deregisterDrain();const r=this.ee;let n;be(r),this.eventsEE=(0,F.u)(r),this.eventsEE.on(Se,(function(e,t){this.bstStart=(0,S.t)()})),this.eventsEE.on(Te,(function(e,t){(0,x.p)("bst",[e[0],t,this.bstStart,(0,S.t)()],void 0,a.K7.sessionTrace,r)})),r.on(Ne+xe,(function(e){this.time=(0,S.t)(),this.startPath=location.pathname+location.hash})),r.on(Ne+Ee,(function(e){(0,x.p)("bstHist",[location.pathname+location.hash,this.startPath,this.time],void 0,a.K7.sessionTrace,r)}));try{n=new PerformanceObserver((e=>{const t=e.getEntries();(0,x.p)(we,[t],void 0,a.K7.sessionTrace,r)})),n.observe({type:Re,buffered:!0})}catch(e){}this.importAggregator(e,{resourceObserver:n})}}var _e=i(2614);class Ie extends b{static featureName=t.TZ;#i;#o;constructor(e,r=!0){let n;super(e,t.TZ,r),this.replayRunning=!1,this.#o=e;try{n=JSON.parse(localStorage.getItem("".concat(_e.H3,"_").concat(_e.uh)))}catch(e){}(0,g.SR)(e.agentIdentifier)&&this.ee.on(t.G4.RECORD,(()=>this.#a())),this.#s(n)?(this.#i=n?.sessionReplayMode,this.#c()):this.importAggregator(e),this.ee.on("err",(e=>{this.replayRunning&&(this.errorNoticed=!0,(0,x.p)(t.G4.ERROR_DURING_REPLAY,[e],void 0,this.featureName,this.ee))})),this.ee.on(t.G4.REPLAY_RUNNING,(e=>{this.replayRunning=e}))}#s(e){return e&&(e.sessionReplayMode===_e.g.FULL||e.sessionReplayMode===_e.g.ERROR)||(0,g.Aw)(this.agentIdentifier)}#u=!1;async#c(e){if(!this.#u){this.#u=!0;try{const{Recorder:t}=await Promise.all([i.e(478),i.e(249)]).then(i.bind(i,8589));this.recorder??=new t({mode:this.#i,agentIdentifier:this.agentIdentifier,trigger:e,ee:this.ee,agentRef:this.#o}),this.recorder.startRecording(),this.abortHandler=this.recorder.stopRecording}catch(e){}this.importAggregator(this.#o,{recorder:this.recorder,errorNoticed:this.errorNoticed})}}#a(){this.featAggregate?this.featAggregate.mode!==_e.g.FULL&&this.featAggregate.initializeRecording(_e.g.FULL,!0):(this.#i=_e.g.FULL,this.#c(t.Qb.API),this.recorder&&this.recorder.parent.mode!==_e.g.FULL&&(this.recorder.parent.mode=_e.g.FULL,this.recorder.stopRecording(),this.recorder.startRecording(),this.abortHandler=this.recorder.stopRecording))}}var Pe=i(3962);class je extends b{static featureName=Pe.TZ;constructor(e,t=!0){if(super(e,Pe.TZ,t),!p.RI||!(0,R.dV)().o.MO)return;const r=be(this.ee);Pe.tC.forEach((e=>{(0,A.sp)(e,(e=>{a(e)}),!0)}));const n=()=>(0,x.p)("newURL",[(0,S.t)(),""+window.location],void 0,this.featureName,this.ee);r.on("pushState-end",n),r.on("replaceState-end",n);try{this.removeOnAbort=new AbortController}catch(e){}(0,A.sp)("popstate",(e=>(0,x.p)("newURL",[e.timeStamp,""+window.location],void 0,this.featureName,this.ee)),!0,this.removeOnAbort?.signal);let i=!1;const o=new((0,R.dV)().o.MO)(((e,t)=>{i||(i=!0,requestAnimationFrame((()=>{(0,x.p)("newDom",[(0,S.t)()],void 0,this.featureName,this.ee),i=!1})))})),a=(0,v.s)((e=>{(0,x.p)("newUIEvent",[e],void 0,this.featureName,this.ee),o.observe(document.body,{attributes:!0,childList:!0,subtree:!0,characterData:!0})}),100,{leading:!0});this.abortHandler=function(){this.removeOnAbort?.abort(),o.disconnect(),this.abortHandler=void 0},this.importAggregator(e,{domObserver:o})}}var Ce=i(7378);const ke={},Le=["appendChild","insertBefore","replaceChild"];function He(e){const t=function(e){return(e||B.ee).get("jsonp")}(e);if(!p.RI||ke[t.debugId])return t;ke[t.debugId]=!0;var r=(0,W.YM)(t),n=/[?&](?:callback|cb)=([^&#]+)/,i=/(.*)\.([^.]+)/,o=/^(\w+)(\.|$)(.*)$/;function a(e,t){if(!e)return t;const r=e.match(o),n=r[1];return a(r[3],t[n])}return r.inPlace(Node.prototype,Le,"dom-"),t.on("dom-start",(function(e){!function(e){if(!e||"string"!=typeof e.nodeName||"script"!==e.nodeName.toLowerCase())return;if("function"!=typeof e.addEventListener)return;var o=(s=e.src,c=s.match(n),c?c[1]:null);var s,c;if(!o)return;var u=function(e){var t=e.match(i);if(t&&t.length>=3)return{key:t[2],parent:a(t[1],window)};return{key:e,parent:window}}(o);if("function"!=typeof u.parent[u.key])return;var d={};function l(){t.emit("jsonp-end",[],d),e.removeEventListener("load",l,(0,A.jT)(!1)),e.removeEventListener("error",f,(0,A.jT)(!1))}function f(){t.emit("jsonp-error",[],d),t.emit("jsonp-end",[],d),e.removeEventListener("load",l,(0,A.jT)(!1)),e.removeEventListener("error",f,(0,A.jT)(!1))}r.inPlace(u.parent,[u.key],"cb-",d),e.addEventListener("load",l,(0,A.jT)(!1)),e.addEventListener("error",f,(0,A.jT)(!1)),t.emit("new-jsonp",[e.src],d)}(e[0])})),t}const Me={};function De(e){const t=function(e){return(e||B.ee).get("promise")}(e);if(Me[t.debugId])return t;Me[t.debugId]=!0;var r=t.context,n=(0,W.YM)(t),i=p.gm.Promise;return i&&function(){function e(r){var o=t.context(),a=n(r,"executor-",o,null,!1);const s=Reflect.construct(i,[a],e);return t.context(s).getCtx=function(){return o},s}p.gm.Promise=e,Object.defineProperty(e,"name",{value:"Promise"}),e.toString=function(){return i.toString()},Object.setPrototypeOf(e,i),["all","race"].forEach((function(r){const n=i[r];e[r]=function(e){let i=!1;[...e||[]].forEach((e=>{this.resolve(e).then(a("all"===r),a(!1))}));const o=n.apply(this,arguments);return o;function a(e){return function(){t.emit("propagate",[null,!i],o,!1,!1),i=i||!e}}}})),["resolve","reject"].forEach((function(r){const n=i[r];e[r]=function(e){const r=n.apply(this,arguments);return e!==r&&t.emit("propagate",[e,!0],r,!1,!1),r}})),e.prototype=i.prototype;const o=i.prototype.then;i.prototype.then=function(...e){var i=this,a=r(i);a.promise=i,e[0]=n(e[0],"cb-",a,null,!1),e[1]=n(e[1],"cb-",a,null,!1);const s=o.apply(this,e);return a.nextPromise=s,t.emit("propagate",[i,!0],s,!1,!1),s},i.prototype.then[W.Jt]=o,t.on("executor-start",(function(e){e[0]=n(e[0],"resolve-",this,null,!1),e[1]=n(e[1],"resolve-",this,null,!1)})),t.on("executor-err",(function(e,t,r){e[1](r)})),t.on("cb-end",(function(e,r,n){t.emit("propagate",[n,!0],this.nextPromise,!1,!1)})),t.on("propagate",(function(e,r,n){this.getCtx&&!r||(this.getCtx=function(){if(e instanceof Promise)var r=t.context(e);return r&&r.getCtx?r.getCtx():this})}))}(),t}const Ke={},Ue="setTimeout",Ve="setInterval",Ge="clearTimeout",Fe="-start",Be=[Ue,"setImmediate",Ve,Ge,"clearImmediate"];function We(e){const t=function(e){return(e||B.ee).get("timer")}(e);if(Ke[t.debugId]++)return t;Ke[t.debugId]=1;var r=(0,W.YM)(t);return r.inPlace(p.gm,Be.slice(0,2),Ue+"-"),r.inPlace(p.gm,Be.slice(2,3),Ve+"-"),r.inPlace(p.gm,Be.slice(3),Ge+"-"),t.on(Ve+Fe,(function(e,t,n){e[0]=r(e[0],"fn-",null,n)})),t.on(Ue+Fe,(function(e,t,n){this.method=n,this.timerDuration=isNaN(e[1])?0:+e[1],e[0]=r(e[0],"fn-",this,n)})),t}const ze={};function qe(e){const t=function(e){return(e||B.ee).get("mutation")}(e);if(!p.RI||ze[t.debugId])return t;ze[t.debugId]=!0;var r=(0,W.YM)(t),n=p.gm.MutationObserver;return n&&(window.MutationObserver=function(e){return this instanceof n?new n(r(e,"fn-")):n.apply(this,arguments)},MutationObserver.prototype=n.prototype),t}const{TZ:Ze,d3:Ye,Kp:Je,$p:Xe,wW:$e,e5:Qe,tH:et,uP:tt,rw:rt,Lc:nt}=Ce;class it extends b{static featureName=Ze;constructor(e,t=!0){if(super(e,Ze,t),!p.RI)return;try{this.removeOnAbort=new AbortController}catch(e){}let r,n=0;const i=this.ee.get("tracer"),o=He(this.ee),a=De(this.ee),s=We(this.ee),c=Z(this.ee),u=this.ee.get("events"),d=ne(this.ee),l=be(this.ee),f=qe(this.ee);function h(e,t){l.emit("newURL",[""+window.location,t])}function g(){n++,r=window.location.hash,this[tt]=(0,S.t)()}function m(){n--,window.location.hash!==r&&h(0,!0);var e=(0,S.t)();this[Qe]=~~this[Qe]+e-this[tt],this[nt]=e}function v(e,t){e.on(t,(function(){this[t]=(0,S.t)()}))}this.ee.on(tt,g),a.on(rt,g),o.on(rt,g),this.ee.on(nt,m),a.on($e,m),o.on($e,m),this.ee.on("fn-err",((...t)=>{t[2]?.__newrelic?.[e.agentIdentifier]||(0,x.p)("function-err",[...t],void 0,this.featureName,this.ee)})),this.ee.buffer([tt,nt,"xhr-resolved"],this.featureName),u.buffer([tt],this.featureName),s.buffer(["setTimeout"+Je,"clearTimeout"+Ye,tt],this.featureName),c.buffer([tt,"new-xhr","send-xhr"+Ye],this.featureName),d.buffer([et+Ye,et+"-done",et+Xe+Ye,et+Xe+Je],this.featureName),l.buffer(["newURL"],this.featureName),f.buffer([tt],this.featureName),a.buffer(["propagate",rt,$e,"executor-err","resolve"+Ye],this.featureName),i.buffer([tt,"no-"+tt],this.featureName),o.buffer(["new-jsonp","cb-start","jsonp-error","jsonp-end"],this.featureName),v(d,et+Ye),v(d,et+"-done"),v(o,"new-jsonp"),v(o,"jsonp-end"),v(o,"cb-start"),l.on("pushState-end",h),l.on("replaceState-end",h),window.addEventListener("hashchange",h,(0,A.jT)(!0,this.removeOnAbort?.signal)),window.addEventListener("load",h,(0,A.jT)(!0,this.removeOnAbort?.signal)),window.addEventListener("popstate",(function(){h(0,n>1)}),(0,A.jT)(!0,this.removeOnAbort?.signal)),this.abortHandler=this.#n,this.importAggregator(e)}#n(){this.removeOnAbort?.abort(),this.abortHandler=void 0}}var ot=i(3333);class at extends b{static featureName=ot.TZ;constructor(e,t=!0){super(e,ot.TZ,t);const r=[e.init.page_action.enabled,e.init.performance.capture_marks,e.init.performance.capture_measures,e.init.user_actions.enabled,e.init.performance.resources.enabled];if(p.RI&&(e.init.user_actions.enabled&&(ot.Zp.forEach((e=>(0,A.sp)(e,(e=>(0,x.p)("ua",[e],void 0,this.featureName,this.ee)),!0))),ot.qN.forEach((e=>{const t=(0,v.s)((e=>{(0,x.p)("ua",[e],void 0,this.featureName,this.ee)}),500,{leading:!0});(0,A.sp)(e,t)}))),e.init.performance.resources.enabled&&p.gm.PerformanceObserver?.supportedEntryTypes.includes("resource"))){new PerformanceObserver((e=>{e.getEntries().forEach((e=>{(0,x.p)("browserPerformance.resource",[e],void 0,this.featureName,this.ee)}))})).observe({type:"resource",buffered:!0})}r.some((e=>e))?this.importAggregator(e):this.deregisterDrain()}}var st=i(993),ct=i(3785),ut=i(9414);class dt extends b{static featureName=st.TZ;constructor(e,t=!0){super(e,st.TZ,t);const r=this.ee;(0,ut.J)(r,p.gm.console,"log",{level:"info"}),(0,ut.J)(r,p.gm.console,"error",{level:"error"}),(0,ut.J)(r,p.gm.console,"warn",{level:"warn"}),(0,ut.J)(r,p.gm.console,"info",{level:"info"}),(0,ut.J)(r,p.gm.console,"debug",{level:"debug"}),(0,ut.J)(r,p.gm.console,"trace",{level:"trace"}),this.ee.on("wrap-logger-end",(function([e]){const{level:t,customAttributes:n}=this;(0,ct.R)(r,e,n,t)})),this.importAggregator(e)}}new class extends o{constructor(t){super(),p.gm?(this.features={},(0,R.bQ)(this.agentIdentifier,this),this.desiredFeatures=new Set(t.features||[]),this.desiredFeatures.add(w),this.runSoftNavOverSpa=[...this.desiredFeatures].some((e=>e.featureName===a.K7.softNav)),(0,d.j)(this,t,t.loaderType||"agent"),this.run()):(0,e.R)(21)}get config(){return{info:this.info,init:this.init,loader_config:this.loader_config,runtime:this.runtime}}get api(){return this}run(){try{const t=u(this.agentIdentifier),r=[...this.desiredFeatures];r.sort(((e,t)=>a.P3[e.featureName]-a.P3[t.featureName])),r.forEach((r=>{if(!t[r.featureName]&&r.featureName!==a.K7.pageViewEvent)return;if(this.runSoftNavOverSpa&&r.featureName===a.K7.spa)return;if(!this.runSoftNavOverSpa&&r.featureName===a.K7.softNav)return;const n=function(e){switch(e){case a.K7.ajax:return[a.K7.jserrors];case a.K7.sessionTrace:return[a.K7.ajax,a.K7.pageViewEvent];case a.K7.sessionReplay:return[a.K7.sessionTrace];case a.K7.pageViewTiming:return[a.K7.pageViewEvent];default:return[]}}(r.featureName).filter((e=>!(e in this.features)));n.length>0&&(0,e.R)(36,{targetFeature:r.featureName,missingDependencies:n}),this.features[r.featureName]=new r(this)}))}catch(t){(0,e.R)(22,t);for(const e in this.features)this.features[e].abortHandler?.();const r=(0,R.Zm)();delete r.initializedAgents[this.agentIdentifier]?.features,delete this.sharedAggregator;return r.ee.get(this.agentIdentifier).abort(),!1}}}({features:[pe,w,N,Oe,Ie,_,M,at,dt,je,it],loaderType:"spa"})})()})();</script><meta name="viewport" content="width=device-width, initial-scale=1"><link rel="profile" href="https://gmpg.org/xfn/11"> <script defer src="data:text/javascript;base64,KGZ1bmN0aW9uKHcsZCxzLGwsaSl7d1tsXT13W2xdfHxbXTt3W2xdLnB1c2goeydndG0uc3RhcnQnOg0KbmV3IERhdGUoKS5nZXRUaW1lKCksZXZlbnQ6J2d0bS5qcyd9KTt2YXIgZj1kLmdldEVsZW1lbnRzQnlUYWdOYW1lKHMpWzBdLA0Kaj1kLmNyZWF0ZUVsZW1lbnQocyksZGw9bCE9J2RhdGFMYXllcic/JyZsPScrbDonJztqLmFzeW5jPXRydWU7ai5zcmM9DQonaHR0cHM6Ly93d3cuZ29vZ2xldGFnbWFuYWdlci5jb20vZ3RtLmpzP2lkPScraStkbDtmLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGosZik7DQp9KSh3aW5kb3csZG9jdW1lbnQsJ3NjcmlwdCcsJ2RhdGFMYXllcicsJ0dUTS1NOUc1V1I0Jyk7"></script> <style>:root { --color-1:rgb(11,126,162);--color-2:rgb(35,44,59);--color-3:rgb(227,227,227);--color-4:rgb(82,128,60);--color-5:rgb(0,95,129);--color-6:rgb(0,67,92);--fontcolorlight:rgb(255,255,255);--fontcolordark:rgb(35,44,59);--defaultfontsize:16px;--h1:3rem;--h2:2.5rem;--h3:2.25rem;--h4:1.75rem;--h5:1.5rem;--defaultfontsizemb16px;--siteMaxWidth:1400px; } body a {color:inherit;} body a:hover, body a:focus {text-decoration:underline;} body .font-light a {color:rgb(255,255,255);text-decoration-line:underline;text-decoration-color:rgb(255,255,255);text-decoration-style:solid;text-decoration-thickness:1px;}.color-1 {color:var(--color-1);}.color-2 {color:var(--color-2);}.color-3 {color:var(--color-3);}.color-4 {color:var(--color-4);}.color-5 {color:var(--color-5);}.color-6 {color:var(--color-6);}.bg-color-1 {background-color:var(--color-1);}.bg-color-2 {background-color:var(--color-2);}.bg-color-3 {background-color:var(--color-3);}.bg-color-4 {background-color:var(--color-4);}.bg-color-5 {background-color:var(--color-5);}.bg-color-6 {background-color:var(--color-6);}.bg-theme-color-1 {background-color:var(--color-1);}.bg-theme-color-2 {background-color:var(--color-2);}.bg-theme-color-3 {background-color:var(--color-3);}.bg-theme-color-4 {background-color:var(--color-4);}.bg-theme-color-5 {background-color:var(--color-5);}.bg-theme-color-6 {background-color:var(--color-6);}.border-color-1 {border-color:var(--color-1);}.border-color-2 {border-color:var(--color-2);}.border-color-3 {border-color:var(--color-3);}.border-color-4 {border-color:var(--color-4);}.border-color-5 {border-color:var(--color-5);}.border-color-6 {border-color:var(--color-6);} @media (max-width:991px) { :root { --defaultfontsize:16px;--h1:2.5rem;--h2:2.25rem;--h3:2rem;--h4:1.5rem;--h5:1.25rem; } } @media (min-width:1400px) { :root { --contMaxWidth: 1400px !important; } .section-container {max-width:1400px !important;} } @media (min-width:992px) and (max-width:1400px) { .n-section-hero.is-fluid { --sectHeroImgWidth: calc(100% * var(--sectHeroCols)) !important; } }</style><style>img:is([sizes="auto" i], [sizes^="auto," i]) { contain-intrinsic-size: 3000px 1500px }</style><title>Services | Noodle</title><meta name="description" content="At Noodle, we combine expertise and innovation to offer a wide range of services tailored for academic excellence in higher education."/><meta name="robots" content="follow, index, max-snippet:-1, max-video-preview:-1, max-image-preview:large"/><link rel="canonical" href="https://about.noodle.com/services/" /><meta property="og:locale" content="en_US" /><meta property="og:type" content="article" /><meta property="og:title" content="Services | Noodle" /><meta property="og:description" content="At Noodle, we combine expertise and innovation to offer a wide range of services tailored for academic excellence in higher education." /><meta property="og:url" content="https://about.noodle.com/services/" /><meta property="og:site_name" content="Noodle Corporation" /><meta property="og:updated_time" content="2024-10-30T17:25:03+00:00" /><meta property="og:image" content="https://about.noodle.com/wp-content/uploads/sites/13/2024/09/noodle-strategic-consulting-service-2.png" /><meta property="og:image:secure_url" content="https://about.noodle.com/wp-content/uploads/sites/13/2024/09/noodle-strategic-consulting-service-2.png" /><meta property="og:image:width" content="560" /><meta property="og:image:height" content="640" /><meta property="og:image:alt" content="Two Noodle colleagues consult." /><meta property="og:image:type" content="image/png" /><meta property="article:published_time" content="2024-01-17T20:28:33+00:00" /><meta property="article:modified_time" content="2024-10-30T17:25:03+00:00" /><meta name="twitter:card" content="summary_large_image" /><meta name="twitter:title" content="Services | Noodle" /><meta name="twitter:description" content="At Noodle, we combine expertise and innovation to offer a wide range of services tailored for academic excellence in higher education." /><meta name="twitter:image" content="https://about.noodle.com/wp-content/uploads/sites/13/2024/09/noodle-strategic-consulting-service-2.png" /> <script type="application/ld+json" class="rank-math-schema-pro">{"@context":"https://schema.org","@graph":[{"@type":["Corporation","Organization"],"@id":"https://about.noodle.com/#organization","name":"Noodle","url":"https://about.noodle.com","logo":{"@type":"ImageObject","@id":"https://about.noodle.com/#logo","url":"https://about.noodle.com/wp-content/uploads/sites/13/2024/01/Icon-Noodle-Circle.png","contentUrl":"https://about.noodle.com/wp-content/uploads/sites/13/2024/01/Icon-Noodle-Circle.png","caption":"Noodle Corporation","inLanguage":"en-US","width":"466","height":"466"}},{"@type":"WebSite","@id":"https://about.noodle.com/#website","url":"https://about.noodle.com","name":"Noodle Corporation","alternateName":"Noodle Corporation","publisher":{"@id":"https://about.noodle.com/#organization"},"inLanguage":"en-US"},{"@type":"ImageObject","@id":"https://about.noodle.com/wp-content/uploads/sites/13/2024/09/noodle-strategic-consulting-service-2.png","url":"https://about.noodle.com/wp-content/uploads/sites/13/2024/09/noodle-strategic-consulting-service-2.png","width":"200","height":"200","inLanguage":"en-US"},{"@type":"WebPage","@id":"https://about.noodle.com/services/#webpage","url":"https://about.noodle.com/services/","name":"Services | Noodle","datePublished":"2024-01-17T20:28:33+00:00","dateModified":"2024-10-30T17:25:03+00:00","isPartOf":{"@id":"https://about.noodle.com/#website"},"primaryImageOfPage":{"@id":"https://about.noodle.com/wp-content/uploads/sites/13/2024/09/noodle-strategic-consulting-service-2.png"},"inLanguage":"en-US"},{"@type":"Person","@id":"https://about.noodle.com/author/itpartners/","name":"cjesse","url":"https://about.noodle.com/author/itpartners/","image":{"@type":"ImageObject","@id":"https://about.noodle.com/wp-content/uploads/sites/13/2024/02/Icon-Noodle-Circle.png","url":"https://about.noodle.com/wp-content/uploads/sites/13/2024/02/Icon-Noodle-Circle.png","caption":"cjesse","inLanguage":"en-US"},"worksFor":{"@id":"https://about.noodle.com/#organization"}},{"@type":"Article","headline":"Services | Noodle","datePublished":"2024-01-17T20:28:33+00:00","dateModified":"2024-10-30T17:25:03+00:00","author":{"@id":"https://about.noodle.com/author/itpartners/","name":"Noodle Editorial Team"},"publisher":{"@id":"https://about.noodle.com/#organization"},"description":"At Noodle, we combine expertise and innovation to offer a wide range of services tailored for academic excellence in higher education.","name":"Services | Noodle","@id":"https://about.noodle.com/services/#richSnippet","isPartOf":{"@id":"https://about.noodle.com/services/#webpage"},"image":{"@id":"https://about.noodle.com/wp-content/uploads/sites/13/2024/09/noodle-strategic-consulting-service-2.png"},"inLanguage":"en-US","mainEntityOfPage":{"@id":"https://about.noodle.com/services/#webpage"}}]}</script> <link rel='dns-prefetch' href='//about.noodle.com' /><link rel='dns-prefetch' href='//cdn.jsdelivr.net' /><link rel='dns-prefetch' href='//use.fontawesome.com' /><link rel='dns-prefetch' href='//fonts.googleapis.com' /> <script defer src="data:text/javascript;base64,CndpbmRvdy5fd3BlbW9qaVNldHRpbmdzID0geyJiYXNlVXJsIjoiaHR0cHM6XC9cL3Mudy5vcmdcL2ltYWdlc1wvY29yZVwvZW1vamlcLzE1LjAuM1wvNzJ4NzJcLyIsImV4dCI6Ii5wbmciLCJzdmdVcmwiOiJodHRwczpcL1wvcy53Lm9yZ1wvaW1hZ2VzXC9jb3JlXC9lbW9qaVwvMTUuMC4zXC9zdmdcLyIsInN2Z0V4dCI6Ii5zdmciLCJzb3VyY2UiOnsiY29uY2F0ZW1vamkiOiJodHRwczpcL1wvYWJvdXQubm9vZGxlLmNvbVwvd3AtaW5jbHVkZXNcL2pzXC93cC1lbW9qaS1yZWxlYXNlLm1pbi5qcz92ZXI9Ni43LjIifX07Ci8qISBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgKi8KIWZ1bmN0aW9uKGksbil7dmFyIG8scyxlO2Z1bmN0aW9uIGMoZSl7dHJ5e3ZhciB0PXtzdXBwb3J0VGVzdHM6ZSx0aW1lc3RhbXA6KG5ldyBEYXRlKS52YWx1ZU9mKCl9O3Nlc3Npb25TdG9yYWdlLnNldEl0ZW0obyxKU09OLnN0cmluZ2lmeSh0KSl9Y2F0Y2goZSl7fX1mdW5jdGlvbiBwKGUsdCxuKXtlLmNsZWFyUmVjdCgwLDAsZS5jYW52YXMud2lkdGgsZS5jYW52YXMuaGVpZ2h0KSxlLmZpbGxUZXh0KHQsMCwwKTt2YXIgdD1uZXcgVWludDMyQXJyYXkoZS5nZXRJbWFnZURhdGEoMCwwLGUuY2FudmFzLndpZHRoLGUuY2FudmFzLmhlaWdodCkuZGF0YSkscj0oZS5jbGVhclJlY3QoMCwwLGUuY2FudmFzLndpZHRoLGUuY2FudmFzLmhlaWdodCksZS5maWxsVGV4dChuLDAsMCksbmV3IFVpbnQzMkFycmF5KGUuZ2V0SW1hZ2VEYXRhKDAsMCxlLmNhbnZhcy53aWR0aCxlLmNhbnZhcy5oZWlnaHQpLmRhdGEpKTtyZXR1cm4gdC5ldmVyeShmdW5jdGlvbihlLHQpe3JldHVybiBlPT09clt0XX0pfWZ1bmN0aW9uIHUoZSx0LG4pe3N3aXRjaCh0KXtjYXNlImZsYWciOnJldHVybiBuKGUsIlx1ZDgzY1x1ZGZmM1x1ZmUwZlx1MjAwZFx1MjZhN1x1ZmUwZiIsIlx1ZDgzY1x1ZGZmM1x1ZmUwZlx1MjAwYlx1MjZhN1x1ZmUwZiIpPyExOiFuKGUsIlx1ZDgzY1x1ZGRmYVx1ZDgzY1x1ZGRmMyIsIlx1ZDgzY1x1ZGRmYVx1MjAwYlx1ZDgzY1x1ZGRmMyIpJiYhbihlLCJcdWQ4M2NcdWRmZjRcdWRiNDBcdWRjNjdcdWRiNDBcdWRjNjJcdWRiNDBcdWRjNjVcdWRiNDBcdWRjNmVcdWRiNDBcdWRjNjdcdWRiNDBcdWRjN2YiLCJcdWQ4M2NcdWRmZjRcdTIwMGJcdWRiNDBcdWRjNjdcdTIwMGJcdWRiNDBcdWRjNjJcdTIwMGJcdWRiNDBcdWRjNjVcdTIwMGJcdWRiNDBcdWRjNmVcdTIwMGJcdWRiNDBcdWRjNjdcdTIwMGJcdWRiNDBcdWRjN2YiKTtjYXNlImVtb2ppIjpyZXR1cm4hbihlLCJcdWQ4M2RcdWRjMjZcdTIwMGRcdTJiMWIiLCJcdWQ4M2RcdWRjMjZcdTIwMGJcdTJiMWIiKX1yZXR1cm4hMX1mdW5jdGlvbiBmKGUsdCxuKXt2YXIgcj0idW5kZWZpbmVkIiE9dHlwZW9mIFdvcmtlckdsb2JhbFNjb3BlJiZzZWxmIGluc3RhbmNlb2YgV29ya2VyR2xvYmFsU2NvcGU/bmV3IE9mZnNjcmVlbkNhbnZhcygzMDAsMTUwKTppLmNyZWF0ZUVsZW1lbnQoImNhbnZhcyIpLGE9ci5nZXRDb250ZXh0KCIyZCIse3dpbGxSZWFkRnJlcXVlbnRseTohMH0pLG89KGEudGV4dEJhc2VsaW5lPSJ0b3AiLGEuZm9udD0iNjAwIDMycHggQXJpYWwiLHt9KTtyZXR1cm4gZS5mb3JFYWNoKGZ1bmN0aW9uKGUpe29bZV09dChhLGUsbil9KSxvfWZ1bmN0aW9uIHQoZSl7dmFyIHQ9aS5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTt0LnNyYz1lLHQuZGVmZXI9ITAsaS5oZWFkLmFwcGVuZENoaWxkKHQpfSJ1bmRlZmluZWQiIT10eXBlb2YgUHJvbWlzZSYmKG89IndwRW1vamlTZXR0aW5nc1N1cHBvcnRzIixzPVsiZmxhZyIsImVtb2ppIl0sbi5zdXBwb3J0cz17ZXZlcnl0aGluZzohMCxldmVyeXRoaW5nRXhjZXB0RmxhZzohMH0sZT1uZXcgUHJvbWlzZShmdW5jdGlvbihlKXtpLmFkZEV2ZW50TGlzdGVuZXIoIkRPTUNvbnRlbnRMb2FkZWQiLGUse29uY2U6ITB9KX0pLG5ldyBQcm9taXNlKGZ1bmN0aW9uKHQpe3ZhciBuPWZ1bmN0aW9uKCl7dHJ5e3ZhciBlPUpTT04ucGFyc2Uoc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbShvKSk7aWYoIm9iamVjdCI9PXR5cGVvZiBlJiYibnVtYmVyIj09dHlwZW9mIGUudGltZXN0YW1wJiYobmV3IERhdGUpLnZhbHVlT2YoKTxlLnRpbWVzdGFtcCs2MDQ4MDAmJiJvYmplY3QiPT10eXBlb2YgZS5zdXBwb3J0VGVzdHMpcmV0dXJuIGUuc3VwcG9ydFRlc3RzfWNhdGNoKGUpe31yZXR1cm4gbnVsbH0oKTtpZighbil7aWYoInVuZGVmaW5lZCIhPXR5cGVvZiBXb3JrZXImJiJ1bmRlZmluZWQiIT10eXBlb2YgT2Zmc2NyZWVuQ2FudmFzJiYidW5kZWZpbmVkIiE9dHlwZW9mIFVSTCYmVVJMLmNyZWF0ZU9iamVjdFVSTCYmInVuZGVmaW5lZCIhPXR5cGVvZiBCbG9iKXRyeXt2YXIgZT0icG9zdE1lc3NhZ2UoIitmLnRvU3RyaW5nKCkrIigiK1tKU09OLnN0cmluZ2lmeShzKSx1LnRvU3RyaW5nKCkscC50b1N0cmluZygpXS5qb2luKCIsIikrIikpOyIscj1uZXcgQmxvYihbZV0se3R5cGU6InRleHQvamF2YXNjcmlwdCJ9KSxhPW5ldyBXb3JrZXIoVVJMLmNyZWF0ZU9iamVjdFVSTChyKSx7bmFtZToid3BUZXN0RW1vamlTdXBwb3J0cyJ9KTtyZXR1cm4gdm9pZChhLm9ubWVzc2FnZT1mdW5jdGlvbihlKXtjKG49ZS5kYXRhKSxhLnRlcm1pbmF0ZSgpLHQobil9KX1jYXRjaChlKXt9YyhuPWYocyx1LHApKX10KG4pfSkudGhlbihmdW5jdGlvbihlKXtmb3IodmFyIHQgaW4gZSluLnN1cHBvcnRzW3RdPWVbdF0sbi5zdXBwb3J0cy5ldmVyeXRoaW5nPW4uc3VwcG9ydHMuZXZlcnl0aGluZyYmbi5zdXBwb3J0c1t0XSwiZmxhZyIhPT10JiYobi5zdXBwb3J0cy5ldmVyeXRoaW5nRXhjZXB0RmxhZz1uLnN1cHBvcnRzLmV2ZXJ5dGhpbmdFeGNlcHRGbGFnJiZuLnN1cHBvcnRzW3RdKTtuLnN1cHBvcnRzLmV2ZXJ5dGhpbmdFeGNlcHRGbGFnPW4uc3VwcG9ydHMuZXZlcnl0aGluZ0V4Y2VwdEZsYWcmJiFuLnN1cHBvcnRzLmZsYWcsbi5ET01SZWFkeT0hMSxuLnJlYWR5Q2FsbGJhY2s9ZnVuY3Rpb24oKXtuLkRPTVJlYWR5PSEwfX0pLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4gZX0pLnRoZW4oZnVuY3Rpb24oKXt2YXIgZTtuLnN1cHBvcnRzLmV2ZXJ5dGhpbmd8fChuLnJlYWR5Q2FsbGJhY2soKSwoZT1uLnNvdXJjZXx8e30pLmNvbmNhdGVtb2ppP3QoZS5jb25jYXRlbW9qaSk6ZS53cGVtb2ppJiZlLnR3ZW1vamkmJih0KGUudHdlbW9qaSksdChlLndwZW1vamkpKSl9KSl9KCh3aW5kb3csZG9jdW1lbnQpLHdpbmRvdy5fd3BlbW9qaVNldHRpbmdzKTsK"></script> <style id='wp-emoji-styles-inline-css'>img.wp-smiley, img.emoji { display: inline !important; border: none !important; box-shadow: none !important; height: 1em !important; width: 1em !important; margin: 0 0.07em !important; vertical-align: -0.1em !important; background: none !important; padding: 0 !important; }</style><link rel='stylesheet' id='wp-block-library-css' href='https://about.noodle.com/wp-includes/css/dist/block-library/style.min.css?ver=6.7.2' media='all' /><style id='wp-block-library-theme-inline-css'>.wp-block-audio :where(figcaption){color:#555;font-size:13px;text-align:center}.is-dark-theme .wp-block-audio :where(figcaption){color:#ffffffa6}.wp-block-audio{margin:0 0 1em}.wp-block-code{border:1px solid #ccc;border-radius:4px;font-family:Menlo,Consolas,monaco,monospace;padding:.8em 1em}.wp-block-embed :where(figcaption){color:#555;font-size:13px;text-align:center}.is-dark-theme .wp-block-embed :where(figcaption){color:#ffffffa6}.wp-block-embed{margin:0 0 1em}.blocks-gallery-caption{color:#555;font-size:13px;text-align:center}.is-dark-theme .blocks-gallery-caption{color:#ffffffa6}:root :where(.wp-block-image figcaption){color:#555;font-size:13px;text-align:center}.is-dark-theme :root :where(.wp-block-image figcaption){color:#ffffffa6}.wp-block-image{margin:0 0 1em}.wp-block-pullquote{border-bottom:4px solid;border-top:4px solid;color:currentColor;margin-bottom:1.75em}.wp-block-pullquote cite,.wp-block-pullquote footer,.wp-block-pullquote__citation{color:currentColor;font-size:.8125em;font-style:normal;text-transform:uppercase}.wp-block-quote{border-left:.25em solid;margin:0 0 1.75em;padding-left:1em}.wp-block-quote cite,.wp-block-quote footer{color:currentColor;font-size:.8125em;font-style:normal;position:relative}.wp-block-quote:where(.has-text-align-right){border-left:none;border-right:.25em solid;padding-left:0;padding-right:1em}.wp-block-quote:where(.has-text-align-center){border:none;padding-left:0}.wp-block-quote.is-large,.wp-block-quote.is-style-large,.wp-block-quote:where(.is-style-plain){border:none}.wp-block-search .wp-block-search__label{font-weight:700}.wp-block-search__button{border:1px solid #ccc;padding:.375em .625em}:where(.wp-block-group.has-background){padding:1.25em 2.375em}.wp-block-separator.has-css-opacity{opacity:.4}.wp-block-separator{border:none;border-bottom:2px solid;margin-left:auto;margin-right:auto}.wp-block-separator.has-alpha-channel-opacity{opacity:1}.wp-block-separator:not(.is-style-wide):not(.is-style-dots){width:100px}.wp-block-separator.has-background:not(.is-style-dots){border-bottom:none;height:1px}.wp-block-separator.has-background:not(.is-style-wide):not(.is-style-dots){height:2px}.wp-block-table{margin:0 0 1em}.wp-block-table td,.wp-block-table th{word-break:normal}.wp-block-table :where(figcaption){color:#555;font-size:13px;text-align:center}.is-dark-theme .wp-block-table :where(figcaption){color:#ffffffa6}.wp-block-video :where(figcaption){color:#555;font-size:13px;text-align:center}.is-dark-theme .wp-block-video :where(figcaption){color:#ffffffa6}.wp-block-video{margin:0 0 1em}:root :where(.wp-block-template-part.has-background){margin-bottom:0;margin-top:0;padding:1.25em 2.375em}</style><style id='safe-svg-svg-icon-style-inline-css'>.safe-svg-cover{text-align:center}.safe-svg-cover .safe-svg-inside{display:inline-block;max-width:100%}.safe-svg-cover svg{height:100%;max-height:100%;max-width:100%;width:100%}</style><link rel='stylesheet' id='wp-bootstrap-blocks-styles-css' href='https://about.noodle.com/wp-content/uploads/autoptimize/13/css/autoptimize_single_670ceb20bdffc3b0af99a495eb4e34ba.css?ver=5.2.0' media='all' /><style id='classic-theme-styles-inline-css'>/*! This file is auto-generated */ .wp-block-button__link{color:#fff;background-color:#32373c;border-radius:9999px;box-shadow:none;text-decoration:none;padding:calc(.667em + 2px) calc(1.333em + 2px);font-size:1.125em}.wp-block-file__button{background:#32373c;color:#fff;text-decoration:none}</style><style id='global-styles-inline-css'>:root{--wp--preset--aspect-ratio--square: 1;--wp--preset--aspect-ratio--4-3: 4/3;--wp--preset--aspect-ratio--3-4: 3/4;--wp--preset--aspect-ratio--3-2: 3/2;--wp--preset--aspect-ratio--2-3: 2/3;--wp--preset--aspect-ratio--16-9: 16/9;--wp--preset--aspect-ratio--9-16: 9/16;--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #ffffff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--color--theme-color-1: rgb(11,126,162);--wp--preset--color--theme-color-2: rgb(35,44,59);--wp--preset--color--theme-color-3: rgb(227,227,227);--wp--preset--color--theme-color-4: rgb(82,128,60);--wp--preset--color--theme-color-5: rgb(0,95,129);--wp--preset--color--theme-color-6: rgb(0,67,92);--wp--preset--color--theme-light: rgb(255,255,255);--wp--preset--color--theme-dark: rgb(35,44,59);--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgba(6,147,227,1) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgba(252,185,0,1) 0%,rgba(255,105,0,1) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgba(255,105,0,1) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--font-size--small: 13px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 36px;--wp--preset--font-size--x-large: 42px;--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 1.5rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgba(255, 255, 255, 1), 6px 6px rgba(0, 0, 0, 1);--wp--preset--shadow--crisp: 6px 6px 0px rgba(0, 0, 0, 1);}:where(.is-layout-flex){gap: 0.5em;}:where(.is-layout-grid){gap: 0.5em;}body .is-layout-flex{display: flex;}.is-layout-flex{flex-wrap: wrap;align-items: center;}.is-layout-flex > :is(*, div){margin: 0;}body .is-layout-grid{display: grid;}.is-layout-grid > :is(*, div){margin: 0;}:where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;}:where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;} :where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;} :where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;} :root :where(.wp-block-pullquote){font-size: 1.5em;line-height: 1.6;}</style><link rel='stylesheet' id='mos-ms-css' href='https://about.noodle.com/wp-content/plugins/mozaic/css/multiple-select.min.css?ver=6.7.2' media='all' /><link rel='stylesheet' id='orgseries-default-css-css' href='https://about.noodle.com/wp-content/uploads/autoptimize/13/css/autoptimize_single_0c95609271cbb4fb6cc78fc1eb8a1aff.css?ver=6.7.2' media='all' /><link rel='stylesheet' id='extra-style-css' href='https://about.noodle.com/wp-content/uploads/autoptimize/13/css/autoptimize_single_586d106abd1af83fcdb2dc947984a789.css?ver=6.7.2' media='all' /><link rel='stylesheet' id='utility_classes-css' href='https://about.noodle.com/wp-content/uploads/autoptimize/13/css/autoptimize_single_7d14e45e122a79566e7e0c96fd4cd4ff.css?ver=6.7.2' media='all' /><link rel='stylesheet' id='bootstrap-css' href='https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css?ver=6.7.2' media='all' /><link rel='stylesheet' id='font-awesome-css' href='https://use.fontawesome.com/releases/v6.5.1/css/all.css?ver=6.7.2' media='all' /><link rel='stylesheet' id='parent-theme-style-css' href='https://about.noodle.com/wp-content/uploads/autoptimize/13/css/autoptimize_single_b6e9cdc3f03e655ae95cd2b396a5ac5f.css?ver=1.0.0' media='all' /><link rel='stylesheet' id='google-font-css' href='https://fonts.googleapis.com/css2?family=Inter:wght@100;200;300;400;500;600;700;800;900&#038;family=Playfair+Display:ital,wght@0,400;0,500;0,600;0,700;0,800;0,900;1,400;1,500;1,600;1,700;1,800;1,900&#038;family=Roboto:wght@400;700&#038;display=swap' media='all' /><link rel='stylesheet' id='child-style-css' href='https://about.noodle.com/wp-content/uploads/autoptimize/13/css/autoptimize_single_776a159714bfb64e4d056e184d4a7ab9.css?ver=1.0.0' media='all' /> <script src="https://about.noodle.com/wp-includes/js/jquery/jquery.min.js?ver=3.7.1" id="jquery-core-js"></script> <script defer src="https://about.noodle.com/wp-includes/js/jquery/jquery-migrate.min.js?ver=3.4.1" id="jquery-migrate-js"></script> <script defer src="https://about.noodle.com/wp-content/plugins/mozaic/js/multiple-select.min.js?ver=6.7.2" id="mos-ms-js"></script> <script src="https://about.noodle.com/wp-content/uploads/autoptimize/13/js/autoptimize_single_2c673b9d4ece796220cff280b7e21555.js?ver=1.0.0" id="header-display-js" defer data-wp-strategy="defer"></script> <link rel="https://api.w.org/" href="https://about.noodle.com/wp-json/" /><link rel="alternate" title="JSON" type="application/json" href="https://about.noodle.com/wp-json/wp/v2/pages/1881" /><link rel="alternate" title="oEmbed (JSON)" type="application/json+oembed" href="https://about.noodle.com/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fabout.noodle.com%2Fservices%2F" /><link rel="alternate" title="oEmbed (XML)" type="text/xml+oembed" href="https://about.noodle.com/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fabout.noodle.com%2Fservices%2F&#038;format=xml" /> <script defer src="data:text/javascript;base64,CgkJCWRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ25kbGUuY2hhdGJvdC5zZXNzaW9uSUQnLCBmdW5jdGlvbiAoZXZlbnQpIHsKCQkJCWNvbnN0IHNlc3Npb25JRCA9IGV2ZW50LmRldGFpbC5zZXNzaW9uSUQ7CgkJCQljb25zdCBmb3JtcyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5wbGF0by5mb3JtLWNvbnRhaW5lciBmb3JtJyk7CgkJCQlmb3Jtcy5mb3JFYWNoKGZ1bmN0aW9uKGZvcm0pIHsKCQkJCQlsZXQgY2hhdGJvdFNlc3Npb25JRElucHV0ID0gZm9ybS5xdWVyeVNlbGVjdG9yKCdbbmFtZT0iY2hhdGJvdFNlc3Npb25JRCJdJyk7CgkJCQkJaWYgKGNoYXRib3RTZXNzaW9uSURJbnB1dCkgewoJCQkJCQljaGF0Ym90U2Vzc2lvbklESW5wdXQudmFsdWUgPSBzZXNzaW9uSUQ7CgkJCQkJfQoJCQkJfSk7CgkJCX0pOwoJCQ=="></script> <link rel="icon" href="https://about.noodle.com/wp-content/uploads/sites/13/2024/02/cropped-Icon-Noodle-Circle-32x32.png" sizes="32x32" /><link rel="icon" href="https://about.noodle.com/wp-content/uploads/sites/13/2024/02/cropped-Icon-Noodle-Circle-192x192.png" sizes="192x192" /><link rel="apple-touch-icon" href="https://about.noodle.com/wp-content/uploads/sites/13/2024/02/cropped-Icon-Noodle-Circle-180x180.png" /><meta name="msapplication-TileImage" content="https://about.noodle.com/wp-content/uploads/sites/13/2024/02/cropped-Icon-Noodle-Circle-270x270.png" /><style>h2 { text-wrap: balance; }</style></head><body id="services" class="page-template-default page page-id-1881 page-parent wp-custom-logo"> <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-M9G5WR4" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> <a class="skip-main" href="#main">Skip to main content</a><header id="header" class="header header-1 sticky-top" style=" background-color:#00435c;"><div class="inner inner-brand"><div class="section-container container"><div class="row"><div class="col-12"><nav class="navbar navbar-expand-lg"><div class="d-flex align-tems-center navbar-brand me-auto" aria-label="School Logo"><a class="d-block header-logo-link" href="/" target="_self" aria-label="Home"><img class="logo header-logo-img" style="min-width:100px;" src="https://about.noodle.com/wp-content/uploads/sites/13/2024/01/noodle-logo-white.svg" alt="Noodle logo." /></a></div> <button class="navbar-toggler collapsed" type="button" data-bs-toggle="offcanvas" data-bs-target="#navbarMain" aria-controls="navbarMain" aria-expanded="false" aria-label="Toggle navigation"> <span class="navbar-toggler-icon"></span> </button><div class="offcanvas offcanvas-collapse navbar-collapse" data-bs-backdrop="false" id="navbarMain"><ul class="navbar-nav me-auto"><li id="menu-item-1260" class="menu-item menu-item-type-custom menu-item-object-custom current-menu-item current-menu-ancestor current-menu-parent menu-item-has-children dropdown nav-item nav-item-1260"><a href="/services/" class="nav-link active dropdown-toggle" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Services</a><ul class="dropdown-menu depth_0"><li id="menu-item-1474" class="menu-item menu-item-type-custom menu-item-object-custom current-menu-item nav-item nav-item-1474"><a href="/services/" class="dropdown-item active">Services Overview</a></li><li id="menu-item-7496" class="menu-item menu-item-type-post_type menu-item-object-page nav-item nav-item-7496"><a href="https://about.noodle.com/services/strategic-consulting/" class="dropdown-item ">Strategic Consulting</a></li><li id="menu-item-7579" class="menu-item menu-item-type-custom menu-item-object-custom nav-item nav-item-7579"><a target="_blank" href="https://www.content.noodle-partners.com/creative-communication-associates-noodle" class="dropdown-item ">Brand Communications</a></li><li id="menu-item-1490" class="menu-item menu-item-type-custom menu-item-object-custom nav-item nav-item-1490"><a href="/services/enrollment/" class="dropdown-item ">Enrollment</a></li><li id="menu-item-1478" class="menu-item menu-item-type-custom menu-item-object-custom nav-item nav-item-1478"><a href="/services/program-learning-design/" class="dropdown-item ">Learning Design</a></li><li id="menu-item-1480" class="menu-item menu-item-type-custom menu-item-object-custom nav-item nav-item-1480"><a href="/services/marketing/" class="dropdown-item ">Marketing</a></li><li id="menu-item-7306" class="menu-item menu-item-type-post_type menu-item-object-page nav-item nav-item-7306"><a href="https://about.noodle.com/services/placement/" class="dropdown-item ">Placement</a></li><li id="menu-item-7497" class="menu-item menu-item-type-post_type menu-item-object-page nav-item nav-item-7497"><a href="https://about.noodle.com/services/student-support/" class="dropdown-item ">Student Support</a></li></ul></li><li id="menu-item-7311" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children dropdown nav-item nav-item-7311"><a href="#" class="nav-link dropdown-toggle" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Products</a><ul class="dropdown-menu depth_0"><li id="menu-item-7307" class="menu-item menu-item-type-post_type menu-item-object-page nav-item nav-item-7307"><a href="https://about.noodle.com/products/" class="dropdown-item ">Products Overview</a></li><li id="menu-item-7309" class="menu-item menu-item-type-post_type menu-item-object-page nav-item nav-item-7309"><a href="https://about.noodle.com/products/n-engage/" class="dropdown-item ">Student Engagement</a></li><li id="menu-item-7308" class="menu-item menu-item-type-post_type menu-item-object-page nav-item nav-item-7308"><a href="https://about.noodle.com/products/n-manage/" class="dropdown-item ">Data Management</a></li><li id="menu-item-7310" class="menu-item menu-item-type-post_type menu-item-object-page nav-item nav-item-7310"><a href="https://about.noodle.com/products/noodle-learning-platform/" class="dropdown-item ">Lifelong Learning</a></li></ul></li><li id="menu-item-1261" class="menu-item menu-item-type-custom menu-item-object-custom nav-item nav-item-1261"><a href="/results/" class="nav-link ">Results</a></li><li id="menu-item-1262" class="menu-item menu-item-type-custom menu-item-object-custom nav-item nav-item-1262"><a href="/resources/" class="nav-link ">Resources</a></li><li id="menu-item-1263" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children dropdown nav-item nav-item-1263"><a href="/employers/" class="nav-link dropdown-toggle" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Employers</a><ul class="dropdown-menu depth_0"><li id="menu-item-6460" class="menu-item menu-item-type-custom menu-item-object-custom nav-item nav-item-6460"><a href="/employers/" class="dropdown-item ">Employers Overview</a></li><li id="menu-item-6459" class="menu-item menu-item-type-custom menu-item-object-custom nav-item nav-item-6459"><a target="_blank" href="https://nursingscholars.com/" class="dropdown-item ">Health Systems</a></li></ul></li><li id="menu-item-1264" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children dropdown nav-item nav-item-1264"><a href="/about-us/" class="nav-link dropdown-toggle" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false">About Us</a><ul class="dropdown-menu depth_0"><li id="menu-item-5170" class="menu-item menu-item-type-custom menu-item-object-custom nav-item nav-item-5170"><a href="/about-us/" class="dropdown-item ">About Noodle</a></li><li id="menu-item-5171" class="menu-item menu-item-type-custom menu-item-object-custom nav-item nav-item-5171"><a href="/careers-culture/" class="dropdown-item ">Careers &#038; Culture</a></li></ul></li><li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children dropdown nav-item nav-item-search"> <a href="#" class="nav-link dropdown-toggle" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> <i class="fas fa-search"></i> </a><div class="dropdown-menu"><div class="search-block"><form id="search-form-1" role="search" method="get" class="search-form d-flex" action="https://about.noodle.com/"> <input type="search" class="search-field" placeholder="Search" aria-label="Search" value="" name="s" /> <button type="submit" class="search-submit" aria-label="Submit"><i class="fas fa-search"></i></button></form></div></div></li><div class="cta-btns mb"> <a class="btn btn--clear btn--sm border--white txt-white bg-white-hover " href="/contact-us/" target="_self" aria-label="Contact Us">Contact Us</a></div></ul><div class="navbar-options"><div class="cta-btns dt"> <a class="btn btn--clear btn--sm border--white txt-white bg-white-hover " href="/contact-us/" target="_self" aria-label="Contact Us">Contact Us</a></div></div></div></nav></div></div></div></div></header><main id="main" class="site-main"><section id="" style="--section-bg-img-mobile:url(https://about.noodle.com/wp-content/uploads/sites/13/2024/01/grid-bg.png);--section-bg-img:url(https://about.noodle.com/wp-content/uploads/sites/13/2024/01/grid-bg.png);"><div class="inner"><section id="" class="n-section-hero main-hero-section text-light has-end has-end-bottom" style="--sectHeroBgImg:url(https://about.noodle.com/wp-content/uploads/sites/13/2024/01/2352353.png);--sectHeroBgRepeat:no-repeat;--sectHeroBgPos:center left;--sectHeroBgSize:auto;--sectHeroCols:0.4166666667;--sectHeroSideRight:0;--sectHeroBgRepeatMb:no-repeat;--sectHeroBgPosMb:top center;--sectHeroBgSizeMb:auto;--sectHeroEndMb:bottom;--sectHeroAspectRatioMb:1 / 1;"><div class="inner"><div id="" class="section-container container " style=" "><div class="wp-bootstrap-blocks-row row"><div class="col-12 col-lg-8"><h1 class="wp-block-heading has-theme-light-color has-text-color has-link-color wp-elements-c4ed473009bd3350c740c1c4f8741554">Services to Elevate Higher Education</h1><div id="" class="block-wrapper " style=" max-width:420px !important;"><p class="text-md has-theme-light-color has-text-color has-link-color wp-elements-1ee34a10cbdb6604f5ce0890f7b9319a">Tech-centered services offering a comprehensive approach to modern universities’ challenges</p></div></div></div></div></div></section></div></section><section id="" style="--inner-bg-color:#f1f2f3;"><div class="inner"><div id="" class="section-container container " style=" "><div class="wp-bootstrap-blocks-row row"><div class="col-12 col-lg-6 order-1 order-lg-0 flex-column flex-center-start"><div class="h-100 d-flex flex-column justify-content-center"><p class="kicker">Strategic Consulting</p><h2 class="wp-block-heading pr-20">Where Vision Meets Practice</h2><p>We specialize in educational strategies that are both ambitious and achievable. Our team combines leading-edge thinking with practical solutions to bring you the partnership you need to make an impact.</p><div class="wp-bootstrap-blocks-row row mt-10"><div class="col-10 col-xl-6 mb-dt-35"><p>Our team of higher education experts takes a forward-thinking approach to solve your biggest challenges.</p></div><div class="col-10 col-xl-6 mb-dt-35"><p>Decades of experience building, launching, and managing agile programs allows us to help partners apply best practices.</p></div></div><div id="" class="block-wrapper mt-35 d-flex" style=" "> <a id="ar67f19853da62a" class="btn btn--clear btn--md border--blue txt-blue bg-blue-hover" href="https://about.noodle.com/services/strategic-consulting/" >Learn More</a> <a id="ar67f19853db705" class="btn btn--clear btn--md btn--right-arrow" href="/results/case-studies/online-agile-campus/" >View Case Study</a></div></div></div><div class="col-12 col-lg-6 order-0 order-lg-1"><figure class="wp-block-image alignfull size-full ml-dt-auto"><img fetchpriority="high" decoding="async" width="560" height="640" src="https://about.noodle.com/wp-content/uploads/sites/13/2024/09/noodle-strategic-consulting-service-2.png" alt="Two Noodle colleagues consult." class="wp-image-6929" srcset="https://about.noodle.com/wp-content/uploads/sites/13/2024/09/noodle-strategic-consulting-service-2.png 560w, https://about.noodle.com/wp-content/uploads/sites/13/2024/09/noodle-strategic-consulting-service-2-263x300.png 263w" sizes="(max-width: 560px) 100vw, 560px" /></figure></div></div></div></div></section><section id="" class="bg-size-cover" style="--section-bg-img-mobile:url(https://about.noodle.com/wp-content/uploads/sites/13/2024/01/ripple-bg.png);--section-bg-img:url(https://about.noodle.com/wp-content/uploads/sites/13/2024/01/ripple-bg.png);"><div class="inner"><div id="" class="section-container container " style=" "><div class="wp-bootstrap-blocks-row row"><div class="col-12 col-lg-6"><figure class="wp-block-image alignfull size-full"><img decoding="async" width="560" height="640" src="https://about.noodle.com/wp-content/uploads/sites/13/2024/10/CCA_BrandMessaging_20241017_11.jpg" alt="" class="wp-image-7558" srcset="https://about.noodle.com/wp-content/uploads/sites/13/2024/10/CCA_BrandMessaging_20241017_11.jpg 560w, https://about.noodle.com/wp-content/uploads/sites/13/2024/10/CCA_BrandMessaging_20241017_11-263x300.jpg 263w" sizes="(max-width: 560px) 100vw, 560px" /></figure></div><div class="col-12 col-lg-6 flex-column flex-center-start"><div class="h-100 d-flex flex-column justify-content-center"><p class="kicker">Brand Communications</p><h2 class="wp-block-heading">Creative Communication Associates (CCA)</h2><p>CCA, powered by Noodle, is a top agency focused exclusively on higher education marketing—and has been since 1983. CCA blends smart strategy with award-winning creative to deliver visionary solutions for its college and university partners, including but not limited to:
</p><ul class="wp-block-list"><li>Brand research (qualitative &amp; quantitative)</li><li>Institutional/college/school branding &amp; positioning (brand architecture, messaging, &amp; creative)</li><li>Institutional &amp; athletic identity (logos, wordmarks, mascots)</li><li>Advancement campaign strategy, messaging, &amp; creative</li><li>Print design &amp; production</li><li>Photography/video content &amp; experiential marketing</li></ul><div id="" class="block-wrapper mt-50 d-flex" style=" "> <a id="ar67f19853dde61" class="btn btn--clear btn--md border--blue txt-blue bg-blue-hover" href="https://www.content.noodle-partners.com/creative-communication-associates-noodle" target="_blank" rel="noopener">Learn More</a></div></div></div></div></div></div></section><section id="" class="bg-size-cover" style="--inner-bg-color:#f1f2f3;"><div class="inner"><div id="" class="section-container container " style=" "><div class="wp-bootstrap-blocks-row row"><div class="col-12 col-lg-6 order-1 order-lg-0 flex-column flex-center-start"><div class="h-100 d-flex flex-column justify-content-center"><p class="kicker">Enrollment</p><h2 class="wp-block-heading">Boost Your Student Enrollment with Efficiency</h2><p>Our specialists combine tech-forward systems with proven recruitment strategies to help you increase student enrollment. Designed to attract more students and streamline your process, our solutions can help you improve efficiency while growing your reach and community.</p><div id="" class="block-wrapper mt-50 d-flex" style=" "> <a id="ar67f19853dfdb8" class="btn btn--clear btn--md border--blue txt-blue bg-blue-hover" href="/services/enrollment/" >Learn More</a> <a id="ar67f19853e0723" class="btn btn--clear btn--md btn--right-arrow" href="/results/case-studies/fee-for-service-provider/" >View Case Study</a></div></div></div><div class="col-12 col-lg-6 order-0 order-lg-1"><figure class="wp-block-image alignfull size-full ml-dt-auto"><img decoding="async" width="560" height="640" src="https://about.noodle.com/wp-content/uploads/sites/13/2024/09/noodle-enrollment-service.png" alt="A Noodle enrollment advisor consults with a student using video conferencing on a laptop." class="wp-image-6932" srcset="https://about.noodle.com/wp-content/uploads/sites/13/2024/09/noodle-enrollment-service.png 560w, https://about.noodle.com/wp-content/uploads/sites/13/2024/09/noodle-enrollment-service-263x300.png 263w" sizes="(max-width: 560px) 100vw, 560px" /></figure></div></div></div></div></section><section id="" class="bg-size-cover" style="--section-bg-img-mobile:url(https://about.noodle.com/wp-content/uploads/sites/13/2024/01/ripple-bg.png);--section-bg-img:url(https://about.noodle.com/wp-content/uploads/sites/13/2024/01/ripple-bg.png);"><div class="inner"><div id="" class="section-container container " style=" "><div class="wp-bootstrap-blocks-row row"><div class="col-12 col-lg-6"><figure class="wp-block-image alignfull size-full"><img loading="lazy" decoding="async" width="560" height="640" src="https://about.noodle.com/wp-content/uploads/sites/13/2024/01/43634646.png" alt="Two team members brainstorm ideas in front of a glass wall." class="wp-image-2164" srcset="https://about.noodle.com/wp-content/uploads/sites/13/2024/01/43634646.png 560w, https://about.noodle.com/wp-content/uploads/sites/13/2024/01/43634646-263x300.png 263w" sizes="auto, (max-width: 560px) 100vw, 560px" /></figure></div><div class="col-12 col-lg-6 flex-column flex-center-start"><div class="h-100 d-flex flex-column justify-content-center"><p class="kicker">Program &amp; Learning Design</p><h2 class="wp-block-heading">Curriculums and Courses to Engage and Educate</h2><p>Our program and learning design team creates engaging courses that address the evolving needs of the industry, serving all learners. We believe in the power of tailored curricula to unlock each student&#8217;s potential.</p><div id="" class="block-wrapper mt-35" style=" "> <a id="ar67f19853e23d2" class="btn btn--white btn--md border--blue" href="/services/program-learning-design/" >Learn More</a> <a id="ar67f19853e2a55" class="btn btn--clear btn--md btn--right-arrow" href="/results/case-studies/diverse-teaching-workforce/" >View Case Study</a></div></div></div></div></div></div></section><section id="" style="--inner-bg-color:#f1f2f3;"><div class="inner"><div id="" class="section-container container " style=" "><div class="wp-bootstrap-blocks-row row"><div class="col-12 col-lg-6 order-1 order-lg-0 flex-column flex-center-start"><div class="h-100 d-flex flex-column justify-content-center"><p class="kicker">Marketing</p><h2 class="wp-block-heading">Amplify Your Institution&#8217;s Brand</h2><p>Our effective marketing strategies help your institution achieve tangible results. We create best-in-class ecosystems for prospective learners to find the program that fits their needs.</p><div class="wp-bootstrap-blocks-row row mt-10"><div class="col-10 col-xl-6 mb-dt-35"><h3 class="wp-block-heading playfair mb-3 has-theme-color-2-color has-text-color has-link-color wp-elements-e51805e260196c133f90a817d3a3432d">36%</h3><p>Enrollment-oriented media performance improvement compared to benchmarks</p></div><div class="col-10 col-xl-6 mb-dt-35"><h3 class="wp-block-heading playfair mb-3 has-theme-color-2-color has-text-color has-link-color wp-elements-0c9986edbe06a87665b11e0700d7c520">100+</h3><p>Years of combined leadership experience servicing the higher education market</p></div></div><div id="" class="block-wrapper mt-35 d-flex" style=" "> <a id="ar67f19853e47f9" class="btn btn--clear btn--md border--blue txt-blue bg-blue-hover" href="/services/marketing/" >Learn More</a> <a id="ar67f19853e4e4c" class="btn btn--clear btn--md btn--right-arrow" href="/results/case-studies/pittsburgh-shrs/" >View Case Study</a></div></div></div><div class="col-12 col-lg-6 order-0 order-lg-1"><figure class="wp-block-image alignfull size-full ml-dt-auto"><img loading="lazy" decoding="async" width="560" height="640" src="https://about.noodle.com/wp-content/uploads/sites/13/2024/01/3456434.png" alt="A man sits outside on the steps of a columned building while working on a laptop." class="wp-image-2163" srcset="https://about.noodle.com/wp-content/uploads/sites/13/2024/01/3456434.png 560w, https://about.noodle.com/wp-content/uploads/sites/13/2024/01/3456434-263x300.png 263w" sizes="auto, (max-width: 560px) 100vw, 560px" /></figure></div></div></div></div></section><section id="" class="bg-size-cover" style="--section-bg-img-mobile:url(https://about.noodle.com/wp-content/uploads/sites/13/2024/01/ripple-bg.png);--section-bg-img:url(https://about.noodle.com/wp-content/uploads/sites/13/2024/01/ripple-bg.png);"><div class="inner"><div id="" class="section-container container " style=" "><div class="wp-bootstrap-blocks-row row"><div class="col-12 col-lg-6"><figure class="wp-block-image alignfull size-full mr-dt-auto"><img loading="lazy" decoding="async" width="560" height="640" src="https://about.noodle.com/wp-content/uploads/sites/13/2024/09/noodle-placement-services.png" alt="Two medical professionals meet and discuss a patient's notes." class="wp-image-6945" srcset="https://about.noodle.com/wp-content/uploads/sites/13/2024/09/noodle-placement-services.png 560w, https://about.noodle.com/wp-content/uploads/sites/13/2024/09/noodle-placement-services-263x300.png 263w" sizes="auto, (max-width: 560px) 100vw, 560px" /></figure></div><div class="col-12 col-lg-6 flex-column flex-center-start"><div class="h-100 d-flex flex-column justify-content-center"><p class="kicker">Placement</p><h2 class="wp-block-heading max-w-550">Match Candidates to Careers</h2><p>For online programs requiring practicum or field experience, we work with partners to place students on time at quality sites. Our dedicated Placement Advisors identify and assess potential placement settings to meet the program’s clinical hour requirements and learning outcomes, and use a customized placement program to help online students to complete practicum requirements in their local communities.&nbsp;</p><p>Our team of placement experts specialize in extending your placement options for your students.</p> <a id="ar67f19853e64f1" class="btn btn--clear btn--md border--blue txt-blue bg-blue-hover" href="https://about.noodle.com/services/placement/">Learn More</a></div></div></div></div></div></section><section id="" style="--inner-bg-color:#f1f2f3;"><div class="inner"><div id="" class="section-container container " style=" "><div class="wp-bootstrap-blocks-row row"><div class="col-12 col-lg-6 order-1 order-lg-0 flex-column flex-center-start"><div class="h-100 d-flex flex-column justify-content-center"><p class="kicker">Student Support</p><h2 class="wp-block-heading">Drive Retention and Better Student Outcomes</h2><p>If anyone ever says higher ed has lost its heart, come talk to this team. Composed of Directors of Student Support and Engagement, Student Support Coaches (SSC), and Student Support Operations, they have the breadth of experience to help students navigate their academic journeys and prepare for successful careers.</p><div class="wp-bootstrap-blocks-row row mt-10"><div class="col-10 col-xl-6 mb-dt-35"><h3 class="wp-block-heading playfair mb-3 has-theme-color-2-color has-text-color has-link-color wp-elements-36b52f261e9e16d1564c0d70867291c2">34</h3><p>Average Net Promoter Score (NPS) for all students*&nbsp;</p><p><em>*Above 0 is good and over 20 is great.</em></p></div><div class="col-10 col-xl-6 mb-dt-35"><h3 class="wp-block-heading playfair mb-3 has-theme-color-2-color has-text-color has-link-color wp-elements-cde80aae68a30933883fef47d2c3e836">$500k</h3><p>Average tuition revenue reclaimed per partner through Leave of Absence (LOA) follow-through</p></div></div> <a id="ar67f19853e7beb" class="btn mt-mb-50 btn--clear btn--md border--blue txt-blue bg-blue-hover" href="https://about.noodle.com/services/student-support/">Learn More</a></div></div><div class="col-12 col-lg-6 order-0 order-lg-1"><figure class="wp-block-image alignfull size-full ml-dt-auto"><img loading="lazy" decoding="async" width="560" height="640" src="https://about.noodle.com/wp-content/uploads/sites/13/2024/09/noodle-student-support-service.png" alt="A Noodle Student Support coach meets with a team member." class="wp-image-6935" srcset="https://about.noodle.com/wp-content/uploads/sites/13/2024/09/noodle-student-support-service.png 560w, https://about.noodle.com/wp-content/uploads/sites/13/2024/09/noodle-student-support-service-263x300.png 263w" sizes="auto, (max-width: 560px) 100vw, 560px" /></figure></div></div></div></div></section><section id="" class="testimonial-section" style="--section-bg-img-mobile:url(https://about.noodle.com/wp-content/uploads/sites/13/2024/01/grid-bg.png);--section-bg-img:url(https://about.noodle.com/wp-content/uploads/sites/13/2024/01/grid-bg.png);"><div class="inner"><div id="" class="section-container container " style=" --cont-pad-dt-top:220px;--cont-pad-dt-bottom:220px;"><div id="" class="block-wrapper row gap-80 align-items-center" style=" "><div id="" class="block-wrapper col" style=" "><blockquote class="wp-block-quote has-theme-light-color has-text-color has-link-color wp-elements-b1db6da8fb22d24fd11f89765cd7927d is-layout-flow wp-block-quote-is-layout-flow"><p class="has-theme-light-color has-text-color has-link-color wp-elements-810d8595bc573b514453bac91fe734c9">“The Noodle team gives us much needed expertise and support around Recruitment, Admissions, Partnership Development, Learning System Management, Student Support, funding models, outcomes-based data collection, the list goes on and on.”</p> <cite><strong>Diana Turk</strong> Director of Teacher Education, <br>NYU Steinhardt</cite></blockquote></div></div></div></div></section><section id="" class="cta-section bg-gradient text-light"><div class="inner"><div id="" class="section-container container " style=" --cont-pad-dt-top:112px;--cont-pad-dt-bottom:112px;"><div class="wp-bootstrap-blocks-row row"><div class="col-12"><h2 class="wp-block-heading">Unlock Your Institution&#8217;s Potential</h2><div id="" class="block-wrapper d-flex gap-15 mt-50 flex-mb-column" style=" "> <a id="ar67f19853eac58" class="btn btn--white btn--md border--white" href="/contact-us/#schedule" >Schedule a Meeting</a> <a id="ar67f19853eb2d9" class="btn btn--clear btn--md border--white txt-white bg-white-hover" href="/contact-us/rfp" >Submit an RFP</a></div></div></div></div></div></section></main><footer id="footer"><div id="" class="block-wrapper " style=" background-color:rgb(35,44,59);"><div id="" class="section-container container " style=" --cont-pad-dt-bottom:50px;"><div class="wp-bootstrap-blocks-row row mb-dt-100"><div class="col-12 col-sm-12 col-md-12 col-lg-12 col-xl col-xxl mb-dt-50"><figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="163" height="48" src="https://about.noodle.com/wp-content/uploads/sites/13/2024/01/noodle-logo-white.svg" alt="Noodle logo." class="wp-image-1431"/></figure></div><div class="col-6 col-sm-4 col-lg col-xl col-xxl"><p class="nav-title mb-10 has-theme-light-color has-text-color has-link-color wp-elements-ec2f4f3188e6b9148ad489232350e897"><strong><a href="/services/">Work With Us</a></strong></p><ul class="wp-block-list"><li><a href="/services/enrollment/">Enrollment</a></li><li><a href="/services/program-learning-design/">Learning Design</a></li><li><a href="/services/marketing/">Marketing</a></li><li><a href="/services/placement/">Placement</a></li><li><a href="/services/strategic-consulting/">Strategic Consulting</a></li><li><a href="/services/student-support/">Student Support</a></li><li><a href="/employers/">For Employers</a></li></ul></div><div class="col-6 col-sm-4 col-lg col-xl col-xxl"><p class="nav-title mb-10 has-theme-light-color has-text-color has-link-color wp-elements-874d06c27773d9d7d07536790fb5d210"><strong><a href="/resources/">Noodle With Us</a></strong></p><ul class="wp-block-list"><li><a href="/resources/news/">News</a></li><li><a href="/resources/insights/">Insights</a></li><li><a href="/results/case-studies/">Case Studies</a></li><li><a href="/resources/podcasts/">Podcasts</a></li><li><a href="/results/">Results</a></li><li><a href="https://resources.noodle.com/" target="_blank" rel="noreferrer noopener">Resources for Learners</a></li></ul></div><div class="col-6 col-sm-4 col-lg col-xl col-xxl"><p class="nav-title mb-10 has-theme-light-color has-text-color has-link-color wp-elements-4de8f8b21ab3317b94631d294e4e1491"><strong><a href="/about-us/">Get to Know Us</a></strong></p><ul class="wp-block-list"><li><a href="/contact-us/">Contact Us</a></li><li><a href="/about-us/#team">Our Team</a></li><li><a href="/contact-us/#events">Events &amp; Webinars</a></li><li><a href="/careers-culture/">Careers &amp; Culture</a></li></ul></div><div class="col-12 col-md-6 col-lg-4 col-xl-4 offset-xxl-1"><p class="nav-title mb-10 has-theme-light-color has-text-color has-link-color wp-elements-44b6d15124e2ee6d0eb7f73fddd7cf17"><strong>Subscribe</strong></p><p class="has-theme-light-color has-text-color has-link-color wp-elements-ab76cd056217e0419b8a79fca114d24f">Join our content community for the latest expert insights, innovative strategies, and emerging trends in higher education.</p> <script defer charset="utf-8" type="text/javascript" src="//js.hsforms.net/forms/embed/v2.js"></script> <script defer src="data:text/javascript;base64,DQogIGhic3B0LmZvcm1zLmNyZWF0ZSh7DQogICAgcmVnaW9uOiAibmExIiwNCiAgICBwb3J0YWxJZDogIjM4MDg2OTIiLA0KICAgIGZvcm1JZDogIjg0OGNlZTA0LTYyMDAtNDA5Yi05ZDVhLTE0N2ZkOTQzNDljOSINCiAgfSk7DQo="></script> <p class="text-xs max-w-450 mt-10 has-theme-light-color has-text-color has-link-color wp-elements-4e43e3a231ca2a7d73bbf77b9bc0234c">By subscribing you agree to our <a href="/privacy-policy/">Privacy Policy</a> and provide consent to receive updates from our company.</p></div></div><div class="wp-bootstrap-blocks-row row"><div class="col-12"><div id="" class="block-wrapper awards" style=" "><figure class="wp-block-image size-large is-resized"><a href="/about-us#b-corp" target="_blank" rel="noreferrer noopener"><img loading="lazy" decoding="async" width="55" height="88" src="https://about.noodle.com/wp-content/uploads/sites/13/2024/01/cert-b-corp.svg" alt="Certified B Corporation." class="wp-image-1714" style="width:60px"/></a></figure><figure class="wp-block-image size-large is-resized"><a href="https://www.prnewswire.com/news-releases/noodle-named-to-crains-100-best-places-to-work-in-nyc-for-2021-301389265.html" target="_blank" rel="noreferrer noopener"><img loading="lazy" decoding="async" width="52" height="49" src="https://about.noodle.com/wp-content/uploads/sites/13/2024/01/2021-crains-best.svg" alt="Crain's 2021 best places to work in NYC." class="wp-image-1713" style="width:80px"/></a></figure></div></div></div><div class="wp-bootstrap-blocks-row row mt-25 mb-35"><div class="col-12"><hr class="wp-block-separator has-text-color has-theme-light-color has-alpha-channel-opacity has-theme-light-background-color has-background is-style-wide m-0"/></div></div><div class="wp-bootstrap-blocks-row row gap-v-20"><div class="col-12 col-xl-3 copyright d-flex align-items-center text-sm mb-0"><p class="mb-0 has-theme-light-color has-text-color has-link-color wp-elements-39d760b5c85ca603b48e8431a73e0660">© 2025 Noodle. All rights reserved.</p></div><div class="col-12 col-xl-6 d-flex justify-content-between align-items-center"><ul class="wp-block-list legal d-flex gap-30 gap-mb-0"><li><a href="/privacy-policy/">Privacy Policy</a></li><li><a href="/general-terms-of-business/">Terms</a></li><li><a href="/cookie-policy/">Cookie Policy</a></li><li><a href="/do-not-sell-my-info/">Do Not Sell or Share My Info</a></li></ul></div><div class="col-12 col-xl-3"><div id="" class="block-wrapper social-media" style=" "> <a href="https://www.facebook.com/noodleeducation" aria-label="Visit our Facebook page." target="_blank" rel="noopener"> <i class="fa-brands fa-facebook"></i> </a> <a href="https://www.instagram.com/noodleeducation/" aria-label="Visit our Instagram page." target="_blank" rel="noopener"> <i class="fa-brands fa-instagram"></i> </a> <a href="https://twitter.com/noodleeducation" aria-label="Visit our X page." target="_blank" rel="noopener"> <i class="fa-brands fa-x-twitter"></i> </a> <a href="https://www.linkedin.com/company/noodleeducation/" aria-label="Visit our LinkedIn page." target="_blank" rel="noopener"> <i class="fa-brands fa-linkedin"></i> </a> <a href="https://www.youtube.com/c/NoodleEducation" aria-label="Visit our Youtube page." target="_blank" rel="noopener"> <i class="fa-brands fa-youtube"></i> </a></div></div></div></div></div></footer><div class="modal fade" id="modal-form" tabindex="-1" aria-label="Modal for Request Information form" aria-hidden="true"><div class="modal-dialog"><div class="modal-content"><div class="modal-body"> <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button><div class="modal-form-content"><div class="form-wrapper "><p id="modal-form-headline" class="form-headline">Request Information</p> "id" is a required parameter</div></div></div></div></div></div> <script defer src="data:text/javascript;base64,PCEtLQoJCQl2YXIgc2VyaWVzZHJvcGRvd24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgib3Jnc2VyaWVzX2Ryb3Bkb3duIik7CgkJCWlmIChzZXJpZXNkcm9wZG93bikgewoJCQkgZnVuY3Rpb24gb25TZXJpZXNDaGFuZ2UoKSB7CgkJCQkJaWYgKCBzZXJpZXNkcm9wZG93bi5vcHRpb25zW3Nlcmllc2Ryb3Bkb3duLnNlbGVjdGVkSW5kZXhdLnZhbHVlICE9ICggMCB8fCAtMSApICkgewoJCQkJCQlsb2NhdGlvbi5ocmVmID0gImh0dHBzOi8vYWJvdXQubm9vZGxlLmNvbS9zZXJpZXMvIitzZXJpZXNkcm9wZG93bi5vcHRpb25zW3Nlcmllc2Ryb3Bkb3duLnNlbGVjdGVkSW5kZXhdLnZhbHVlOwoJCQkJCX0KCQkJCX0KCQkJCXNlcmllc2Ryb3Bkb3duLm9uY2hhbmdlID0gb25TZXJpZXNDaGFuZ2U7CgkJCX0KCQkJLS0+"></script> <script defer src="data:text/javascript;base64,CiAvLyBhamF4IGhlbHBlcgogZnVuY3Rpb24gaGNmRG9BamF4KHRoZUFjdGlvbiwgdGhlQXJncywgdGhlQ2FsbGJhY2spIHsKCSAKCSAKCSBqUXVlcnkuYWpheCh7CgkJdHlwZTogJ3Bvc3QnLAoJCXVybDogJ2h0dHBzOi8vYWJvdXQubm9vZGxlLmNvbS93cC1hZG1pbi9hZG1pbi1hamF4LnBocCcsCgkJZGF0YTogeyAKCQkJYWN0aW9uOiAnaGNmRG9BamF4JywgCgkJCV9hamF4X25vbmNlOiAnR0xqTEFCVTJrNCwxNzQzOTE1MjIwLDI1MGE3MDM4ZWFhNDc1M2M3ODQyYzFhNTg3ZjY0ZTkyOGQwYzk1YmEnLCAKCQkJYXJnczogdGhlQXJncywKCQkJdXNlckFjdGlvbjogdGhlQWN0aW9uCgkJfSwKCQlzdWNjZXNzOiBmdW5jdGlvbihyZXNwb25zZSl7CgkJCQoJCQkgIHRoZUNhbGxiYWNrKHJlc3BvbnNlKTsJCQkgIAoJCX0KCX0pOyAgICAKCSAKIH0KIAogZnVuY3Rpb24gaGNmRG9BamF4Tm9wcml2KHRoZUFjdGlvbiwgdGhlQXJncywgdGhlQ2FsbGJhY2spIHsKCSAKCSAKCSBqUXVlcnkuYWpheCh7CgkJdHlwZTogJ3Bvc3QnLAoJCXVybDogJ2h0dHBzOi8vYWJvdXQubm9vZGxlLmNvbS93cC1hZG1pbi9hZG1pbi1hamF4LnBocCcsCgkJZGF0YTogeyAKCQkJYWN0aW9uOiAnaGNmRG9BamF4Tm9wcml2JywgCgkJCV9hamF4X25vbmNlOiAnNkxVaHpQTTFPaiwxNzQzOTE1MjIwLDkwYzZhMDI2MmZmNzYwMDE4OWQ0NTM4ZDY5NTVmMTdkMzEzYmIzN2EnLCAKCQkJYXJnczogdGhlQXJncywKCQkJdXNlckFjdGlvbjogdGhlQWN0aW9uCgkJfSwKCQlzdWNjZXNzOiBmdW5jdGlvbihyZXNwb25zZSl7CgkJCQoJCQkgIHRoZUNhbGxiYWNrKHJlc3BvbnNlKTsJCQkgIAoJCX0KCX0pOyAgICAKCSAKIH0KIAogZnVuY3Rpb24gaGNmRG9BamF4Qm90aCh0aGVBY3Rpb24sIHRoZUFyZ3MsIHRoZUNhbGxiYWNrKSB7CgkgCgkgCgkgalF1ZXJ5LmFqYXgoewoJCXR5cGU6ICdwb3N0JywKCQl1cmw6ICdodHRwczovL2Fib3V0Lm5vb2RsZS5jb20vd3AtYWRtaW4vYWRtaW4tYWpheC5waHAnLAoJCWRhdGE6IHsgCgkJCWFjdGlvbjogJ2hjZkRvQWpheEJvdGgnLCAKCQkJX2FqYXhfbm9uY2U6ICdCbnNCdXZhMXR3LDE3NDM5MTUyMjAsZjgwZWJkMmJkNzI1ZTExMTViYmRiNWMwNjg1ZDc0NjNmMGRkODM3MScsIAoJCQlhcmdzOiB0aGVBcmdzLAoJCQl1c2VyQWN0aW9uOiB0aGVBY3Rpb24KCQl9LAoJCXN1Y2Nlc3M6IGZ1bmN0aW9uKHJlc3BvbnNlKXsKCQkJCgkJCSAgdGhlQ2FsbGJhY2socmVzcG9uc2UpOwkJCSAgCgkJfQoJfSk7ICAgIAoJIAogfQogIA=="></script> <script defer src="data:text/javascript;base64,CgkJCgkJZnVuY3Rpb24gcmFndUFqYXhDYWxsYmFjayhmb3JtLCBtc2cpIHsKCQkJCgkJCWpRdWVyeShmb3JtKS5yZXBsYWNlV2l0aChtc2cpOwoJCX0KCQkKCQlqUXVlcnkoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKCQpIHsKCgkJCWZ1bmN0aW9uIGdlbmVyYXRlVG9rZW4oKSB7CgkJCQljb25zdCB0aW1lc3RhbXAgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKTsKCQkJCWNvbnN0IHJhbmRvbVBhcnQgPSBNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zdWJzdHJpbmcoMiwgMTApOwoJCQkJY29uc3QgdG9rZW4gPSB0aW1lc3RhbXAudG9TdHJpbmcoKSArIHJhbmRvbVBhcnQ7CgkJCQlyZXR1cm4gdG9rZW47CgkJCX0KCgkJCSQoJy5wbGF0by5mb3JtLWNvbnRhaW5lciBmb3JtJykuZWFjaChmdW5jdGlvbigpIHsKCQkJCWxldCBmb3JtT2JqID0gdGhpczsKCQkJCWxldCB0b2tlbiA9IGdlbmVyYXRlVG9rZW4oKTsKCQkJCSQoZm9ybU9iaikuZmluZCgnW25hbWU9Im50b2tlbiJdJykudmFsKHRva2VuKTsKCQkJCWxldCBwYWdlSWQgPSAkKGZvcm1PYmopLmZpbmQoJ1tuYW1lPSJwYWdlSWQiXScpLnZhbCgpOwoJCQkJbGV0IGZvcm1JZCA9ICQoZm9ybU9iaikuZmluZCgnW25hbWU9ImZvcm1JZCJdJykudmFsKCk7CgkJCQkkLnBvc3QoJ2h0dHBzOi8vYWJvdXQubm9vZGxlLmNvbS93cC1hZG1pbi9hZG1pbi1hamF4LnBocCcsIHsgCgkJCQkJYWN0aW9uOiAnZ2V0UmFndU5vbmNlJywgCgkJCQkJcGFnZUlkOiBwYWdlSWQsIAoJCQkJCWZvcm1JZDogZm9ybUlkLCAKCQkJCQl0b2tlbjogdG9rZW4KCQkJCX0sIGZ1bmN0aW9uIChyZXN1bHQpIHsKCQkJCQkkKGZvcm1PYmopLmZpbmQoJ1tuYW1lPSJfbm9uY2UiXScpLnZhbChyZXN1bHQuZGF0YSk7CgkJCQl9KQoJCQkJLmZhaWwoZnVuY3Rpb24gKGVycm9yKSB7CgkJCQkJY29uc29sZS5lcnJvcignRXJyb3IgZmV0Y2hpbmcgbm9uY2U6JywgZXJyb3IpOwoJCQkJCSQoZm9ybU9iaikuZmluZCgnW25hbWU9Il9ub25jZSJdJykudmFsKCdlcnJvcicpOwoJCQkJfSk7CgoJCQl9KTsKCgkJCSQuZXhwclsnOiddLmV4dGVybmFsID0gZnVuY3Rpb24ob2JqKXsKCQkJCXJldHVybiAhb2JqLmhyZWYubWF0Y2goL15tYWlsdG9cOi8pCgkJCQkJJiYgIW9iai5ocmVmLm1hdGNoKC9edGVsXDovKQoJCQkJCSYmIChvYmouaG9zdG5hbWUgIT0gbG9jYXRpb24uaG9zdG5hbWUpCgkJCQkJJiYgIW9iai5ocmVmLm1hdGNoKC9eamF2YXNjcmlwdFw6LykKCQkJCQkmJiAhb2JqLmhyZWYubWF0Y2goL14kLykKCQkJfTsKCQkJCQkKCQkJLy8gcmVzZXQgYW55IGZpZWxkcyBhbmQgc3Bpbm5lcgoJCQkkKCcucGxhdG8uZm9ybS1jb250YWluZXIgZm9ybScpLmVhY2goZnVuY3Rpb24oKSB7IAoJCQkJdGhpcy5yZXNldCgpOwoJCQkJJCh0aGlzKS5maW5kKCcuaGMtZm9ybS1zcGlubmVyJykuaGlkZSgpOwoJCQl9KTsKCgkJCWZ1bmN0aW9uIHNldENvb2tpZShuYW1lLHZhbHVlLGRheXMpIHsKCQkJCXZhciBleHBpcmVzID0gIiI7CgkJCQlpZiAoZGF5cykgewoJCQkJCXZhciBkYXRlID0gbmV3IERhdGUoKTsKCQkJCQlkYXRlLnNldFRpbWUoZGF0ZS5nZXRUaW1lKCkgKyAoZGF5cyoyNCo2MCo2MCoxMDAwKSk7CgkJCQkJZXhwaXJlcyA9ICI7IGV4cGlyZXM9IiArIGRhdGUudG9VVENTdHJpbmcoKTsKCQkJCX0KCQkJCWRvY3VtZW50LmNvb2tpZSA9IG5hbWUgKyAiPSIgKyAodmFsdWUgfHwgIiIpICArIGV4cGlyZXMgKyAiOyBwYXRoPS8iOwoJCQl9CgoJCQlmdW5jdGlvbiBnZXRDb29raWUobmFtZSkgewoJCQkJdmFyIG5hbWVFUSA9IG5hbWUgKyAiPSI7CgkJCQl2YXIgY2EgPSBkb2N1bWVudC5jb29raWUuc3BsaXQoJzsnKTsKCQkJCWZvcih2YXIgaT0wO2kgPCBjYS5sZW5ndGg7aSsrKSB7CgkJCQkJdmFyIGMgPSBjYVtpXTsKCQkJCQl3aGlsZSAoYy5jaGFyQXQoMCk9PScgJykgYyA9IGMuc3Vic3RyaW5nKDEsYy5sZW5ndGgpOwoJCQkJCWlmIChjLmluZGV4T2YobmFtZUVRKSA9PSAwKSByZXR1cm4gYy5zdWJzdHJpbmcobmFtZUVRLmxlbmd0aCxjLmxlbmd0aCk7CgkJCQl9CgkJCQlyZXR1cm4gbnVsbDsKCQkJfQoKCQkJZnVuY3Rpb24gZXJhc2VDb29raWUobmFtZSkgeyAgIAoJCQkJZG9jdW1lbnQuY29va2llID0gbmFtZSArJz07IFBhdGg9LzsgRXhwaXJlcz1UaHUsIDAxIEphbiAxOTcwIDAwOjAwOjAxIEdNVDsnOwoJCQl9CgkJCQkJCQoJCQlmdW5jdGlvbiBnZXRQYXJhbShwKXsKCQkJCXZhciBtYXRjaCA9IFJlZ0V4cCgnWz8mXScgKyBwICsgJz0oW14mXSopJykuZXhlYyh3aW5kb3cubG9jYXRpb24uc2VhcmNoKTsKCQkJCXJldHVybiBtYXRjaCAmJiBkZWNvZGVVUklDb21wb25lbnQobWF0Y2hbMV0ucmVwbGFjZSgvXCsvZywgJyAnKSk7CgkJCX0KCQoJCQkvLyBzdGVwIGV2ZW50IGhhbmRsZXIKCQkJCgkJCSQoJy5mb3JtLWNvbnRhaW5lciAuc3RlcGxpbmUgc3Bhbi5tYXJrZXInKS5jbGljayhmdW5jdGlvbihlKSB7CgkJCQkKCQkJCXZhciBwcmVjZWRlID0gZmFsc2U7CgkJCQkKCQkJCXZhciBuZXh0ID0gJCh0aGlzKS5uZXh0KCdzcGFuJyk7CgkJCQl2YXIgaXNOZXh0ID0gbmV4dC5sZW5ndGg7CgkJCQkKCQkJCXdoaWxlKGlzTmV4dCkgewoJCQkJCQoJCQkJCWlmICgkKG5leHQpLmhhc0NsYXNzKCdjdXJyZW50JykpIHsKCQkJCQkJCgkJCQkJCXByZWNlZGUgPSB0cnVlOwoJCQkJCQlicmVhazsKCQkJCQl9CgkJCQkJbmV4dCA9ICQobmV4dCkubmV4dCgpOwoJCQkJCWlzTmV4dCA9IG5leHQubGVuZ3RoOwoJCQkJfQoJCQkJCgkJCQlpZiAoIXByZWNlZGUpIHJldHVybjsKCQkJCQoJCQkJdmFyIHRoaXNTdGVwID0gJCh0aGlzKS5wbGF0b0ZpbmQoJy5mb3JtLXN0ZXAnKTsKCQkJCXZhciBjbGFzc2VzID0gJCh0aGlzKS5hdHRyKCdjbGFzcycpLnNwbGl0KCcgJyk7CgkJCQl2YXIgbWFya2VyID0gY2xhc3Nlc1sxXTsKCQkJCXZhciB0b1N0ZXAgPSAnc3RlcCcrbWFya2VyLnN1YnN0cmluZyg2KTsKCQkJCQoJCQkJJCh0aGlzU3RlcCkuaGlkZSgpOwoJCQkJJCh0aGlzKS5wbGF0b0ZpbmQoJy5mb3JtLXN0ZXAuJyt0b1N0ZXApLnNob3coKTsKCQkJCQkJCQkKCQkJfSk7CgoJCQkvLyBzYXZlIHRyYW5zYWN0aW9uIGlkCgkJCXZhciB0cnhpZCA9ICcnOwoJCQlpZiAodHJ4aWQgIT09ICcnKSB7CgkJCQlzZXRDb29raWUoJ25kbGUucmFndS50cnhpZCcsIHRyeGlkLCAzNjUpOwoJCQl9CgkJCQoJCQkvLyBzdHVmZiBxdWVyeSBzdHJpbmcgaW50byB2YXIKCgkJCXZhciBxdWVyeVN0cmluZzsKCQkJdmFyIHF1ZXJ5RmllbGQgPSAkKCdbbmFtZT0icXVlcnlTdHJpbmciXScpOwoJCQl2YXIgcXVlcnkgPSB3aW5kb3cubG9jYXRpb24uc2VhcmNoOwoJCQl2YXIgbmV3UXVlcnkgPSAnJzsKCQkJaWYocXVlcnkubGVuZ3RoKSB7CgkJCQluZXdRdWVyeSA9IHF1ZXJ5LnN1YnN0cigxKTsKCQkJfQoKCQkJaWYgKG5ld1F1ZXJ5Lmxlbmd0aCAmJiAhbmV3UXVlcnkuaW5jbHVkZXMoJ3BmZCcpICYmICEobmV3UXVlcnkuaW5jbHVkZXMoJ3R5cj0nKSB8fCBuZXdRdWVyeS5pbmNsdWRlcygndHlyJTNEJykgKSkgewoKCQkJCQlzZXRDb29raWUoJ25kbGUucmFndS5xdWVyeScsIG5ld1F1ZXJ5LCAwKTsKCQkJCQkkKHF1ZXJ5RmllbGQpLnZhbChuZXdRdWVyeSk7CgkJCQkKCQkJfSBlbHNlIGlmIChnZXRDb29raWUoJ25kbGUucmFndS5xdWVyeScpICE9PSBudWxsKSB7CgoJCQkJcXVlcnlTdHJpbmcgPSBnZXRDb29raWUoJ25kbGUucmFndS5xdWVyeScpOwoJCQkJJChxdWVyeUZpZWxkKS52YWwocXVlcnlTdHJpbmcpOwoKCQkJfSBlbHNlIGlmIChnZXRDb29raWUoJ25vb2RsZS5yYWd1LnF1ZXJ5JykgIT09IG51bGwpIHsKCgkJCQlxdWVyeVN0cmluZyA9IGdldENvb2tpZSgnbm9vZGxlLnJhZ3UucXVlcnknKTsKCQkJCSQocXVlcnlGaWVsZCkudmFsKHF1ZXJ5U3RyaW5nKTsKCQkJfQoKCQkJaWYgKGdldENvb2tpZSgnbmRsZS5yYWd1LmxhbmRpbmcnKSAhPT0gbnVsbCkgewoKCQkJCXF1ZXJ5U3RyaW5nID0gZ2V0Q29va2llKCduZGxlLnJhZ3UubGFuZGluZycpOwoJCQkJJCgnW25hbWU9ImxhbmRpbmdQYWdlIl0nKS52YWwocXVlcnlTdHJpbmcpOwoKCQkJfSBlbHNlIGlmIChnZXRDb29raWUoJ25vb2RsZS5yYWd1LmxhbmRpbmcnKSAhPT0gbnVsbCkgewoKCQkJCXF1ZXJ5U3RyaW5nID0gZ2V0Q29va2llKCdub29kbGUucmFndS5sYW5kaW5nJyk7CgkJCQkkKCdbbmFtZT0ibGFuZGluZ1BhZ2UiXScpLnZhbChxdWVyeVN0cmluZyk7CgoJCQl9IGVsc2UgewoKCQkJCWxldCBxID0gJ2xhbmRwYWdlPWh0dHBzJTNBJTJGJTJGYWJvdXQubm9vZGxlLmNvbSUyRnNlcnZpY2VzJTJGJzsKCQkJCXEgKz0gICcmcmVmZXJwYWdlPScrZG9jdW1lbnQucmVmZXJyZXI7CgkJCQlzZXRDb29raWUoJ25kbGUucmFndS5sYW5kaW5nJywgcSwgMCk7CgkJCQkkKCdbbmFtZT0ibGFuZGluZ1BhZ2UiXScpLnZhbChxKTsKCQkJfQoKCQkJLy8vLy8vLy8vLy8vLy8vLy8vCgkJCWxldCBjUXVlcnkgPSBnZXRDb29raWUoJ25kbGUucmFndS5xdWVyeScpOwoJCQlsZXQgZXh0ZXJuYWxVc2VDbGFzcyA9IGZhbHNlOwoKCQkJZnVuY3Rpb24gc2V0TGlua1Bhcm1zKGVsZSwgcXVlcnkpIHsKCQkJCWxldCBsb2dnZWRJbiA9IGZhbHNlOwoJCQkJbGV0IGhyZWYgPSAkKGVsZSkuYXR0cignaHJlZicpOwoJCQkJbGV0IHBhcmFtcyA9IG5ldyBVUkxTZWFyY2hQYXJhbXMocXVlcnkpOwoJCQkJaWYgKHBhcmFtcy5nZXQoJ3ByZXZpZXcnKSAhPT0gbnVsbCkgcmV0dXJuOwoJCQkJaWYgKGxvZ2dlZEluKSByZXR1cm47CgkJCQlwYXJhbXMuZGVsZXRlKCdmYmNfY29va2llJyk7CgkJCQlwYXJhbXMuZGVsZXRlKCdmYnBfY29va2llJyk7CgkJCQlxdWVyeSA9IHBhcmFtcy50b1N0cmluZygpOwoJCQkJaWYgKHF1ZXJ5ID09PSAnJykgcmV0dXJuOwoJCQkJaWYgKGhyZWYuaW5jbHVkZXMoJz8nKSkgewoJCQkJCSQoZWxlKS5hdHRyKCdocmVmJywgaHJlZiArICcmJyArIHF1ZXJ5KTsKCQkJCX0gZWxzZSB7CgkJCQkJJChlbGUpLmF0dHIoJ2hyZWYnLCBocmVmICsgJz8nICsgcXVlcnkpOwoJCQkJfQoJCQl9CgoJCQlmdW5jdGlvbiBnZXRSYW5kb20obGVuZ3RoKSB7CgkJCQlyZXR1cm4gTWF0aC5mbG9vcihNYXRoLnBvdygxMCwgbGVuZ3RoLTEpICsgTWF0aC5yYW5kb20oKSAqIDkgKiBNYXRoLnBvdygxMCwgbGVuZ3RoLTEpKTsKCQkJfQoKCQkJZnVuY3Rpb24gY3JlYXRlRmJwKCkgewoJCQkJcmV0dXJuICdmYi4xLicrRGF0ZS5ub3coKSsnLicrZ2V0UmFuZG9tKDEwKTsKCQkJfQoKCQkJZnVuY3Rpb24gYWRkUXVlcnkoc3RyKSB7CgkJCQlsZXQgcXVlcnkgPSAkKCdbbmFtZT0icXVlcnlTdHJpbmciXScpLnZhbCgpOwoJCQkJaWYgKHF1ZXJ5ID09PSAnJyB8fCB0eXBlb2YgcXVlcnkgPT09ICJ1bmRlZmluZWQiKSB7CgkJCQkJcXVlcnkgPSBzdHI7CgkJCQl9IGVsc2UgewoJCQkJCXF1ZXJ5ICs9ICcmJyArIHN0cjsKCQkJCX0KCQkJCSQoJ1tuYW1lPSJxdWVyeVN0cmluZyJdJykudmFsKHF1ZXJ5KTsKCQkJCXNldENvb2tpZSgnbmRsZS5yYWd1LnF1ZXJ5JywgcXVlcnksIDApOwoJCQl9CgoJCQlsZXQgZmJUZXN0ID0gJyc7CgoJCQlpZiAoY1F1ZXJ5KSB7CgkJCQlmYlRlc3QgPSBjUXVlcnk7CgkJCQkkKCdhOmV4dGVybmFsJykuZWFjaChmdW5jdGlvbigpewoJCQkJCWlmIChleHRlcm5hbFVzZUNsYXNzKSB7CgkJCQkJCWlmICgkKHRoaXMpLmhhc0NsYXNzKCduZGxlLXF1ZXJ5JykpIHsKCQkJCQkJCXNldExpbmtQYXJtcyh0aGlzLCBjUXVlcnkpOwoJCQkJCQl9CgkJCQkJfSBlbHNlIHsKCQkJCQkJaWYgKCQodGhpcykuaGFzQ2xhc3MoJ25kbGUtbm8tcXVlcnknKSkgcmV0dXJuOwoJCQkJCQlzZXRMaW5rUGFybXModGhpcywgY1F1ZXJ5KTsKCQkJCQl9CgkJCQl9KTsKCQkJfQoKCQkJaWYgKCFmYlRlc3QuaW5jbHVkZXMoJ2ZicF9jb29raWUnKSkgewoJCQkJLy8gc2VlIGlmIGNvb2tpZSBleGlzdHMgYW5kIGlmIG5vdCwgY3JlYXRlIGNvbnRlbnQKCQkJCWxldCBmYnAgPSBnZXRDb29raWUoJ19mYnAnKTsKCQkJCWlmICghZmJwKSB7CgkJCQkJZmJwID0gY3JlYXRlRmJwKCk7CgkJCQl9CgkJCQlhZGRRdWVyeSgnZmJwX2Nvb2tpZT0nK2ZicCk7CgkJCX0gCgkJCWlmICghZmJUZXN0LmluY2x1ZGVzKCdmYmNfY29va2llJykpIHsKCQkJCWxldCBmYmNfY29va2llID0gbnVsbDsKCQkJCWxldCBmYmMgPSBnZXRDb29raWUoJ19mYmMnKTsKCQkJCWlmIChmYmMpIHsKCQkJCQlmYmNfY29va2llID0gZmJjOwoJCQkJfSBlbHNlIGlmIChmYlRlc3QuaW5jbHVkZXMoJ2ZiY2xpZCcpKSB7CgkJCQkJbGV0IHBhcmFtcyA9IG5ldyBVUkxTZWFyY2hQYXJhbXMoZmJUZXN0KTsKCQkJCQlsZXQgZmJjbGlkID0gcGFyYW1zLmdldCgnZmJjbGlkJyk7CgkJCQkJZmJjX2Nvb2tpZSA9ICdmYi4xLicrRGF0ZS5ub3coKSsnLicrZmJjbGlkOwoJCQkJfSBlbHNlIGlmICh3aW5kb3cubG9jYXRpb24uc2VhcmNoLmluY2x1ZGVzKCdmYmNsaWQnKSkgewoJCQkJCWxldCBwYXJhbXMgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKHdpbmRvdy5sb2NhdGlvbi5zZWFyY2gpOwoJCQkJCWxldCBmYmNsaWQgPSBwYXJhbXMuZ2V0KCdmYmNsaWQnKTsKCQkJCQlmYmNfY29va2llID0gJ2ZiLjEuJytEYXRlLm5vdygpKycuJytmYmNsaWQ7CgkJCQl9CgkJCQlpZiAoZmJjX2Nvb2tpZSkgewoJCQkJCWFkZFF1ZXJ5KCdmYmNfY29va2llPScrZmJjX2Nvb2tpZSk7CgkJCQl9CgkJCX0gCgkJCS8vLy8vLy8vLy8vLy8vLy8vLy8vLwoJCQkKCQkJJChkb2N1bWVudCkudHJpZ2dlcigncmFndVJlYWR5Jyk7CgkJfSk7CgkJCiAgICAgICAg"></script><style id='core-block-supports-inline-css'>.wp-elements-c4ed473009bd3350c740c1c4f8741554 a:where(:not(.wp-element-button)){color:var(--wp--preset--color--theme-light);}.wp-elements-1ee34a10cbdb6604f5ce0890f7b9319a a:where(:not(.wp-element-button)){color:var(--wp--preset--color--theme-light);}.wp-elements-e51805e260196c133f90a817d3a3432d a:where(:not(.wp-element-button)){color:var(--wp--preset--color--theme-color-2);}.wp-elements-0c9986edbe06a87665b11e0700d7c520 a:where(:not(.wp-element-button)){color:var(--wp--preset--color--theme-color-2);}.wp-elements-36b52f261e9e16d1564c0d70867291c2 a:where(:not(.wp-element-button)){color:var(--wp--preset--color--theme-color-2);}.wp-elements-cde80aae68a30933883fef47d2c3e836 a:where(:not(.wp-element-button)){color:var(--wp--preset--color--theme-color-2);}.wp-elements-b1db6da8fb22d24fd11f89765cd7927d a:where(:not(.wp-element-button)){color:var(--wp--preset--color--theme-light);}.wp-elements-810d8595bc573b514453bac91fe734c9 a:where(:not(.wp-element-button)){color:var(--wp--preset--color--theme-light);}.wp-elements-ec2f4f3188e6b9148ad489232350e897 a:where(:not(.wp-element-button)){color:var(--wp--preset--color--theme-light);}.wp-elements-874d06c27773d9d7d07536790fb5d210 a:where(:not(.wp-element-button)){color:var(--wp--preset--color--theme-light);}.wp-elements-4de8f8b21ab3317b94631d294e4e1491 a:where(:not(.wp-element-button)){color:var(--wp--preset--color--theme-light);}.wp-elements-44b6d15124e2ee6d0eb7f73fddd7cf17 a:where(:not(.wp-element-button)){color:var(--wp--preset--color--theme-light);}.wp-elements-ab76cd056217e0419b8a79fca114d24f a:where(:not(.wp-element-button)){color:var(--wp--preset--color--theme-light);}.wp-elements-4e43e3a231ca2a7d73bbf77b9bc0234c a:where(:not(.wp-element-button)){color:var(--wp--preset--color--theme-light);}.wp-elements-39d760b5c85ca603b48e8431a73e0660 a:where(:not(.wp-element-button)){color:var(--wp--preset--color--theme-light);}</style> <script defer id="sbl-admin-bar-js-before" src="data:text/javascript;base64,Ci8qIDwgIVtDREFUQVsgKi8gdmFyIGFiVmFyc0pzb24gPSAneyJ1cmwiOiJodHRwczpcL1wvYWJvdXQubm9vZGxlLmNvbVwvd3AtYWRtaW5cL2FkbWluLWFqYXgucGhwIiwibm9uY2UiOiJhNmFiZmNiMzJhIiwiZmxhZyI6MH0nOyAvKiBdXT4gKi8K"></script> <script defer src="https://about.noodle.com/wp-content/uploads/autoptimize/13/js/autoptimize_single_b74df068350d6b003a2ebc3e6b55f5fc.js?ver=6.7.2" id="sbl-admin-bar-js"></script> <script defer src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js?ver=6.7.2" id="bootstrap-js-js"></script> <script defer src="data:text/javascript;base64,CgkJaWYgKHR5cGVvZiBCYXNlNjQgPT09ICJ1bmRlZmluZWQiKSB7CgkJCS8vIENyZWF0ZSBCYXNlNjQgT2JqZWN0CgkJCXZhciBCYXNlNjQ9e19rZXlTdHI6IkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5Ky89IixlbmNvZGU6ZnVuY3Rpb24oZSl7dmFyIHQ9IiI7dmFyIG4scixpLHMsbyx1LGE7dmFyIGY9MDtlPUJhc2U2NC5fdXRmOF9lbmNvZGUoZSk7d2hpbGUoZjxlLmxlbmd0aCl7bj1lLmNoYXJDb2RlQXQoZisrKTtyPWUuY2hhckNvZGVBdChmKyspO2k9ZS5jaGFyQ29kZUF0KGYrKyk7cz1uPj4yO289KG4mMyk8PDR8cj4+NDt1PShyJjE1KTw8MnxpPj42O2E9aSY2MztpZihpc05hTihyKSl7dT1hPTY0fWVsc2UgaWYoaXNOYU4oaSkpe2E9NjR9dD10K3RoaXMuX2tleVN0ci5jaGFyQXQocykrdGhpcy5fa2V5U3RyLmNoYXJBdChvKSt0aGlzLl9rZXlTdHIuY2hhckF0KHUpK3RoaXMuX2tleVN0ci5jaGFyQXQoYSl9cmV0dXJuIHR9LGRlY29kZTpmdW5jdGlvbihlKXt2YXIgdD0iIjt2YXIgbixyLGk7dmFyIHMsbyx1LGE7dmFyIGY9MDtlPWUucmVwbGFjZSgvW15BLVphLXowLTlcK1wvXD1dL2csIiIpO3doaWxlKGY8ZS5sZW5ndGgpe3M9dGhpcy5fa2V5U3RyLmluZGV4T2YoZS5jaGFyQXQoZisrKSk7bz10aGlzLl9rZXlTdHIuaW5kZXhPZihlLmNoYXJBdChmKyspKTt1PXRoaXMuX2tleVN0ci5pbmRleE9mKGUuY2hhckF0KGYrKykpO2E9dGhpcy5fa2V5U3RyLmluZGV4T2YoZS5jaGFyQXQoZisrKSk7bj1zPDwyfG8+PjQ7cj0obyYxNSk8PDR8dT4+MjtpPSh1JjMpPDw2fGE7dD10K1N0cmluZy5mcm9tQ2hhckNvZGUobik7aWYodSE9NjQpe3Q9dCtTdHJpbmcuZnJvbUNoYXJDb2RlKHIpfWlmKGEhPTY0KXt0PXQrU3RyaW5nLmZyb21DaGFyQ29kZShpKX19dD1CYXNlNjQuX3V0ZjhfZGVjb2RlKHQpO3JldHVybiB0fSxfdXRmOF9lbmNvZGU6ZnVuY3Rpb24oZSl7ZT1lLnJlcGxhY2UoL1xyXG4vZywiXG4iKTt2YXIgdD0iIjtmb3IodmFyIG49MDtuPGUubGVuZ3RoO24rKyl7dmFyIHI9ZS5jaGFyQ29kZUF0KG4pO2lmKHI8MTI4KXt0Kz1TdHJpbmcuZnJvbUNoYXJDb2RlKHIpfWVsc2UgaWYocj4xMjcmJnI8MjA0OCl7dCs9U3RyaW5nLmZyb21DaGFyQ29kZShyPj42fDE5Mik7dCs9U3RyaW5nLmZyb21DaGFyQ29kZShyJjYzfDEyOCl9ZWxzZXt0Kz1TdHJpbmcuZnJvbUNoYXJDb2RlKHI+PjEyfDIyNCk7dCs9U3RyaW5nLmZyb21DaGFyQ29kZShyPj42JjYzfDEyOCk7dCs9U3RyaW5nLmZyb21DaGFyQ29kZShyJjYzfDEyOCl9fXJldHVybiB0fSxfdXRmOF9kZWNvZGU6ZnVuY3Rpb24oZSl7dmFyIHQ9IiI7dmFyIG49MDt2YXIgcj1jMT1jMj0wO3doaWxlKG48ZS5sZW5ndGgpe3I9ZS5jaGFyQ29kZUF0KG4pO2lmKHI8MTI4KXt0Kz1TdHJpbmcuZnJvbUNoYXJDb2RlKHIpO24rK31lbHNlIGlmKHI+MTkxJiZyPDIyNCl7YzI9ZS5jaGFyQ29kZUF0KG4rMSk7dCs9U3RyaW5nLmZyb21DaGFyQ29kZSgociYzMSk8PDZ8YzImNjMpO24rPTJ9ZWxzZXtjMj1lLmNoYXJDb2RlQXQobisxKTtjMz1lLmNoYXJDb2RlQXQobisyKTt0Kz1TdHJpbmcuZnJvbUNoYXJDb2RlKChyJjE1KTw8MTJ8KGMyJjYzKTw8NnxjMyY2Myk7bis9M319cmV0dXJuIHR9fQoJCX0JCQogICAgICAgIA=="></script> <script defer src="data:text/javascript;base64,CgkJalF1ZXJ5KGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigkKSB7CgkJCQkKCQl2YXIgaGNmUmVhZHkgPSB7CgkJCQl9OwoJCXZhciBmb3JtOwoJCXZhciByZWFkeUZpZWxkOwoJCX0pOwoJCQ=="></script> <script defer src="data:text/javascript;base64,Ci8vIFNldCBoZWFkZXIgb2Zmc2V0CnZhciBoZWFkZXJPZmZzZXQgPSAwOwpqUXVlcnkod2luZG93KS5sb2FkKGZ1bmN0aW9uKCkgeyAJCgkKCS8vQ2hlY2sgZm9yIGZpeGVkL3N0aWNreSBoZWFkZXIKCWlmICggalF1ZXJ5KCJoZWFkZXIiKS5oYXNDbGFzcygic3RpY2t5LXRvcCIpICkgewkJCgkJCQkKCQkvLyBVcGRhdGUgaGVhZGVyIG9mZnNldCBmb3IgZml4ZWQvc3RpY2t5IGhlYWRlcgoJCWhlYWRlck9mZnNldCA9IGpRdWVyeSgiaGVhZGVyIikuaGVpZ2h0KCk7CgkJCgkJaWYoIGhlYWRlck9mZnNldCAhPSAwICl7CgkJCWpRdWVyeSgiPHN0eWxlPiIpLnRleHQoImJvZHkgey0taGVhZGVyb2Zmc2V0OiIgKyBoZWFkZXJPZmZzZXQgKyAicHg7fSIpLmFwcGVuZFRvKGRvY3VtZW50LmhlYWQpOwoJCX0KCQkKCX0JCgkKfSk7CgogICAgCiAgICAKLy8gQWRkIGNsYXNzIHRvIGJvZHkgd2hlbiBuYXYgaXMgdG9nZ2xlZApkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdET01Db250ZW50TG9hZGVkJywgZnVuY3Rpb24gKCkgewogIC8vIEdldCB0aGUgbmVjZXNzYXJ5IGVsZW1lbnRzCiAgY29uc3QgbmF2YmFyVG9nZ2xlckJ0biA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5oZWFkZXIgLm5hdmJhci10b2dnbGVyJyk7CgogIC8vIEFkZCBjbGljayBldmVudCBsaXN0ZW5lciB0byB0aGUgbmF2YmFyIHRvZ2dsZXIgYnV0dG9uCiAgaWYobmF2YmFyVG9nZ2xlckJ0bil7CiAgICAgIG5hdmJhclRvZ2dsZXJCdG4uYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbiAoKSB7CiAgICAgICAgLy8gVG9nZ2xlIHRoZSBjbGFzcyBvbiB0aGUgYm9keSB0YWcKICAgICAgICBkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC50b2dnbGUoJ25hdmJhci1vcGVuJyk7CiAgICAgIH0pOwogIH0KfSk7CiAgICAKICAgIAoKLy8gT2ZmcGFnZSBhbmNob3Igb2Zmc2V0IFNjcm9sbApqUXVlcnkoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKCQpIHsgIAoJLy8gc2V0IGEgdmFyaWFibGUgZm9yIHRoZSBhbmNob3IgbGluayB3aGljaCBpcyB0aGUgbG9jYXRpb24uaGFzaAoJdmFyIGFuY2hvckxpbmsgPSAkKHdpbmRvdy5sb2NhdGlvbi5oYXNoKTsKCS8vIHRlc3QgdG8gc2VlIGlmIHRoZSBsaW5rIGlzIGEgYW5jaG9yIGxpbmssIGlmIG5vdCB0aGUgbGVuZ3RoIHdpbGwgaGF2ZSBubyB2YWx1ZSwgdGhpcyBpcyBkb25lIHRvIGF2b2lkIGpzIGVycm9ycyBvbiBub24gYW5jaG9yIGxpbmtzCglpZiAoIGFuY2hvckxpbmsubGVuZ3RoICYmIGpRdWVyeSgiaGVhZGVyIikuaGFzQ2xhc3MoInN0aWNreS10b3AiKSApIHsKCQkvLyBzZXQgYW4gZWxlbWVudCBhcyB0aGUgZml4ZWQgZW50aXR5LCBoZWFkZXIgaW4gdGhpcyBjYXNlIGFuZCBnZXQgaXRzIGhlaWdodAoJCXZhciBvZmZzZXRTaXplID0gJCgiaGVhZGVyIikuaW5uZXJIZWlnaHQoKTsKCQkvLyBmaXJlIHRoZSBhbmltYXRpb24gZnJvbSB0aGUgdG9wIG9mIHRoZSBwYWdlIHRvIHRoZSBhbmNob3IgbGluayBvZmZzZXR0aW5nIGJ5IHRoZSBmaXhlZCBlbGVtZW50cyBoZWlnaHQsIHRoZSBudW1iZXIgaXMgdGhlIHNwZWVkIG9mIHRoZSBhbmltYXRpb24KCQkkKCJodG1sLCBib2R5IikuYW5pbWF0ZSh7c2Nyb2xsVG9wOiBhbmNob3JMaW5rLm9mZnNldCgpLnRvcCAtIG9mZnNldFNpemUgfSwgNTAwKTsKCX0KCn0pOwoKCi8vIENsb3NlIG1vYmlsZSBtZW51IG9uIGNsaWNrIChmb3IgYW5jaG9ycykKalF1ZXJ5KGZ1bmN0aW9uKCQpeyAKCXZhciBuYXZNYWluID0gJCgiLm5hdmJhci1jb2xsYXBzZSIpOyAvLyBhdm9pZCBkZXBlbmRlbmN5IG9uICNpZAoJLy8gImE6bm90KFtkYXRhLWJzLXRvZ2dsZV0pIiAtIHRvIGF2b2lkIGlzc3VlcyBjYXVzZWQgd2hlbiB5b3UgaGF2ZSBkcm9wZG93biBpbnNpZGUgbmF2YmFyCgluYXZNYWluLm9uKCJjbGljayIsICJhOm5vdChbZGF0YS1icy10b2dnbGVdKSIsIG51bGwsIGZ1bmN0aW9uICgpIHsKCQluYXZNYWluLmNvbGxhcHNlKCJoaWRlIik7Cgl9KTsKfSk7CiAgICAKICAgIAovLyBNb2JpbGUgbWVudSBzbGlkZSBvdXQgICAgCmpRdWVyeShmdW5jdGlvbigkKXsgCiAgICBjb25zdCBvZmZjYW52YXNUb2dnbGUgPSAkKCcuaGVhZGVyIFtkYXRhLWJzLXRvZ2dsZT0ib2ZmY2FudmFzIl0nKTsKICAgIGNvbnN0IG9mZmNhbnZhc0NvbGxhcHNlID0gJCgnLmhlYWRlciAub2ZmY2FudmFzLWNvbGxhcHNlJyk7CiAgICBvZmZjYW52YXNUb2dnbGUuY2xpY2soZnVuY3Rpb24oKXsKICAgICAgICBvZmZjYW52YXNUb2dnbGUudG9nZ2xlQ2xhc3MoJ2NvbGxhcHNlZCcpOwogICAgICAgIG9mZmNhbnZhc1RvZ2dsZS5hdHRyKCdhcmlhLWV4cGFuZGVkJywgJCh0aGlzKS5hdHRyKCdhcmlhLWV4cGFuZGVkJyk9PT0ndHJ1ZSc/J2ZhbHNlJzondHJ1ZScpOwogICAgfSk7Cn0pOwogICAgCiAgICAKLy8gT0Zmc2V0IEZsb2F0aW5nIENUQXMgd2hlbiBtb2RhbCBpcyBvcGVuICAgIApjb25zdCBteUJvZHlUYWcgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdib2R5Jyk7ICAKY29uc3QgZmN0YVNlY3Rpb24gPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjZmxvYXRpbmctY3RhcycpOwpjb25zdCBmYnRuUmVxdWVzdCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIi5mYnRuLXJlcXVlc3QtaW5mbyIpOwogICAgCi8vIGlmIG1vZGFsIGlzIG9wZW4gb2Zmc2V0IHNjcm9sbGJhciBwYWRkaW5nIGFuZCBzZXQgYWN0aXZlIGNsYXNzIG9uIGJ0bnMKZnVuY3Rpb24gdXBkYXRlTW9kYWxTY3JvbGxPZmZzZXQoKSB7CiAgICBpZiAoZmN0YVNlY3Rpb24pewogICAgICAgIGlmIChteUJvZHlUYWcuY2xhc3NMaXN0LmNvbnRhaW5zKCdtb2RhbC1vcGVuJykpIHsKICAgICAgICAgICAgZmN0YVNlY3Rpb24uc3R5bGUucGFkZGluZ1JpZ2h0ID0gbXlCb2R5VGFnLnN0eWxlLnBhZGRpbmdSaWdodDsKICAgICAgICAgICAgaWYoZmJ0blJlcXVlc3QpewogICAgICAgICAgICAgICAgZmJ0blJlcXVlc3QuY2xhc3NMaXN0LmFkZCgnYWN0aXZlJyk7CiAgICAgICAgICAgICAgICBmYnRuUmVxdWVzdC5zZXRBdHRyaWJ1dGUoJ2FyaWEtcHJlc3NlZCcsIHRydWUpOwogICAgICAgICAgICB9CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgZmN0YVNlY3Rpb24uc3R5bGUucmVtb3ZlUHJvcGVydHkoJ3BhZGRpbmctcmlnaHQnKTsKICAgICAgICAgICAgaWYoZmJ0blJlcXVlc3QpewogICAgICAgICAgICAgICAgZmJ0blJlcXVlc3QuY2xhc3NMaXN0LnJlbW92ZSgnYWN0aXZlJyk7CiAgICAgICAgICAgICAgICBmYnRuUmVxdWVzdC5zZXRBdHRyaWJ1dGUoJ2FyaWEtcHJlc3NlZCcsIGZhbHNlKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KfQoKLy8gT2JzZXJ2ZXIgdG8gd2F0Y2ggZm9yIGNoYW5nZXMgaW4gdGhlICdib2R5JyBlbGVtZW50CmNvbnN0IG1vZGFsT2JzZXJ2ZXIgPSBuZXcgTXV0YXRpb25PYnNlcnZlcih1cGRhdGVNb2RhbFNjcm9sbE9mZnNldCk7CgovLyBTdGFydCBvYnNlcnZpbmcgY2hhbmdlcyBpbiB0aGUgJ2JvZHknIGVsZW1lbnQncyBjbGFzcwptb2RhbE9ic2VydmVyLm9ic2VydmUobXlCb2R5VGFnLCB7IGF0dHJpYnV0ZXM6IHRydWUsIGF0dHJpYnV0ZUZpbHRlcjogWydjbGFzcyddIH0pOwoKLy8gSW5pdGlhbCB1cGRhdGUKdXBkYXRlTW9kYWxTY3JvbGxPZmZzZXQoKTsKICAgIAogICAgCiAgICAKLy8gQWRkIGNsYXNzIHRvIGJvZHkgd2hlbiB0b2dnbGUgaXMgb3BlbiwgYW5kIHRvIHRyaWdnZXIgYnV0dG9uCmNvbnN0IHRvZ2dsZVR5cGUgPSBbJ29mZmNhbnZhcycsICdjb2xsYXBzZSddOwoKdG9nZ2xlVHlwZS5mb3JFYWNoKGZ1bmN0aW9uKHRvZ2dsZXIpIHsKICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy4nICsgdG9nZ2xlcikuZm9yRWFjaChmdW5jdGlvbih0b2dnbGVkKSB7CiAgICAgICAgLy8gTGlzdGVuIGZvciBzaG93IGFuZCBoaWRlIGV2ZW50cwogICAgICAgIHRvZ2dsZWQuYWRkRXZlbnRMaXN0ZW5lcignc2hvdy5icy4nICsgdG9nZ2xlciwgdG9nZ2xlRXZlbnQgPT4gaGFuZGxlVG9nZ2xlKHRvZ2dsZUV2ZW50LCAnYWRkJywgdG9nZ2xlcikpOwogICAgICAgIHRvZ2dsZWQuYWRkRXZlbnRMaXN0ZW5lcignaGlkZS5icy4nICsgdG9nZ2xlciwgdG9nZ2xlRXZlbnQgPT4gaGFuZGxlVG9nZ2xlKHRvZ2dsZUV2ZW50LCAncmVtb3ZlJywgdG9nZ2xlcikpOwogICAgfSk7Cn0pOwoKZnVuY3Rpb24gaGFuZGxlVG9nZ2xlKGV2ZW50LCBhY3Rpb24sIHRvZ2dsZXIpIHsKICAgIGNvbnN0IHRvZ2dsZVNlbGVjdG9yID0gYC4ke3RvZ2dsZXJ9LnNob3dgOyAvLyBBZGp1c3QgYXMgbmVlZGVkIHRvIGRldGVjdCBhY3RpdmUgZWxlbWVudHMgY29ycmVjdGx5CiAgICBjb25zdCBhY3RpdmVUb2dnbGVzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCh0b2dnbGVTZWxlY3Rvcik7CgogICAgLy8gUGVyZm9ybSB0aGUgYWN0aW9uICgnYWRkJyBvciAncmVtb3ZlJykgb24gdGhlIGNsYXNzCiAgICBpZiAoYWN0aW9uID09PSAnYWRkJyB8fCAoYWN0aW9uID09PSAncmVtb3ZlJyAmJiBhY3RpdmVUb2dnbGVzLmxlbmd0aCA8PSAxKSkgeyAvLyBDaGVjayBpZiB0aGlzIGlzIHRoZSBsYXN0IHRvZ2dsZQogICAgICAgIGRvY3VtZW50LmJvZHkuY2xhc3NMaXN0W2FjdGlvbl0odG9nZ2xlciArICctb3BlbicpOwogICAgfQoKICAgIC8vIEFjY2VzcyB0aGUgYnV0dG9uIGVsZW1lbnQgdGhhdCB0cmlnZ2VyZWQgdGhlIGV2ZW50CiAgICBjb25zdCB0cmlnZ2VyQnRuID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihgW2RhdGEtYnMtdGFyZ2V0PSIjJHtldmVudC50YXJnZXQuaWR9Il1gKTsKICAgIAogICAgaWYgKHRyaWdnZXJCdG4pIHsKICAgICAgICAvLyBBZGQgb3IgcmVtb3ZlIHRoZSAnYWN0aXZlJyBjbGFzcyBmcm9tIHRoZSBidXR0b24KICAgICAgICBpZiAoYWN0aW9uID09PSAnYWRkJyB8fCAoYWN0aW9uID09PSAncmVtb3ZlJyAmJiBhY3RpdmVUb2dnbGVzLmxlbmd0aCA8PSAxKSkgewogICAgICAgICAgICB0cmlnZ2VyQnRuLmNsYXNzTGlzdFthY3Rpb25dKCdhY3RpdmUnKTsKICAgICAgICB9CiAgICB9Cn0K"></script> <script type="text/javascript">window.NREUM||(NREUM={});NREUM.info={"beacon":"bam.nr-data.net","licenseKey":"NRJS-da4b82ac82d62ca47d9","applicationID":"1036222031","transactionName":"NlZSNxBUXUQHBhBcXQ8ccQAWXFxZSRUFUlc=","queueTime":0,"applicationTime":1570,"atts":"GhFRQVhOTko=","errorBeacon":"bam.nr-data.net","agent":""}</script></body></html>

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