_insideGraph.registerModule("realtime", function () { /*! * ASP.NET SignalR JavaScript Library 2.4.2 * Custom modification 24-9-24 to change "unload" event binding to "onpagehide" in window ? "pagehide" : "unload" * http://signalr.net/ * * Copyright (c) .NET Foundation. All rights reserved. * Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. * */ (function (n, t, i) { function w(t, i) { var u, f; if (n.isArray(t)) { for (u = t.length - 1; u >= 0; u--)f = t[u], n.type(f) === "string" && r.transports[f] || (i.log("Invalid transport: " + f + ", removing it from the transports list."), t.splice(u, 1)); t.length === 0 && (i.log("No transports remain within the specified transport array."), t = null) } else if (r.transports[t] || t === "auto") { if (t === "auto" && r._.ieVersion <= 8) return ["longPolling"] } else i.log("Invalid transport: " + t.toString() + "."), t = null; return t } function b(n) { return n === "http:" ? 80 : n === "https:" ? 443 : void 0 } function a(n, t) { return t.match(/:\d+$/) ? t : t + ":" + b(n) } function k(t, i) { var u = this, r = []; u.tryBuffer = function (i) { return t.state === n.signalR.connectionState.connecting ? (r.push(i), !0) : !1 }; u.drain = function () { if (t.state === n.signalR.connectionState.connected) while (r.length > 0) i(r.shift()) }; u.clear = function () { r = [] } } var f = { nojQuery: "jQuery was not found. Please ensure jQuery is referenced before the SignalR client JavaScript file.", noTransportOnInit: "No transport could be initialized successfully. Try specifying a different transport or none at all for auto initialization.", errorOnNegotiate: "Error during negotiation request.", stoppedWhileLoading: "The connection was stopped during page load.", stoppedWhileNegotiating: "The connection was stopped during the negotiate request.", errorParsingNegotiateResponse: "Error parsing negotiate response.", errorRedirectionExceedsLimit: "Negotiate redirection limit exceeded.", errorDuringStartRequest: "Error during start request. Stopping the connection.", errorFromServer: "Error message received from the server: '{0}'.", stoppedDuringStartRequest: "The connection was stopped during the start request.", errorParsingStartResponse: "Error parsing start response: '{0}'. Stopping the connection.", invalidStartResponse: "Invalid start response: '{0}'. Stopping the connection.", protocolIncompatible: "You are using a version of the client that isn't compatible with the server. Client version {0}, server version {1}.", aspnetCoreSignalrServer: "Detected a connection attempt to an ASP.NET Core SignalR Server. This client only supports connecting to an ASP.NET SignalR Server. See https://aka.ms/signalr-core-differences for details.", sendFailed: "Send failed.", parseFailed: "Failed at parsing response: {0}", longPollFailed: "Long polling request failed.", eventSourceFailedToConnect: "EventSource failed to connect.", eventSourceError: "Error raised by EventSource", webSocketClosed: "WebSocket closed.", pingServerFailedInvalidResponse: "Invalid ping response when pinging server: '{0}'.", pingServerFailed: "Failed to ping server.", pingServerFailedStatusCode: "Failed to ping server. Server responded with status code {0}, stopping the connection.", pingServerFailedParse: "Failed to parse ping server response, stopping the connection.", noConnectionTransport: "Connection is in an invalid state, there is no transport active.", webSocketsInvalidState: "The Web Socket transport is in an invalid state, transitioning into reconnecting.", reconnectTimeout: "Couldn't reconnect within the configured timeout of {0} ms, disconnecting.", reconnectWindowTimeout: "The client has been inactive since {0} and it has exceeded the inactivity timeout of {1} ms. Stopping the connection.", jsonpNotSupportedWithAccessToken: "The JSONP protocol does not support connections that require a Bearer token to connect, such as the Azure SignalR Service." }; if (typeof n != "function") throw new Error(f.nojQuery); var r, h, o = t.document.readyState === "complete", e = n(t), c = "__Negotiate Aborted__", u = { onStart: "onStart", onStarting: "onStarting", onReceived: "onReceived", onError: "onError", onConnectionSlow: "onConnectionSlow", onReconnecting: "onReconnecting", onReconnect: "onReconnect", onStateChanged: "onStateChanged", onDisconnect: "onDisconnect" }, v = function (n, i) { if (i !== !1) { var r; typeof t.console != "undefined" && (r = "[" + (new Date).toTimeString() + "] SignalR: " + n, t.console.debug ? t.console.debug(r) : t.console.log && t.console.log(r)) } }, s = function (t, i, r) { return i === t.state ? (t.state = r, n(t).triggerHandler(u.onStateChanged, [{ oldState: i, newState: r }]), !0) : !1 }, y = function (n) { return n.state === r.connectionState.disconnected }, l = function (n) { return n._.keepAliveData.activated && n.transport.supportsKeepAlive(n) }, p = function (i) { var f, e; i._.configuredStopReconnectingTimeout || (e = function (t) { var i = r._.format(r.resources.reconnectTimeout, t.disconnectTimeout); t.log(i); n(t).triggerHandler(u.onError, [r._.error(i, "TimeoutException")]); t.stop(!1, !1) }, i.reconnecting(function () { var n = this; n.state === r.connectionState.reconnecting && (f = t.setTimeout(function () { e(n) }, n.disconnectTimeout)) }), i.stateChanged(function (n) { n.oldState === r.connectionState.reconnecting && t.clearTimeout(f) }), i._.configuredStopReconnectingTimeout = !0) }; if (r = function (n, t, i) { return new r.fn.init(n, t, i) }, r._ = { defaultContentType: "application/x-www-form-urlencoded; charset=UTF-8", ieVersion: function () { var i, n; return t.navigator.appName === "Microsoft Internet Explorer" && (n = /MSIE ([0-9]+\.[0-9]+)/.exec(t.navigator.userAgent), n && (i = t.parseFloat(n[1]))), i }(), error: function (n, t, i) { var r = new Error(n); return r.source = t, typeof i != "undefined" && (r.context = i), r }, transportError: function (n, t, r, u) { var f = this.error(n, r, u); return f.transport = t ? t.name : i, f }, format: function () { for (var t = arguments[0], n = 0; n < arguments.length - 1; n++)t = t.replace("{" + n + "}", arguments[n + 1]); return t }, firefoxMajorVersion: function (n) { var t = n.match(/Firefox\/(\d+)/); return !t || !t.length || t.length < 2 ? 0 : parseInt(t[1], 10) }, configurePingInterval: function (i) { var f = i._.config, e = function (t) { n(i).triggerHandler(u.onError, [t]) }; f && !i._.pingIntervalId && f.pingInterval && (i._.pingIntervalId = t.setInterval(function () { r.transports._logic.pingServer(i).fail(e) }, f.pingInterval)) } }, r.events = u, r.resources = f, r.ajaxDefaults = { processData: !0, timeout: null, async: !0, global: !1, cache: !1 }, r.changeState = s, r.isDisconnecting = y, r.connectionState = { connecting: 0, connected: 1, reconnecting: 2, disconnected: 4 }, r.hub = { start: function () { throw new Error("SignalR: Error loading hubs. Ensure your hubs reference is correct, e.g.