{"version":3,"sources":["webpack:///./node_modules/@microsoft/applicationinsights-analytics-js/node_modules/tslib/tslib.es6.js","webpack:///./node_modules/@microsoft/applicationinsights-analytics-js/dist-esm/JavaScriptSDK/Telemetry/PageViewManager.js","webpack:///./node_modules/@microsoft/applicationinsights-analytics-js/dist-esm/JavaScriptSDK/Telemetry/PageVisitTimeManager.js","webpack:///./node_modules/@microsoft/applicationinsights-analytics-js/dist-esm/JavaScriptSDK/Telemetry/PageViewPerformanceManager.js","webpack:///./node_modules/@microsoft/applicationinsights-analytics-js/dist-esm/JavaScriptSDK/ApplicationInsights.js"],"names":["extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","hasOwnProperty","__extends","__","this","constructor","prototype","create","__assign","assign","t","s","i","n","arguments","length","call","apply","PageViewManager","appInsights","overridePageViewDuration","core","pageViewPerformanceManager","_self","_logger","arrForEach","CoreUtils","isNullOrUndefined","intervalHandle","itemQueue","pageViewPerformanceSent","_flushChannels","getTransmissionControls","queues","q","flush","_addQueue","cb","push","setInterval","allItems","slice","doFlush","item","clearInterval","logger","trackPageView","pageView","customProperties","name","doc","title","uri","location_1","href","isPerformanceTimingSupported","sendPageViewInternal","throwInternal","WARNING","NavigationTimingNotSupported","customDuration","duration","pageViewSent","start","getPerformanceTiming","navigationStart","GetDuration","Date","shouldCollectDuration","undefined","isNaN","maxDurationLimit","processed","isPerformanceTimingDataReady","pageViewPerformance","populatePageViewPerformanceEvent","isValid","durationMs","sendPageViewPerformanceInternal","e","CRITICAL","TrackPVFailedCalc","Util","getExceptionName","exception","dump","PageVisitTimeManager","pageVisitTimeTrackingHandler","prevPageVisitDataKeyName","trackPreviousPageVisit","currentPageName","currentPageUrl","prevPageVisitTimeData","restartPageVisitTimer","pageName","pageUrl","pageVisitTime","warnToConsole","prevPageVisitData","stopPageVisitTimer","startPageVisitTimer","canUseSessionStorage","getSessionStorage","Error","currPageVisitData","PageVisitData","currPageVisitDataStr","stringify","setSessionStorage","pageVisitEndTime","now","pageVisitDataJsonStr","parse","pageVisitStartTime","removeSessionStorage","PageViewPerformanceManager","MAX_DURATION_ALLOWED","navigationTiming","getPerformanceNavigationTiming","timing","total","network","startTime","connectEnd","request","requestStart","responseStart","response","responseEnd","dom","loadEventEnd","ErrorPVCalc","Math","floor","ClientPerformanceMathError","perfTotal","msToTimeSpan","networkConnect","sentRequest","receivedResponse","domProcessing","InvalidDurationValue","isPerformanceNavigationTimingSupported","getEntriesByType","perf","domainLookupStart","domLoading","durations","_i","_navigator","botAgentNames","userAgent","isGoogleBot","toLowerCase","indexOf","durationProperty","_dispatchEvent","target","evnt","dispatchEvent","_super","ApplicationInsights","_this","identifier","priority","autoRoutePVDelay","_trackAjaxAttempts","location","_prevUri","getDefaultConfig","config","sessionRenewalMs","sessionExpirationMs","disableExceptionTracking","stringToBoolOrDefault","autoTrackPageVisitTime","enableUnhandledPromiseRejectionTracking","samplingPercentage","isCookieUseDisabled","isStorageUseDisabled","isBrowserLinkTrackingEnabled","enableAutoRouteTracking","namePrefix","processTelemetry","env","itemCtx","doNotSendItem","telemetryInitializersCount","_telemetryInitializers","_getTelCtx","telemetryInitializer","diagLog","TelemetryInitializerFailed","processNext","trackEvent","event","telemetryItem","TelemetryItemCreator","dataType","envelopeType","track","TrackTraceFailed","startTrackEvent","_eventTracking","StartTrackEventFailed","stopTrackEvent","properties","measurements","stop","StopTrackEventFailed","trackTrace","trace","Trace","trackMetric","metric","Metric","TrackMetricFailed","inPv","_pageViewManager","_pageVisitTimeManager","TrackPVFailed","systemProperties","refUri","referrer","PageView","PageViewPerformance","trackPageViewPerformance","_pageViewPerformanceManager","startTrackPage","_pageTracking","StartTrackFailed","stopTrackPage","url","measurement","loc","StopTrackFailed","sendExceptionInternal","exceptionPartB","Exception","NotSpecified","severityLevel","id","toInterface","trackException","TrackExceptionFailed","_onerror","properties_1","URL","lineNumber","columnNumber","message","isCrossOriginError","error","_sendCORSException","isError","stack","SeverityLevel","errorString","ExceptionWhileLoggingError","addTelemetryInitializer","initialize","extensions","pluginChain","isInitialized","setInitialized","ctx","_globalconfig","instrumentationKey","endpointUrl","getExtCfg","defaults","field","getConfig","disableCookies","disableStorage","configGetters","accountId","sampleRate","cookieDomain","sdkExtension","appId","trackPageVisitTime","_addDefaultTelemetryInitializers","action","toString","pageViewItem","_window","_history","_location","instance","autoExceptionInstrumented","onerror_1","originalOnError_1","onerror","handled","autoUnhandledPromiseInstrumented","onunhandledrejection","originalOnUnhandledRejection_1","reason","isFunction","pushState","replaceState","Event","_self_1","extension","_properties","f","ret","createDomEvent","addEventListener","context","telemetryTrace","traceID","generateW3CId","pathname","_currUri","setTimeout","bind","PageName","PageUrl","average","max","min","sampleCount","browserLinkPaths_1","dropBrowserLinkRequests","envelope","baseType","RemoteDependencyData","remoteData","baseData","_addTelemetryInitializer","Version","BaseTelemetryPlugin","Timing","_name","_events","StartCalledMoreThanOnce","key","StopCalledWithoutStart","end"],"mappings":"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","file":"js/chunk-vendors~ee6e4d03.5c5281cc.js","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","/*!\n * Application Insights JavaScript SDK - Web Analytics, 2.5.4\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { DateTimeUtils, Util } from '@microsoft/applicationinsights-common';\r\nimport { CoreUtils, LoggingSeverity, _InternalMessageId, getDocument, getLocation } from '@microsoft/applicationinsights-core-js';\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\n/**\r\n * Class encapsulates sending page views and page view performance telemetry.\r\n */\r\nvar PageViewManager = /** @class */ (function () {\r\n function PageViewManager(appInsights, overridePageViewDuration, core, pageViewPerformanceManager) {\r\n dynamicProto(PageViewManager, this, function (_self) {\r\n var arrForEach = CoreUtils.arrForEach;\r\n var isNullOrUndefined = CoreUtils.isNullOrUndefined;\r\n var intervalHandle = null;\r\n var itemQueue = [];\r\n var pageViewPerformanceSent = false;\r\n var _logger;\r\n if (core) {\r\n _logger = core.logger;\r\n }\r\n function _flushChannels() {\r\n if (core) {\r\n arrForEach(core.getTransmissionControls(), function (queues) {\r\n arrForEach(queues, function (q) { return q.flush(true); });\r\n });\r\n }\r\n }\r\n function _addQueue(cb) {\r\n itemQueue.push(cb);\r\n if (!intervalHandle) {\r\n intervalHandle = setInterval((function () {\r\n var allItems = itemQueue.slice(0);\r\n var doFlush = false;\r\n itemQueue = [];\r\n arrForEach(allItems, function (item) {\r\n if (!item()) {\r\n // Not processed so rescheduled\r\n itemQueue.push(item);\r\n }\r\n else {\r\n doFlush = true;\r\n }\r\n });\r\n if (itemQueue.length === 0) {\r\n clearInterval(intervalHandle);\r\n intervalHandle = null;\r\n }\r\n if (doFlush) {\r\n // We process at least one item so flush the queue\r\n _flushChannels();\r\n }\r\n }), 100);\r\n }\r\n }\r\n _self.trackPageView = function (pageView, customProperties) {\r\n var name = pageView.name;\r\n if (isNullOrUndefined(name) || typeof name !== \"string\") {\r\n var doc = getDocument();\r\n name = pageView.name = doc && doc.title || \"\";\r\n }\r\n var uri = pageView.uri;\r\n if (isNullOrUndefined(uri) || typeof uri !== \"string\") {\r\n var location_1 = getLocation();\r\n uri = pageView.uri = location_1 && location_1.href || \"\";\r\n }\r\n // case 1a. if performance timing is not supported by the browser, send the page view telemetry with the duration provided by the user. If the user\r\n // do not provide the duration, set duration to undefined\r\n // Also this is case 4\r\n if (!pageViewPerformanceManager.isPerformanceTimingSupported()) {\r\n appInsights.sendPageViewInternal(pageView, customProperties);\r\n _flushChannels();\r\n // no navigation timing (IE 8, iOS Safari 8.4, Opera Mini 8 - see http://caniuse.com/#feat=nav-timing)\r\n _logger.throwInternal(LoggingSeverity.WARNING, _InternalMessageId.NavigationTimingNotSupported, \"trackPageView: navigation timing API used for calculation of page duration is not supported in this browser. This page view will be collected without duration and timing info.\");\r\n return;\r\n }\r\n var pageViewSent = false;\r\n var customDuration;\r\n // if the performance timing is supported by the browser, calculate the custom duration\r\n var start = pageViewPerformanceManager.getPerformanceTiming().navigationStart;\r\n customDuration = DateTimeUtils.GetDuration(start, +new Date);\r\n if (!pageViewPerformanceManager.shouldCollectDuration(customDuration)) {\r\n customDuration = undefined;\r\n }\r\n // if the user has provided duration, send a page view telemetry with the provided duration. Otherwise, if\r\n // overridePageViewDuration is set to true, send a page view telemetry with the custom duration calculated earlier\r\n var duration;\r\n if (!isNullOrUndefined(customProperties) &&\r\n !isNullOrUndefined(customProperties.duration)) {\r\n duration = customProperties.duration;\r\n }\r\n if (overridePageViewDuration || !isNaN(duration)) {\r\n if (isNaN(duration)) {\r\n // case 3\r\n if (!customProperties) {\r\n customProperties = {};\r\n }\r\n customProperties[\"duration\"] = customDuration;\r\n }\r\n // case 2\r\n appInsights.sendPageViewInternal(pageView, customProperties);\r\n _flushChannels();\r\n pageViewSent = true;\r\n }\r\n // now try to send the page view performance telemetry\r\n var maxDurationLimit = 60000;\r\n if (!customProperties) {\r\n customProperties = {};\r\n }\r\n // Queue the event for processing\r\n _addQueue(function () {\r\n var processed = false;\r\n try {\r\n if (pageViewPerformanceManager.isPerformanceTimingDataReady()) {\r\n processed = true;\r\n var pageViewPerformance = {\r\n name: name,\r\n uri: uri\r\n };\r\n pageViewPerformanceManager.populatePageViewPerformanceEvent(pageViewPerformance);\r\n if (!pageViewPerformance.isValid && !pageViewSent) {\r\n // If navigation timing gives invalid numbers, then go back to \"override page view duration\" mode.\r\n // That's the best value we can get that makes sense.\r\n customProperties[\"duration\"] = customDuration;\r\n appInsights.sendPageViewInternal(pageView, customProperties);\r\n }\r\n else {\r\n if (!pageViewSent) {\r\n customProperties[\"duration\"] = pageViewPerformance.durationMs;\r\n appInsights.sendPageViewInternal(pageView, customProperties);\r\n }\r\n if (!pageViewPerformanceSent) {\r\n appInsights.sendPageViewPerformanceInternal(pageViewPerformance, customProperties);\r\n pageViewPerformanceSent = true;\r\n }\r\n }\r\n }\r\n else if (DateTimeUtils.GetDuration(start, +new Date) > maxDurationLimit) {\r\n // if performance timings are not ready but we exceeded the maximum duration limit, just log a page view telemetry\r\n // with the maximum duration limit. Otherwise, keep waiting until performance timings are ready\r\n processed = true;\r\n if (!pageViewSent) {\r\n customProperties[\"duration\"] = maxDurationLimit;\r\n appInsights.sendPageViewInternal(pageView, customProperties);\r\n }\r\n }\r\n }\r\n catch (e) {\r\n _logger.throwInternal(LoggingSeverity.CRITICAL, _InternalMessageId.TrackPVFailedCalc, \"trackPageView failed on page load calculation: \" + Util.getExceptionName(e), { exception: Util.dump(e) });\r\n }\r\n return processed;\r\n });\r\n };\r\n });\r\n }\r\n// Removed Stub for PageViewManager.prototype.trackPageView.\r\n return PageViewManager;\r\n}());\r\nexport { PageViewManager };\r\n//# sourceMappingURL=PageViewManager.js.map","/*!\n * Application Insights JavaScript SDK - Web Analytics, 2.5.4\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { Util } from '@microsoft/applicationinsights-common';\r\nimport { hasJSON, getJSON } from '@microsoft/applicationinsights-core-js';\r\n/**\r\n * Used to track page visit durations\r\n */\r\nvar PageVisitTimeManager = /** @class */ (function () {\r\n /**\r\n * Creates a new instance of PageVisitTimeManager\r\n * @param pageVisitTimeTrackingHandler Delegate that will be called to send telemetry data to AI (when trackPreviousPageVisit is called)\r\n * @returns {}\r\n */\r\n function PageVisitTimeManager(logger, pageVisitTimeTrackingHandler) {\r\n this.prevPageVisitDataKeyName = \"prevPageVisitData\";\r\n this.pageVisitTimeTrackingHandler = pageVisitTimeTrackingHandler;\r\n this._logger = logger;\r\n }\r\n /**\r\n * Tracks the previous page visit time telemetry (if exists) and starts timing of new page visit time\r\n * @param currentPageName Name of page to begin timing for visit duration\r\n * @param currentPageUrl Url of page to begin timing for visit duration\r\n */\r\n PageVisitTimeManager.prototype.trackPreviousPageVisit = function (currentPageName, currentPageUrl) {\r\n try {\r\n // Restart timer for new page view\r\n var prevPageVisitTimeData = this.restartPageVisitTimer(currentPageName, currentPageUrl);\r\n // If there was a page already being timed, track the visit time for it now.\r\n if (prevPageVisitTimeData) {\r\n this.pageVisitTimeTrackingHandler(prevPageVisitTimeData.pageName, prevPageVisitTimeData.pageUrl, prevPageVisitTimeData.pageVisitTime);\r\n }\r\n }\r\n catch (e) {\r\n this._logger.warnToConsole(\"Auto track page visit time failed, metric will not be collected: \" + Util.dump(e));\r\n }\r\n };\r\n /**\r\n * Stops timing of current page (if exists) and starts timing for duration of visit to pageName\r\n * @param pageName Name of page to begin timing visit duration\r\n * @returns {PageVisitData} Page visit data (including duration) of pageName from last call to start or restart, if exists. Null if not.\r\n */\r\n PageVisitTimeManager.prototype.restartPageVisitTimer = function (pageName, pageUrl) {\r\n try {\r\n var prevPageVisitData = this.stopPageVisitTimer();\r\n this.startPageVisitTimer(pageName, pageUrl);\r\n return prevPageVisitData;\r\n }\r\n catch (e) {\r\n this._logger.warnToConsole(\"Call to restart failed: \" + Util.dump(e));\r\n return null;\r\n }\r\n };\r\n /**\r\n * Starts timing visit duration of pageName\r\n * @param pageName\r\n * @returns {}\r\n */\r\n PageVisitTimeManager.prototype.startPageVisitTimer = function (pageName, pageUrl) {\r\n try {\r\n if (Util.canUseSessionStorage()) {\r\n if (Util.getSessionStorage(this._logger, this.prevPageVisitDataKeyName) != null) {\r\n throw new Error(\"Cannot call startPageVisit consecutively without first calling stopPageVisit\");\r\n }\r\n var currPageVisitData = new PageVisitData(pageName, pageUrl);\r\n var currPageVisitDataStr = getJSON().stringify(currPageVisitData);\r\n Util.setSessionStorage(this._logger, this.prevPageVisitDataKeyName, currPageVisitDataStr);\r\n }\r\n }\r\n catch (e) {\r\n // TODO: Remove this catch in next phase, since if start is called twice in a row the exception needs to be propagated out\r\n this._logger.warnToConsole(\"Call to start failed: \" + Util.dump(e));\r\n }\r\n };\r\n /**\r\n * Stops timing of current page, if exists.\r\n * @returns {PageVisitData} Page visit data (including duration) of pageName from call to start, if exists. Null if not.\r\n */\r\n PageVisitTimeManager.prototype.stopPageVisitTimer = function () {\r\n try {\r\n if (Util.canUseSessionStorage()) {\r\n // Define end time of page's visit\r\n var pageVisitEndTime = Date.now();\r\n // Try to retrieve page name and start time from session storage\r\n var pageVisitDataJsonStr = Util.getSessionStorage(this._logger, this.prevPageVisitDataKeyName);\r\n if (pageVisitDataJsonStr && hasJSON()) {\r\n // if previous page data exists, set end time of visit\r\n var prevPageVisitData = getJSON().parse(pageVisitDataJsonStr);\r\n prevPageVisitData.pageVisitTime = pageVisitEndTime - prevPageVisitData.pageVisitStartTime;\r\n // Remove data from storage since we already used it\r\n Util.removeSessionStorage(this._logger, this.prevPageVisitDataKeyName);\r\n // Return page visit data\r\n return prevPageVisitData;\r\n }\r\n else {\r\n return null;\r\n }\r\n }\r\n return null;\r\n }\r\n catch (e) {\r\n this._logger.warnToConsole(\"Stop page visit timer failed: \" + Util.dump(e));\r\n return null;\r\n }\r\n };\r\n return PageVisitTimeManager;\r\n}());\r\nexport { PageVisitTimeManager };\r\nvar PageVisitData = /** @class */ (function () {\r\n function PageVisitData(pageName, pageUrl) {\r\n this.pageVisitStartTime = Date.now();\r\n this.pageName = pageName;\r\n this.pageUrl = pageUrl;\r\n }\r\n return PageVisitData;\r\n}());\r\nexport { PageVisitData };\r\n//# sourceMappingURL=PageVisitTimeManager.js.map","/*!\n * Application Insights JavaScript SDK - Web Analytics, 2.5.4\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { Util, DateTimeUtils } from '@microsoft/applicationinsights-common';\r\nimport { LoggingSeverity, _InternalMessageId, getNavigator, getPerformance } from '@microsoft/applicationinsights-core-js';\r\n/**\r\n * Class encapsulates sending page view performance telemetry.\r\n */\r\nvar PageViewPerformanceManager = /** @class */ (function () {\r\n function PageViewPerformanceManager(core) {\r\n this.MAX_DURATION_ALLOWED = 3600000; // 1h\r\n if (core) {\r\n this._logger = core.logger;\r\n }\r\n }\r\n PageViewPerformanceManager.prototype.populatePageViewPerformanceEvent = function (pageViewPerformance) {\r\n pageViewPerformance.isValid = false;\r\n /*\r\n * http://www.w3.org/TR/navigation-timing/#processing-model\r\n * |-navigationStart\r\n * | |-connectEnd\r\n * | ||-requestStart\r\n * | || |-responseStart\r\n * | || | |-responseEnd\r\n * | || | |\r\n * | || | | |-loadEventEnd\r\n * |---network---||---request---|---response---|---dom---|\r\n * |--------------------------total----------------------|\r\n */\r\n var navigationTiming = this.getPerformanceNavigationTiming();\r\n var timing = this.getPerformanceTiming();\r\n if (navigationTiming || timing) {\r\n if (navigationTiming) {\r\n var total = navigationTiming.duration;\r\n var network = DateTimeUtils.GetDuration(navigationTiming.startTime, navigationTiming.connectEnd);\r\n var request = DateTimeUtils.GetDuration(navigationTiming.requestStart, navigationTiming.responseStart);\r\n var response = DateTimeUtils.GetDuration(navigationTiming.responseStart, navigationTiming.responseEnd);\r\n var dom = DateTimeUtils.GetDuration(navigationTiming.responseEnd, navigationTiming.loadEventEnd);\r\n }\r\n else {\r\n var total = DateTimeUtils.GetDuration(timing.navigationStart, timing.loadEventEnd);\r\n var network = DateTimeUtils.GetDuration(timing.navigationStart, timing.connectEnd);\r\n var request = DateTimeUtils.GetDuration(timing.requestStart, timing.responseStart);\r\n var response = DateTimeUtils.GetDuration(timing.responseStart, timing.responseEnd);\r\n var dom = DateTimeUtils.GetDuration(timing.responseEnd, timing.loadEventEnd);\r\n }\r\n if (total === 0) {\r\n this._logger.throwInternal(LoggingSeverity.WARNING, _InternalMessageId.ErrorPVCalc, \"error calculating page view performance.\", { total: total, network: network, request: request, response: response, dom: dom });\r\n }\r\n else if (!this.shouldCollectDuration(total, network, request, response, dom)) {\r\n this._logger.throwInternal(LoggingSeverity.WARNING, _InternalMessageId.InvalidDurationValue, \"Invalid page load duration value. Browser perf data won't be sent.\", { total: total, network: network, request: request, response: response, dom: dom });\r\n }\r\n else if (total < Math.floor(network) + Math.floor(request) + Math.floor(response) + Math.floor(dom)) {\r\n // some browsers may report individual components incorrectly so that the sum of the parts will be bigger than total PLT\r\n // in this case, don't report client performance from this page\r\n this._logger.throwInternal(LoggingSeverity.WARNING, _InternalMessageId.ClientPerformanceMathError, \"client performance math error.\", { total: total, network: network, request: request, response: response, dom: dom });\r\n }\r\n else {\r\n pageViewPerformance.durationMs = total;\r\n // // convert to timespans\r\n pageViewPerformance.perfTotal = pageViewPerformance.duration = Util.msToTimeSpan(total);\r\n pageViewPerformance.networkConnect = Util.msToTimeSpan(network);\r\n pageViewPerformance.sentRequest = Util.msToTimeSpan(request);\r\n pageViewPerformance.receivedResponse = Util.msToTimeSpan(response);\r\n pageViewPerformance.domProcessing = Util.msToTimeSpan(dom);\r\n pageViewPerformance.isValid = true;\r\n }\r\n }\r\n };\r\n PageViewPerformanceManager.prototype.getPerformanceTiming = function () {\r\n if (this.isPerformanceTimingSupported()) {\r\n return getPerformance().timing;\r\n }\r\n return null;\r\n };\r\n PageViewPerformanceManager.prototype.getPerformanceNavigationTiming = function () {\r\n if (this.isPerformanceNavigationTimingSupported()) {\r\n return getPerformance().getEntriesByType(\"navigation\")[0];\r\n }\r\n return null;\r\n };\r\n /**\r\n * Returns true is window PerformanceNavigationTiming API is supported, false otherwise.\r\n */\r\n PageViewPerformanceManager.prototype.isPerformanceNavigationTimingSupported = function () {\r\n var perf = getPerformance();\r\n return perf && perf.getEntriesByType && perf.getEntriesByType(\"navigation\").length > 0;\r\n };\r\n /**\r\n * Returns true is window performance timing API is supported, false otherwise.\r\n */\r\n PageViewPerformanceManager.prototype.isPerformanceTimingSupported = function () {\r\n var perf = getPerformance();\r\n return perf && perf.timing;\r\n };\r\n /**\r\n * As page loads different parts of performance timing numbers get set. When all of them are set we can report it.\r\n * Returns true if ready, false otherwise.\r\n */\r\n PageViewPerformanceManager.prototype.isPerformanceTimingDataReady = function () {\r\n var perf = getPerformance();\r\n var timing = perf ? perf.timing : 0;\r\n return timing\r\n && timing.domainLookupStart > 0\r\n && timing.navigationStart > 0\r\n && timing.responseStart > 0\r\n && timing.requestStart > 0\r\n && timing.loadEventEnd > 0\r\n && timing.responseEnd > 0\r\n && timing.connectEnd > 0\r\n && timing.domLoading > 0;\r\n };\r\n /**\r\n * This method tells if given durations should be excluded from collection.\r\n */\r\n PageViewPerformanceManager.prototype.shouldCollectDuration = function () {\r\n var durations = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n durations[_i] = arguments[_i];\r\n }\r\n var _navigator = getNavigator() || {};\r\n // a full list of Google crawlers user agent strings - https://support.google.com/webmasters/answer/1061943?hl=en\r\n var botAgentNames = ['googlebot', 'adsbot-google', 'apis-google', 'mediapartners-google'];\r\n var userAgent = _navigator.userAgent;\r\n var isGoogleBot = false;\r\n if (userAgent) {\r\n for (var i = 0; i < botAgentNames.length; i++) {\r\n isGoogleBot = isGoogleBot || userAgent.toLowerCase().indexOf(botAgentNames[i]) !== -1;\r\n }\r\n }\r\n if (isGoogleBot) {\r\n // Don't report durations for GoogleBot, it is returning invalid values in performance.timing API.\r\n return false;\r\n }\r\n else {\r\n // for other page views, don't report if it's outside of a reasonable range\r\n for (var i = 0; i < durations.length; i++) {\r\n if (durations[i] >= this.MAX_DURATION_ALLOWED) {\r\n return false;\r\n }\r\n }\r\n }\r\n return true;\r\n };\r\n return PageViewPerformanceManager;\r\n}());\r\nexport { PageViewPerformanceManager };\r\n//# sourceMappingURL=PageViewPerformanceManager.js.map","/*!\n * Application Insights JavaScript SDK - Web Analytics, 2.5.4\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n/**\r\n * ApplicationInsights.ts\r\n * @copyright Microsoft 2018\r\n */\r\nimport * as tslib_1 from \"tslib\";\r\nimport { Util, PageViewPerformance, PageView, RemoteDependencyData, Event as EventTelemetry, TelemetryItemCreator, Metric, Exception, SeverityLevel, Trace, DateTimeUtils, PropertiesPluginIdentifier, AnalyticsPluginIdentifier } from \"@microsoft/applicationinsights-common\";\r\nimport { BaseTelemetryPlugin, CoreUtils, LoggingSeverity, _InternalMessageId, getWindow, getDocument, getHistory, getLocation } from \"@microsoft/applicationinsights-core-js\";\r\nimport { PageViewManager } from \"./Telemetry/PageViewManager\";\r\nimport { PageVisitTimeManager } from \"./Telemetry/PageVisitTimeManager\";\r\nimport { PageViewPerformanceManager } from './Telemetry/PageViewPerformanceManager';\r\n\"use strict\";\r\nvar durationProperty = \"duration\";\r\nfunction _dispatchEvent(target, evnt) {\r\n if (target && target.dispatchEvent && evnt) {\r\n target.dispatchEvent(evnt);\r\n }\r\n}\r\nvar ApplicationInsights = /** @class */ (function (_super) {\r\n tslib_1.__extends(ApplicationInsights, _super);\r\n function ApplicationInsights() {\r\n var _this = _super.call(this) || this;\r\n _this.identifier = AnalyticsPluginIdentifier; // do not change name or priority\r\n _this.priority = 180; // take from reserved priority range 100- 200\r\n _this.autoRoutePVDelay = 500; // ms; Time to wait after a route change before triggering a pageview to allow DOM changes to take place\r\n // Counts number of trackAjax invokations.\r\n // By default we only monitor X ajax call per view to avoid too much load.\r\n // Default value is set in config.\r\n // This counter keeps increasing even after the limit is reached.\r\n _this._trackAjaxAttempts = 0;\r\n var location = getLocation();\r\n _this._prevUri = location && location.href || \"\";\r\n return _this;\r\n }\r\n ApplicationInsights.getDefaultConfig = function (config) {\r\n if (!config) {\r\n config = {};\r\n }\r\n // set default values\r\n config.sessionRenewalMs = 30 * 60 * 1000;\r\n config.sessionExpirationMs = 24 * 60 * 60 * 1000;\r\n config.disableExceptionTracking = Util.stringToBoolOrDefault(config.disableExceptionTracking);\r\n config.autoTrackPageVisitTime = Util.stringToBoolOrDefault(config.autoTrackPageVisitTime);\r\n config.overridePageViewDuration = Util.stringToBoolOrDefault(config.overridePageViewDuration);\r\n config.enableUnhandledPromiseRejectionTracking = Util.stringToBoolOrDefault(config.enableUnhandledPromiseRejectionTracking);\r\n if (isNaN(config.samplingPercentage) || config.samplingPercentage <= 0 || config.samplingPercentage >= 100) {\r\n config.samplingPercentage = 100;\r\n }\r\n config.isCookieUseDisabled = Util.stringToBoolOrDefault(config.isCookieUseDisabled);\r\n config.isStorageUseDisabled = Util.stringToBoolOrDefault(config.isStorageUseDisabled);\r\n config.isBrowserLinkTrackingEnabled = Util.stringToBoolOrDefault(config.isBrowserLinkTrackingEnabled);\r\n config.enableAutoRouteTracking = Util.stringToBoolOrDefault(config.enableAutoRouteTracking);\r\n config.namePrefix = config.namePrefix || \"\";\r\n return config;\r\n };\r\n ApplicationInsights.prototype.processTelemetry = function (env, itemCtx) {\r\n var doNotSendItem = false;\r\n var telemetryInitializersCount = this._telemetryInitializers.length;\r\n itemCtx = this._getTelCtx(itemCtx);\r\n for (var i = 0; i < telemetryInitializersCount; ++i) {\r\n var telemetryInitializer = this._telemetryInitializers[i];\r\n if (telemetryInitializer) {\r\n try {\r\n if (telemetryInitializer.apply(null, [env]) === false) {\r\n doNotSendItem = true;\r\n break;\r\n }\r\n }\r\n catch (e) {\r\n // log error but dont stop executing rest of the telemetry initializers\r\n // doNotSendItem = true;\r\n itemCtx.diagLog().throwInternal(LoggingSeverity.CRITICAL, _InternalMessageId.TelemetryInitializerFailed, \"One of telemetry initializers failed, telemetry item will not be sent: \" + Util.getExceptionName(e), { exception: Util.dump(e) }, true);\r\n }\r\n }\r\n }\r\n if (!doNotSendItem) {\r\n this.processNext(env, itemCtx);\r\n }\r\n };\r\n ApplicationInsights.prototype.trackEvent = function (event, customProperties) {\r\n try {\r\n var telemetryItem = TelemetryItemCreator.create(event, EventTelemetry.dataType, EventTelemetry.envelopeType, this.diagLog(), customProperties);\r\n this.core.track(telemetryItem);\r\n }\r\n catch (e) {\r\n this.diagLog().throwInternal(LoggingSeverity.WARNING, _InternalMessageId.TrackTraceFailed, \"trackTrace failed, trace will not be collected: \" + Util.getExceptionName(e), { exception: Util.dump(e) });\r\n }\r\n };\r\n /**\r\n * Start timing an extended event. Call `stopTrackEvent` to log the event when it ends.\r\n * @param name A string that identifies this event uniquely within the document.\r\n */\r\n ApplicationInsights.prototype.startTrackEvent = function (name) {\r\n try {\r\n this._eventTracking.start(name);\r\n }\r\n catch (e) {\r\n this.diagLog().throwInternal(LoggingSeverity.CRITICAL, _InternalMessageId.StartTrackEventFailed, \"startTrackEvent failed, event will not be collected: \" + Util.getExceptionName(e), { exception: Util.dump(e) });\r\n }\r\n };\r\n /**\r\n * Log an extended event that you started timing with `startTrackEvent`.\r\n * @param name The string you used to identify this event in `startTrackEvent`.\r\n * @param properties map[string, string] - additional data used to filter events and metrics in the portal. Defaults to empty.\r\n * @param measurements map[string, number] - metrics associated with this event, displayed in Metrics Explorer on the portal. Defaults to empty.\r\n */\r\n ApplicationInsights.prototype.stopTrackEvent = function (name, properties, measurements) {\r\n try {\r\n this._eventTracking.stop(name, undefined, properties); // Todo: Fix to pass measurements once type is updated\r\n }\r\n catch (e) {\r\n this.diagLog().throwInternal(LoggingSeverity.CRITICAL, _InternalMessageId.StopTrackEventFailed, \"stopTrackEvent failed, event will not be collected: \" + Util.getExceptionName(e), { exception: Util.dump(e) });\r\n }\r\n };\r\n /**\r\n * @description Log a diagnostic message\r\n * @param {ITraceTelemetry} trace\r\n * @param ICustomProperties.\r\n * @memberof ApplicationInsights\r\n */\r\n ApplicationInsights.prototype.trackTrace = function (trace, customProperties) {\r\n try {\r\n var telemetryItem = TelemetryItemCreator.create(trace, Trace.dataType, Trace.envelopeType, this.diagLog(), customProperties);\r\n this.core.track(telemetryItem);\r\n }\r\n catch (e) {\r\n this.diagLog().throwInternal(LoggingSeverity.WARNING, _InternalMessageId.TrackTraceFailed, \"trackTrace failed, trace will not be collected: \" + Util.getExceptionName(e), { exception: Util.dump(e) });\r\n }\r\n };\r\n /**\r\n * @description Log a numeric value that is not associated with a specific event. Typically\r\n * used to send regular reports of performance indicators. To send single measurement, just\r\n * use the name and average fields of {@link IMetricTelemetry}. If you take measurements\r\n * frequently, you can reduce the telemetry bandwidth by aggregating multiple measurements\r\n * and sending the resulting average at intervals\r\n * @param {IMetricTelemetry} metric input object argument. Only name and average are mandatory.\r\n * @param {{[key: string]: any}} customProperties additional data used to filter metrics in the\r\n * portal. Defaults to empty.\r\n * @memberof ApplicationInsights\r\n */\r\n ApplicationInsights.prototype.trackMetric = function (metric, customProperties) {\r\n try {\r\n var telemetryItem = TelemetryItemCreator.create(metric, Metric.dataType, Metric.envelopeType, this.diagLog(), customProperties);\r\n this.core.track(telemetryItem);\r\n }\r\n catch (e) {\r\n this.diagLog().throwInternal(LoggingSeverity.CRITICAL, _InternalMessageId.TrackMetricFailed, \"trackMetric failed, metric will not be collected: \" + Util.getExceptionName(e), { exception: Util.dump(e) });\r\n }\r\n };\r\n /**\r\n * Logs that a page or other item was viewed.\r\n * @param IPageViewTelemetry The string you used as the name in startTrackPage. Defaults to the document title.\r\n * @param customProperties Additional data used to filter events and metrics. Defaults to empty.\r\n * If a user wants to provide duration for pageLoad, it'll have to be in pageView.properties.duration\r\n */\r\n ApplicationInsights.prototype.trackPageView = function (pageView, customProperties) {\r\n try {\r\n var inPv = pageView || {};\r\n this._pageViewManager.trackPageView(inPv, tslib_1.__assign({}, inPv.properties, inPv.measurements, customProperties));\r\n if (this.config.autoTrackPageVisitTime) {\r\n this._pageVisitTimeManager.trackPreviousPageVisit(inPv.name, inPv.uri);\r\n }\r\n }\r\n catch (e) {\r\n this.diagLog().throwInternal(LoggingSeverity.CRITICAL, _InternalMessageId.TrackPVFailed, \"trackPageView failed, page view will not be collected: \" + Util.getExceptionName(e), { exception: Util.dump(e) });\r\n }\r\n };\r\n /**\r\n * Create a page view telemetry item and send it to the SDK pipeline through the core.track API\r\n * @param pageView Page view item to be sent\r\n * @param properties Custom properties (Part C) that a user can add to the telemetry item\r\n * @param systemProperties System level properties (Part A) that a user can add to the telemetry item\r\n */\r\n ApplicationInsights.prototype.sendPageViewInternal = function (pageView, properties, systemProperties) {\r\n var doc = getDocument();\r\n if (doc) {\r\n pageView.refUri = pageView.refUri === undefined ? doc.referrer : pageView.refUri;\r\n }\r\n var telemetryItem = TelemetryItemCreator.create(pageView, PageView.dataType, PageView.envelopeType, this.diagLog(), properties, systemProperties);\r\n this.core.track(telemetryItem);\r\n // reset ajaxes counter\r\n this._trackAjaxAttempts = 0;\r\n };\r\n /**\r\n * @ignore INTERNAL ONLY\r\n * @param pageViewPerformance\r\n * @param properties\r\n */\r\n ApplicationInsights.prototype.sendPageViewPerformanceInternal = function (pageViewPerformance, properties, systemProperties) {\r\n var telemetryItem = TelemetryItemCreator.create(pageViewPerformance, PageViewPerformance.dataType, PageViewPerformance.envelopeType, this.diagLog(), properties, systemProperties);\r\n this.core.track(telemetryItem);\r\n };\r\n /**\r\n * Send browser performance metrics.\r\n * @param pageViewPerformance\r\n * @param customProperties\r\n */\r\n ApplicationInsights.prototype.trackPageViewPerformance = function (pageViewPerformance, customProperties) {\r\n try {\r\n this._pageViewPerformanceManager.populatePageViewPerformanceEvent(pageViewPerformance);\r\n this.sendPageViewPerformanceInternal(pageViewPerformance, customProperties);\r\n }\r\n catch (e) {\r\n this.diagLog().throwInternal(LoggingSeverity.CRITICAL, _InternalMessageId.TrackPVFailed, \"trackPageViewPerformance failed, page view will not be collected: \" + Util.getExceptionName(e), { exception: Util.dump(e) });\r\n }\r\n };\r\n /**\r\n * Starts the timer for tracking a page load time. Use this instead of `trackPageView` if you want to control when the page view timer starts and stops,\r\n * but don't want to calculate the duration yourself. This method doesn't send any telemetry. Call `stopTrackPage` to log the end of the page view\r\n * and send the event.\r\n * @param name A string that idenfities this item, unique within this HTML document. Defaults to the document title.\r\n */\r\n ApplicationInsights.prototype.startTrackPage = function (name) {\r\n try {\r\n if (typeof name !== \"string\") {\r\n var doc = getDocument();\r\n name = doc && doc.title || \"\";\r\n }\r\n this._pageTracking.start(name);\r\n }\r\n catch (e) {\r\n this.diagLog().throwInternal(LoggingSeverity.CRITICAL, _InternalMessageId.StartTrackFailed, \"startTrackPage failed, page view may not be collected: \" + Util.getExceptionName(e), { exception: Util.dump(e) });\r\n }\r\n };\r\n /**\r\n * Stops the timer that was started by calling `startTrackPage` and sends the pageview load time telemetry with the specified properties and measurements.\r\n * The duration of the page view will be the time between calling `startTrackPage` and `stopTrackPage`.\r\n * @param name The string you used as the name in startTrackPage. Defaults to the document title.\r\n * @param url String - a relative or absolute URL that identifies the page or other item. Defaults to the window location.\r\n * @param properties map[string, string] - additional data used to filter pages and metrics in the portal. Defaults to empty.\r\n * @param measurements map[string, number] - metrics associated with this page, displayed in Metrics Explorer on the portal. Defaults to empty.\r\n */\r\n ApplicationInsights.prototype.stopTrackPage = function (name, url, properties, measurement) {\r\n try {\r\n if (typeof name !== \"string\") {\r\n var doc = getDocument();\r\n name = doc && doc.title || \"\";\r\n }\r\n if (typeof url !== \"string\") {\r\n var loc = getLocation();\r\n url = loc && loc.href || \"\";\r\n }\r\n this._pageTracking.stop(name, url, properties, measurement);\r\n if (this.config.autoTrackPageVisitTime) {\r\n this._pageVisitTimeManager.trackPreviousPageVisit(name, url);\r\n }\r\n }\r\n catch (e) {\r\n this.diagLog().throwInternal(LoggingSeverity.CRITICAL, _InternalMessageId.StopTrackFailed, \"stopTrackPage failed, page view will not be collected: \" + Util.getExceptionName(e), { exception: Util.dump(e) });\r\n }\r\n };\r\n /**\r\n * @ignore INTERNAL ONLY\r\n * @param exception\r\n * @param properties\r\n * @param systemProperties\r\n */\r\n ApplicationInsights.prototype.sendExceptionInternal = function (exception, customProperties, systemProperties) {\r\n var exceptionPartB = new Exception(this.diagLog(), exception.exception || new Error(Util.NotSpecified), exception.properties, exception.measurements, exception.severityLevel, exception.id).toInterface();\r\n var telemetryItem = TelemetryItemCreator.create(exceptionPartB, Exception.dataType, Exception.envelopeType, this.diagLog(), customProperties, systemProperties);\r\n this.core.track(telemetryItem);\r\n };\r\n /**\r\n * Log an exception you have caught.\r\n *\r\n * @param {IExceptionTelemetry} exception Object which contains exception to be sent\r\n * @param {{[key: string]: any}} customProperties Additional data used to filter pages and metrics in the portal. Defaults to empty.\r\n *\r\n * Any property of type double will be considered a measurement, and will be treated by Application Insights as a metric.\r\n * @memberof ApplicationInsights\r\n */\r\n ApplicationInsights.prototype.trackException = function (exception, customProperties) {\r\n try {\r\n this.sendExceptionInternal(exception, customProperties);\r\n }\r\n catch (e) {\r\n this.diagLog().throwInternal(LoggingSeverity.CRITICAL, _InternalMessageId.TrackExceptionFailed, \"trackException failed, exception will not be collected: \" + Util.getExceptionName(e), { exception: Util.dump(e) });\r\n }\r\n };\r\n /**\r\n * @description Custom error handler for Application Insights Analytics\r\n * @param {IAutoExceptionTelemetry} exception\r\n * @memberof ApplicationInsights\r\n */\r\n ApplicationInsights.prototype._onerror = function (exception) {\r\n try {\r\n var properties_1 = {\r\n url: (exception && exception.url) || (getDocument() || {}).URL,\r\n lineNumber: exception.lineNumber,\r\n columnNumber: exception.columnNumber,\r\n message: exception.message\r\n };\r\n if (Util.isCrossOriginError(exception.message, exception.url, exception.lineNumber, exception.columnNumber, exception.error)) {\r\n this._sendCORSException(properties_1.url);\r\n }\r\n else {\r\n if (!Util.isError(exception.error)) {\r\n var stack = \"window.onerror@\" + properties_1.url + \":\" + exception.lineNumber + \":\" + (exception.columnNumber || 0);\r\n exception.error = new Error(exception.message);\r\n exception.error.stack = stack;\r\n }\r\n this.trackException({ exception: exception.error, severityLevel: SeverityLevel.Error }, properties_1);\r\n }\r\n }\r\n catch (e) {\r\n var errorString = exception.error ?\r\n (exception.error.name + \", \" + exception.error.message)\r\n : \"null\";\r\n this.diagLog().throwInternal(LoggingSeverity.CRITICAL, _InternalMessageId.ExceptionWhileLoggingError, \"_onError threw exception while logging error, error will not be collected: \"\r\n + Util.getExceptionName(e), { exception: Util.dump(e), errorString: errorString });\r\n }\r\n };\r\n ApplicationInsights.prototype.addTelemetryInitializer = function (telemetryInitializer) {\r\n this._telemetryInitializers.push(telemetryInitializer);\r\n };\r\n ApplicationInsights.prototype.initialize = function (config, core, extensions, pluginChain) {\r\n var _this = this;\r\n if (this.isInitialized()) {\r\n return;\r\n }\r\n if (CoreUtils.isNullOrUndefined(core)) {\r\n throw Error(\"Error initializing\");\r\n }\r\n _super.prototype.initialize.call(this, config, core, extensions, pluginChain);\r\n this.setInitialized(false); // resetting the initialized state, just in case the following fails\r\n var ctx = this._getTelCtx();\r\n var identifier = this.identifier;\r\n this._globalconfig = {\r\n instrumentationKey: config.instrumentationKey,\r\n endpointUrl: config.endpointUrl || \"https://dc.services.visualstudio.com/v2/track\"\r\n };\r\n this.config = ctx.getExtCfg(identifier);\r\n // load default values if specified\r\n var defaults = ApplicationInsights.getDefaultConfig();\r\n if (defaults !== undefined) {\r\n for (var field in defaults) {\r\n // for each unspecified field, set the default value\r\n this.config[field] = ctx.getConfig(identifier, field, defaults[field]);\r\n }\r\n if (this._globalconfig) {\r\n for (var field in defaults) {\r\n if (this._globalconfig[field] === undefined) {\r\n this._globalconfig[field] = defaults[field];\r\n }\r\n }\r\n }\r\n }\r\n // Todo: move this out of static state\r\n if (this.config.isCookieUseDisabled) {\r\n Util.disableCookies();\r\n }\r\n // Todo: move this out of static state\r\n if (this.config.isStorageUseDisabled) {\r\n Util.disableStorage();\r\n }\r\n var configGetters = {\r\n instrumentationKey: function () { return config.instrumentationKey; },\r\n accountId: function () { return _this.config.accountId || config.accountId; },\r\n sessionRenewalMs: function () { return _this.config.sessionRenewalMs || config.sessionRenewalMs; },\r\n sessionExpirationMs: function () { return _this.config.sessionExpirationMs || config.sessionExpirationMs; },\r\n sampleRate: function () { return _this.config.samplingPercentage || config.samplingPercentage; },\r\n cookieDomain: function () { return _this.config.cookieDomain || config.cookieDomain; },\r\n sdkExtension: function () { return _this.config.sdkExtension || config.sdkExtension; },\r\n isBrowserLinkTrackingEnabled: function () { return _this.config.isBrowserLinkTrackingEnabled || config.isBrowserLinkTrackingEnabled; },\r\n appId: function () { return _this.config.appId || config.appId; }\r\n };\r\n this._pageViewPerformanceManager = new PageViewPerformanceManager(this.core);\r\n this._pageViewManager = new PageViewManager(this, this.config.overridePageViewDuration, this.core, this._pageViewPerformanceManager);\r\n this._pageVisitTimeManager = new PageVisitTimeManager(this.diagLog(), function (pageName, pageUrl, pageVisitTime) { return _this.trackPageVisitTime(pageName, pageUrl, pageVisitTime); });\r\n this._telemetryInitializers = this._telemetryInitializers || [];\r\n this._addDefaultTelemetryInitializers(configGetters);\r\n this._eventTracking = new Timing(this.diagLog(), \"trackEvent\");\r\n this._eventTracking.action =\r\n function (name, url, duration, properties) {\r\n if (!properties) {\r\n properties = {};\r\n }\r\n properties[durationProperty] = duration.toString();\r\n _this.trackEvent({ name: name, properties: properties });\r\n };\r\n // initialize page view timing\r\n this._pageTracking = new Timing(this.diagLog(), \"trackPageView\");\r\n this._pageTracking.action = function (name, url, duration, properties, measurements) {\r\n // duration must be a custom property in order for the collector to extract it\r\n if (CoreUtils.isNullOrUndefined(properties)) {\r\n properties = {};\r\n }\r\n properties[durationProperty] = duration.toString();\r\n var pageViewItem = {\r\n name: name,\r\n uri: url,\r\n properties: properties,\r\n measurements: measurements\r\n };\r\n _this.sendPageViewInternal(pageViewItem, properties);\r\n };\r\n var _window = getWindow();\r\n var _history = getHistory();\r\n var _location = getLocation();\r\n var instance = this;\r\n if (this.config.disableExceptionTracking === false &&\r\n !this.config.autoExceptionInstrumented && _window) {\r\n // We want to enable exception auto collection and it has not been done so yet\r\n var onerror_1 = \"onerror\";\r\n var originalOnError_1 = _window[onerror_1];\r\n _window.onerror = function (message, url, lineNumber, columnNumber, error) {\r\n var handled = originalOnError_1 && originalOnError_1(message, url, lineNumber, columnNumber, error);\r\n if (handled !== true) {\r\n instance._onerror({\r\n message: message,\r\n url: url,\r\n lineNumber: lineNumber,\r\n columnNumber: columnNumber,\r\n error: error\r\n });\r\n }\r\n return handled;\r\n };\r\n this.config.autoExceptionInstrumented = true;\r\n }\r\n if (this.config.disableExceptionTracking === false &&\r\n this.config.enableUnhandledPromiseRejectionTracking === true &&\r\n !this.config.autoUnhandledPromiseInstrumented && _window) {\r\n // We want to enable exception auto collection and it has not been done so yet\r\n var onunhandledrejection = \"onunhandledrejection\";\r\n var originalOnUnhandledRejection_1 = _window[onunhandledrejection];\r\n _window[onunhandledrejection] = function (error) {\r\n var handled = originalOnUnhandledRejection_1 && originalOnUnhandledRejection_1.call(_window, error);\r\n if (handled !== true) {\r\n instance._onerror({\r\n message: error.reason.toString(),\r\n error: error.reason instanceof Error ? error.reason : new Error(error.reason.toString()),\r\n url: _location ? _location.href : \"\",\r\n lineNumber: 0,\r\n columnNumber: 0\r\n });\r\n }\r\n return handled;\r\n };\r\n this.config.autoUnhandledPromiseInstrumented = true;\r\n }\r\n /**\r\n * Create a custom \"locationchange\" event which is triggered each time the history object is changed\r\n */\r\n if (this.config.enableAutoRouteTracking === true\r\n && _history && CoreUtils.isFunction(_history.pushState) && CoreUtils.isFunction(_history.replaceState)\r\n && _window\r\n && typeof Event !== \"undefined\") {\r\n var _self_1 = this;\r\n // Find the properties plugin\r\n CoreUtils.arrForEach(extensions, function (extension) {\r\n if (extension.identifier === PropertiesPluginIdentifier) {\r\n _this._properties = extension;\r\n }\r\n });\r\n _history.pushState = (function (f) { return function pushState() {\r\n var ret = f.apply(this, arguments);\r\n _dispatchEvent(_window, Util.createDomEvent(_self_1.config.namePrefix + \"pushState\"));\r\n _dispatchEvent(_window, Util.createDomEvent(_self_1.config.namePrefix + \"locationchange\"));\r\n return ret;\r\n }; })(_history.pushState);\r\n _history.replaceState = (function (f) { return function replaceState() {\r\n var ret = f.apply(this, arguments);\r\n _dispatchEvent(_window, Util.createDomEvent(_self_1.config.namePrefix + \"replaceState\"));\r\n _dispatchEvent(_window, Util.createDomEvent(_self_1.config.namePrefix + \"locationchange\"));\r\n return ret;\r\n }; })(_history.replaceState);\r\n if (_window.addEventListener) {\r\n _window.addEventListener(_self_1.config.namePrefix + \"popstate\", function () {\r\n _dispatchEvent(_window, Util.createDomEvent(_self_1.config.namePrefix + \"locationchange\"));\r\n });\r\n _window.addEventListener(_self_1.config.namePrefix + \"locationchange\", function () {\r\n if (_self_1._properties && _self_1._properties.context && _self_1._properties.context.telemetryTrace) {\r\n _self_1._properties.context.telemetryTrace.traceID = Util.generateW3CId();\r\n _self_1._properties.context.telemetryTrace.name = _location && _location.pathname || \"_unknown_\";\r\n }\r\n if (_this._currUri) {\r\n _this._prevUri = _this._currUri;\r\n _this._currUri = _location && _location.href || \"\";\r\n }\r\n else {\r\n _this._currUri = _location && _location.href || \"\";\r\n }\r\n setTimeout((function (uri) {\r\n // todo: override start time so that it is not affected by autoRoutePVDelay\r\n _self_1.trackPageView({ refUri: uri, properties: { duration: 0 } }); // SPA route change loading durations are undefined, so send 0\r\n }).bind(_this, _this._prevUri), _self_1.autoRoutePVDelay);\r\n });\r\n }\r\n }\r\n this.setInitialized(true);\r\n };\r\n /**\r\n * Log a page visit time\r\n * @param pageName Name of page\r\n * @param pageVisitDuration Duration of visit to the page in milleseconds\r\n */\r\n ApplicationInsights.prototype.trackPageVisitTime = function (pageName, pageUrl, pageVisitTime) {\r\n var properties = { PageName: pageName, PageUrl: pageUrl };\r\n this.trackMetric({\r\n name: \"PageVisitTime\",\r\n average: pageVisitTime,\r\n max: pageVisitTime,\r\n min: pageVisitTime,\r\n sampleCount: 1\r\n }, properties);\r\n };\r\n ApplicationInsights.prototype._addDefaultTelemetryInitializers = function (configGetters) {\r\n if (!configGetters.isBrowserLinkTrackingEnabled()) {\r\n var browserLinkPaths_1 = ['/browserLinkSignalR/', '/__browserLink/'];\r\n var dropBrowserLinkRequests = function (envelope) {\r\n if (envelope.baseType === RemoteDependencyData.dataType) {\r\n var remoteData = envelope.baseData;\r\n if (remoteData) {\r\n for (var i = 0; i < browserLinkPaths_1.length; i++) {\r\n if (remoteData.target && remoteData.target.indexOf(browserLinkPaths_1[i]) >= 0) {\r\n return false;\r\n }\r\n }\r\n }\r\n }\r\n return true;\r\n };\r\n this._addTelemetryInitializer(dropBrowserLinkRequests);\r\n }\r\n };\r\n ApplicationInsights.prototype._addTelemetryInitializer = function (telemetryInitializer) {\r\n this._telemetryInitializers.push(telemetryInitializer);\r\n };\r\n ApplicationInsights.prototype._sendCORSException = function (url) {\r\n var exception = {\r\n message: \"Script error: The browser's same-origin policy prevents us from getting the details of this exception. Consider using the 'crossorigin' attribute.\",\r\n url: url,\r\n lineNumber: 0,\r\n columnNumber: 0,\r\n error: undefined\r\n };\r\n var telemetryItem = TelemetryItemCreator.create(exception, Exception.dataType, Exception.envelopeType, this.diagLog(), { url: url });\r\n this.core.track(telemetryItem);\r\n };\r\n ApplicationInsights.Version = \"2.5.4\"; // Not currently used anywhere\r\n return ApplicationInsights;\r\n}(BaseTelemetryPlugin));\r\nexport { ApplicationInsights };\r\n/**\r\n * Used to record timed events and page views.\r\n */\r\nvar Timing = /** @class */ (function () {\r\n function Timing(logger, name) {\r\n this._name = name;\r\n this._events = {};\r\n this._logger = logger;\r\n }\r\n Timing.prototype.start = function (name) {\r\n if (typeof this._events[name] !== \"undefined\") {\r\n this._logger.throwInternal(LoggingSeverity.WARNING, _InternalMessageId.StartCalledMoreThanOnce, \"start was called more than once for this event without calling stop.\", { name: this._name, key: name }, true);\r\n }\r\n this._events[name] = +new Date;\r\n };\r\n Timing.prototype.stop = function (name, url, properties, measurements) {\r\n var start = this._events[name];\r\n if (isNaN(start)) {\r\n this._logger.throwInternal(LoggingSeverity.WARNING, _InternalMessageId.StopCalledWithoutStart, \"stop was called without a corresponding start.\", { name: this._name, key: name }, true);\r\n }\r\n else {\r\n var end = +new Date;\r\n var duration = DateTimeUtils.GetDuration(start, end);\r\n this.action(name, url, duration, properties, measurements);\r\n }\r\n delete this._events[name];\r\n this._events[name] = undefined;\r\n };\r\n return Timing;\r\n}());\r\n//# sourceMappingURL=ApplicationInsights.js.map"],"sourceRoot":""}