· 4 years ago · Mar 23, 2021, 03:44 PM
1(window.NREUM || (NREUM = {})).loader_config = {
2 xpid: "UQYGVVBQGwAHXFZRAQU=",
3 licenseKey: "10f957f1ae",
4 applicationID: "3787364"
5};
6window.NREUM || (NREUM = {}), __nr_require = function(t, e, n) {
7 function r(n) {
8 if (!e[n]) {
9 var o = e[n] = {
10 exports: {}
11 };
12 t[n][0].call(o.exports, function(e) {
13 var o = t[n][1][e];
14 return r(o || e)
15 }, o, o.exports)
16 }
17 return e[n].exports
18 }
19 if ("function" == typeof __nr_require) return __nr_require;
20 for (var o = 0; o < n.length; o++) r(n[o]);
21 return r
22}({
23 1: [function(t, e, n) {
24 function r(t) {
25 try {
26 c.console && console.log(t)
27 } catch (e) {}
28 }
29 var o, i = t("ee"),
30 a = t(28),
31 c = {};
32 try {
33 o = localStorage.getItem("__nr_flags").split(","), console && "function" == typeof console.log && (c.console = !0, o.indexOf("dev") !== -1 && (c.dev = !0), o.indexOf("nr_dev") !== -1 && (c.nrDev = !0))
34 } catch (s) {}
35 c.nrDev && i.on("internal-error", function(t) {
36 r(t.stack)
37 }), c.dev && i.on("fn-err", function(t, e, n) {
38 r(n.stack)
39 }), c.dev && (r("NR AGENT IN DEVELOPMENT MODE"), r("flags: " + a(c, function(t, e) {
40 return t
41 }).join(", ")))
42 }, {}],
43 2: [function(t, e, n) {
44 function r(t, e, n, r, c) {
45 try {
46 l ? l -= 1 : o(c || new UncaughtException(t, e, n), !0)
47 } catch (u) {
48 try {
49 i("ierr", [u, s.now(), !0])
50 } catch (d) {}
51 }
52 return "function" == typeof f && f.apply(this, a(arguments))
53 }
54
55 function UncaughtException(t, e, n) {
56 this.message = t || "Uncaught error with no additional information", this.sourceURL = e, this.line = n
57 }
58
59 function o(t, e) {
60 var n = e ? null : s.now();
61 i("err", [t, n])
62 }
63 var i = t("handle"),
64 a = t(29),
65 c = t("ee"),
66 s = t("loader"),
67 u = t("gos"),
68 f = window.onerror,
69 d = !1,
70 p = "nr@seenError",
71 l = 0;
72 s.features.err = !0, t(1), window.onerror = r;
73 try {
74 throw new Error
75 } catch (h) {
76 "stack" in h && (t(13), t(12), "addEventListener" in window && t(6), s.xhrWrappable && t(14), d = !0)
77 }
78 c.on("fn-start", function(t, e, n) {
79 d && (l += 1)
80 }), c.on("fn-err", function(t, e, n) {
81 d && !n[p] && (u(n, p, function() {
82 return !0
83 }), this.thrown = !0, o(n))
84 }), c.on("fn-end", function() {
85 d && !this.thrown && l > 0 && (l -= 1)
86 }), c.on("internal-error", function(t) {
87 i("ierr", [t, s.now(), !0])
88 })
89 }, {}],
90 3: [function(t, e, n) {
91 t("loader").features.ins = !0
92 }, {}],
93 4: [function(t, e, n) {
94 function r() {
95 L++, T = g.hash, this[f] = y.now()
96 }
97
98 function o() {
99 L--, g.hash !== T && i(0, !0);
100 var t = y.now();
101 this[h] = ~~this[h] + t - this[f], this[d] = t
102 }
103
104 function i(t, e) {
105 E.emit("newURL", ["" + g, e])
106 }
107
108 function a(t, e) {
109 t.on(e, function() {
110 this[e] = y.now()
111 })
112 }
113 var c = "-start",
114 s = "-end",
115 u = "-body",
116 f = "fn" + c,
117 d = "fn" + s,
118 p = "cb" + c,
119 l = "cb" + s,
120 h = "jsTime",
121 m = "fetch",
122 v = "addEventListener",
123 w = window,
124 g = w.location,
125 y = t("loader");
126 if (w[v] && y.xhrWrappable) {
127 var x = t(10),
128 b = t(11),
129 E = t(8),
130 R = t(6),
131 O = t(13),
132 N = t(7),
133 P = t(14),
134 M = t(9),
135 S = t("ee"),
136 C = S.get("tracer");
137 t(16), y.features.spa = !0;
138 var T, L = 0;
139 S.on(f, r), b.on(p, r), M.on(p, r), S.on(d, o), b.on(l, o), M.on(l, o), S.buffer([f, d, "xhr-done", "xhr-resolved"]), R.buffer([f]), O.buffer(["setTimeout" + s, "clearTimeout" + c, f]), P.buffer([f, "new-xhr", "send-xhr" + c]), N.buffer([m + c, m + "-done", m + u + c, m + u + s]), E.buffer(["newURL"]), x.buffer([f]), b.buffer(["propagate", p, l, "executor-err", "resolve" + c]), C.buffer([f, "no-" + f]), M.buffer(["new-jsonp", "cb-start", "jsonp-error", "jsonp-end"]), a(P, "send-xhr" + c), a(S, "xhr-resolved"), a(S, "xhr-done"), a(N, m + c), a(N, m + "-done"), a(M, "new-jsonp"), a(M, "jsonp-end"), a(M, "cb-start"), E.on("pushState-end", i), E.on("replaceState-end", i), w[v]("hashchange", i, !0), w[v]("load", i, !0), w[v]("popstate", function() {
140 i(0, L > 1)
141 }, !0)
142 }
143 }, {}],
144 5: [function(t, e, n) {
145 function r(t) {}
146 if (window.performance && window.performance.timing && window.performance.getEntriesByType) {
147 var o = t("ee"),
148 i = t("handle"),
149 a = t(13),
150 c = t(12),
151 s = "learResourceTimings",
152 u = "addEventListener",
153 f = "resourcetimingbufferfull",
154 d = "bstResource",
155 p = "resource",
156 l = "-start",
157 h = "-end",
158 m = "fn" + l,
159 v = "fn" + h,
160 w = "bstTimer",
161 g = "pushState",
162 y = t("loader");
163 y.features.stn = !0, t(8), "addEventListener" in window && t(6);
164 var x = NREUM.o.EV;
165 o.on(m, function(t, e) {
166 var n = t[0];
167 n instanceof x && (this.bstStart = y.now())
168 }), o.on(v, function(t, e) {
169 var n = t[0];
170 n instanceof x && i("bst", [n, e, this.bstStart, y.now()])
171 }), a.on(m, function(t, e, n) {
172 this.bstStart = y.now(), this.bstType = n
173 }), a.on(v, function(t, e) {
174 i(w, [e, this.bstStart, y.now(), this.bstType])
175 }), c.on(m, function() {
176 this.bstStart = y.now()
177 }), c.on(v, function(t, e) {
178 i(w, [e, this.bstStart, y.now(), "requestAnimationFrame"])
179 }), o.on(g + l, function(t) {
180 this.time = y.now(), this.startPath = location.pathname + location.hash
181 }), o.on(g + h, function(t) {
182 i("bstHist", [location.pathname + location.hash, this.startPath, this.time])
183 }), u in window.performance && (window.performance["c" + s] ? window.performance[u](f, function(t) {
184 i(d, [window.performance.getEntriesByType(p)]), window.performance["c" + s]()
185 }, !1) : window.performance[u]("webkit" + f, function(t) {
186 i(d, [window.performance.getEntriesByType(p)]), window.performance["webkitC" + s]()
187 }, !1)), document[u]("scroll", r, {
188 passive: !0
189 }), document[u]("keypress", r, !1), document[u]("click", r, !1)
190 }
191 }, {}],
192 6: [function(t, e, n) {
193 function r(t) {
194 for (var e = t; e && !e.hasOwnProperty(f);) e = Object.getPrototypeOf(e);
195 e && o(e)
196 }
197
198 function o(t) {
199 c.inPlace(t, [f, d], "-", i)
200 }
201
202 function i(t, e) {
203 return t[1]
204 }
205 var a = t("ee").get("events"),
206 c = t("wrap-function")(a, !0),
207 s = t("gos"),
208 u = XMLHttpRequest,
209 f = "addEventListener",
210 d = "removeEventListener";
211 e.exports = a, "getPrototypeOf" in Object ? (r(document), r(window), r(u.prototype)) : u.prototype.hasOwnProperty(f) && (o(window), o(u.prototype)), a.on(f + "-start", function(t, e) {
212 var n = t[1],
213 r = s(n, "nr@wrapped", function() {
214 function t() {
215 if ("function" == typeof n.handleEvent) return n.handleEvent.apply(n, arguments)
216 }
217 var e = {
218 object: t,
219 "function": n
220 } [typeof n];
221 return e ? c(e, "fn-", null, e.name || "anonymous") : n
222 });
223 this.wrapped = t[1] = r
224 }), a.on(d + "-start", function(t) {
225 t[1] = this.wrapped || t[1]
226 })
227 }, {}],
228 7: [function(t, e, n) {
229 function r(t, e, n) {
230 var r = t[e];
231 "function" == typeof r && (t[e] = function() {
232 var t = i(arguments),
233 e = {};
234 o.emit(n + "before-start", [t], e);
235 var a;
236 e[m] && e[m].dt && (a = e[m].dt);
237 var c = r.apply(this, t);
238 return o.emit(n + "start", [t, a], c), c.then(function(t) {
239 return o.emit(n + "end", [null, t], c), t
240 }, function(t) {
241 throw o.emit(n + "end", [t], c), t
242 })
243 })
244 }
245 var o = t("ee").get("fetch"),
246 i = t(29),
247 a = t(28);
248 e.exports = o;
249 var c = window,
250 s = "fetch-",
251 u = s + "body-",
252 f = ["arrayBuffer", "blob", "json", "text", "formData"],
253 d = c.Request,
254 p = c.Response,
255 l = c.fetch,
256 h = "prototype",
257 m = "nr@context";
258 d && p && l && (a(f, function(t, e) {
259 r(d[h], e, u), r(p[h], e, u)
260 }), r(c, "fetch", s), o.on(s + "end", function(t, e) {
261 var n = this;
262 if (e) {
263 var r = e.headers.get("content-length");
264 null !== r && (n.rxSize = r), o.emit(s + "done", [null, e], n)
265 } else o.emit(s + "done", [t], n)
266 }))
267 }, {}],
268 8: [function(t, e, n) {
269 var r = t("ee").get("history"),
270 o = t("wrap-function")(r);
271 e.exports = r;
272 var i = window.history && window.history.constructor && window.history.constructor.prototype,
273 a = window.history;
274 i && i.pushState && i.replaceState && (a = i), o.inPlace(a, ["pushState", "replaceState"], "-")
275 }, {}],
276 9: [function(t, e, n) {
277 function r(t) {
278 function e() {
279 s.emit("jsonp-end", [], p), t.removeEventListener("load", e, !1), t.removeEventListener("error", n, !1)
280 }
281
282 function n() {
283 s.emit("jsonp-error", [], p), s.emit("jsonp-end", [], p), t.removeEventListener("load", e, !1), t.removeEventListener("error", n, !1)
284 }
285 var r = t && "string" == typeof t.nodeName && "script" === t.nodeName.toLowerCase();
286 if (r) {
287 var o = "function" == typeof t.addEventListener;
288 if (o) {
289 var a = i(t.src);
290 if (a) {
291 var f = c(a),
292 d = "function" == typeof f.parent[f.key];
293 if (d) {
294 var p = {};
295 u.inPlace(f.parent, [f.key], "cb-", p), t.addEventListener("load", e, !1), t.addEventListener("error", n, !1), s.emit("new-jsonp", [t.src], p)
296 }
297 }
298 }
299 }
300 }
301
302 function o() {
303 return "addEventListener" in window
304 }
305
306 function i(t) {
307 var e = t.match(f);
308 return e ? e[1] : null
309 }
310
311 function a(t, e) {
312 var n = t.match(p),
313 r = n[1],
314 o = n[3];
315 return o ? a(o, e[r]) : e[r]
316 }
317
318 function c(t) {
319 var e = t.match(d);
320 return e && e.length >= 3 ? {
321 key: e[2],
322 parent: a(e[1], window)
323 } : {
324 key: t,
325 parent: window
326 }
327 }
328 var s = t("ee").get("jsonp"),
329 u = t("wrap-function")(s);
330 if (e.exports = s, o()) {
331 var f = /[?&](?:callback|cb)=([^&#]+)/,
332 d = /(.*)\.([^.]+)/,
333 p = /^(\w+)(\.|$)(.*)$/,
334 l = ["appendChild", "insertBefore", "replaceChild"];
335 Node && Node.prototype && Node.prototype.appendChild ? u.inPlace(Node.prototype, l, "dom-") : (u.inPlace(HTMLElement.prototype, l, "dom-"), u.inPlace(HTMLHeadElement.prototype, l, "dom-"), u.inPlace(HTMLBodyElement.prototype, l, "dom-")), s.on("dom-start", function(t) {
336 r(t[0])
337 })
338 }
339 }, {}],
340 10: [function(t, e, n) {
341 var r = t("ee").get("mutation"),
342 o = t("wrap-function")(r),
343 i = NREUM.o.MO;
344 e.exports = r, i && (window.MutationObserver = function(t) {
345 return this instanceof i ? new i(o(t, "fn-")) : i.apply(this, arguments)
346 }, MutationObserver.prototype = i.prototype)
347 }, {}],
348 11: [function(t, e, n) {
349 function r(t) {
350 var e = i.context(),
351 n = c(t, "executor-", e, null, !1),
352 r = new u(n);
353 return i.context(r).getCtx = function() {
354 return e
355 }, r
356 }
357 var o = t("wrap-function"),
358 i = t("ee").get("promise"),
359 a = t("ee").getOrSetContext,
360 c = o(i),
361 s = t(28),
362 u = NREUM.o.PR;
363 e.exports = i, u && (window.Promise = r, ["all", "race"].forEach(function(t) {
364 var e = u[t];
365 u[t] = function(n) {
366 function r(t) {
367 return function() {
368 i.emit("propagate", [null, !o], a, !1, !1), o = o || !t
369 }
370 }
371 var o = !1;
372 s(n, function(e, n) {
373 Promise.resolve(n).then(r("all" === t), r(!1))
374 });
375 var a = e.apply(u, arguments),
376 c = u.resolve(a);
377 return c
378 }
379 }), ["resolve", "reject"].forEach(function(t) {
380 var e = u[t];
381 u[t] = function(t) {
382 var n = e.apply(u, arguments);
383 return t !== n && i.emit("propagate", [t, !0], n, !1, !1), n
384 }
385 }), u.prototype["catch"] = function(t) {
386 return this.then(null, t)
387 }, u.prototype = Object.create(u.prototype, {
388 constructor: {
389 value: r
390 }
391 }), s(Object.getOwnPropertyNames(u), function(t, e) {
392 try {
393 r[e] = u[e]
394 } catch (n) {}
395 }), o.wrapInPlace(u.prototype, "then", function(t) {
396 return function() {
397 var e = this,
398 n = o.argsToArray.apply(this, arguments),
399 r = a(e);
400 r.promise = e, n[0] = c(n[0], "cb-", r, null, !1), n[1] = c(n[1], "cb-", r, null, !1);
401 var s = t.apply(this, n);
402 return r.nextPromise = s, i.emit("propagate", [e, !0], s, !1, !1), s
403 }
404 }), i.on("executor-start", function(t) {
405 t[0] = c(t[0], "resolve-", this, null, !1), t[1] = c(t[1], "resolve-", this, null, !1)
406 }), i.on("executor-err", function(t, e, n) {
407 t[1](n)
408 }), i.on("cb-end", function(t, e, n) {
409 i.emit("propagate", [n, !0], this.nextPromise, !1, !1)
410 }), i.on("propagate", function(t, e, n) {
411 this.getCtx && !e || (this.getCtx = function() {
412 if (t instanceof Promise) var e = i.context(t);
413 return e && e.getCtx ? e.getCtx() : this
414 })
415 }), r.toString = function() {
416 return "" + u
417 })
418 }, {}],
419 12: [function(t, e, n) {
420 var r = t("ee").get("raf"),
421 o = t("wrap-function")(r),
422 i = "equestAnimationFrame";
423 e.exports = r, o.inPlace(window, ["r" + i, "mozR" + i, "webkitR" + i, "msR" + i], "raf-"), r.on("raf-start", function(t) {
424 t[0] = o(t[0], "fn-")
425 })
426 }, {}],
427 13: [function(t, e, n) {
428 function r(t, e, n) {
429 t[0] = a(t[0], "fn-", null, n)
430 }
431
432 function o(t, e, n) {
433 this.method = n, this.timerDuration = isNaN(t[1]) ? 0 : +t[1], t[0] = a(t[0], "fn-", this, n)
434 }
435 var i = t("ee").get("timer"),
436 a = t("wrap-function")(i),
437 c = "setTimeout",
438 s = "setInterval",
439 u = "clearTimeout",
440 f = "-start",
441 d = "-";
442 e.exports = i, a.inPlace(window, [c, "setImmediate"], c + d), a.inPlace(window, [s], s + d), a.inPlace(window, [u, "clearImmediate"], u + d), i.on(s + f, r), i.on(c + f, o)
443 }, {}],
444 14: [function(t, e, n) {
445 function r(t, e) {
446 d.inPlace(e, ["onreadystatechange"], "fn-", c)
447 }
448
449 function o() {
450 var t = this,
451 e = f.context(t);
452 t.readyState > 3 && !e.resolved && (e.resolved = !0, f.emit("xhr-resolved", [], t)), d.inPlace(t, g, "fn-", c)
453 }
454
455 function i(t) {
456 y.push(t), h && (b ? b.then(a) : v ? v(a) : (E = -E, R.data = E))
457 }
458
459 function a() {
460 for (var t = 0; t < y.length; t++) r([], y[t]);
461 y.length && (y = [])
462 }
463
464 function c(t, e) {
465 return e
466 }
467
468 function s(t, e) {
469 for (var n in t) e[n] = t[n];
470 return e
471 }
472 t(6);
473 var u = t("ee"),
474 f = u.get("xhr"),
475 d = t("wrap-function")(f),
476 p = NREUM.o,
477 l = p.XHR,
478 h = p.MO,
479 m = p.PR,
480 v = p.SI,
481 w = "readystatechange",
482 g = ["onload", "onerror", "onabort", "onloadstart", "onloadend", "onprogress", "ontimeout"],
483 y = [];
484 e.exports = f;
485 var x = window.XMLHttpRequest = function(t) {
486 var e = new l(t);
487 try {
488 f.emit("new-xhr", [e], e), e.addEventListener(w, o, !1)
489 } catch (n) {
490 try {
491 f.emit("internal-error", [n])
492 } catch (r) {}
493 }
494 return e
495 };
496 if (s(l, x), x.prototype = l.prototype, d.inPlace(x.prototype, ["open", "send"], "-xhr-", c), f.on("send-xhr-start", function(t, e) {
497 r(t, e), i(e)
498 }), f.on("open-xhr-start", r), h) {
499 var b = m && m.resolve();
500 if (!v && !m) {
501 var E = 1,
502 R = document.createTextNode(E);
503 new h(a).observe(R, {
504 characterData: !0
505 })
506 }
507 } else u.on("fn-end", function(t) {
508 t[0] && t[0].type === w || a()
509 })
510 }, {}],
511 15: [function(t, e, n) {
512 function r(t) {
513 if (!c(t)) return null;
514 var e = window.NREUM;
515 if (!e.loader_config) return null;
516 var n = (e.loader_config.accountID || "").toString() || null,
517 r = (e.loader_config.agentID || "").toString() || null,
518 u = (e.loader_config.trustKey || "").toString() || null;
519 if (!n || !r) return null;
520 var h = l.generateSpanId(),
521 m = l.generateTraceId(),
522 v = Date.now(),
523 w = {
524 spanId: h,
525 traceId: m,
526 timestamp: v
527 };
528 return (t.sameOrigin || s(t) && p()) && (w.traceContextParentHeader = o(h, m), w.traceContextStateHeader = i(h, v, n, r, u)), (t.sameOrigin && !f() || !t.sameOrigin && s(t) && d()) && (w.newrelicHeader = a(h, m, v, n, r, u)), w
529 }
530
531 function o(t, e) {
532 return "00-" + e + "-" + t + "-01"
533 }
534
535 function i(t, e, n, r, o) {
536 var i = 0,
537 a = "",
538 c = 1,
539 s = "",
540 u = "";
541 return o + "@nr=" + i + "-" + c + "-" + n + "-" + r + "-" + t + "-" + a + "-" + s + "-" + u + "-" + e
542 }
543
544 function a(t, e, n, r, o, i) {
545 var a = "btoa" in window && "function" == typeof window.btoa;
546 if (!a) return null;
547 var c = {
548 v: [0, 1],
549 d: {
550 ty: "Browser",
551 ac: r,
552 ap: o,
553 id: t,
554 tr: e,
555 ti: n
556 }
557 };
558 return i && r !== i && (c.d.tk = i), btoa(JSON.stringify(c))
559 }
560
561 function c(t) {
562 return u() && s(t)
563 }
564
565 function s(t) {
566 var e = !1,
567 n = {};
568 if ("init" in NREUM && "distributed_tracing" in NREUM.init && (n = NREUM.init.distributed_tracing), t.sameOrigin) e = !0;
569 else if (n.allowed_origins instanceof Array)
570 for (var r = 0; r < n.allowed_origins.length; r++) {
571 var o = h(n.allowed_origins[r]);
572 if (t.hostname === o.hostname && t.protocol === o.protocol && t.port === o.port) {
573 e = !0;
574 break
575 }
576 }
577 return e
578 }
579
580 function u() {
581 return "init" in NREUM && "distributed_tracing" in NREUM.init && !!NREUM.init.distributed_tracing.enabled
582 }
583
584 function f() {
585 return "init" in NREUM && "distributed_tracing" in NREUM.init && !!NREUM.init.distributed_tracing.exclude_newrelic_header
586 }
587
588 function d() {
589 return "init" in NREUM && "distributed_tracing" in NREUM.init && NREUM.init.distributed_tracing.cors_use_newrelic_header !== !1
590 }
591
592 function p() {
593 return "init" in NREUM && "distributed_tracing" in NREUM.init && !!NREUM.init.distributed_tracing.cors_use_tracecontext_headers
594 }
595 var l = t(25),
596 h = t(17);
597 e.exports = {
598 generateTracePayload: r,
599 shouldGenerateTrace: c
600 }
601 }, {}],
602 16: [function(t, e, n) {
603 function r(t) {
604 var e = this.params,
605 n = this.metrics;
606 if (!this.ended) {
607 this.ended = !0;
608 for (var r = 0; r < p; r++) t.removeEventListener(d[r], this.listener, !1);
609 e.aborted || (n.duration = a.now() - this.startTime, this.loadCaptureCalled || 4 !== t.readyState ? null == e.status && (e.status = 0) : i(this, t), n.cbTime = this.cbTime, f.emit("xhr-done", [t], t), c("xhr", [e, n, this.startTime]))
610 }
611 }
612
613 function o(t, e) {
614 var n = s(e),
615 r = t.params;
616 r.host = n.hostname + ":" + n.port, r.pathname = n.pathname, t.parsedOrigin = s(e), t.sameOrigin = t.parsedOrigin.sameOrigin
617 }
618
619 function i(t, e) {
620 t.params.status = e.status;
621 var n = v(e, t.lastSize);
622 if (n && (t.metrics.rxSize = n), t.sameOrigin) {
623 var r = e.getResponseHeader("X-NewRelic-App-Data");
624 r && (t.params.cat = r.split(", ").pop())
625 }
626 t.loadCaptureCalled = !0
627 }
628 var a = t("loader");
629 if (a.xhrWrappable) {
630 var c = t("handle"),
631 s = t(17),
632 u = t(15).generateTracePayload,
633 f = t("ee"),
634 d = ["load", "error", "abort", "timeout"],
635 p = d.length,
636 l = t("id"),
637 h = t(21),
638 m = t(20),
639 v = t(18),
640 w = window.XMLHttpRequest;
641 a.features.xhr = !0, t(14), t(7), f.on("new-xhr", function(t) {
642 var e = this;
643 e.totalCbs = 0, e.called = 0, e.cbTime = 0, e.end = r, e.ended = !1, e.xhrGuids = {}, e.lastSize = null, e.loadCaptureCalled = !1, t.addEventListener("load", function(n) {
644 i(e, t)
645 }, !1), h && (h > 34 || h < 10) || window.opera || t.addEventListener("progress", function(t) {
646 e.lastSize = t.loaded
647 }, !1)
648 }), f.on("open-xhr-start", function(t) {
649 this.params = {
650 method: t[0]
651 }, o(this, t[1]), this.metrics = {}
652 }), f.on("open-xhr-end", function(t, e) {
653 "loader_config" in NREUM && "xpid" in NREUM.loader_config && this.sameOrigin && e.setRequestHeader("X-NewRelic-ID", NREUM.loader_config.xpid);
654 var n = u(this.parsedOrigin);
655 if (n) {
656 var r = !1;
657 n.newrelicHeader && (e.setRequestHeader("newrelic", n.newrelicHeader), r = !0), n.traceContextParentHeader && (e.setRequestHeader("traceparent", n.traceContextParentHeader), n.traceContextStateHeader && e.setRequestHeader("tracestate", n.traceContextStateHeader), r = !0), r && (this.dt = n)
658 }
659 }), f.on("send-xhr-start", function(t, e) {
660 var n = this.metrics,
661 r = t[0],
662 o = this;
663 if (n && r) {
664 var i = m(r);
665 i && (n.txSize = i)
666 }
667 this.startTime = a.now(), this.listener = function(t) {
668 try {
669 "abort" !== t.type || o.loadCaptureCalled || (o.params.aborted = !0), ("load" !== t.type || o.called === o.totalCbs && (o.onloadCalled || "function" != typeof e.onload)) && o.end(e)
670 } catch (n) {
671 try {
672 f.emit("internal-error", [n])
673 } catch (r) {}
674 }
675 };
676 for (var c = 0; c < p; c++) e.addEventListener(d[c], this.listener, !1)
677 }), f.on("xhr-cb-time", function(t, e, n) {
678 this.cbTime += t, e ? this.onloadCalled = !0 : this.called += 1, this.called !== this.totalCbs || !this.onloadCalled && "function" == typeof n.onload || this.end(n)
679 }), f.on("xhr-load-added", function(t, e) {
680 var n = "" + l(t) + !!e;
681 this.xhrGuids && !this.xhrGuids[n] && (this.xhrGuids[n] = !0, this.totalCbs += 1)
682 }), f.on("xhr-load-removed", function(t, e) {
683 var n = "" + l(t) + !!e;
684 this.xhrGuids && this.xhrGuids[n] && (delete this.xhrGuids[n], this.totalCbs -= 1)
685 }), f.on("addEventListener-end", function(t, e) {
686 e instanceof w && "load" === t[0] && f.emit("xhr-load-added", [t[1], t[2]], e)
687 }), f.on("removeEventListener-end", function(t, e) {
688 e instanceof w && "load" === t[0] && f.emit("xhr-load-removed", [t[1], t[2]], e)
689 }), f.on("fn-start", function(t, e, n) {
690 e instanceof w && ("onload" === n && (this.onload = !0), ("load" === (t[0] && t[0].type) || this.onload) && (this.xhrCbStart = a.now()))
691 }), f.on("fn-end", function(t, e) {
692 this.xhrCbStart && f.emit("xhr-cb-time", [a.now() - this.xhrCbStart, this.onload, e], e)
693 }), f.on("fetch-before-start", function(t) {
694 function e(t, e) {
695 var n = !1;
696 return e.newrelicHeader && (t.set("newrelic", e.newrelicHeader), n = !0), e.traceContextParentHeader && (t.set("traceparent", e.traceContextParentHeader), e.traceContextStateHeader && t.set("tracestate", e.traceContextStateHeader), n = !0), n
697 }
698 var n, r = t[1] || {};
699 "string" == typeof t[0] ? n = t[0] : t[0] && t[0].url ? n = t[0].url : window.URL && t[0] && t[0] instanceof URL && (n = t[0].href), n && (this.parsedOrigin = s(n), this.sameOrigin = this.parsedOrigin.sameOrigin);
700 var o = u(this.parsedOrigin);
701 if (o && (o.newrelicHeader || o.traceContextParentHeader))
702 if ("string" == typeof t[0] || window.URL && t[0] && t[0] instanceof URL) {
703 var i = {};
704 for (var a in r) i[a] = r[a];
705 i.headers = new Headers(r.headers || {}), e(i.headers, o) && (this.dt = o), t.length > 1 ? t[1] = i : t.push(i)
706 } else t[0] && t[0].headers && e(t[0].headers, o) && (this.dt = o)
707 })
708 }
709 }, {}],
710 17: [function(t, e, n) {
711 var r = {};
712 e.exports = function(t) {
713 if (t in r) return r[t];
714 var e = document.createElement("a"),
715 n = window.location,
716 o = {};
717 e.href = t, o.port = e.port;
718 var i = e.href.split("://");
719 !o.port && i[1] && (o.port = i[1].split("/")[0].split("@").pop().split(":")[1]), o.port && "0" !== o.port || (o.port = "https" === i[0] ? "443" : "80"), o.hostname = e.hostname || n.hostname, o.pathname = e.pathname, o.protocol = i[0], "/" !== o.pathname.charAt(0) && (o.pathname = "/" + o.pathname);
720 var a = !e.protocol || ":" === e.protocol || e.protocol === n.protocol,
721 c = e.hostname === document.domain && e.port === n.port;
722 return o.sameOrigin = a && (!e.hostname || c), "/" === o.pathname && (r[t] = o), o
723 }
724 }, {}],
725 18: [function(t, e, n) {
726 function r(t, e) {
727 var n = t.responseType;
728 return "json" === n && null !== e ? e : "arraybuffer" === n || "blob" === n || "json" === n ? o(t.response) : "text" === n || "" === n || void 0 === n ? o(t.responseText) : void 0
729 }
730 var o = t(20);
731 e.exports = r
732 }, {}],
733 19: [function(t, e, n) {
734 function r() {}
735
736 function o(t, e, n) {
737 return function() {
738 return i(t, [u.now()].concat(c(arguments)), e ? null : this, n), e ? void 0 : this
739 }
740 }
741 var i = t("handle"),
742 a = t(28),
743 c = t(29),
744 s = t("ee").get("tracer"),
745 u = t("loader"),
746 f = NREUM;
747 "undefined" == typeof window.newrelic && (newrelic = f);
748 var d = ["setPageViewName", "setCustomAttribute", "setErrorHandler", "finished", "addToTrace", "inlineHit", "addRelease"],
749 p = "api-",
750 l = p + "ixn-";
751 a(d, function(t, e) {
752 f[e] = o(p + e, !0, "api")
753 }), f.addPageAction = o(p + "addPageAction", !0), f.setCurrentRouteName = o(p + "routeName", !0), e.exports = newrelic, f.interaction = function() {
754 return (new r).get()
755 };
756 var h = r.prototype = {
757 createTracer: function(t, e) {
758 var n = {},
759 r = this,
760 o = "function" == typeof e;
761 return i(l + "tracer", [u.now(), t, n], r),
762 function() {
763 if (s.emit((o ? "" : "no-") + "fn-start", [u.now(), r, o], n), o) try {
764 return e.apply(this, arguments)
765 } catch (t) {
766 throw s.emit("fn-err", [arguments, this, t], n), t
767 } finally {
768 s.emit("fn-end", [u.now()], n)
769 }
770 }
771 }
772 };
773 a("actionText,setName,setAttribute,save,ignore,onEnd,getContext,end,get".split(","), function(t, e) {
774 h[e] = o(l + e)
775 }), newrelic.noticeError = function(t, e) {
776 "string" == typeof t && (t = new Error(t)), i("err", [t, u.now(), !1, e])
777 }
778 }, {}],
779 20: [function(t, e, n) {
780 e.exports = function(t) {
781 if ("string" == typeof t && t.length) return t.length;
782 if ("object" == typeof t) {
783 if ("undefined" != typeof ArrayBuffer && t instanceof ArrayBuffer && t.byteLength) return t.byteLength;
784 if ("undefined" != typeof Blob && t instanceof Blob && t.size) return t.size;
785 if (!("undefined" != typeof FormData && t instanceof FormData)) try {
786 return JSON.stringify(t).length
787 } catch (e) {
788 return
789 }
790 }
791 }
792 }, {}],
793 21: [function(t, e, n) {
794 var r = 0,
795 o = navigator.userAgent.match(/Firefox[\/\s](\d+\.\d+)/);
796 o && (r = +o[1]), e.exports = r
797 }, {}],
798 22: [function(t, e, n) {
799 function r() {
800 return c.exists && performance.now ? Math.round(performance.now()) : (i = Math.max((new Date).getTime(), i)) - a
801 }
802
803 function o() {
804 return i
805 }
806 var i = (new Date).getTime(),
807 a = i,
808 c = t(30);
809 e.exports = r, e.exports.offset = a, e.exports.getLastTimestamp = o
810 }, {}],
811 23: [function(t, e, n) {
812 function r(t) {
813 return !(!t || !t.protocol || "file:" === t.protocol)
814 }
815 e.exports = r
816 }, {}],
817 24: [function(t, e, n) {
818 function r(t, e) {
819 var n = t.getEntries();
820 n.forEach(function(t) {
821 "first-paint" === t.name ? d("timing", ["fp", Math.floor(t.startTime)]) : "first-contentful-paint" === t.name && d("timing", ["fcp", Math.floor(t.startTime)])
822 })
823 }
824
825 function o(t, e) {
826 var n = t.getEntries();
827 n.length > 0 && d("lcp", [n[n.length - 1]])
828 }
829
830 function i(t) {
831 t.getEntries().forEach(function(t) {
832 t.hadRecentInput || d("cls", [t])
833 })
834 }
835
836 function a(t) {
837 if (t instanceof h && !v) {
838 var e = Math.round(t.timeStamp),
839 n = {
840 type: t.type
841 };
842 e <= p.now() ? n.fid = p.now() - e : e > p.offset && e <= Date.now() ? (e -= p.offset, n.fid = p.now() - e) : e = p.now(), v = !0, d("timing", ["fi", e, n])
843 }
844 }
845
846 function c(t) {
847 d("pageHide", [p.now(), t])
848 }
849 if (!("init" in NREUM && "page_view_timing" in NREUM.init && "enabled" in NREUM.init.page_view_timing && NREUM.init.page_view_timing.enabled === !1)) {
850 var s, u, f, d = t("handle"),
851 p = t("loader"),
852 l = t(27),
853 h = NREUM.o.EV;
854 if ("PerformanceObserver" in window && "function" == typeof window.PerformanceObserver) {
855 s = new PerformanceObserver(r);
856 try {
857 s.observe({
858 entryTypes: ["paint"]
859 })
860 } catch (m) {}
861 u = new PerformanceObserver(o);
862 try {
863 u.observe({
864 entryTypes: ["largest-contentful-paint"]
865 })
866 } catch (m) {}
867 f = new PerformanceObserver(i);
868 try {
869 f.observe({
870 type: "layout-shift",
871 buffered: !0
872 })
873 } catch (m) {}
874 }
875 if ("addEventListener" in document) {
876 var v = !1,
877 w = ["click", "keydown", "mousedown", "pointerdown", "touchstart"];
878 w.forEach(function(t) {
879 document.addEventListener(t, a, !1)
880 })
881 }
882 l(c)
883 }
884 }, {}],
885 25: [function(t, e, n) {
886 function r() {
887 function t() {
888 return e ? 15 & e[n++] : 16 * Math.random() | 0
889 }
890 var e = null,
891 n = 0,
892 r = window.crypto || window.msCrypto;
893 r && r.getRandomValues && (e = r.getRandomValues(new Uint8Array(31)));
894 for (var o, i = "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx", a = "", c = 0; c < i.length; c++) o = i[c], "x" === o ? a += t().toString(16) : "y" === o ? (o = 3 & t() | 8, a += o.toString(16)) : a += o;
895 return a
896 }
897
898 function o() {
899 return a(16)
900 }
901
902 function i() {
903 return a(32)
904 }
905
906 function a(t) {
907 function e() {
908 return n ? 15 & n[r++] : 16 * Math.random() | 0
909 }
910 var n = null,
911 r = 0,
912 o = window.crypto || window.msCrypto;
913 o && o.getRandomValues && Uint8Array && (n = o.getRandomValues(new Uint8Array(31)));
914 for (var i = [], a = 0; a < t; a++) i.push(e().toString(16));
915 return i.join("")
916 }
917 e.exports = {
918 generateUuid: r,
919 generateSpanId: o,
920 generateTraceId: i
921 }
922 }, {}],
923 26: [function(t, e, n) {
924 function r(t, e) {
925 if (!o) return !1;
926 if (t !== o) return !1;
927 if (!e) return !0;
928 if (!i) return !1;
929 for (var n = i.split("."), r = e.split("."), a = 0; a < r.length; a++)
930 if (r[a] !== n[a]) return !1;
931 return !0
932 }
933 var o = null,
934 i = null,
935 a = /Version\/(\S+)\s+Safari/;
936 if (navigator.userAgent) {
937 var c = navigator.userAgent,
938 s = c.match(a);
939 s && c.indexOf("Chrome") === -1 && c.indexOf("Chromium") === -1 && (o = "Safari", i = s[1])
940 }
941 e.exports = {
942 agent: o,
943 version: i,
944 match: r
945 }
946 }, {}],
947 27: [function(t, e, n) {
948 function r(t) {
949 function e() {
950 t(a && document[a] ? document[a] : document[o] ? "hidden" : "visible")
951 }
952 "addEventListener" in document && i && document.addEventListener(i, e, !1)
953 }
954 e.exports = r;
955 var o, i, a;
956 "undefined" != typeof document.hidden ? (o = "hidden", i = "visibilitychange", a = "visibilityState") : "undefined" != typeof document.msHidden ? (o = "msHidden", i = "msvisibilitychange") : "undefined" != typeof document.webkitHidden && (o = "webkitHidden", i = "webkitvisibilitychange", a = "webkitVisibilityState")
957 }, {}],
958 28: [function(t, e, n) {
959 function r(t, e) {
960 var n = [],
961 r = "",
962 i = 0;
963 for (r in t) o.call(t, r) && (n[i] = e(r, t[r]), i += 1);
964 return n
965 }
966 var o = Object.prototype.hasOwnProperty;
967 e.exports = r
968 }, {}],
969 29: [function(t, e, n) {
970 function r(t, e, n) {
971 e || (e = 0), "undefined" == typeof n && (n = t ? t.length : 0);
972 for (var r = -1, o = n - e || 0, i = Array(o < 0 ? 0 : o); ++r < o;) i[r] = t[e + r];
973 return i
974 }
975 e.exports = r
976 }, {}],
977 30: [function(t, e, n) {
978 e.exports = {
979 exists: "undefined" != typeof window.performance && window.performance.timing && "undefined" != typeof window.performance.timing.navigationStart
980 }
981 }, {}],
982 ee: [function(t, e, n) {
983 function r() {}
984
985 function o(t) {
986 function e(t) {
987 return t && t instanceof r ? t : t ? u(t, s, a) : a()
988 }
989
990 function n(n, r, o, i, a) {
991 if (a !== !1 && (a = !0), !l.aborted || i) {
992 t && a && t(n, r, o);
993 for (var c = e(o), s = m(n), u = s.length, f = 0; f < u; f++) s[f].apply(c, r);
994 var p = d[y[n]];
995 return p && p.push([x, n, r, c]), c
996 }
997 }
998
999 function i(t, e) {
1000 g[t] = m(t).concat(e)
1001 }
1002
1003 function h(t, e) {
1004 var n = g[t];
1005 if (n)
1006 for (var r = 0; r < n.length; r++) n[r] === e && n.splice(r, 1)
1007 }
1008
1009 function m(t) {
1010 return g[t] || []
1011 }
1012
1013 function v(t) {
1014 return p[t] = p[t] || o(n)
1015 }
1016
1017 function w(t, e) {
1018 f(t, function(t, n) {
1019 e = e || "feature", y[n] = e, e in d || (d[e] = [])
1020 })
1021 }
1022 var g = {},
1023 y = {},
1024 x = {
1025 on: i,
1026 addEventListener: i,
1027 removeEventListener: h,
1028 emit: n,
1029 get: v,
1030 listeners: m,
1031 context: e,
1032 buffer: w,
1033 abort: c,
1034 aborted: !1
1035 };
1036 return x
1037 }
1038
1039 function i(t) {
1040 return u(t, s, a)
1041 }
1042
1043 function a() {
1044 return new r
1045 }
1046
1047 function c() {
1048 (d.api || d.feature) && (l.aborted = !0, d = l.backlog = {})
1049 }
1050 var s = "nr@context",
1051 u = t("gos"),
1052 f = t(28),
1053 d = {},
1054 p = {},
1055 l = e.exports = o();
1056 e.exports.getOrSetContext = i, l.backlog = d
1057 }, {}],
1058 gos: [function(t, e, n) {
1059 function r(t, e, n) {
1060 if (o.call(t, e)) return t[e];
1061 var r = n();
1062 if (Object.defineProperty && Object.keys) try {
1063 return Object.defineProperty(t, e, {
1064 value: r,
1065 writable: !0,
1066 enumerable: !1
1067 }), r
1068 } catch (i) {}
1069 return t[e] = r, r
1070 }
1071 var o = Object.prototype.hasOwnProperty;
1072 e.exports = r
1073 }, {}],
1074 handle: [function(t, e, n) {
1075 function r(t, e, n, r) {
1076 o.buffer([t], r), o.emit(t, e, n)
1077 }
1078 var o = t("ee").get("handle");
1079 e.exports = r, r.ee = o
1080 }, {}],
1081 id: [function(t, e, n) {
1082 function r(t) {
1083 var e = typeof t;
1084 return !t || "object" !== e && "function" !== e ? -1 : t === window ? 0 : a(t, i, function() {
1085 return o++
1086 })
1087 }
1088 var o = 1,
1089 i = "nr@id",
1090 a = t("gos");
1091 e.exports = r
1092 }, {}],
1093 loader: [function(t, e, n) {
1094 function r() {
1095 if (!E++) {
1096 var t = b.info = NREUM.info,
1097 e = l.getElementsByTagName("script")[0];
1098 if (setTimeout(u.abort, 3e4), !(t && t.licenseKey && t.applicationID && e)) return u.abort();
1099 s(y, function(e, n) {
1100 t[e] || (t[e] = n)
1101 });
1102 var n = a();
1103 c("mark", ["onload", n + b.offset], null, "api"), c("timing", ["load", n]);
1104 var r = l.createElement("script");
1105 r.src = "https://" + t.agent, e.parentNode.insertBefore(r, e)
1106 }
1107 }
1108
1109 function o() {
1110 "complete" === l.readyState && i()
1111 }
1112
1113 function i() {
1114 c("mark", ["domContent", a() + b.offset], null, "api")
1115 }
1116 var a = t(22),
1117 c = t("handle"),
1118 s = t(28),
1119 u = t("ee"),
1120 f = t(26),
1121 d = t(23),
1122 p = window,
1123 l = p.document,
1124 h = "addEventListener",
1125 m = "attachEvent",
1126 v = p.XMLHttpRequest,
1127 w = v && v.prototype;
1128 if (d(p.location)) {
1129 NREUM.o = {
1130 ST: setTimeout,
1131 SI: p.setImmediate,
1132 CT: clearTimeout,
1133 XHR: v,
1134 REQ: p.Request,
1135 EV: p.Event,
1136 PR: p.Promise,
1137 MO: p.MutationObserver
1138 };
1139 var g = "" + location,
1140 y = {
1141 beacon: "bam.nr-data.net",
1142 errorBeacon: "bam.nr-data.net",
1143 agent: "js-agent.newrelic.com/nr-spa-1208.min.js"
1144 },
1145 x = v && w && w[h] && !/CriOS/.test(navigator.userAgent),
1146 b = e.exports = {
1147 offset: a.getLastTimestamp(),
1148 now: a,
1149 origin: g,
1150 features: {},
1151 xhrWrappable: x,
1152 userAgent: f
1153 };
1154 t(19), t(24), l[h] ? (l[h]("DOMContentLoaded", i, !1), p[h]("load", r, !1)) : (l[m]("onreadystatechange", o), p[m]("onload", r)), c("mark", ["firstbyte", a.getLastTimestamp()], null, "api");
1155 var E = 0
1156 }
1157 }, {}],
1158 "wrap-function": [function(t, e, n) {
1159 function r(t, e) {
1160 function n(e, n, r, s, u) {
1161 function nrWrapper() {
1162 var i, a, f, p;
1163 try {
1164 a = this, i = d(arguments), f = "function" == typeof r ? r(i, a) : r || {}
1165 } catch (l) {
1166 o([l, "", [i, a, s], f], t)
1167 }
1168 c(n + "start", [i, a, s], f, u);
1169 try {
1170 return p = e.apply(a, i)
1171 } catch (h) {
1172 throw c(n + "err", [i, a, h], f, u), h
1173 } finally {
1174 c(n + "end", [i, a, p], f, u)
1175 }
1176 }
1177 return a(e) ? e : (n || (n = ""), nrWrapper[p] = e, i(e, nrWrapper, t), nrWrapper)
1178 }
1179
1180 function r(t, e, r, o, i) {
1181 r || (r = "");
1182 var c, s, u, f = "-" === r.charAt(0);
1183 for (u = 0; u < e.length; u++) s = e[u], c = t[s], a(c) || (t[s] = n(c, f ? s + r : r, o, s, i))
1184 }
1185
1186 function c(n, r, i, a) {
1187 if (!h || e) {
1188 var c = h;
1189 h = !0;
1190 try {
1191 t.emit(n, r, i, e, a)
1192 } catch (s) {
1193 o([s, n, r, i], t)
1194 }
1195 h = c
1196 }
1197 }
1198 return t || (t = f), n.inPlace = r, n.flag = p, n
1199 }
1200
1201 function o(t, e) {
1202 e || (e = f);
1203 try {
1204 e.emit("internal-error", t)
1205 } catch (n) {}
1206 }
1207
1208 function i(t, e, n) {
1209 if (Object.defineProperty && Object.keys) try {
1210 var r = Object.keys(t);
1211 return r.forEach(function(n) {
1212 Object.defineProperty(e, n, {
1213 get: function() {
1214 return t[n]
1215 },
1216 set: function(e) {
1217 return t[n] = e, e
1218 }
1219 })
1220 }), e
1221 } catch (i) {
1222 o([i], n)
1223 }
1224 for (var a in t) l.call(t, a) && (e[a] = t[a]);
1225 return e
1226 }
1227
1228 function a(t) {
1229 return !(t && t instanceof Function && t.apply && !t[p])
1230 }
1231
1232 function c(t, e) {
1233 var n = e(t);
1234 return n[p] = t, i(t, n, f), n
1235 }
1236
1237 function s(t, e, n) {
1238 var r = t[e];
1239 t[e] = c(r, n)
1240 }
1241
1242 function u() {
1243 for (var t = arguments.length, e = new Array(t), n = 0; n < t; ++n) e[n] = arguments[n];
1244 return e
1245 }
1246 var f = t("ee"),
1247 d = t(29),
1248 p = "nr@original",
1249 l = Object.prototype.hasOwnProperty,
1250 h = !1;
1251 e.exports = r, e.exports.wrapFunction = c, e.exports.wrapInPlace = s, e.exports.argsToArray = u
1252 }, {}]
1253}, {}, ["loader", 2, 16, 5, 3, 4]);