Created
October 29, 2020 00:06
-
-
Save miketaylr/8c525fb45526554a24369f312210b90d to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| window.NREUM || (NREUM = {}); | |
| NREUM.info = { | |
| beacon: "bam-cell.nr-data.net", | |
| errorBeacon: "bam-cell.nr-data.net", | |
| licenseKey: "2d3ab7f8d6", | |
| applicationID: "1341859", | |
| transactionName: "blFbbUQEWEBZUkRcClcbdG91Sn5cVVRzWgtNRlZVWgBEHHFfVFAd", | |
| queueTime: 0, | |
| applicationTime: 146, | |
| agent: "", | |
| atts: "", | |
| }(window.NREUM || (NREUM = {})).loader_config = { | |
| xpid: "VgEFU1BXGwIDUFBaAgg=", | |
| licenseKey: "2d3ab7f8d6", | |
| applicationID: "1341859", | |
| }; | |
| window.NREUM || (NREUM = {}), | |
| (__nr_require = (function (t, e, n) { | |
| function r(n) { | |
| if (!e[n]) { | |
| var i = (e[n] = { exports: {} }); | |
| t[n][0].call( | |
| i.exports, | |
| function (e) { | |
| var i = t[n][1][e]; | |
| return r(i || e); | |
| }, | |
| i, | |
| i.exports | |
| ); | |
| } | |
| return e[n].exports; | |
| } | |
| if ("function" == typeof __nr_require) return __nr_require; | |
| for (var i = 0; i < n.length; i++) r(n[i]); | |
| return r; | |
| })( | |
| { | |
| 1: [ | |
| function (t, e, n) { | |
| function r(t) { | |
| try { | |
| c.console && console.log(t); | |
| } catch (e) {} | |
| } | |
| var i, | |
| o = t("ee"), | |
| a = t(23), | |
| c = {}; | |
| try { | |
| (i = localStorage.getItem("__nr_flags").split(",")), | |
| console && | |
| "function" == typeof console.log && | |
| ((c.console = !0), | |
| i.indexOf("dev") !== -1 && (c.dev = !0), | |
| i.indexOf("nr_dev") !== -1 && (c.nrDev = !0)); | |
| } catch (s) {} | |
| c.nrDev && | |
| o.on("internal-error", function (t) { | |
| r(t.stack); | |
| }), | |
| c.dev && | |
| o.on("fn-err", function (t, e, n) { | |
| r(n.stack); | |
| }), | |
| c.dev && | |
| (r("NR AGENT IN DEVELOPMENT MODE"), | |
| r( | |
| "flags: " + | |
| a(c, function (t, e) { | |
| return t; | |
| }).join(", ") | |
| )); | |
| }, | |
| {}, | |
| ], | |
| 2: [ | |
| function (t, e, n) { | |
| function r(t, e, n, r, c) { | |
| try { | |
| p ? (p -= 1) : i(c || new UncaughtException(t, e, n), !0); | |
| } catch (f) { | |
| try { | |
| o("ierr", [f, s.now(), !0]); | |
| } catch (d) {} | |
| } | |
| return "function" == typeof u && u.apply(this, a(arguments)); | |
| } | |
| function UncaughtException(t, e, n) { | |
| (this.message = | |
| t || "Uncaught error with no additional information"), | |
| (this.sourceURL = e), | |
| (this.line = n); | |
| } | |
| function i(t, e) { | |
| var n = e ? null : s.now(); | |
| o("err", [t, n]); | |
| } | |
| var o = t("handle"), | |
| a = t(24), | |
| c = t("ee"), | |
| s = t("loader"), | |
| f = t("gos"), | |
| u = window.onerror, | |
| d = !1, | |
| l = "nr@seenError", | |
| p = 0; | |
| (s.features.err = !0), t(1), (window.onerror = r); | |
| try { | |
| throw new Error(); | |
| } catch (h) { | |
| "stack" in h && | |
| (t(9), | |
| t(8), | |
| "addEventListener" in window && t(5), | |
| s.xhrWrappable && t(10), | |
| (d = !0)); | |
| } | |
| c.on("fn-start", function (t, e, n) { | |
| d && (p += 1); | |
| }), | |
| c.on("fn-err", function (t, e, n) { | |
| d && | |
| !n[l] && | |
| (f(n, l, function () { | |
| return !0; | |
| }), | |
| (this.thrown = !0), | |
| i(n)); | |
| }), | |
| c.on("fn-end", function () { | |
| d && !this.thrown && p > 0 && (p -= 1); | |
| }), | |
| c.on("internal-error", function (t) { | |
| o("ierr", [t, s.now(), !0]); | |
| }); | |
| }, | |
| {}, | |
| ], | |
| 3: [ | |
| function (t, e, n) { | |
| t("loader").features.ins = !0; | |
| }, | |
| {}, | |
| ], | |
| 4: [ | |
| function (t, e, n) { | |
| function r(t) {} | |
| if ( | |
| window.performance && | |
| window.performance.timing && | |
| window.performance.getEntriesByType | |
| ) { | |
| var i = t("ee"), | |
| o = t("handle"), | |
| a = t(9), | |
| c = t(8), | |
| s = "learResourceTimings", | |
| f = "addEventListener", | |
| u = "resourcetimingbufferfull", | |
| d = "bstResource", | |
| l = "resource", | |
| p = "-start", | |
| h = "-end", | |
| m = "fn" + p, | |
| w = "fn" + h, | |
| v = "bstTimer", | |
| g = "pushState", | |
| y = t("loader"); | |
| (y.features.stn = !0), t(7), "addEventListener" in window && t(5); | |
| var x = NREUM.o.EV; | |
| i.on(m, function (t, e) { | |
| var n = t[0]; | |
| n instanceof x && (this.bstStart = y.now()); | |
| }), | |
| i.on(w, function (t, e) { | |
| var n = t[0]; | |
| n instanceof x && o("bst", [n, e, this.bstStart, y.now()]); | |
| }), | |
| a.on(m, function (t, e, n) { | |
| (this.bstStart = y.now()), (this.bstType = n); | |
| }), | |
| a.on(w, function (t, e) { | |
| o(v, [e, this.bstStart, y.now(), this.bstType]); | |
| }), | |
| c.on(m, function () { | |
| this.bstStart = y.now(); | |
| }), | |
| c.on(w, function (t, e) { | |
| o(v, [e, this.bstStart, y.now(), "requestAnimationFrame"]); | |
| }), | |
| i.on(g + p, function (t) { | |
| (this.time = y.now()), | |
| (this.startPath = location.pathname + location.hash); | |
| }), | |
| i.on(g + h, function (t) { | |
| o("bstHist", [ | |
| location.pathname + location.hash, | |
| this.startPath, | |
| this.time, | |
| ]); | |
| }), | |
| f in window.performance && | |
| (window.performance["c" + s] | |
| ? window.performance[f]( | |
| u, | |
| function (t) { | |
| o(d, [window.performance.getEntriesByType(l)]), | |
| window.performance["c" + s](); | |
| }, | |
| !1 | |
| ) | |
| : window.performance[f]( | |
| "webkit" + u, | |
| function (t) { | |
| o(d, [window.performance.getEntriesByType(l)]), | |
| window.performance["webkitC" + s](); | |
| }, | |
| !1 | |
| )), | |
| document[f]("scroll", r, { passive: !0 }), | |
| document[f]("keypress", r, !1), | |
| document[f]("click", r, !1); | |
| } | |
| }, | |
| {}, | |
| ], | |
| 5: [ | |
| function (t, e, n) { | |
| function r(t) { | |
| for (var e = t; e && !e.hasOwnProperty(u); ) | |
| e = Object.getPrototypeOf(e); | |
| e && i(e); | |
| } | |
| function i(t) { | |
| c.inPlace(t, [u, d], "-", o); | |
| } | |
| function o(t, e) { | |
| return t[1]; | |
| } | |
| var a = t("ee").get("events"), | |
| c = t("wrap-function")(a, !0), | |
| s = t("gos"), | |
| f = XMLHttpRequest, | |
| u = "addEventListener", | |
| d = "removeEventListener"; | |
| (e.exports = a), | |
| "getPrototypeOf" in Object | |
| ? (r(document), r(window), r(f.prototype)) | |
| : f.prototype.hasOwnProperty(u) && (i(window), i(f.prototype)), | |
| a.on(u + "-start", function (t, e) { | |
| var n = t[1], | |
| r = s(n, "nr@wrapped", function () { | |
| function t() { | |
| if ("function" == typeof n.handleEvent) | |
| return n.handleEvent.apply(n, arguments); | |
| } | |
| var e = { object: t, function: n }[typeof n]; | |
| return e ? c(e, "fn-", null, e.name || "anonymous") : n; | |
| }); | |
| this.wrapped = t[1] = r; | |
| }), | |
| a.on(d + "-start", function (t) { | |
| t[1] = this.wrapped || t[1]; | |
| }); | |
| }, | |
| {}, | |
| ], | |
| 6: [ | |
| function (t, e, n) { | |
| function r(t, e, n) { | |
| var r = t[e]; | |
| "function" == typeof r && | |
| (t[e] = function () { | |
| var t = o(arguments), | |
| e = {}; | |
| i.emit(n + "before-start", [t], e); | |
| var a; | |
| e[m] && e[m].dt && (a = e[m].dt); | |
| var c = r.apply(this, t); | |
| return ( | |
| i.emit(n + "start", [t, a], c), | |
| c.then( | |
| function (t) { | |
| return i.emit(n + "end", [null, t], c), t; | |
| }, | |
| function (t) { | |
| throw (i.emit(n + "end", [t], c), t); | |
| } | |
| ) | |
| ); | |
| }); | |
| } | |
| var i = t("ee").get("fetch"), | |
| o = t(24), | |
| a = t(23); | |
| e.exports = i; | |
| var c = window, | |
| s = "fetch-", | |
| f = s + "body-", | |
| u = ["arrayBuffer", "blob", "json", "text", "formData"], | |
| d = c.Request, | |
| l = c.Response, | |
| p = c.fetch, | |
| h = "prototype", | |
| m = "nr@context"; | |
| d && | |
| l && | |
| p && | |
| (a(u, function (t, e) { | |
| r(d[h], e, f), r(l[h], e, f); | |
| }), | |
| r(c, "fetch", s), | |
| i.on(s + "end", function (t, e) { | |
| var n = this; | |
| if (e) { | |
| var r = e.headers.get("content-length"); | |
| null !== r && (n.rxSize = r), i.emit(s + "done", [null, e], n); | |
| } else i.emit(s + "done", [t], n); | |
| })); | |
| }, | |
| {}, | |
| ], | |
| 7: [ | |
| function (t, e, n) { | |
| var r = t("ee").get("history"), | |
| i = t("wrap-function")(r); | |
| e.exports = r; | |
| var o = | |
| window.history && | |
| window.history.constructor && | |
| window.history.constructor.prototype, | |
| a = window.history; | |
| o && o.pushState && o.replaceState && (a = o), | |
| i.inPlace(a, ["pushState", "replaceState"], "-"); | |
| }, | |
| {}, | |
| ], | |
| 8: [ | |
| function (t, e, n) { | |
| var r = t("ee").get("raf"), | |
| i = t("wrap-function")(r), | |
| o = "equestAnimationFrame"; | |
| (e.exports = r), | |
| i.inPlace( | |
| window, | |
| ["r" + o, "mozR" + o, "webkitR" + o, "msR" + o], | |
| "raf-" | |
| ), | |
| r.on("raf-start", function (t) { | |
| t[0] = i(t[0], "fn-"); | |
| }); | |
| }, | |
| {}, | |
| ], | |
| 9: [ | |
| function (t, e, n) { | |
| function r(t, e, n) { | |
| t[0] = a(t[0], "fn-", null, n); | |
| } | |
| function i(t, e, n) { | |
| (this.method = n), | |
| (this.timerDuration = isNaN(t[1]) ? 0 : +t[1]), | |
| (t[0] = a(t[0], "fn-", this, n)); | |
| } | |
| var o = t("ee").get("timer"), | |
| a = t("wrap-function")(o), | |
| c = "setTimeout", | |
| s = "setInterval", | |
| f = "clearTimeout", | |
| u = "-start", | |
| d = "-"; | |
| (e.exports = o), | |
| a.inPlace(window, [c, "setImmediate"], c + d), | |
| a.inPlace(window, [s], s + d), | |
| a.inPlace(window, [f, "clearImmediate"], f + d), | |
| o.on(s + u, r), | |
| o.on(c + u, i); | |
| }, | |
| {}, | |
| ], | |
| 10: [ | |
| function (t, e, n) { | |
| function r(t, e) { | |
| d.inPlace(e, ["onreadystatechange"], "fn-", c); | |
| } | |
| function i() { | |
| var t = this, | |
| e = u.context(t); | |
| t.readyState > 3 && | |
| !e.resolved && | |
| ((e.resolved = !0), u.emit("xhr-resolved", [], t)), | |
| d.inPlace(t, g, "fn-", c); | |
| } | |
| function o(t) { | |
| y.push(t), | |
| h && (b ? b.then(a) : w ? w(a) : ((E = -E), (R.data = E))); | |
| } | |
| function a() { | |
| for (var t = 0; t < y.length; t++) r([], y[t]); | |
| y.length && (y = []); | |
| } | |
| function c(t, e) { | |
| return e; | |
| } | |
| function s(t, e) { | |
| for (var n in t) e[n] = t[n]; | |
| return e; | |
| } | |
| t(5); | |
| var f = t("ee"), | |
| u = f.get("xhr"), | |
| d = t("wrap-function")(u), | |
| l = NREUM.o, | |
| p = l.XHR, | |
| h = l.MO, | |
| m = l.PR, | |
| w = l.SI, | |
| v = "readystatechange", | |
| g = [ | |
| "onload", | |
| "onerror", | |
| "onabort", | |
| "onloadstart", | |
| "onloadend", | |
| "onprogress", | |
| "ontimeout", | |
| ], | |
| y = []; | |
| e.exports = u; | |
| var x = (window.XMLHttpRequest = function (t) { | |
| var e = new p(t); | |
| try { | |
| u.emit("new-xhr", [e], e), e.addEventListener(v, i, !1); | |
| } catch (n) { | |
| try { | |
| u.emit("internal-error", [n]); | |
| } catch (r) {} | |
| } | |
| return e; | |
| }); | |
| if ( | |
| (s(p, x), | |
| (x.prototype = p.prototype), | |
| d.inPlace(x.prototype, ["open", "send"], "-xhr-", c), | |
| u.on("send-xhr-start", function (t, e) { | |
| r(t, e), o(e); | |
| }), | |
| u.on("open-xhr-start", r), | |
| h) | |
| ) { | |
| var b = m && m.resolve(); | |
| if (!w && !m) { | |
| var E = 1, | |
| R = document.createTextNode(E); | |
| new h(a).observe(R, { characterData: !0 }); | |
| } | |
| } else | |
| f.on("fn-end", function (t) { | |
| (t[0] && t[0].type === v) || a(); | |
| }); | |
| }, | |
| {}, | |
| ], | |
| 11: [ | |
| function (t, e, n) { | |
| function r(t) { | |
| if (!c(t)) return null; | |
| var e = window.NREUM; | |
| if (!e.loader_config) return null; | |
| var n = (e.loader_config.accountID || "").toString() || null, | |
| r = (e.loader_config.agentID || "").toString() || null, | |
| f = (e.loader_config.trustKey || "").toString() || null; | |
| if (!n || !r) return null; | |
| var h = p.generateSpanId(), | |
| m = p.generateTraceId(), | |
| w = Date.now(), | |
| v = { spanId: h, traceId: m, timestamp: w }; | |
| return ( | |
| (t.sameOrigin || (s(t) && l())) && | |
| ((v.traceContextParentHeader = i(h, m)), | |
| (v.traceContextStateHeader = o(h, w, n, r, f))), | |
| ((t.sameOrigin && !u()) || (!t.sameOrigin && s(t) && d())) && | |
| (v.newrelicHeader = a(h, m, w, n, r, f)), | |
| v | |
| ); | |
| } | |
| function i(t, e) { | |
| return "00-" + e + "-" + t + "-01"; | |
| } | |
| function o(t, e, n, r, i) { | |
| var o = 0, | |
| a = "", | |
| c = 1, | |
| s = "", | |
| f = ""; | |
| return ( | |
| i + | |
| "@nr=" + | |
| o + | |
| "-" + | |
| c + | |
| "-" + | |
| n + | |
| "-" + | |
| r + | |
| "-" + | |
| t + | |
| "-" + | |
| a + | |
| "-" + | |
| s + | |
| "-" + | |
| f + | |
| "-" + | |
| e | |
| ); | |
| } | |
| function a(t, e, n, r, i, o) { | |
| var a = "btoa" in window && "function" == typeof window.btoa; | |
| if (!a) return null; | |
| var c = { | |
| v: [0, 1], | |
| d: { ty: "Browser", ac: r, ap: i, id: t, tr: e, ti: n }, | |
| }; | |
| return o && r !== o && (c.d.tk = o), btoa(JSON.stringify(c)); | |
| } | |
| function c(t) { | |
| return f() && s(t); | |
| } | |
| function s(t) { | |
| var e = !1, | |
| n = {}; | |
| if ( | |
| ("init" in NREUM && | |
| "distributed_tracing" in NREUM.init && | |
| (n = NREUM.init.distributed_tracing), | |
| t.sameOrigin) | |
| ) | |
| e = !0; | |
| else if (n.allowed_origins instanceof Array) | |
| for (var r = 0; r < n.allowed_origins.length; r++) { | |
| var i = h(n.allowed_origins[r]); | |
| if ( | |
| t.hostname === i.hostname && | |
| t.protocol === i.protocol && | |
| t.port === i.port | |
| ) { | |
| e = !0; | |
| break; | |
| } | |
| } | |
| return e; | |
| } | |
| function f() { | |
| return ( | |
| "init" in NREUM && | |
| "distributed_tracing" in NREUM.init && | |
| !!NREUM.init.distributed_tracing.enabled | |
| ); | |
| } | |
| function u() { | |
| return ( | |
| "init" in NREUM && | |
| "distributed_tracing" in NREUM.init && | |
| !!NREUM.init.distributed_tracing.exclude_newrelic_header | |
| ); | |
| } | |
| function d() { | |
| return ( | |
| "init" in NREUM && | |
| "distributed_tracing" in NREUM.init && | |
| NREUM.init.distributed_tracing.cors_use_newrelic_header !== !1 | |
| ); | |
| } | |
| function l() { | |
| return ( | |
| "init" in NREUM && | |
| "distributed_tracing" in NREUM.init && | |
| !!NREUM.init.distributed_tracing.cors_use_tracecontext_headers | |
| ); | |
| } | |
| var p = t(20), | |
| h = t(13); | |
| e.exports = { generateTracePayload: r, shouldGenerateTrace: c }; | |
| }, | |
| {}, | |
| ], | |
| 12: [ | |
| function (t, e, n) { | |
| function r(t) { | |
| var e = this.params, | |
| n = this.metrics; | |
| if (!this.ended) { | |
| this.ended = !0; | |
| for (var r = 0; r < l; r++) | |
| t.removeEventListener(d[r], this.listener, !1); | |
| e.aborted || | |
| ((n.duration = a.now() - this.startTime), | |
| this.loadCaptureCalled || 4 !== t.readyState | |
| ? null == e.status && (e.status = 0) | |
| : o(this, t), | |
| (n.cbTime = this.cbTime), | |
| u.emit("xhr-done", [t], t), | |
| c("xhr", [e, n, this.startTime])); | |
| } | |
| } | |
| function i(t, e) { | |
| var n = s(e), | |
| r = t.params; | |
| (r.host = n.hostname + ":" + n.port), | |
| (r.pathname = n.pathname), | |
| (t.parsedOrigin = s(e)), | |
| (t.sameOrigin = t.parsedOrigin.sameOrigin); | |
| } | |
| function o(t, e) { | |
| t.params.status = e.status; | |
| var n = w(e, t.lastSize); | |
| if ((n && (t.metrics.rxSize = n), t.sameOrigin)) { | |
| var r = e.getResponseHeader("X-NewRelic-App-Data"); | |
| r && (t.params.cat = r.split(", ").pop()); | |
| } | |
| t.loadCaptureCalled = !0; | |
| } | |
| var a = t("loader"); | |
| if (a.xhrWrappable) { | |
| var c = t("handle"), | |
| s = t(13), | |
| f = t(11).generateTracePayload, | |
| u = t("ee"), | |
| d = ["load", "error", "abort", "timeout"], | |
| l = d.length, | |
| p = t("id"), | |
| h = t(17), | |
| m = t(16), | |
| w = t(14), | |
| v = window.XMLHttpRequest; | |
| (a.features.xhr = !0), | |
| t(10), | |
| t(6), | |
| u.on("new-xhr", function (t) { | |
| var e = this; | |
| (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) { | |
| o(e, t); | |
| }, | |
| !1 | |
| ), | |
| (h && (h > 34 || h < 10)) || | |
| window.opera || | |
| t.addEventListener( | |
| "progress", | |
| function (t) { | |
| e.lastSize = t.loaded; | |
| }, | |
| !1 | |
| ); | |
| }), | |
| u.on("open-xhr-start", function (t) { | |
| (this.params = { method: t[0] }), | |
| i(this, t[1]), | |
| (this.metrics = {}); | |
| }), | |
| u.on("open-xhr-end", function (t, e) { | |
| "loader_config" in NREUM && | |
| "xpid" in NREUM.loader_config && | |
| this.sameOrigin && | |
| e.setRequestHeader("X-NewRelic-ID", NREUM.loader_config.xpid); | |
| var n = f(this.parsedOrigin); | |
| if (n) { | |
| var r = !1; | |
| 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); | |
| } | |
| }), | |
| u.on("send-xhr-start", function (t, e) { | |
| var n = this.metrics, | |
| r = t[0], | |
| i = this; | |
| if (n && r) { | |
| var o = m(r); | |
| o && (n.txSize = o); | |
| } | |
| (this.startTime = a.now()), | |
| (this.listener = function (t) { | |
| try { | |
| "abort" !== t.type || | |
| i.loadCaptureCalled || | |
| (i.params.aborted = !0), | |
| ("load" !== t.type || | |
| (i.called === i.totalCbs && | |
| (i.onloadCalled || | |
| "function" != typeof e.onload))) && | |
| i.end(e); | |
| } catch (n) { | |
| try { | |
| u.emit("internal-error", [n]); | |
| } catch (r) {} | |
| } | |
| }); | |
| for (var c = 0; c < l; c++) | |
| e.addEventListener(d[c], this.listener, !1); | |
| }), | |
| u.on("xhr-cb-time", function (t, e, n) { | |
| (this.cbTime += t), | |
| e ? (this.onloadCalled = !0) : (this.called += 1), | |
| this.called !== this.totalCbs || | |
| (!this.onloadCalled && "function" == typeof n.onload) || | |
| this.end(n); | |
| }), | |
| u.on("xhr-load-added", function (t, e) { | |
| var n = "" + p(t) + !!e; | |
| this.xhrGuids && | |
| !this.xhrGuids[n] && | |
| ((this.xhrGuids[n] = !0), (this.totalCbs += 1)); | |
| }), | |
| u.on("xhr-load-removed", function (t, e) { | |
| var n = "" + p(t) + !!e; | |
| this.xhrGuids && | |
| this.xhrGuids[n] && | |
| (delete this.xhrGuids[n], (this.totalCbs -= 1)); | |
| }), | |
| u.on("addEventListener-end", function (t, e) { | |
| e instanceof v && | |
| "load" === t[0] && | |
| u.emit("xhr-load-added", [t[1], t[2]], e); | |
| }), | |
| u.on("removeEventListener-end", function (t, e) { | |
| e instanceof v && | |
| "load" === t[0] && | |
| u.emit("xhr-load-removed", [t[1], t[2]], e); | |
| }), | |
| u.on("fn-start", function (t, e, n) { | |
| e instanceof v && | |
| ("onload" === n && (this.onload = !0), | |
| ("load" === (t[0] && t[0].type) || this.onload) && | |
| (this.xhrCbStart = a.now())); | |
| }), | |
| u.on("fn-end", function (t, e) { | |
| this.xhrCbStart && | |
| u.emit( | |
| "xhr-cb-time", | |
| [a.now() - this.xhrCbStart, this.onload, e], | |
| e | |
| ); | |
| }), | |
| u.on("fetch-before-start", function (t) { | |
| function e(t, e) { | |
| var n = !1; | |
| 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 | |
| ); | |
| } | |
| var n, | |
| r = t[1] || {}; | |
| "string" == typeof t[0] | |
| ? (n = t[0]) | |
| : t[0] && t[0].url && (n = t[0].url), | |
| n && | |
| ((this.parsedOrigin = s(n)), | |
| (this.sameOrigin = this.parsedOrigin.sameOrigin)); | |
| var i = f(this.parsedOrigin); | |
| if (i && (i.newrelicHeader || i.traceContextParentHeader)) | |
| if ("string" == typeof t[0]) { | |
| var o = {}; | |
| for (var a in r) o[a] = r[a]; | |
| (o.headers = new Headers(r.headers || {})), | |
| e(o.headers, i) && (this.dt = i), | |
| t.length > 1 ? (t[1] = o) : t.push(o); | |
| } else | |
| t[0] && t[0].headers && e(t[0].headers, i) && (this.dt = i); | |
| }); | |
| } | |
| }, | |
| {}, | |
| ], | |
| 13: [ | |
| function (t, e, n) { | |
| var r = {}; | |
| e.exports = function (t) { | |
| if (t in r) return r[t]; | |
| var e = document.createElement("a"), | |
| n = window.location, | |
| i = {}; | |
| (e.href = t), (i.port = e.port); | |
| var o = e.href.split("://"); | |
| !i.port && | |
| o[1] && | |
| (i.port = o[1].split("/")[0].split("@").pop().split(":")[1]), | |
| (i.port && "0" !== i.port) || | |
| (i.port = "https" === o[0] ? "443" : "80"), | |
| (i.hostname = e.hostname || n.hostname), | |
| (i.pathname = e.pathname), | |
| (i.protocol = o[0]), | |
| "/" !== i.pathname.charAt(0) && (i.pathname = "/" + i.pathname); | |
| var a = | |
| !e.protocol || ":" === e.protocol || e.protocol === n.protocol, | |
| c = e.hostname === document.domain && e.port === n.port; | |
| return ( | |
| (i.sameOrigin = a && (!e.hostname || c)), | |
| "/" === i.pathname && (r[t] = i), | |
| i | |
| ); | |
| }; | |
| }, | |
| {}, | |
| ], | |
| 14: [ | |
| function (t, e, n) { | |
| function r(t, e) { | |
| var n = t.responseType; | |
| return "json" === n && null !== e | |
| ? e | |
| : "arraybuffer" === n || "blob" === n || "json" === n | |
| ? i(t.response) | |
| : "text" === n || "" === n || void 0 === n | |
| ? i(t.responseText) | |
| : void 0; | |
| } | |
| var i = t(16); | |
| e.exports = r; | |
| }, | |
| {}, | |
| ], | |
| 15: [ | |
| function (t, e, n) { | |
| function r() {} | |
| function i(t, e, n) { | |
| return function () { | |
| return ( | |
| o(t, [f.now()].concat(c(arguments)), e ? null : this, n), | |
| e ? void 0 : this | |
| ); | |
| }; | |
| } | |
| var o = t("handle"), | |
| a = t(23), | |
| c = t(24), | |
| s = t("ee").get("tracer"), | |
| f = t("loader"), | |
| u = NREUM; | |
| "undefined" == typeof window.newrelic && (newrelic = u); | |
| var d = [ | |
| "setPageViewName", | |
| "setCustomAttribute", | |
| "setErrorHandler", | |
| "finished", | |
| "addToTrace", | |
| "inlineHit", | |
| "addRelease", | |
| ], | |
| l = "api-", | |
| p = l + "ixn-"; | |
| a(d, function (t, e) { | |
| u[e] = i(l + e, !0, "api"); | |
| }), | |
| (u.addPageAction = i(l + "addPageAction", !0)), | |
| (u.setCurrentRouteName = i(l + "routeName", !0)), | |
| (e.exports = newrelic), | |
| (u.interaction = function () { | |
| return new r().get(); | |
| }); | |
| var h = (r.prototype = { | |
| createTracer: function (t, e) { | |
| var n = {}, | |
| r = this, | |
| i = "function" == typeof e; | |
| return ( | |
| o(p + "tracer", [f.now(), t, n], r), | |
| function () { | |
| if ( | |
| (s.emit((i ? "" : "no-") + "fn-start", [f.now(), r, i], n), | |
| i) | |
| ) | |
| try { | |
| return e.apply(this, arguments); | |
| } catch (t) { | |
| throw (s.emit("fn-err", [arguments, this, t], n), t); | |
| } finally { | |
| s.emit("fn-end", [f.now()], n); | |
| } | |
| } | |
| ); | |
| }, | |
| }); | |
| a( | |
| "actionText,setName,setAttribute,save,ignore,onEnd,getContext,end,get".split( | |
| "," | |
| ), | |
| function (t, e) { | |
| h[e] = i(p + e); | |
| } | |
| ), | |
| (newrelic.noticeError = function (t, e) { | |
| "string" == typeof t && (t = new Error(t)), | |
| o("err", [t, f.now(), !1, e]); | |
| }); | |
| }, | |
| {}, | |
| ], | |
| 16: [ | |
| function (t, e, n) { | |
| e.exports = function (t) { | |
| if ("string" == typeof t && t.length) return t.length; | |
| if ("object" == typeof t) { | |
| if ( | |
| "undefined" != typeof ArrayBuffer && | |
| t instanceof ArrayBuffer && | |
| t.byteLength | |
| ) | |
| return t.byteLength; | |
| if ("undefined" != typeof Blob && t instanceof Blob && t.size) | |
| return t.size; | |
| if (!("undefined" != typeof FormData && t instanceof FormData)) | |
| try { | |
| return JSON.stringify(t).length; | |
| } catch (e) { | |
| return; | |
| } | |
| } | |
| }; | |
| }, | |
| {}, | |
| ], | |
| 17: [ | |
| function (t, e, n) { | |
| var r = 0, | |
| i = navigator.userAgent.match(/Firefox[\/\s](\d+\.\d+)/); | |
| i && (r = +i[1]), (e.exports = r); | |
| }, | |
| {}, | |
| ], | |
| 18: [ | |
| function (t, e, n) { | |
| function r() { | |
| return c.exists && performance.now | |
| ? Math.round(performance.now()) | |
| : (o = Math.max(new Date().getTime(), o)) - a; | |
| } | |
| function i() { | |
| return o; | |
| } | |
| var o = new Date().getTime(), | |
| a = o, | |
| c = t(25); | |
| (e.exports = r), | |
| (e.exports.offset = a), | |
| (e.exports.getLastTimestamp = i); | |
| }, | |
| {}, | |
| ], | |
| 19: [ | |
| function (t, e, n) { | |
| function r(t, e) { | |
| var n = t.getEntries(); | |
| n.forEach(function (t) { | |
| "first-paint" === t.name | |
| ? d("timing", ["fp", Math.floor(t.startTime)]) | |
| : "first-contentful-paint" === t.name && | |
| d("timing", ["fcp", Math.floor(t.startTime)]); | |
| }); | |
| } | |
| function i(t, e) { | |
| var n = t.getEntries(); | |
| n.length > 0 && d("lcp", [n[n.length - 1]]); | |
| } | |
| function o(t) { | |
| t.getEntries().forEach(function (t) { | |
| t.hadRecentInput || d("cls", [t]); | |
| }); | |
| } | |
| function a(t) { | |
| if (t instanceof h && !w) { | |
| var e = Math.round(t.timeStamp), | |
| n = { type: t.type }; | |
| e <= l.now() | |
| ? (n.fid = l.now() - e) | |
| : e > l.offset && e <= Date.now() | |
| ? ((e -= l.offset), (n.fid = l.now() - e)) | |
| : (e = l.now()), | |
| (w = !0), | |
| d("timing", ["fi", e, n]); | |
| } | |
| } | |
| function c(t) { | |
| d("pageHide", [l.now(), t]); | |
| } | |
| if ( | |
| !( | |
| "init" in NREUM && | |
| "page_view_timing" in NREUM.init && | |
| "enabled" in NREUM.init.page_view_timing && | |
| NREUM.init.page_view_timing.enabled === !1 | |
| ) | |
| ) { | |
| var s, | |
| f, | |
| u, | |
| d = t("handle"), | |
| l = t("loader"), | |
| p = t(22), | |
| h = NREUM.o.EV; | |
| if ( | |
| "PerformanceObserver" in window && | |
| "function" == typeof window.PerformanceObserver | |
| ) { | |
| s = new PerformanceObserver(r); | |
| try { | |
| s.observe({ entryTypes: ["paint"] }); | |
| } catch (m) {} | |
| f = new PerformanceObserver(i); | |
| try { | |
| f.observe({ entryTypes: ["largest-contentful-paint"] }); | |
| } catch (m) {} | |
| u = new PerformanceObserver(o); | |
| try { | |
| u.observe({ type: "layout-shift", buffered: !0 }); | |
| } catch (m) {} | |
| } | |
| if ("addEventListener" in document) { | |
| var w = !1, | |
| v = [ | |
| "click", | |
| "keydown", | |
| "mousedown", | |
| "pointerdown", | |
| "touchstart", | |
| ]; | |
| v.forEach(function (t) { | |
| document.addEventListener(t, a, !1); | |
| }); | |
| } | |
| p(c); | |
| } | |
| }, | |
| {}, | |
| ], | |
| 20: [ | |
| function (t, e, n) { | |
| function r() { | |
| function t() { | |
| return e ? 15 & e[n++] : (16 * Math.random()) | 0; | |
| } | |
| var e = null, | |
| n = 0, | |
| r = window.crypto || window.msCrypto; | |
| r && | |
| r.getRandomValues && | |
| (e = r.getRandomValues(new Uint8Array(31))); | |
| for ( | |
| var i, o = "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx", a = "", c = 0; | |
| c < o.length; | |
| c++ | |
| ) | |
| (i = o[c]), | |
| "x" === i | |
| ? (a += t().toString(16)) | |
| : "y" === i | |
| ? ((i = (3 & t()) | 8), (a += i.toString(16))) | |
| : (a += i); | |
| return a; | |
| } | |
| function i() { | |
| return a(16); | |
| } | |
| function o() { | |
| return a(32); | |
| } | |
| function a(t) { | |
| function e() { | |
| return n ? 15 & n[r++] : (16 * Math.random()) | 0; | |
| } | |
| var n = null, | |
| r = 0, | |
| i = window.crypto || window.msCrypto; | |
| i && | |
| i.getRandomValues && | |
| Uint8Array && | |
| (n = i.getRandomValues(new Uint8Array(31))); | |
| for (var o = [], a = 0; a < t; a++) o.push(e().toString(16)); | |
| return o.join(""); | |
| } | |
| e.exports = { | |
| generateUuid: r, | |
| generateSpanId: i, | |
| generateTraceId: o, | |
| }; | |
| }, | |
| {}, | |
| ], | |
| 21: [ | |
| function (t, e, n) { | |
| function r(t, e) { | |
| if (!i) return !1; | |
| if (t !== i) return !1; | |
| if (!e) return !0; | |
| if (!o) return !1; | |
| for ( | |
| var n = o.split("."), r = e.split("."), a = 0; | |
| a < r.length; | |
| a++ | |
| ) | |
| if (r[a] !== n[a]) return !1; | |
| return !0; | |
| } | |
| var i = null, | |
| o = null, | |
| a = /Version\/(\S+)\s+Safari/; | |
| if (navigator.userAgent) { | |
| var c = navigator.userAgent, | |
| s = c.match(a); | |
| s && | |
| c.indexOf("Chrome") === -1 && | |
| c.indexOf("Chromium") === -1 && | |
| ((i = "Safari"), (o = s[1])); | |
| } | |
| e.exports = { agent: i, version: o, match: r }; | |
| }, | |
| {}, | |
| ], | |
| 22: [ | |
| function (t, e, n) { | |
| function r(t) { | |
| function e() { | |
| t( | |
| a && document[a] | |
| ? document[a] | |
| : document[i] | |
| ? "hidden" | |
| : "visible" | |
| ); | |
| } | |
| "addEventListener" in document && | |
| o && | |
| document.addEventListener(o, e, !1); | |
| } | |
| e.exports = r; | |
| var i, o, a; | |
| "undefined" != typeof document.hidden | |
| ? ((i = "hidden"), | |
| (o = "visibilitychange"), | |
| (a = "visibilityState")) | |
| : "undefined" != typeof document.msHidden | |
| ? ((i = "msHidden"), (o = "msvisibilitychange")) | |
| : "undefined" != typeof document.webkitHidden && | |
| ((i = "webkitHidden"), | |
| (o = "webkitvisibilitychange"), | |
| (a = "webkitVisibilityState")); | |
| }, | |
| {}, | |
| ], | |
| 23: [ | |
| function (t, e, n) { | |
| function r(t, e) { | |
| var n = [], | |
| r = "", | |
| o = 0; | |
| for (r in t) i.call(t, r) && ((n[o] = e(r, t[r])), (o += 1)); | |
| return n; | |
| } | |
| var i = Object.prototype.hasOwnProperty; | |
| e.exports = r; | |
| }, | |
| {}, | |
| ], | |
| 24: [ | |
| function (t, e, n) { | |
| function r(t, e, n) { | |
| e || (e = 0), "undefined" == typeof n && (n = t ? t.length : 0); | |
| for ( | |
| var r = -1, i = n - e || 0, o = Array(i < 0 ? 0 : i); | |
| ++r < i; | |
| ) | |
| o[r] = t[e + r]; | |
| return o; | |
| } | |
| e.exports = r; | |
| }, | |
| {}, | |
| ], | |
| 25: [ | |
| function (t, e, n) { | |
| e.exports = { | |
| exists: | |
| "undefined" != typeof window.performance && | |
| window.performance.timing && | |
| "undefined" != typeof window.performance.timing.navigationStart, | |
| }; | |
| }, | |
| {}, | |
| ], | |
| ee: [ | |
| function (t, e, n) { | |
| function r() {} | |
| function i(t) { | |
| function e(t) { | |
| return t && t instanceof r ? t : t ? s(t, c, o) : o(); | |
| } | |
| function n(n, r, i, o) { | |
| if (!l.aborted || o) { | |
| t && t(n, r, i); | |
| for (var a = e(i), c = m(n), s = c.length, f = 0; f < s; f++) | |
| c[f].apply(a, r); | |
| var d = u[y[n]]; | |
| return d && d.push([x, n, r, a]), a; | |
| } | |
| } | |
| function p(t, e) { | |
| g[t] = m(t).concat(e); | |
| } | |
| function h(t, e) { | |
| var n = g[t]; | |
| if (n) | |
| for (var r = 0; r < n.length; r++) n[r] === e && n.splice(r, 1); | |
| } | |
| function m(t) { | |
| return g[t] || []; | |
| } | |
| function w(t) { | |
| return (d[t] = d[t] || i(n)); | |
| } | |
| function v(t, e) { | |
| f(t, function (t, n) { | |
| (e = e || "feature"), (y[n] = e), e in u || (u[e] = []); | |
| }); | |
| } | |
| var g = {}, | |
| y = {}, | |
| x = { | |
| on: p, | |
| addEventListener: p, | |
| removeEventListener: h, | |
| emit: n, | |
| get: w, | |
| listeners: m, | |
| context: e, | |
| buffer: v, | |
| abort: a, | |
| aborted: !1, | |
| }; | |
| return x; | |
| } | |
| function o() { | |
| return new r(); | |
| } | |
| function a() { | |
| (u.api || u.feature) && ((l.aborted = !0), (u = l.backlog = {})); | |
| } | |
| var c = "nr@context", | |
| s = t("gos"), | |
| f = t(23), | |
| u = {}, | |
| d = {}, | |
| l = (e.exports = i()); | |
| l.backlog = u; | |
| }, | |
| {}, | |
| ], | |
| gos: [ | |
| function (t, e, n) { | |
| function r(t, e, n) { | |
| if (i.call(t, e)) return t[e]; | |
| var r = n(); | |
| if (Object.defineProperty && Object.keys) | |
| try { | |
| return ( | |
| Object.defineProperty(t, e, { | |
| value: r, | |
| writable: !0, | |
| enumerable: !1, | |
| }), | |
| r | |
| ); | |
| } catch (o) {} | |
| return (t[e] = r), r; | |
| } | |
| var i = Object.prototype.hasOwnProperty; | |
| e.exports = r; | |
| }, | |
| {}, | |
| ], | |
| handle: [ | |
| function (t, e, n) { | |
| function r(t, e, n, r) { | |
| i.buffer([t], r), i.emit(t, e, n); | |
| } | |
| var i = t("ee").get("handle"); | |
| (e.exports = r), (r.ee = i); | |
| }, | |
| {}, | |
| ], | |
| id: [ | |
| function (t, e, n) { | |
| function r(t) { | |
| var e = typeof t; | |
| return !t || ("object" !== e && "function" !== e) | |
| ? -1 | |
| : t === window | |
| ? 0 | |
| : a(t, o, function () { | |
| return i++; | |
| }); | |
| } | |
| var i = 1, | |
| o = "nr@id", | |
| a = t("gos"); | |
| e.exports = r; | |
| }, | |
| {}, | |
| ], | |
| loader: [ | |
| function (t, e, n) { | |
| function r() { | |
| if (!b++) { | |
| var t = (x.info = NREUM.info), | |
| e = l.getElementsByTagName("script")[0]; | |
| if ( | |
| (setTimeout(f.abort, 3e4), | |
| !(t && t.licenseKey && t.applicationID && e)) | |
| ) | |
| return f.abort(); | |
| s(g, function (e, n) { | |
| t[e] || (t[e] = n); | |
| }); | |
| var n = a(); | |
| c("mark", ["onload", n + x.offset], null, "api"), | |
| c("timing", ["load", n]); | |
| var r = l.createElement("script"); | |
| (r.src = "https://" + t.agent), e.parentNode.insertBefore(r, e); | |
| } | |
| } | |
| function i() { | |
| "complete" === l.readyState && o(); | |
| } | |
| function o() { | |
| c("mark", ["domContent", a() + x.offset], null, "api"); | |
| } | |
| var a = t(18), | |
| c = t("handle"), | |
| s = t(23), | |
| f = t("ee"), | |
| u = t(21), | |
| d = window, | |
| l = d.document, | |
| p = "addEventListener", | |
| h = "attachEvent", | |
| m = d.XMLHttpRequest, | |
| w = m && m.prototype; | |
| NREUM.o = { | |
| ST: setTimeout, | |
| SI: d.setImmediate, | |
| CT: clearTimeout, | |
| XHR: m, | |
| REQ: d.Request, | |
| EV: d.Event, | |
| PR: d.Promise, | |
| MO: d.MutationObserver, | |
| }; | |
| var v = "" + location, | |
| g = { | |
| beacon: "bam.nr-data.net", | |
| errorBeacon: "bam.nr-data.net", | |
| agent: "js-agent.newrelic.com/nr-1184.min.js", | |
| }, | |
| y = m && w && w[p] && !/CriOS/.test(navigator.userAgent), | |
| x = (e.exports = { | |
| offset: a.getLastTimestamp(), | |
| now: a, | |
| origin: v, | |
| features: {}, | |
| xhrWrappable: y, | |
| userAgent: u, | |
| }); | |
| t(15), | |
| t(19), | |
| l[p] | |
| ? (l[p]("DOMContentLoaded", o, !1), d[p]("load", r, !1)) | |
| : (l[h]("onreadystatechange", i), d[h]("onload", r)), | |
| c("mark", ["firstbyte", a.getLastTimestamp()], null, "api"); | |
| var b = 0; | |
| }, | |
| {}, | |
| ], | |
| "wrap-function": [ | |
| function (t, e, n) { | |
| function r(t) { | |
| return !(t && t instanceof Function && t.apply && !t[a]); | |
| } | |
| var i = t("ee"), | |
| o = t(24), | |
| a = "nr@original", | |
| c = Object.prototype.hasOwnProperty, | |
| s = !1; | |
| e.exports = function (t, e) { | |
| function n(t, e, n, i) { | |
| function nrWrapper() { | |
| var r, a, c, s; | |
| try { | |
| (a = this), | |
| (r = o(arguments)), | |
| (c = "function" == typeof n ? n(r, a) : n || {}); | |
| } catch (f) { | |
| l([f, "", [r, a, i], c]); | |
| } | |
| u(e + "start", [r, a, i], c); | |
| try { | |
| return (s = t.apply(a, r)); | |
| } catch (d) { | |
| throw (u(e + "err", [r, a, d], c), d); | |
| } finally { | |
| u(e + "end", [r, a, s], c); | |
| } | |
| } | |
| return r(t) | |
| ? t | |
| : (e || (e = ""), | |
| (nrWrapper[a] = t), | |
| d(t, nrWrapper), | |
| nrWrapper); | |
| } | |
| function f(t, e, i, o) { | |
| i || (i = ""); | |
| var a, | |
| c, | |
| s, | |
| f = "-" === i.charAt(0); | |
| for (s = 0; s < e.length; s++) | |
| (c = e[s]), | |
| (a = t[c]), | |
| r(a) || (t[c] = n(a, f ? c + i : i, o, c)); | |
| } | |
| function u(n, r, i) { | |
| if (!s || e) { | |
| var o = s; | |
| s = !0; | |
| try { | |
| t.emit(n, r, i, e); | |
| } catch (a) { | |
| l([a, n, r, i]); | |
| } | |
| s = o; | |
| } | |
| } | |
| function d(t, e) { | |
| if (Object.defineProperty && Object.keys) | |
| try { | |
| var n = Object.keys(t); | |
| return ( | |
| n.forEach(function (n) { | |
| Object.defineProperty(e, n, { | |
| get: function () { | |
| return t[n]; | |
| }, | |
| set: function (e) { | |
| return (t[n] = e), e; | |
| }, | |
| }); | |
| }), | |
| e | |
| ); | |
| } catch (r) { | |
| l([r]); | |
| } | |
| for (var i in t) c.call(t, i) && (e[i] = t[i]); | |
| return e; | |
| } | |
| function l(e) { | |
| try { | |
| t.emit("internal-error", e); | |
| } catch (n) {} | |
| } | |
| return t || (t = i), (n.inPlace = f), (n.flag = a), n; | |
| }; | |
| }, | |
| {}, | |
| ], | |
| }, | |
| {}, | |
| ["loader", 2, 12, 4, 3] | |
| )); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment