[]
{var e,t,r={9071:(e,t,r)=>{“use strict”;r.d(t,{I:()=>n});var n=0,i=navigator.userAgent.match(/Firefox[/s](d+.d+)/);i&&(n=+i[1])},8768:(e,t,r)=>{“use strict”;r.d(t,{T:()=>n,p:()=>i});const n=/(iPad|iPhone|iPod)/g.test(navigator.userAgent),i=n&&Boolean(“undefined”==typeof SharedWorker)},27:(e,t,r)=>{“use strict”;r.d(t,{P_:()=>g,Mt:()=>v,C5:()=>d,DL:()=>y,OP:()=>R,lF:()=>k,Yu:()=>E,Dg:()=>p,CX:()=>f,GE:()=>w,sU:()=>P});var n={};r.r(n),r.d(n,{agent:()=>A,match:()=>D,version:()=>x});var i=r(6797),o=r(909),a=r(8610);class s{constructor(e,t){try{if(!e||”object”!=typeof e)return(0,a.Z)(“New setting a Configurable requires an object as input”);if(!t||”object”!=typeof t)return(0,a.Z)(“Setting a Configurable requires a model to set its initial properties”);Object.assign(this,t),Object.entries(e).forEach((e=>{let[t,r]=e;const n=(0,o.q)(t);n.length&&r&&”object”==typeof r&&n.forEach((e=>{e in r&&((0,a.Z)(‘”‘.concat(e,'” is a protected attribute and can not be changed in feature ‘).concat(t,”. It will have no effect.”)),delete r[e])})),this[t]=r}))}catch(e){(0,a.Z)(“An error occured while setting a Configurable”,e)}}}const c={beacon:i.ce.beacon,errorBeacon:i.ce.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},u={};function d(e){if(!e)throw new Error(“All info objects require an agent identifier!”);if(!u[e])throw new Error(“Info for “.concat(e,” was never set”));return u[e]}function f(e,t){if(!e)throw new Error(“All info objects require an agent identifier!”);u[e]=new s(t,c),(0,i.Qy)(e,u[e],”info”)}const l={allow_bfcache:!0,privacy:{cookies_enabled:!0},ajax:{deny_list:void 0,enabled:!0,harvestTimeSeconds:10},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},ssl:void 0,obfuscate:void 0,jserrors:{enabled:!0,harvestTimeSeconds:10},metrics:{enabled:!0},page_action:{enabled:!0,harvestTimeSeconds:30},page_view_event:{enabled:!0},page_view_timing:{enabled:!0,harvestTimeSeconds:30,long_task:!1},session_trace:{enabled:!0,harvestTimeSeconds:10},spa:{enabled:!0,harvestTimeSeconds:10}},h={};function g(e){if(!e)throw new Error(“All configuration objects require an agent identifier!”);if(!h[e])throw new Error(“Configuration for “.concat(e,” was never set”));return h[e]}function p(e,t){if(!e)throw new Error(“All configuration objects require an agent identifier!”);h[e]=new s(t,l),(0,i.Qy)(e,h[e],”config”)}function v(e,t){if(!e)throw new Error(“All configuration objects require an agent identifier!”);var r=g(e);if(r){for(var n=t.split(“.”),i=0;i{“use strict”;r.d(t,{Re:()=>i,gF:()=>o,q4:()=>n});const n=”1.230.0″,i=”PROD”,o=”CDN”},9557:(e,t,r)=>{“use strict”;r.d(t,{w:()=>o});var n=r(8610);const i={agentIdentifier:””};class o{constructor(e){try{if(“object”!=typeof e)return(0,n.Z)(“shared context requires an object as input”);this.sharedContext={},Object.assign(this.sharedContext,i),Object.entries(e).forEach((e=>{let[t,r]=e;Object.keys(i).includes(t)&&(this.sharedContext[t]=r)}))}catch(e){(0,n.Z)(“An error occured while setting SharedContext”,e)}}}},4329:(e,t,r)=>{“use strict”;r.d(t,{L:()=>d,R:()=>c});var n=r(3752),i=r(7022),o=r(4045),a=r(2325);const s={};function c(e,t){const r={staged:!1,priority:a.p[t]||0};u(e),s[e].get(t)||s[e].set(t,r)}function u(e){e&&(s[e]||(s[e]=new Map))}function d(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:””,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:”feature”;if(u(e),!e||!s[e].get(t))return a(t);s[e].get(t).staged=!0;const r=Array.from(s[e]);function a(t){const r=e?n.ee.get(e):n.ee,a=o.X.handlers;if(r.backlog&&a){var s=r.backlog[t],c=a[t];if(c){for(var u=0;s&&u{let[t,r]=e;return r.staged}))&&(r.sort(((e,t)=>e[1].priority-t[1].priority)),r.forEach((e=>{let[t]=e;a(t)})))}function f(e,t){var r=e[1];(0,i.D)(t[r],(function(t,r){var n=e[0];if(r[0]===n){var i=r[1],o=e[3],a=e[2];i.apply(o,a)}}))}},3752:(e,t,r)=>{“use strict”;r.d(t,{c:()=>f,ee:()=>u});var n=r(6797),i=r(3916),o=r(7022),a=r(27),s=”nr@context”;let c=(0,n.fP)();var u;function d(){}function f(e){return(0,i.X)(e,s,l)}function l(){return new d}function h(){u.aborted=!0,u.backlog={}}c.ee?u=c.ee:(u=function e(t,r){var n={},c={},f={},g=!1;try{g=16===r.length&&(0,a.OP)(r).isolatedBacklog}catch(e){}var p={on:b,addEventListener:b,removeEventListener:y,emit:m,get:E,listeners:w,context:v,buffer:A,abort:h,aborted:!1,isBuffering:x,debugId:r,backlog:g?{}:t&&”object”==typeof t.backlog?t.backlog:{}};return p;function v(e){return e&&e instanceof d?e:e?(0,i.X)(e,s,l):l()}function m(e,r,n,i,o){if(!1!==o&&(o=!0),!u.aborted||i){t&&o&&t.emit(e,r,n);for(var a=v(n),s=w(e),d=s.length,f=0;fn,p:()=>i});var n=r(3752).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))}},4045:(e,t,r)=>{“use strict”;r.d(t,{X:()=>o});var n=r(9252);o.on=a;var i=o.handlers={};function o(e,t,r,o){a(o||n.E,i,e,t,r)}function a(e,t,r,i,o){o||(o=”feature”),e||(e=n.E);var a=t[o]=t[o]||{};(a[r]=a[r]||[]).push([e,i])}},8544:(e,t,r)=>{“use strict”;r.d(t,{bP:()=>s,iz:()=>c,m$:()=>a});var n=r(2374);let i=!1,o=!1;try{const e={get passive(){return i=!0,!1},get signal(){return o=!0,!1}};n._A.addEventListener(“test”,null,e),n._A.removeEventListener(“test”,null,e)}catch(e){}function a(e,t){return i||o?{capture:!!e,passive:i,signal:t}:!!e}function s(e,t){let r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];window.addEventListener(e,t,a(r))}function c(e,t){let r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];document.addEventListener(e,t,a(r))}},5526:(e,t,r)=>{“use strict”;r.d(t,{Ht:()=>a,M:()=>o,Rl:()=>i,ky:()=>s});var n=r(2374);function i(){var e=null,t=0,r=n._A?.crypto||n._A?.msCrypto;function i(){return e?15&e[t++]:16*Math.random()|0}r&&r.getRandomValues&&(e=r.getRandomValues(new Uint8Array(31)));for(var o,a=”xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx”,s=””,c=0;cn})},6368:(e,t,r)=>{“use strict”;r.d(t,{e:()=>o});var n=r(2374),i={};function o(e){if(e in i)return i[e];if(0===(e||””).indexOf(“data:”))return{protocol:”data”};let t;var r=n._A?.location,o={};if(n.il)t=document.createElement(“a”),t.href=e;else try{t=new URL(e,r.href)}catch(e){return o}o.port=t.port;var a=t.href.split(“://”);!o.port&&a[1]&&(o.port=a[1].split(“/”)[0].split(“@”).pop().split(“:”)[1]),o.port&&”0″!==o.port||(o.port=”https”===a[0]?”443″:”80″),o.hostname=t.hostname||r.hostname,o.pathname=t.pathname,o.protocol=a[0],”/”!==o.pathname.charAt(0)&&(o.pathname=”/”+o.pathname);var s=!t.protocol||”:”===t.protocol||t.protocol===r.protocol,c=t.hostname===r.hostname&&t.port===r.port;return o.sameOrigin=s&&(!t.hostname||c),”/”===o.pathname&&(i[e]=o),o}},8610:(e,t,r)=>{“use strict”;function n(e,t){“function”==typeof console.warn&&(console.warn(“New Relic: “.concat(e)),t&&console.warn(t))}r.d(t,{Z:()=>n})},3916:(e,t,r)=>{“use strict”;r.d(t,{X:()=>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}},2374:(e,t,r)=>{“use strict”;r.d(t,{_A:()=>o,il:()=>n,lW:()=>a,v6:()=>i});const n=Boolean(“undefined”!=typeof window&&window.document),i=Boolean(“undefined”!=typeof WorkerGlobalScope&&self.navigator instanceof WorkerNavigator);let o=(()=>{if(n)return window;if(i){if(“undefined”!=typeof globalThis&&globalThis instanceof WorkerGlobalScope)return globalThis;if(self instanceof WorkerGlobalScope)return self}throw new Error(‘New Relic browser agent shutting down due to error: Unable to locate global scope. This is possibly due to code redefining browser global variables like “self” and “window”.’)})();function a(){return o}},7022:(e,t,r)=>{“use strict”;r.d(t,{D:()=>n});const n=(e,t)=>Object.entries(e||{}).map((e=>{let[r,n]=e;return t(r,n)}))},2438:(e,t,r)=>{“use strict”;r.d(t,{P:()=>o});var n=r(3752);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){}}}},2650:(e,t,r)=>{“use strict”;r.d(t,{K:()=>a,b:()=>o});var n=r(8544);function i(){return”undefined”==typeof document||”complete”===document.readyState}function o(e,t){if(i())return e();(0,n.bP)(“load”,e,t)}function a(e){if(i())return e();(0,n.iz)(“DOMContentLoaded”,e)}},6797:(e,t,r)=>{“use strict”;r.d(t,{EZ:()=>u,Qy:()=>c,ce:()=>o,fP:()=>a,gG:()=>d,mF:()=>s});var n=r(2053),i=r(2374);const o={beacon:”bam.nr-data.net”,errorBeacon:”bam.nr-data.net”};function a(){return i._A.NREUM||(i._A.NREUM={}),void 0===i._A.newrelic&&(i._A.newrelic=i._A.NREUM),i._A.NREUM}function s(){let e=a();return e.o||(e.o={ST:i._A.setTimeout,SI:i._A.setImmediate,CT:i._A.clearTimeout,XHR:i._A.XMLHttpRequest,REQ:i._A.Request,EV:i._A.Event,PR:i._A.Promise,MO:i._A.MutationObserver,FETCH:i._A.fetch}),e}function c(e,t,r){let i=a();const o=i.initializedAgents||{},s=o[e]||{};return Object.keys(s).length||(s.initializedAt={ms:(0,n.z)(),date:new Date}),i.initializedAgents={…o,[e]:{…s,[r]:t}},i}function u(e,t){a()[e]=t}function d(){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()}},6998:(e,t,r)=>{“use strict”;r.d(t,{N:()=>i});var n=r(8544);function i(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return void(0,n.iz)(“visibilitychange”,(function(){if(t){if(“hidden”!=document.visibilityState)return;e()}e(document.visibilityState)}))}},2400:(e,t,r)=>{“use strict”;r.d(t,{Bj:()=>c,GD:()=>s,J8:()=>u,ju:()=>o});var n=r(5526);const i=”NRBA/”;function o(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:””;try{return window.sessionStorage.setItem(i+r+e,t),!0}catch(e){return!1}}function a(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:””;return window.sessionStorage.getItem(i+t+e)}function s(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:””;try{window.sessionStorage.removeItem(i+t+e)}catch(e){}}function c(){try{let e;return null===(e=a(“SESSION_ID”))&&(e=(0,n.ky)(16),o(“SESSION_ID”,e)),e}catch(e){return null}}function u(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:””;const t=i+e,r={};try{for(let n=0;n{“use strict”;r.d(t,{W:()=>i});var n=r(2374);function i(){return”function”==typeof n._A?.PerformanceObserver}},8675:(e,t,r)=>{“use strict”;r.d(t,{t:()=>n});const n=r(2325).D.ajax},8322:(e,t,r)=>{“use strict”;r.d(t,{A:()=>i,t:()=>n});const n=r(2325).D.jserrors,i=”nr@seenError”},6034:(e,t,r)=>{“use strict”;r.d(t,{gF:()=>o,mY:()=>i,t9:()=>n,vz:()=>s,xS:()=>a});const n=r(2325).D.metrics,i=”sm”,o=”cm”,a=”storeSupportabilityMetrics”,s=”storeEventMetrics”},6486:(e,t,r)=>{“use strict”;r.d(t,{t:()=>n});const n=r(2325).D.pageAction},2484:(e,t,r)=>{“use strict”;r.d(t,{Dz:()=>i,OJ:()=>a,qw:()=>o,t9:()=>n});const n=r(2325).D.pageViewEvent,i=”firstbyte”,o=”domcontent”,a=”windowload”},6382:(e,t,r)=>{“use strict”;r.d(t,{t:()=>n});const n=r(2325).D.pageViewTiming},2628:(e,t,r)=>{“use strict”;r.r(t),r.d(t,{ADD_EVENT_LISTENER:()=>p,BST_RESOURCE:()=>a,BST_TIMER:()=>l,END:()=>u,FEATURE_NAME:()=>i,FN_END:()=>f,FN_START:()=>d,ORIG_EVENT:()=>g,PUSH_STATE:()=>h,RESOURCE:()=>s,RESOURCE_TIMING_BUFFER_FULL:()=>o,START:()=>c});var n=r(27);const i=r(2325).D.sessionTrace,o=”resourcetimingbufferfull”,a=”bstResource”,s=”resource”,c=”-start”,u=”-end”,d=”fn”+c,f=”fn”+u,l=”bstTimer”,h=”pushState”,g=n.Yu.EV,p=”addEventListener”},755:(e,t,r)=>{“use strict”;r.r(t),r.d(t,{BODY:()=>A,CB_END:()=>x,CB_START:()=>u,END:()=>E,FEATURE_NAME:()=>i,FETCH:()=>_,FETCH_BODY:()=>m,FETCH_DONE:()=>v,FETCH_START:()=>p,FN_END:()=>c,FN_START:()=>s,INTERACTION:()=>l,INTERACTION_API:()=>d,INTERACTION_EVENTS:()=>o,JSONP_END:()=>b,JSONP_NODE:()=>g,JS_TIME:()=>T,MAX_TIMER_BUDGET:()=>a,REMAINING:()=>f,SPA_NODE:()=>h,START:()=>w,originalSetTimeout:()=>y});var n=r(27);r(2374);const i=r(2325).D.spa,o=[“click”,”submit”,”keypress”,”keydown”,”keyup”,”change”],a=999,s=”fn-start”,c=”fn-end”,u=”cb-start”,d=”api-ixn-“,f=”remaining”,l=”interaction”,h=”spaNode”,g=”jsonpNode”,p=”fetch-start”,v=”fetch-done”,m=”fetch-body-“,b=”jsonp-end”,y=n.Yu.ST,w=”-start”,E=”-end”,A=”-body”,x=”cb”+E,T=”jsTime”,_=”fetch”},1509:(e,t,r)=>{“use strict”;r.d(t,{W:()=>s});var n=r(27),i=r(3752),o=r(2384),a=r(6797);class s{constructor(e,t,r){this.agentIdentifier=e,this.aggregator=t,this.ee=i.ee.get(e,(0,n.OP)(this.agentIdentifier).isolatedBacklog),this.featureName=r,this.blocked=!1,this.checkConfiguration()}checkConfiguration(){if(!(0,n.lF)(this.agentIdentifier)){let e={…(0,a.gG)().info?.jsAttributes};try{e={…e,…(0,n.C5)(this.agentIdentifier)?.jsAttributes}}catch(e){}(0,o.j)(this.agentIdentifier,{…(0,a.gG)(),info:{…(0,a.gG)().info,jsAttributes:e}})}}}},2384:(e,t,r)=>{“use strict”;r.d(t,{j:()=>w});var n=r(2325),i=r(27),o=r(9252),a=r(3752),s=r(2053),c=r(4329),u=r(2650),d=r(2374),f=r(8610),l=r(6034),h=r(6797),g=r(2400);const p=”CUSTOM/”;function v(){const e=(0,h.gG)();[“setErrorHandler”,”finished”,”addToTrace”,”inlineHit”,”addRelease”,”addPageAction”,”setCurrentRouteName”,”setPageViewName”,”setCustomAttribute”,”interaction”,”noticeError”,”setUserId”].forEach((t=>{e[t]=function(){for(var r=arguments.length,n=new Array(r),i=0;i1?r-1:0),i=1;i{e.exposed&&e.api[t]&&o.push(e.api[t](…n))})),o.length>1?returnsVals:o[0]}(t,…n)}}))}var m=r(7022);const b={stn:[n.D.sessionTrace],err:[n.D.jserrors,n.D.metrics],ins:[n.D.pageAction],spa:[n.D.spa]};const y={};function w(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},w=arguments.length>2?arguments[2]:void 0,E=arguments.length>3?arguments[3]:void 0,{init:A,info:x,loader_config:T,runtime:_={loaderType:w},exposed:S=!0}=t;const D=(0,h.gG)();if(x||(A=D.init,x=D.info,T=D.loader_config),x.jsAttributes??={},d.v6&&(x.jsAttributes.isWorker=!0),d.il){let e=(0,g.J8)(p);Object.assign(x.jsAttributes,e)}(0,i.CX)(e,x),(0,i.Dg)(e,A||{}),(0,i.GE)(e,T||{}),(0,i.sU)(e,_),v();const N=function(e,t){t||(0,c.R)(e,”api”);const h={};var v=a.ee.get(e),m=v.get(“tracer”),b=”api-“,y=b+”ixn-“;function w(t,r,n,o){const a=(0,i.C5)(e);return null===r?(delete a.jsAttributes[t],d.il&&(0,g.GD)(t,p)):((0,i.CX)(e,{…a,jsAttributes:{…a.jsAttributes,[t]:r}}),d.il&&o&&(0,g.ju)(t,r,p)),x(b,n,!0)()}function E(){}[“setErrorHandler”,”finished”,”addToTrace”,”inlineHit”,”addRelease”].forEach((e=>h[e]=x(b,e,!0,”api”))),h.addPageAction=x(b,”addPageAction”,!0,n.D.pageAction),h.setCurrentRouteName=x(b,”routeName”,!0,n.D.spa),h.setPageViewName=function(t,r){if(“string”==typeof t)return”/”!==t.charAt(0)&&(t=”/”+t),(0,i.OP)(e).customTransaction=(r||”http://custom.transaction”)+t,x(b,”setPageViewName”,!0)()},h.setCustomAttribute=function(e,t){let r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(“string”==typeof e){if([“string”,”number”].includes(typeof t)||null===t)return w(e,t,”setCustomAttribute”,r);(0,f.Z)(“Failed to execute setCustomAttribute.nNon-null value must be a string or number type, but a type of was provided.”))}else(0,f.Z)(“Failed to execute setCustomAttribute.nName must be a string type, but a type of was provided.”))},h.setUserId=function(e){if(“string”==typeof e||null===e)return w(“enduser.id”,e,”setUserId”,!0);(0,f.Z)(“Failed to execute setUserId.nNon-null value must be a string type, but a type of was provided.”))},h.interaction=function(){return(new E).get()};var A=E.prototype={createTracer:function(e,t){var r={},i=this,a=”function”==typeof t;return(0,o.p)(y+”tracer”,[(0,s.z)(),e,r],i,n.D.spa,v),function(){if(m.emit((a?””:”no-“)+”fn-start”,[(0,s.z)(),i,a],r),a)try{return t.apply(this,arguments)}catch(e){throw m.emit(“fn-err”,[arguments,this,”string”==typeof e?new Error(e):e],r),e}finally{m.emit(“fn-end”,[(0,s.z)()],r)}}}};function x(e,t,r,i){return function(){return(0,o.p)(l.xS,[“API/”+t+”/called”],void 0,n.D.metrics,v),i&&(0,o.p)(e+t,[(0,s.z)(),…arguments],r?null:this,i,v),r?void 0:this}}function T(){r.e(439).then(r.bind(r,5692)).then((t=>{let{setAPI:r}=t;r(e),(0,c.L)(e,”api”)})).catch((()=>(0,f.Z)(“Downloading runtime APIs failed…”)))}return[“actionText”,”setName”,”setAttribute”,”save”,”ignore”,”onEnd”,”getContext”,”end”,”get”].forEach((e=>{A[e]=x(y,e,void 0,n.D.spa)})),h.noticeError=function(e,t){“string”==typeof e&&(e=new Error(e)),(0,o.p)(l.xS,[“API/noticeError/called”],void 0,n.D.metrics,v),(0,o.p)(“err”,[e,(0,s.z)(),!1,t],void 0,n.D.jserrors,v)},d.v6?T():(0,u.b)((()=>T()),!0),h}(e,E);return(0,h.Qy)(e,N,”api”),(0,h.Qy)(e,S,”exposed”),(0,h.EZ)(“activatedFeatures”,y),(0,h.EZ)(“setToken”,(t=>function(e,t){var r=a.ee.get(t);e&&”object”==typeof e&&((0,m.D)(e,(function(e,t){if(!t)return(b[e]||[]).forEach((t=>{(0,o.p)(“block-“+e,[],void 0,t,r)}));y[e]||((0,o.p)(“feat-“+e,[],void 0,b[e],r),y[e]=!0)})),(0,c.L)(t,n.D.pageViewEvent))}(t,e))),N}},909:(e,t,r)=>{“use strict”;r.d(t,{Z:()=>i,q:()=>o});var n=r(2325);function i(e){switch(e){case n.D.ajax:return[n.D.jserrors];case n.D.sessionTrace:return[n.D.ajax,n.D.pageViewEvent];case n.D.pageViewTiming:return[n.D.pageViewEvent];default:return[]}}function o(e){return e===n.D.jserrors?[]:[“auto”]}},2325:(e,t,r)=>{“use strict”;r.d(t,{D:()=>n,p:()=>i});const n={ajax:”ajax”,jserrors:”jserrors”,metrics:”metrics”,pageAction:”page_action”,pageViewEvent:”page_view_event”,pageViewTiming:”page_view_timing”,sessionTrace:”session_trace”,spa:”spa”},i={[n.pageViewEvent]:1,[n.pageViewTiming]:2,[n.metrics]:3,[n.jserrors]:4,[n.ajax]:5,[n.sessionTrace]:6,[n.pageAction]:7,[n.spa]:8}},8683:e=>{e.exports=function(e,t,r){t||(t=0),void 0===r&&(r=e?e.length:0);for(var n=-1,i=r-t||0,o=Array(i<0?0:i);++n{var t=e&&e.__esModule?()=>e.default:()=>e;return i.d(t,{a:t}),t},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=>(({78:”page_action-aggregate”,147:”metrics-aggregate”,193:”session_trace-aggregate”,317:”jserrors-aggregate”,348:”page_view_timing-aggregate”,439:”async-api”,729:”lazy-loader”,786:”page_view_event-aggregate”,873:”spa-aggregate”,898:”ajax-aggregate”}[e]||e)+”.”+{78:”4d79b951″,147:”20a08804″,193:”6e2218bf”,317:”9136a849″,348:”9590bdab”,439:”6c072bf7″,729:”ff971c03″,786:”75812140″,862:”9f44b58b”,873:”6c038a0a”,898:”bcd562bf”}[e]+”-1.230.0.min.js”),i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),e={},t=”NRBA:”,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{s.onerror=s.onload=null,clearTimeout(h);var i=e[r];if(delete e[r],s.parentNode&&s.parentNode.removeChild(s),i&&i.forEach((e=>e(n))),t)return t(n)},h=setTimeout(l.bind(null,void 0,{type:”timeout”,target:s}),12e4);s.onerror=l.bind(null,s.onerror),s.onload=l.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={438:0,14: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{“use strict”;i.r(o);var e=i(2325),t=i(27);const r=Object.values(e.D);function n(e){const n={};return r.forEach((r=>{n[r]=function(e,r){return!1!==(0,t.Mt)(r,””.concat(e,”.enabled”))}(r,e)})),n}var a=i(2384),s=i(909),c=i(9252),u=i(8768),d=i(4329),f=i(1509),l=i(2650),h=i(2374),g=i(8610);class p extends f.W{constructor(e,t,r){let n=!(arguments.length>3&&void 0!==arguments[3])||arguments[3];super(e,t,r),this.hasAggregator=!1,this.auto=n,this.abortHandler,n&&(0,d.R)(e,r)}importAggregator(){if(this.hasAggregator||!this.auto)return;this.hasAggregator=!0;const e=async()=>{try{const{lazyLoader:e}=await i.e(729).then(i.bind(i,8110)),{Aggregate:t}=await e(this.featureName,”aggregate”);new t(this.agentIdentifier,this.aggregator)}catch(e){(0,g.Z)(“Downloading “.concat(this.featureName,” failed…”)),this.abortHandler?.()}};h.v6?e():(0,l.b)((()=>e()),!0)}}var v=i(2484),m=i(2053);class b extends p{static featureName=v.t9;constructor(r,n){let i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(super(r,n,v.t9,i),(“undefined”==typeof PerformanceNavigationTiming||u.T)&&”undefined”!=typeof PerformanceTiming){const n=(0,t.OP)(r);n[v.Dz]=Math.max(Date.now()-n.offset,0),(0,l.K)((()=>n[v.qw]=Math.max((0,m.z)()-n[v.Dz],0))),(0,l.b)((()=>{const t=(0,m.z)();n[v.OJ]=Math.max(t-n[v.Dz],0),(0,c.p)(“timing”,[“load”,t],void 0,e.D.pageViewTiming,this.ee)}))}this.importAggregator()}}var y=i(9557),w=i(7022);class E extends y.w{constructor(e){super(e),this.aggregatedData={}}store(e,t,r,n,i){var o=this.getBucket(e,t,r,i);return o.metrics=function(e,t){t||(t={count:0});return t.count+=1,(0,w.D)(e,(function(e,r){t[e]=A(r,t[e])})),t}(n,o.metrics),o}merge(e,t,r,n,i){var o=this.getBucket(e,t,n,i);if(o.metrics){var a=o.metrics;a.count+=r.count,(0,w.D)(r,(function(e,t){if(“count”!==e){var n=a[e],i=r[e];i&&!i.c?a[e]=A(i.t,n):a[e]=function(e,t){if(!t)return e;t.c||(t=x(t.t));return t.min=Math.min(e.min,t.min),t.max=Math.max(e.max,t.max),t.t+=e.t,t.sos+=e.sos,t.c+=e.c,t}(i,a[e])}}))}else o.metrics=r}storeMetric(e,t,r,n){var i=this.getBucket(e,t,r);return i.stats=A(n,i.stats),i}getBucket(e,t,r,n){this.aggregatedData[e]||(this.aggregatedData[e]={});var i=this.aggregatedData[e][t];return i||(i=this.aggregatedData[e][t]={params:r||{}},n&&(i.custom=n)),i}get(e,t){return t?this.aggregatedData[e]&&this.aggregatedData[e][t]:this.aggregatedData[e]}take(e){for(var t={},r=””,n=!1,i=0;it.max&&(t.max=e),e2&&void 0!==arguments[2])||arguments[2];super(e,r,C.t,n),h.il&&((0,t.OP)(e).initHidden=Boolean(“hidden”===document.visibilityState),(0,O.N)((()=>(0,c.p)(“docHidden”,[(0,m.z)()],void 0,C.t,this.ee)),!0),(0,j.bP)(“pagehide”,(()=>(0,c.p)(“winPagehide”,[(0,m.z)()],void 0,C.t,this.ee))),this.importAggregator())}}const R=Boolean(h._A?.Worker),P=Boolean(h._A?.SharedWorker),k=Boolean(h._A?.navigator?.serviceWorker);let H,L,z;var M=i(6034),B=i(3752),F=i(8683),U=i.n(F);const q=”nr@original”;var W=Object.prototype.hasOwnProperty,G=!1;function V(e,t){return e||(e=B.ee),r.inPlace=function(e,t,n,i,o){n||(n=””);var a,s,c,u=”-“===n.charAt(0);for(c=0;c2?n-2:0),o=2;o{r(ue[fe],e,se),r(de[fe],e,se)})),r(h._A,”fetch”,ae),t.on(ae+”end”,(function(e,r){var n=this;if(r){var i=r.headers.get(“content-length”);null!==i&&(n.rxSize=i),t.emit(ae+”done”,[null,r],n)}else t.emit(ae+”done”,[e],n)})),t}const pe={},ve=[“pushState”,”replaceState”];function me(e){const t=function(e){return(e||B.ee).get(“history”)}(e);return!h.il||pe[t.debugId]++||(pe[t.debugId]=1,V(t).inPlace(window.history,ve,”-“)),t}const be={},ye=[“appendChild”,”insertBefore”,”replaceChild”];function we(e){const t=function(e){return(e||B.ee).get(“jsonp”)}(e);if(!h.il||be[t.debugId])return t;be[t.debugId]=!0;var r=V(t),n=/[?&](?:callback|cb)=([^&#]+)/,i=/(.*).([^.]+)/,o=/^(w+)(.|$)(.*)$/;function a(e,t){var r=e.match(o),n=r[1],i=r[3];return i?a(i,t[n]):t[n]}return r.inPlace(Node.prototype,ye,”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 f(){t.emit(“jsonp-end”,[],d),e.removeEventListener(“load”,f,(0,j.m$)(!1)),e.removeEventListener(“error”,l,(0,j.m$)(!1))}function l(){t.emit(“jsonp-error”,[],d),t.emit(“jsonp-end”,[],d),e.removeEventListener(“load”,f,(0,j.m$)(!1)),e.removeEventListener(“error”,l,(0,j.m$)(!1))}r.inPlace(u.parent,[u.key],”cb-“,d),e.addEventListener(“load”,f,(0,j.m$)(!1)),e.addEventListener(“error”,l,(0,j.m$)(!1)),t.emit(“new-jsonp”,[e.src],d)}(e[0])})),t}const Ee={};function Ae(e){const r=function(e){return(e||B.ee).get(“mutation”)}(e);if(!h.il||Ee[r.debugId])return r;Ee[r.debugId]=!0;var n=V(r),i=t.Yu.MO;return i&&(window.MutationObserver=function(e){return this instanceof i?new i(n(e,”fn-“)):i.apply(this,arguments)},MutationObserver.prototype=i.prototype),r}const xe={};function Te(e){const r=function(e){return(e||B.ee).get(“promise”)}(e);if(xe[r.debugId])return r;xe[r.debugId]=!0;var n=B.c,i=V(r),o=t.Yu.PR;return o&&function(){function e(t){var n=r.context(),a=i(t,”executor-“,n,null,!1);const s=Reflect.construct(o,[a],e);return r.context(s).getCtx=function(){return n},s}h._A.Promise=e,Object.defineProperty(e,”name”,{value:”Promise”}),e.toString=function(){return o.toString()},Object.setPrototypeOf(e,o),[“all”,”race”].forEach((function(t){const n=o[t];e[t]=function(e){let i=!1;e?.forEach((e=>{this.resolve(e).then(a(“all”===t),a(!1))}));const o=n.apply(this,arguments);return o;function a(e){return function(){r.emit(“propagate”,[null,!i],o,!1,!1),i=i||!e}}}})),[“resolve”,”reject”].forEach((function(t){const n=o[t];e[t]=function(e){const t=n.apply(this,arguments);return e!==t&&r.emit(“propagate”,[e,!0],t,!1,!1),t}})),e.prototype=o.prototype;const t=o.prototype.then;o.prototype.then=function(){var e=this,o=n(e);o.promise=e;for(var a=arguments.length,s=new Array(a),c=0;ce())),t};function v(e,t){i.inPlace(t,[“onreadystatechange”],”fn-“,A)}function m(){var e=this,t=n.context(e);e.readyState>3&&!t.resolved&&(t.resolved=!0,n.emit(“xhr-resolved”,[],e)),i.inPlace(e,d,”fn-“,A)}if(function(e,t){for(var r in e)t[r]=e[r]}(o,p),p.prototype=o.prototype,i.inPlace(p.prototype,ke,”-xhr-“,A),n.on(“send-xhr-start”,(function(e,t){v(e,t),function(e){f.push(e),a&&(b?b.then(E):c?c(E):(y=-y,w.data=y))}(t)})),n.on(“open-xhr-start”,v),a){var b=s&&s.resolve();if(!c&&!s){var y=1,w=document.createTextNode(y);new a(E).observe(w,{characterData:!0})}}else r.on(“fn-end”,(function(e){e[0]&&e[0].type===u||E()}));function E(){for(var e=0;e2&&void 0!==arguments[2])||arguments[2];super(t,r,M.t9,n),function(e){if(!H){if(R){H=Worker;try{h._A.Worker=r(H,”Dedicated”)}catch(e){o(e,”Dedicated”)}if(P){L=SharedWorker;try{h._A.SharedWorker=r(L,”Shared”)}catch(e){o(e,”Shared”)}}else n(“Shared”);if(k){z=navigator.serviceWorker.register;try{h._A.navigator.serviceWorker.register=(t=z,function(){for(var e=arguments.length,r=new Array(e),n=0;n(i(t,r[1]?.type),new e(…r))})}function n(t){h.v6||e(“Workers/”.concat(t,”/Unavailable”))}function i(t,r){e(“Workers/”.concat(t,”module”===r?”/Module”:”/Classic”))}function o(t,r){e(“Workers/”.concat(r,”/SM/Unsupported”)),(0,g.Z)(“NR Agent: Unable to capture “.concat(r,” workers.”),t)}}((t=>(0,c.p)(M.xS,[t],void 0,e.D.metrics,this.ee))),this.addConsoleSupportabilityMetrics(),this.importAggregator()}addConsoleSupportabilityMetrics(){const t=J(this.ee);for(const r of[“Debug”,”Error”,”Info”,”Log”,”Trace”,”Warn”])t.on(“”.concat(r.toLowerCase(),”-console-start”),(function(n,i){let o=[];for(const e of n)”function”==typeof e||e&&e.message&&e.stack?o.push(e.toString()):o.push(e);const a=(0,N.P)(o);(0,c.p)(M.xS,[“Console/”.concat(r,”/Seen”),a.length],void 0,e.D.metrics,t)}))}}var ze,Me={};try{ze=localStorage.getItem(“__nr_flags”).split(“,”),console&&”function”==typeof console.log&&(Me.console=!0,-1!==ze.indexOf(“dev”)&&(Me.dev=!0),-1!==ze.indexOf(“nr_dev”)&&(Me.nrDev=!0))}catch(e){}function Be(e){try{Me.console&&Be(e)}catch(e){}}Me.nrDev&&B.ee.on(“internal-error”,(function(e){Be(e.stack)})),Me.dev&&B.ee.on(“fn-err”,(function(e,t,r){Be(r.stack)})),Me.dev&&(Be(“NR AGENT IN DEVELOPMENT MODE”),Be(“flags: “+(0,w.D)(Me,(function(e,t){return e})).join(“, “)));var Fe=i(8322);class Ue extends p{static featureName=Fe.t;constructor(r,n){let i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];super(r,n,Fe.t,i),this.skipNext=0;try{this.removeOnAbort=new AbortController}catch(e){}const o=this;o.ee.on(“fn-start”,(function(e,t,r){o.abortHandler&&(o.skipNext+=1)})),o.ee.on(“fn-err”,(function(e,t,r){o.abortHandler&&!r[Fe.A]&&((0,K.X)(r,Fe.A,(function(){return!0})),this.thrown=!0,We(r,void 0,o.ee))})),o.ee.on(“fn-end”,(function(){o.abortHandler&&!this.thrown&&o.skipNext>0&&(o.skipNext-=1)})),o.ee.on(“internal-error”,(function(t){(0,c.p)(“ierr”,[t,(0,m.z)(),!0],void 0,e.D.jserrors,o.ee)})),this.origOnerror=h._A.onerror,h._A.onerror=this.onerrorHandler.bind(this),h._A.addEventListener(“unhandledrejection”,(t=>{const r=function(e){let t=”Unhandled Promise Rejection: “;if(e instanceof Error)try{return e.message=t+e.message,e}catch(t){return e}if(void 0===e)return new Error(t);try{return new Error(t+(0,N.P)(e))}catch(e){return new Error(t)}}(t.reason);(0,c.p)(“err”,[r,(0,m.z)(),!1,{unhandledPromiseRejection:1}],void 0,e.D.jserrors,this.ee)}),(0,j.m$)(!1,this.removeOnAbort?.signal)),Se(this.ee),Re(this.ee),ie(this.ee),(0,t.OP)(r).xhrWrappable&&He(this.ee),this.abortHandler=this.#e,this.importAggregator()}#e(){this.removeOnAbort?.abort(),this.abortHandler=void 0}onerrorHandler(t,r,n,i,o){“function”==typeof this.origOnerror&&this.origOnerror(…arguments);try{this.skipNext?this.skipNext-=1:We(o||new qe(t,r,n),!0,this.ee)}catch(t){try{(0,c.p)(“ierr”,[t,(0,m.z)(),!0],void 0,e.D.jserrors,this.ee)}catch(e){}}return!1}}function qe(e,t,r){this.message=e||”Uncaught error with no additional information”,this.sourceURL=t,this.line=r}function We(t,r,n){var i=r?null:(0,m.z)();(0,c.p)(“err”,[t,i],void 0,e.D.jserrors,n)}var Ge=1,Ve=”nr@id”;function Xe(e){var t=typeof e;return!e||”object”!==t&&”function”!==t?-1:e===h._A?0:(0,K.X)(e,Ve,(function(){return Ge++}))}var Ze=i(9071);function $e(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,N.P)(e).length}catch(e){return}}}var Ye=i(6368);class Qe{constructor(e){this.agentIdentifier=e,this.generateTracePayload=this.generateTracePayload.bind(this),this.shouldGenerateTrace=this.shouldGenerateTrace.bind(this)}generateTracePayload(e){if(!this.shouldGenerateTrace(e))return null;var r=(0,t.DL)(this.agentIdentifier);if(!r)return null;var n=(r.accountID||””).toString()||null,i=(r.agentID||””).toString()||null,o=(r.trustKey||””).toString()||null;if(!n||!i)return null;var a=(0,D.M)(),s=(0,D.Ht)(),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 h._A?.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,N.P)(a))}shouldGenerateTrace(e){return this.isDtEnabled()&&this.isAllowedOrigin(e)}isAllowedOrigin(e){var r=!1,n={};if((0,t.Mt)(this.agentIdentifier,”distributed_tracing”)&&(n=(0,t.P_)(this.agentIdentifier).distributed_tracing),e.sameOrigin)r=!0;else if(n.allowed_origins instanceof Array)for(var i=0;i2&&void 0!==arguments[2])||arguments[2];super(r,n,Je.t,i),(0,t.OP)(r).xhrWrappable&&(this.dt=new Qe(r),this.handler=(e,t,r,n)=>(0,c.p)(e,t,r,n,this.ee),ge(this.ee),He(this.ee),function(r,n,i,o){function a(e){var t=this;t.totalCbs=0,t.called=0,t.cbTime=0,t.end=x,t.ended=!1,t.xhrGuids={},t.lastSize=null,t.loadCaptureCalled=!1,t.params=this.params||{},t.metrics=this.metrics||{},e.addEventListener(“load”,(function(r){_(t,e)}),(0,j.m$)(!1)),Ze.I||e.addEventListener(“progress”,(function(e){t.lastSize=e.loaded}),(0,j.m$)(!1))}function s(e){this.params={method:e[0]},T(this,e[1]),this.metrics={}}function c(e,n){var i=(0,t.DL)(r);”xpid”in i&&this.sameOrigin&&n.setRequestHeader(“X-NewRelic-ID”,i.xpid);var a=o.generateTracePayload(this.parsedOrigin);if(a){var s=!1;a.newrelicHeader&&(n.setRequestHeader(“newrelic”,a.newrelicHeader),s=!0),a.traceContextParentHeader&&(n.setRequestHeader(“traceparent”,a.traceContextParentHeader),a.traceContextStateHeader&&n.setRequestHeader(“tracestate”,a.traceContextStateHeader),s=!0),s&&(this.dt=a)}}function u(e,t){var r=this.metrics,i=e[0],o=this;if(r&&i){var a=$e(i);a&&(r.txSize=a)}this.startTime=(0,m.z)(),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 t.onload)&&”function”==typeof o.end)&&o.end(t)}catch(e){try{n.emit(“internal-error”,[e])}catch(e){}}};for(var s=0;s1?e[1]=i:e.push(i)}else e[0]&&e[0].headers&&s(e[0].headers,n)&&(this.dt=n);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 E(e,t){this.params={},this.metrics={},this.startTime=(0,m.z)(),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 tt?r=i.url:h._A?.URL&&”object”==typeof i&&i instanceof URL&&(r=i.href),T(this,r);var o=(“”+(i&&i instanceof tt&&i.method||n.method||”GET”)).toUpperCase();this.params.method=o,this.txSize=$e(n.body)||0}function A(t,r){var n;this.endTime=(0,m.z)(),this.params||(this.params={}),this.params.status=r?r.status:0,”string”==typeof this.rxSize&&this.rxSize.length>0&&(n=+this.rxSize);var o={txSize:this.txSize,rxSize:n,duration:(0,m.z)()-this.startTime};i(“xhr”,[this.params,o,this.startTime,this.endTime,”fetch”],this,e.D.ajax)}function x(t){var r=this.params,n=this.metrics;if(!this.ended){this.ended=!0;for(var o=0;o2&&void 0!==arguments[2])||arguments[2];super(e,t,jt.t,r),this.importAggregator()}}new class{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:(0,D.ky)(16);this.agentIdentifier=t,this.sharedAggregator=new E({agentIdentifier:this.agentIdentifier}),this.features={},this.desiredFeatures=new Set(e.features||[]),this.desiredFeatures.add(b),Object.assign(this,(0,a.j)(this.agentIdentifier,e,e.loaderType||”agent”)),this.start()}get config(){return{info:(0,t.C5)(this.agentIdentifier),init:(0,t.P_)(this.agentIdentifier),loader_config:(0,t.DL)(this.agentIdentifier),runtime:(0,t.OP)(this.agentIdentifier)}}start(){const t=”features”;try{const r=n(this.agentIdentifier),i=Array.from(this.desiredFeatures);i.sort(((t,r)=>e.p[t.featureName]-e.p[r.featureName])),i.forEach((t=>{if(r[t.featureName]||t.featureName===e.D.pageViewEvent){const e=(0,s.Z)(t.featureName);e.every((e=>r[e]))||(0,g.Z)(“”.concat(t.featureName,” is enabled but one or more dependent features has been disabled (“).concat((0,N.P)(e),”). This may cause unintended consequences or missing data…”)),this.features[t.featureName]=new t(this.agentIdentifier,this.sharedAggregator)}})),(0,S.Qy)(this.agentIdentifier,this.features,t)}catch(e){(0,g.Z)(“Failed to initialize all enabled instrument classes (agent aborted) -“,e);for(const e in this.features)this.features[e].abortHandler?.();const r=(0,S.fP)();return delete r.initializedAgents[this.agentIdentifier]?.api,delete r.initializedAgents[this.agentIdentifier]?.[t],delete this.sharedAggregator,r.ee?.abort(),delete r.ee?.get(this.agentIdentifier),!1}}}({features:[nt,b,I,class extends p{static featureName=ut;constructor(t,r){if(super(t,r,ut,!(arguments.length>2&&void 0!==arguments[2])||arguments[2]),!h.il)return;const n=this.ee;this.timerEE=Re(n),this.rafEE=Se(n),me(n),ie(n),n.on(ft,(function(e,t){e[0]instanceof mt&&(this.bstStart=(0,m.z)())})),n.on(dt,(function(t,r){var i=t[0];i instanceof mt&&(0,c.p)(“bst”,[i,r,this.bstStart,(0,m.z)()],void 0,e.D.sessionTrace,n)})),this.timerEE.on(ft,(function(e,t,r){this.bstStart=(0,m.z)(),this.bstType=r})),this.timerEE.on(dt,(function(t,r){(0,c.p)(st,[r,this.bstStart,(0,m.z)(),this.bstType],void 0,e.D.sessionTrace,n)})),this.rafEE.on(ft,(function(){this.bstStart=(0,m.z)()})),this.rafEE.on(dt,(function(t,r){(0,c.p)(st,[r,this.bstStart,(0,m.z)(),”requestAnimationFrame”],void 0,e.D.sessionTrace,n)})),n.on(ht+vt,(function(e){this.time=(0,m.z)(),this.startPath=location.pathname+location.hash})),n.on(ht+ct,(function(t){(0,c.p)(“bstHist”,[location.pathname+location.hash,this.startPath,this.time],void 0,e.D.sessionTrace,n)})),(0,it.W)()?((0,c.p)(at,[window.performance.getEntriesByType(“resource”)],void 0,e.D.sessionTrace,n),function(){var t=new PerformanceObserver(((t,r)=>{var i=t.getEntries();(0,c.p)(at,[i],void 0,e.D.sessionTrace,n)}));try{t.observe({entryTypes:[“resource”]})}catch(e){}}()):window.performance[bt]&&window.performance[lt]&&window.performance.addEventListener(pt,this.onResourceTimingBufferFull,(0,j.m$)(!1)),document.addEventListener(“scroll”,this.noOp,(0,j.m$)(!1)),document.addEventListener(“keypress”,this.noOp,(0,j.m$)(!1)),document.addEventListener(“click”,this.noOp,(0,j.m$)(!1)),this.abortHandler=this.#e,this.importAggregator()}#e(){window.performance.removeEventListener(pt,this.onResourceTimingBufferFull,!1),this.abortHandler=void 0}noOp(e){}onResourceTimingBufferFull(t){if((0,c.p)(at,[window.performance.getEntriesByType(gt)],void 0,e.D.sessionTrace,this.ee),window.performance[bt])try{window.performance.removeEventListener(pt,this.onResourceTimingBufferFull,!1)}catch(e){}}},Le,Ct,Ue,class extends p{static featureName=wt;constructor(e,r){if(super(e,r,wt,!(arguments.length>2&&void 0!==arguments[2])||arguments[2]),!h.il)return;if(!(0,t.OP)(e).xhrWrappable)return;try{this.removeOnAbort=new AbortController}catch(e){}let n,i=0;const o=this.ee.get(“tracer”),a=we(this.ee),s=Te(this.ee),c=Re(this.ee),u=He(this.ee),d=this.ee.get(“events”),f=ge(this.ee),l=me(this.ee),g=Ae(this.ee);function p(e,t){l.emit(“newURL”,[“”+window.location,t])}function v(){i++,n=window.location.hash,this[Dt]=(0,m.z)()}function b(){i–,window.location.hash!==n&&p(0,!0);var e=(0,m.z)();this[_t]=~~this[_t]+e-this[Dt],this[Ot]=e}function y(e,t){e.on(t,(function(){this[t]=(0,m.z)()}))}this.ee.on(Dt,v),s.on(Nt,v),a.on(Nt,v),this.ee.on(Ot,b),s.on(Tt,b),a.on(Tt,b),this.ee.buffer([Dt,Ot,”xhr-resolved”],this.featureName),d.buffer([Dt],this.featureName),c.buffer([“setTimeout”+At,”clearTimeout”+Et,Dt],this.featureName),u.buffer([Dt,”new-xhr”,”send-xhr”+Et],this.featureName),f.buffer([St+Et,St+”-done”,St+xt+Et,St+xt+At],this.featureName),l.buffer([“newURL”],this.featureName),g.buffer([Dt],this.featureName),s.buffer([“propagate”,Nt,Tt,”executor-err”,”resolve”+Et],this.featureName),o.buffer([Dt,”no-“+Dt],this.featureName),a.buffer([“new-jsonp”,”cb-start”,”jsonp-error”,”jsonp-end”],this.featureName),y(f,St+Et),y(f,St+”-done”),y(a,”new-jsonp”),y(a,”jsonp-end”),y(a,”cb-start”),l.on(“pushState-end”,p),l.on(“replaceState-end”,p),window.addEventListener(“hashchange”,p,(0,j.m$)(!0,this.removeOnAbort?.signal)),window.addEventListener(“load”,p,(0,j.m$)(!0,this.removeOnAbort?.signal)),window.addEventListener(“popstate”,(function(){p(0,i>1)}),(0,j.m$)(!0,this.removeOnAbort?.signal)),this.abortHandler=this.#e,this.importAggregator()}#e(){this.removeOnAbort?.abort(),this.abortHandler=void 0}}],loaderType:”spa”})})(),window.NRBA=o})();]]>13 Best Full-Body Exercises To Do Without Equipment, According to Experts. Nike.com 0&&window.JSON&&”function”==typeof window.JSON.parse){var i=JSON.parse(n);void 0!==window.BOOMR_config?o(window.BOOMR_config,i):window.BOOMR_config=i}}catch(r){window.console&&”function”==typeof window.console.error&&console.error(“mPulse: Could not parse configuration”,r)}}();]]> 0)if(e&&”performance”in e&&e.performance&&”function”==typeof e.performance.setResourceTimingBufferSize)e.performance.setResourceTimingBufferSize();!function(){if(BOOMR=e.BOOMR||{},BOOMR.plugins=BOOMR.plugins||{},!BOOMR.plugins.AK){var n=””==”true”?1:0,t=””,a=”niad4sixzycfyzclywsa-f-541e05135-clientnsv4-s.akamaihd.net”,i=”false”==”true”?2:1,o={“ak.v”:”35″,”ak.cp”:”9378″,”ak.ai”:parseInt(“2776″,10),”ak.ol”:”0″,”ak.cr”:25,”ak.ipv”:4,”ak.proto”:”h2″,”ak.rid”:”38e109e”,”ak.r”:46467,”ak.a2″:n,”ak.m”:”x”,”ak.n”:”essl”,”ak.bpcip”:”106.0.62.0″,”ak.cport”:47714,”ak.gh”:”23.219.207.112″,”ak.quicv”:””,”ak.tlsv”:”tls1.3″,”ak.0rtt”:””,”ak.csrc”:”-“,”ak.acc”:””,”ak.t”:”1682687396″,”ak.ak”:”hOBiQwZUYzCg5VSAfCLimQ==vu08qzXmhBCtIY74ZKMdkjuN8m7dk5qKdq6xAwCw1c6L1qVpo8OkXOkmbpVoElpRW++DQJdsRBPo6JcDn9QWUwPR/ZuZrc+OWwmgGRLH42sLirExe4PICqs8K1rpvxAt4EeA/q9SU4l2cyh4QGZabLzL9YJ48v5CkFnBcl9PdT56decYjoer+Fss/o6ZCUqMWJyMX5cypWtswARRmjAxH92kn9b8Ok/MS2li0oGSuGwytB2SKSM1baLMEbFquRGKIJNXuwRzZW9VTqLEDK02Ljjiwu8muPf9i5P4lYTy+knxf56IyIhNZkaBA6LA7ElbRkitRlCruEj979iyatYbulLk1IKh+Jj8aTXWOpgziGP1wDlqI5U7UAZuC+Ya1hZ9n/3njS9xQNuNk8HI+1ksD+6/PWZmEnevfI/rCKirWds=”,”ak.pv”:”523″,”ak.dpoabenc”:””,”ak.tf”:i};if(“”!==t)o[“ak.ruds”]=t;var r={i:!1,av:function(n){var t=”http.initiator”;if(n&&(!n[t]||”spa_hard”===n[t]))o[“ak.feo”]=void 0!==e.aFeoApplied?1:0,BOOMR.addVar(o)},rv:function(){var e=[“ak.bpcip”,”ak.cport”,”ak.cr”,”ak.csrc”,”ak.gh”,”ak.ipv”,”ak.m”,”ak.n”,”ak.ol”,”ak.proto”,”ak.quicv”,”ak.tlsv”,”ak.0rtt”,”ak.r”,”ak.acc”,”ak.t”,”ak.tf”];BOOMR.removeVar(e)}};BOOMR.plugins.AK={akVars:o,akDNSPreFetchDomain:a,init:function(){if(!r.i){var e=BOOMR.subscribe;e(“before_beacon”,r.av,null,null),e(“onbeacon”,r.rv,null,null),r.i=!0}return this},is_complete:function(){return!0}}}}()}(window);]]>
Sports & Activity
These are the best bodyweight exercises to do right at home.
Last updated: June 29, 2022
7 min read
It’s easy to get caught up in the weight room and think lifting heavy things is the only way to strength train. The truth is, there are plenty of full-body exercises you can do without equipment that will improve your strength, balance and mobility.
“Anyone of any fitness level can benefit and be challenged by a bodyweight-only exercise or training program,” said Christine Torde, NASM-certified personal trainer and coach at Body Space Fitness in New York City. Bodyweight moves are great for beginners — and even experienced exercisers who are trying a new move for the first time. Nailing proper form without weights will make the move that much more effective (and safe!) when you’re ready to add some extra resistance.
But bodyweight moves also deserve a spot in your routine, even as you continue to become more advanced.
“Incorporating bodyweight training can keep things interesting and keep you performing at your best,” said Or Artzi, NASM-certified personal trainer and group fitness instructor. “The best part is that you can so easily progress and regress each move, giving you endless possibilities to experiment and play.”
In addition to strength, bodyweight exercises can also be used to train proper movement, mobility and stability, Torde said. Mix them into your routine — along with exercises that involve weights or resistance bands — to add variability into your program to keep your body adapting. They can also be great warm-up exercises.
RELATED: 10 Benefits of Bodyweight Exercises, According to Experts
Below, Torde and Artzi share their favorite full-body exercises you can do without equipment. We break them up according to which area of the body they target, but they all can be considered total body moves since they engage multiple muscle groups at once — including the core.
The Top Upper Body Exercises You Can Do Without Weights
-
1.Push-up
“The push-up is one of the most basic and effective moves for improving overall upper-body strength,” Artzi said.
Push-ups target the chest, shoulders and triceps and also work muscles in the upper back. Bonus: Push-ups are essentially moving planks, so you’re getting in some great core strength and stability work, too. To modify, Artzi said she recommends doing an incline push-up. Place your feet on the floor and your hands on an elevated surface such as a bench, sturdy chair or a secure table. Slowly put your hands on the object of your choice closer and closer to the floor as you get stronger.
-
2.Pull-up
This is one of the most challenging bodyweight exercises for the upper body, Artzi said. It’s also an amazing exercise to build a strong back.
“It allows you to work multiple muscle groups including the back, biceps and shoulders and requires a lot of assistance from the abdominals,” she said.
A pull-up is done with an overhand grip on the bar, so your palms are facing away from you. A chin-up is a variation of a pull-up that calls for an underhand grip, where your palms face toward you. That’s usually easier, because it engages more of your biceps, Artzi said.
-
3.Prone Lat Pull-Down
“This is the perfect exercise to practice if you’re looking to have better posture, something many of us need due to long hours of sitting at our desk or checking our phones,” Torde said. Focus on engaging your glutes, lower back, and core, to lift your chest and legs off the floor. Then, add the pull-down to engage the shoulders and upper back.
The Top Bodyweight Leg Exercises
-
1.Glute Bridge
The glutes (the main muscle group in your hips and butt) play a major role in many of our movements. Bridging is an excellent way to fire them up so they’re warmed up and ready to engage during a run or bigger lifts, Artzi said. “Make it more challenging by lifting one leg off of the ground, changing the tempo, and adding load when you’re ready,” she said.
-
2.Squat
“There is nothing like a squat,” Artzi said. “The squat is a functional lower body move that targets your glutes, quads, hamstrings, calves and hip flexors. And it’s absolutely crucial to master it considering the fact that we squat every time we sit down and stand up.”
Pro Tip: It’s also a core-stabilizing move.
-
3.Pogo Jump
This is a plyometric move that wakes up the nervous system and the feet, Torde said. “It’s great for the calves, and amazing for runners — pogos really get the feet warmed up, strengthen the calves, and aid in achilles tendon health.” It can also be a great warm-up exercise, she said. You’ll also feel your heart rate increase as you move. If you’re looking for a modification, calf raises would be a good alternative, though it removes cardio from the move.
-
4.Forward Bound
Torde calls this a “spicier version” of your regular squat jump or vertical jump that teaches you a very important functional skill: how to land. “Practicing the skill of bounding — producing force — and landing — absorbing force — aka working on plyometrics, can help reduce injury,” she said. “For example, if you trip, you have a better chance of catching yourself without any injury or falling.”
-
5.Lunges
Reverse lunge, curtsy lunge, walking lunge, backwards walking lunge — the variations are many. “In addition to working almost all the muscles in the legs, lunges are great for core stabilization and working single-leg strength,” Torde said. “Single-leg strength is super important because walking and running, which we do constantly, are single-leg stances.”
The Best Bodyweight Core Exercises
-
1.Plank
“When executed correctly, a plank is an excellent exercise for improving core stability and strength and posture,” Artzi said.
It also engages so much more than just your midsection. For example, your shoulders and upper back will start to feel fatigued while holding a plank. To further challenge your upper body, tap one hand to the opposite shoulder and alternate as you hold the plank. Or, do plank up-downs or lateral plank walks. To add more lower-body work, do plank jacks, which is a plank where you jump your feet in and out while keeping your core and pelvis steady. There are many variations.
-
2.Deadbug
Deadbug is an exercise where you lie on your back and extend one arm and the opposite leg parallel to the floor while keeping the other arm pointing toward the ceiling and the leg bent in tabletop position. Torde said this is one of her favorite exercises: It’s so simple yet so effective for building core stability, she says. The key is doing it with intention, not just quickly going through the motions.
“Imagine someone has a towel under your lower back/tailbone and they are trying to pull it out from under you. Do not let them,” she said. As you engage your core and keep your lower back flat on the floor, slowly extend one arm and the opposite leg. Pause, and then bring them both back to center.
-
3.Bear Crawl
Cardio, core and some unexpected shoulder work are all entwined in this bodyweight exercise.
“Slow and steady wins the race with the bear crawl,” Torde said. This is also a great move to practice during a warm-up routine to help get the entire core engaged and coordinated to move with the upper and lower body.
-
4.Kickthrough
A kickthrough is a movement where you start in an all-fours position, lift your knees off the floor, and then kick your leg under your body and twist your torso to one side at a time. Your core, glutes, legs, shoulders and upper back all work during this move, Artzi said. “You also challenge your balance and coordination as you rotate your body and thread your leg under at the same time,” she said. Once you get the hang of it, add some speed for a little cardio.
-
5.Hollow Body Hold
A hollow body hold is an isometric exercise that involves lying on your back and engaging many muscles to hold your arms, chest and legs off the floor — so your body forms the shape of a banana. This is a deceivingly challenging exercise that requires a ton of core strength and stability. You’ll work the entire front of your body, including the transverse abdominis (deep core), rectus abdominis, obliques, quads and hip flexors, Artzi said. Modify it by bending your knees or lifting them higher off the ground.
Words by Amy Marturana Winderl, ACE-certified personal trainer and PRONatal pre- and post-natal exercise specialist.
Move Daily with Nike Training Club
Get free guidance from trainers and experts to strengthen your body and mind.
Sports & Activity
7 Cardio Exercises That Aren’t Running
Sports & Activity
The Beginner Guide to Tabata Workouts
Sports & Activity
The Top Bodyweight Workout To Do in Your Hotel Room
Sports & Activity
What Is Rotator Cuff Tendinitis — And How Can You Fix It? Experts Explain
Sports & Activity
How To Tell If You Have Heat Exhaustion — And What To Do About It, According To Doctors