{"version":3,"sources":["webpack:///./node_modules/@microsoft/applicationinsights-common/dist-esm/ConnectionStringParser.js","webpack:///./node_modules/@microsoft/applicationinsights-common/dist-esm/Interfaces/Contracts/Generated/DataPointType.js","webpack:///./node_modules/@microsoft/applicationinsights-common/dist-esm/Interfaces/Contracts/Generated/MetricData.js","webpack:///./node_modules/@microsoft/applicationinsights-common/dist-esm/Interfaces/Contracts/Generated/DataPoint.js","webpack:///./node_modules/@microsoft/applicationinsights-common/dist-esm/Telemetry/Common/DataPoint.js","webpack:///./node_modules/@microsoft/applicationinsights-common/dist-esm/Telemetry/Metric.js","webpack:///./node_modules/@microsoft/applicationinsights-common/dist-esm/Interfaces/Contracts/Generated/SeverityLevel.js","webpack:///./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","webpack:///./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack:///./node_modules/@babel/runtime/helpers/esm/inherits.js","webpack:///./node_modules/@microsoft/applicationinsights-channel-js/dist-esm/SendBuffer.js","webpack:///./node_modules/@microsoft/applicationinsights-channel-js/dist-esm/EnvelopeCreator.js","webpack:///./node_modules/@microsoft/applicationinsights-channel-js/dist-esm/Serializer.js","webpack:///./node_modules/@microsoft/applicationinsights-channel-js/dist-esm/Sender.js","webpack:///./node_modules/@microsoft/applicationinsights-channel-js/dist-esm/Offline.js","webpack:///./node_modules/@microsoft/applicationinsights-channel-js/dist-esm/TelemetryProcessors/SamplingScoreGenerators/HashCodeScoreGenerator.js","webpack:///./node_modules/@microsoft/applicationinsights-channel-js/dist-esm/TelemetryProcessors/SamplingScoreGenerators/SamplingScoreGenerator.js","webpack:///./node_modules/@microsoft/applicationinsights-channel-js/dist-esm/TelemetryProcessors/Sample.js","webpack:///./node_modules/@microsoft/applicationinsights-common/dist-esm/Interfaces/IConfig.js","webpack:///./node_modules/@microsoft/applicationinsights-common/dist-esm/Telemetry/Common/DataSanitizer.js","webpack:///./node_modules/@microsoft/applicationinsights-common/dist-esm/Interfaces/Contracts/Generated/MessageData.js","webpack:///./node_modules/@microsoft/applicationinsights-common/dist-esm/Telemetry/Trace.js","webpack:///./node_modules/@microsoft/applicationinsights-common/dist-esm/Util.js","webpack:///./node_modules/@babel/runtime/helpers/esm/typeof.js","webpack:///./node_modules/@microsoft/applicationinsights-common/dist-esm/Enums.js","webpack:///./node_modules/@microsoft/applicationinsights-common/dist-esm/Interfaces/Contracts/Generated/StackFrame.js","webpack:///./node_modules/@microsoft/applicationinsights-common/dist-esm/Interfaces/Contracts/Generated/ExceptionData.js","webpack:///./node_modules/@microsoft/applicationinsights-common/dist-esm/Interfaces/Contracts/Generated/ExceptionDetails.js","webpack:///./node_modules/@microsoft/applicationinsights-common/dist-esm/Telemetry/Exception.js","webpack:///./node_modules/@microsoft/applicationinsights-common/dist-esm/UrlHelperFuncs.js","webpack:///./node_modules/@microsoft/applicationinsights-common/dist-esm/Constants.js","webpack:///./node_modules/@microsoft/applicationinsights-common/dist-esm/Interfaces/Contracts/Generated/PageViewPerfData.js","webpack:///./node_modules/@microsoft/applicationinsights-common/dist-esm/Telemetry/PageViewPerformance.js","webpack:///./node_modules/@babel/runtime/helpers/typeof.js","webpack:///./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","webpack:///./node_modules/@microsoft/applicationinsights-common/dist-esm/DomHelperFuncs.js","webpack:///./node_modules/@microsoft/applicationinsights-common/dist-esm/Interfaces/PartAExtensions.js","webpack:///./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","webpack:///./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","webpack:///./node_modules/@microsoft/applicationinsights-common/dist-esm/StorageHelperFuncs.js","webpack:///./node_modules/@microsoft/applicationinsights-common/dist-esm/Interfaces/Contracts/Generated/Envelope.js","webpack:///./node_modules/@microsoft/applicationinsights-common/dist-esm/Telemetry/Common/Envelope.js","webpack:///./node_modules/@microsoft/applicationinsights-common/dist-esm/Telemetry/Common/Data.js","webpack:///./node_modules/@microsoft/applicationinsights-common/dist-esm/TelemetryItemCreator.js","webpack:///./node_modules/@babel/runtime/helpers/esm/createClass.js","webpack:///./node_modules/@microsoft/applicationinsights-common/dist-esm/HelperFuncs.js","webpack:///./node_modules/@microsoft/applicationinsights-common/dist-esm/applicationinsights-common.js","webpack:///./node_modules/@babel/runtime/helpers/esm/classCallCheck.js","webpack:///./node_modules/@microsoft/applicationinsights-common/dist-esm/Interfaces/Contracts/Generated/Base.js","webpack:///./node_modules/@microsoft/applicationinsights-common/dist-esm/Interfaces/Contracts/Generated/EventData.js","webpack:///./node_modules/@microsoft/applicationinsights-common/dist-esm/Telemetry/Event.js","webpack:///./node_modules/@microsoft/applicationinsights-common/dist-esm/Interfaces/Contracts/Generated/RemoteDependencyData.js","webpack:///./node_modules/@microsoft/applicationinsights-common/dist-esm/Telemetry/RemoteDependencyData.js","webpack:///./node_modules/@microsoft/applicationinsights-common/dist-esm/Telemetry/PageView.js","webpack:///./node_modules/@microsoft/applicationinsights-common/dist-esm/Interfaces/Contracts/Generated/Data.js","webpack:///./node_modules/@microsoft/applicationinsights-common/dist-esm/RequestResponseHeaders.js","webpack:///./node_modules/@microsoft/applicationinsights-common/dist-esm/Interfaces/Contracts/Generated/PageViewData.js","webpack:///./node_modules/@microsoft/applicationinsights-common/dist-esm/Interfaces/Contracts/Generated/ContextTagKeys.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":["_FIELDS_SEPARATOR","_FIELD_KEY_VALUE_SEPARATOR","parseConnectionString","connectionString","kvPairs","split","result","fields","kv","kvParts","length","key","toLowerCase","value","endpointsuffix","locationPrefix","location","ingestionendpoint","ConnectionStringParser","parse","DataPointType","MetricData","this","ver","metrics","properties","measurements","DataPoint","kind","Measurement","_super","_this","apply","arguments","aiDataContract","name","count","min","max","stdDev","Metric","logger","call","dataPoint","undefined","isNaN","envelopeType","dataType","SeverityLevel","asyncGeneratorStep","gen","resolve","reject","_next","_throw","arg","info","error","done","Promise","then","_asyncToGenerator","fn","self","args","err","_setPrototypeOf","o","p","Object","setPrototypeOf","__proto__","_inherits","subClass","superClass","TypeError","prototype","create","constructor","writable","configurable","BaseSendBuffer","config","_buffer","_bufferFullMessageSent","_get","_set","buffer","_self","enqueue","payload","eventsLimitInMem","throwInternal","WARNING","InMemoryStorageBufferFull","push","size","lp","emitLineDelimitedJson","clear","getItems","slice","batchPayloads","batch","join","ArraySendBuffer","_base","markAsSent","clearSent","SessionStorageSendBuffer","bufferItems","_getBuffer","BUFFER_KEY","notDeliveredItems","SENT_BUFFER_KEY","concat","_removePayloadsFromBuffer","payloads","remaining","prefixedKey","namePrefix","bufferJson","buffer_1","e","CRITICAL","FailedToRestoreStorageBuffer","exception","_setBuffer","JSON","stringify","FailedToSetStorageBuffer","MAX_BUFFER_SIZE","SessionStorageBufferFull","sentElements","Array","strBaseType","strBaseData","strProperties","strTrue","_setValueIf","target","field","_extractPartAExtensions","item","env","envTags","tags","itmExt","ext","itmTags","extUser","user","userAuthUserId","authId","userId","id","localId","extApp","app","sessionId","sesId","extDevice","device","deviceId","deviceType","deviceClass","deviceIp","ip","deviceModel","model","web","deviceLanguage","browserLang","deviceBrowserVersion","browserVer","deviceBrowser","browser","envData","data","envBaseData","envProps","domain","isManual","screenRes","userConsent","extOs","os","deviceOS","extTrace","trace","operationParentId","parentID","operationName","operationId","traceID","tgs","i","tg","splice","theTags","internalSdkVersion","EnvelopeCreator","Version","_extractPropsAndMeasurements","_convertPropsUndefinedToCustomDefinedValue","customUndefinedValue","_createEnvelope","telemetryItem","envelope","Envelope","startTime","time","iKey","iKeyNoDashes","replace","EnvelopeCreatorInit","TelemetryEnvelopeInvalid","DependencyEnvelopeCreator","customMeasurements","customProperties","bd","warnToConsole","method","remoteDepData","RemoteDependencyData","duration","success","responseCode","type","correlationContext","Data","EventEnvelopeCreator","Event","eventName","eventData","ExceptionEnvelopeCreator","exData","Exception","CreateFromInterface","MetricEnvelopeCreator","baseData","props","baseMetricData","average","sampleCount","PageViewEnvelopeCreator","strDuration","currentContextId","url","uri","refUri","pageType","isLoggedIn","toString","pageTags","pageViewData","PageView","PageViewPerformanceEnvelopeCreator","PageViewPerformance","TraceEnvelopeCreator","message","severityLevel","Trace","Serializer","_serializeObject","source","circularReferenceCheck","output","CannotSerializeObject","CircularReferenceDetected","_serializeStringMap","_serializeArray","CannotSerializeObjectNonSerializable","contract","isRequired","isHidden","isArray","isPresent","isObj","MissingRequiredFieldSpecification","sources","ItemNotInArray","map","expectedType","num","parseFloat","serialize","input","OfflineListener","_window","_document","isListening","_onlineStatus","_setOnline","_setOffline","body","ononline","onoffline","_navigator","onLine","isOnline","isOffline","Offline","MIN_INPUT_LENGTH","HashCodeScoreGenerator","getHashCodeScore","score","getHashCode","INT_MAX_VALUE","hash","charCodeAt","Math","abs","SamplingScoreGenerator","hashCodeGenerator","keys","ContextTagKeys","getSamplingScore","telemetryTrace","random","Sample","sampleRate","_logger","SampleRateOutOfRange","samplingRate","samplingScoreGenerator","isSampledIn","samplingPercentage","baseType","FetchSyncRequestSizeLimitBytes","_getResponseText","xhr","responseText","_getDefaultAppInsightsChannelConfig","endpointUrl","maxBatchInterval","maxBatchSizeInBytes","disableTelemetry","enableSessionStorageBuffer","isRetryDisabled","isBeaconApiDisabled","disableXhr","onunloadDisableFetch","onunloadDisableBeacon","instrumentationKey","customHeaders","convertUndefined","EnvelopeTypeCreator","Sender","_consecutiveErrors","_retryAt","priority","identifier","_timeoutHandle","_serializer","_stamp_specific_redirects","_fallbackSender","_syncUnloadSender","_paused","_headers","_syncFetchPayload","_senderConfig","_notImplemented","_isSampledIn","_sample","_checkResponsStatus","status","responseUrl","countOfItemsInPayload","errorMessage","res","response","_appId","_parseResponse","appId","_checkAndUpdateEndPointUrl","_onError","_isRetriable","_resendPayload","diagLog","TransmissionFailed","offlineBackOffMultiplier","_onPartialSuccess","_onSuccess","_doUnloadSend","isAsync","_beaconSender","_doBeaconSend","nav","plainTextBatch","Blob","queued","sendBeacon","droppedPayload","thePayload","_xhrSender","XMLHttpRequest","endPointUrl","open","setRequestHeader","sdkContextHeader","sdkContextHeaderAppIdRequest","headerName","onreadystatechange","_xhrReadyStateChange","onerror","event","_formatErrorMessageXhr","send","_fetchKeepAliveSender","payloadSize","_doFetchSender","_fetchSender","_a","requestHeaders","Headers","batchLength","append","init","headers","keepalive","request","Request","fetch","ok","text","statusText","itemsReceived","itemsAccepted","errors","InvalidBackendResponse","linearFactor","_i","payload_1","_setRetryTime","_setupTimer","delayInSeconds","SlotDelayInSeconds","backOffSlot","pow","backOffDelay","floor","retryAfterTimeSpan","retryInterval","timerValue","setTimeout","triggerSend","_clearScheduledTimer","clearTimeout","statusCode","_xdrSender","xdr","XDomainRequest","onload","_xdrOnLoad","_formatErrorMessageXdr","hostingProtocol","protocol","lastIndexOf","_getNotifyMgr","func","core","_notifySendRequest","sendRequest","manager","eventsSendRequest","NotificationException","_validateInstrumentationKey","disableIKeyValidationFlag","disableInstrumentationKeyValidation","UUID_Regex","regexp","RegExp","test","pause","resume","flush","FlushFailed","onunloadFlush","FailedToSendQueuedTelemetry","teardown","addHeader","initialize","extensions","pluginChain","ctx","_getTelCtx","_sender","defaultConfig","getConfig","InvalidInstrumentationKey","customHeader","header","senderConfig","sendPostFunc","processTelemetry","itemCtx","CannotSendEmptyTelemetry","InvalidEvent","SenderNotInitialized","TelemetrySampledAndNotSent","SampleRate","defaultEnvelopeIkey","aiEnvelope_1","constructEnvelope","CreateEnvelopeError","doNotSendItem_1","callBack","TelemetryInitializerFailed","bufferSize","FailedAddingTelemetryToBuffer","processNext","readyState","responseURL","async","forcedSender","sendReason","Date","ieVer","OnError","results","failed","retry","reverse","errors_1","extracted","index","orig","creator","BaseTelemetryPlugin","ConfigurationManager","defaultValue","configValue","extensionConfig","dataSanitizeKeyAndAddUniqueness","origLength","dataSanitizeKey","uniqueField","substring","dsPadNumber","nameTrunc","NameTooLong","dataSanitizeString","maxLength","valueTrunc","StringValueTooLong","dataSanitizeUrl","dataSanitizeInput","UrlTooLong","dataSanitizeMessage","messageTrunc","MessageTruncated","dataSanitizeException","exceptionTrunc","ExceptionTruncated","dataSanitizeProperties","tempProps_1","prop","dataSanitizeMeasurements","tempMeasurements_1","measure","dataSanitizeId","IdTooLong","_msgId","inputTrunc","s","substr","DataSanitizer","MAX_NAME_LENGTH","MAX_ID_LENGTH","MAX_PROPERTY_LENGTH","MAX_STRING_LENGTH","MAX_URL_LENGTH","MAX_MESSAGE_LENGTH","MAX_EXCEPTION_LENGTH","sanitizeKeyAndAddUniqueness","sanitizeKey","sanitizeString","sanitizeUrl","sanitizeMessage","sanitizeException","sanitizeProperties","sanitizeMeasurements","sanitizeId","sanitizeInput","padNumber","trim","MessageData","_internalEndpoints","isInternalApplicationInsightsEndpoint","indexOf","Util","NotSpecified","createDomEvent","disableStorage","canUseLocalStorage","getStorage","setStorage","removeStorage","canUseSessionStorage","getSessionStorageKeys","getSessionStorage","setSessionStorage","removeSessionStorage","disableCookies","canUseCookies","disallowsSameSiteNone","setCookie","stringToBoolOrDefault","getCookie","deleteCookie","newId","random32","generateW3CId","isError","isDate","toISOStringForIE8","getIEVersion","msToTimeSpan","isCrossOriginError","dump","getExceptionName","addEventHandler","IsBeaconApiSupported","getExtension","UrlHelper","parseUrl","getAbsoluteUrl","getPathName","getCompleteUrl","parseHost","parseFullHost","CorrelationIdHelper","correlationIdPrefix","canIncludeCorrelationHeader","requestUrl","currentHost","disableCorrelationHeaders","correlationHeaderExcludePatterns","requestHost","host","enableCorsCorrelation","matchExists_1","includedDomains","correlationHeaderDomains","regex","excludedDomains","correlationHeaderExcludedDomains","getCorrelationContext","responseHeader","correlationId","getCorrelationContextValue","requestContextTargetKey","keyValues","keyValue","AjaxHelperParseDependencyPath","absoluteUrl","commandName","parsedUrl","pathname","pathName","charAt","dateTimeUtilsNow","perf","now","timing","navigationStart","dateTimeUtilsDuration","start","end","DateTimeUtils","Now","GetDuration","_typeof","obj","Symbol","iterator","StorageType","DistributedTracingModes","StackFrame","ExceptionData","exceptions","ExceptionDetails","hasFullStack","parsedStack","NoMethod","strError","strStack","strStackDetails","strErrorSrc","strMessage","strDescription","_stringify","convertToString","_formatMessage","theEvent","errorType","evtMessage","_isExceptionDetailsInternal","_isExceptionInternal","_isStackDetails","details","src","_convertStackObj","errorStack","items","_getOperaStack","stack","lines","entry","_getStackFromErrorObj","errorObj","window","_formatStackTrace","stackDetails","_parseStack","frames","level_1","totalSizeInBytes_1","frame","theFrame","parsedFrame","sizeInBytes","exceptionParsedStackThreshold","left","right","acceptedLeft","acceptedRight","lSize","rSize","howMany","_getErrorType","typeName","funcNameRegex","exec","_formatErrorCode","problemGroup","CreateAutoException","lineNumber","columnNumber","evt","errorSrc","ex","exceptionData","toInterface","exceptionDetailsInterface","CreateSimpleException","assembly","fileName","line","formatError","_ExceptionDetails","outerId","exceptionDetails","_StackFrame","sourceFrame","level","matches","match","parseInt","baseSize","_htmlAnchorIdx","_htmlAnchorElement","urlParseUrl","anchorIdx","anchorCache","tempAnchor","createElement","urlParseHost","href","urlGetAbsoluteUrl","a","urlGetPathName","urlGetCompleteUrl","toUpperCase","inclPort","fullHost","urlParseFullHost","port","DisabledPropertyName","ProcessLegacy","HttpMethod","DEFAULT_BREEZE_ENDPOINT","strNotSpecified","strIkey","PageViewPerfData","PageViewData","unused","cs4BaseData","perfTotal","networkConnect","sentRequest","receivedResponse","domProcessing","module","exports","__esModule","_getPrototypeOf","getPrototypeOf","doc","createEvent","initEvent","Extensions","UserExt","DeviceExt","TraceExt","WebExt","AppExt","OSExt","SessionExt","SDKExt","CtxTagKeys","_assertThisInitialized","ReferenceError","_possibleConstructorReturn","_canUseLocalStorage","_canUseSessionStorage","_getLocalStorageObject","utlCanUseLocalStorage","_getVerifiedStorageObject","LocalStorage","storageType","uid","storage","setItem","fail","getItem","removeItem","_getSessionStorageObject","utlCanUseSessionStorage","SessionStorage","utlDisableStorage","utlGetLocalStorage","BrowserCannotReadLocalStorage","utlSetLocalStorage","BrowserCannotWriteLocalStorage","utlRemoveStorage","BrowserFailedRemovalFromLocalStorage","utlGetSessionStorageKeys","utlGetSessionStorage","BrowserCannotReadSessionStorage","utlSetSessionStorage","BrowserCannotWriteSessionStorage","utlRemoveSessionStorage","BrowserFailedRemovalFromSessionStorage","TelemetryItemCreator","envelopeName","systemProperties","Error","_defineProperties","descriptor","enumerable","defineProperty","_createClass","Constructor","protoProps","staticProps","str","totalms","round","ms","sec","hour","days","getExtensionByName","extension","PropertiesPluginIdentifier","BreezeChannelIdentifier","AnalyticsPluginIdentifier","_classCallCheck","instance","Base","EventData","resultCode","requestAPI","dependencyKind","dependencySource","dependencyTypeName","dependencyFields","durationMs","RequestHeaders","requestContextHeader","requestContextAppIdFormat","requestIdHeader","traceParentHeader","traceStateHeader","requestContextHeaderLowerCase","_aiNameFunc","baseName","aiName","_aiApplication","_aiDevice","_aiLocation","_aiOperation","_aiSession","_aiUser","_aiCloud","_aiInternal","applicationVersion","applicationBuild","applicationTypeId","applicationId","applicationLayer","deviceLocale","deviceFriendlyName","deviceNetwork","deviceNetworkName","deviceOEMName","deviceOSVersion","deviceRoleInstance","deviceRoleName","deviceScreenResolution","deviceMachineName","deviceVMName","locationIp","locationCountry","locationProvince","locationCity","operationRootId","operationSyntheticSource","operationCorrelationVector","sessionIsFirst","sessionIsNew","userAccountAcquisitionDate","userAccountId","userAgent","userStoreRegion","userAnonymousUserAcquisitionDate","userAuthenticatedUserAcquisitionDate","cloudName","cloudRole","cloudRoleVer","cloudRoleInstance","cloudEnvironment","cloudLocation","cloudDeploymentUnit","internalNodeName","internalAgentVersion","internalSnippet","internalSdkSrc","PageViewManager","appInsights","overridePageViewDuration","pageViewPerformanceManager","intervalHandle","itemQueue","pageViewPerformanceSent","_flushChannels","getTransmissionControls","queues","q","_addQueue","cb","setInterval","allItems","doFlush","clearInterval","trackPageView","pageView","title","location_1","isPerformanceTimingSupported","sendPageViewInternal","NavigationTimingNotSupported","customDuration","pageViewSent","getPerformanceTiming","shouldCollectDuration","maxDurationLimit","processed","isPerformanceTimingDataReady","pageViewPerformance","populatePageViewPerformanceEvent","isValid","sendPageViewPerformanceInternal","TrackPVFailedCalc","PageVisitTimeManager","pageVisitTimeTrackingHandler","prevPageVisitDataKeyName","trackPreviousPageVisit","currentPageName","currentPageUrl","prevPageVisitTimeData","restartPageVisitTimer","pageName","pageUrl","pageVisitTime","prevPageVisitData","stopPageVisitTimer","startPageVisitTimer","currPageVisitData","currPageVisitDataStr","pageVisitEndTime","pageVisitDataJsonStr","pageVisitStartTime","PageVisitData","PageViewPerformanceManager","MAX_DURATION_ALLOWED","navigationTiming","getPerformanceNavigationTiming","total","network","dom","connectEnd","requestStart","responseStart","responseEnd","loadEventEnd","ErrorPVCalc","ClientPerformanceMathError","InvalidDurationValue","isPerformanceNavigationTimingSupported","getEntriesByType","domainLookupStart","domLoading","durations","botAgentNames","isGoogleBot","durationProperty","strEvent","_dispatchEvent","evnt","dispatchEvent","_getReason","reason","ApplicationInsights","_eventTracking","_pageTracking","_properties","autoRoutePVDelay","_prevUri","_currUri","trackPageVisitTime","PageName","PageUrl","trackMetric","_addDefaultTelemetryInitializers","configGetters","isBrowserLinkTrackingEnabled","browserLinkPaths_1","dropBrowserLinkRequests","remoteData","_addTelemetryInitializer","telemetryInitializer","_telemetryInitializers","_sendCORSException","track","getCookieMgr","doNotSendItem","telemetryInitializersCount","trackEvent","TrackTraceFailed","startTrackEvent","StartTrackEventFailed","stopTrackEvent","stop","StopTrackEventFailed","trackTrace","metric","TrackMetricFailed","inPv","_pageViewManager","autoTrackPageVisitTime","_pageVisitTimeManager","TrackPVFailed","referrer","trackPageViewPerformance","_pageViewPerformanceManager","startTrackPage","StartTrackFailed","stopTrackPage","measurement","loc","StopTrackFailed","sendExceptionInternal","theError","exceptionPartB","trackException","TrackExceptionFailed","_onerror","URL","errorString","ExceptionWhileLoggingError","addTelemetryInitializer","isInitialized","setInitialized","getExtCfg","defaults","getDefaultConfig","isStorageUseDisabled","accountId","sessionRenewalMs","sessionExpirationMs","sdkExtension","action","pageViewItem","_history","_location","disableExceptionTracking","autoExceptionInstrumented","onerror_1","originalOnError_1","handled","enableUnhandledPromiseRejectionTracking","autoUnhandledPromiseInstrumented","onunhandledrejection_1","originalOnUnhandledRejection_1","enableAutoRouteTracking","pushState","replaceState","_self_1","f","ret","addEventListener","context","traceLocationName","bind","enableDebug","disableFlushOnBeforeUnload","disableFlushOnUnload","Timing","_events","StartCalledMoreThanOnce","StopCalledWithoutStart"],"mappings":"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","file":"js/chunk-vendors~0f485567.0d5aae7c.js","sourcesContent":["/*\n * Application Insights JavaScript SDK - Common, 2.7.2\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { DEFAULT_BREEZE_ENDPOINT } from \"./Constants\";\r\nimport { arrReduce, objKeys } from \"@microsoft/applicationinsights-core-js\";\r\nvar _FIELDS_SEPARATOR = \";\";\r\nvar _FIELD_KEY_VALUE_SEPARATOR = \"=\";\r\nexport function parseConnectionString(connectionString) {\r\n if (!connectionString) {\r\n return {};\r\n }\r\n var kvPairs = connectionString.split(_FIELDS_SEPARATOR);\r\n var result = arrReduce(kvPairs, function (fields, kv) {\r\n var kvParts = kv.split(_FIELD_KEY_VALUE_SEPARATOR);\r\n if (kvParts.length === 2) { // only save fields with valid formats\r\n var key = kvParts[0].toLowerCase();\r\n var value = kvParts[1];\r\n fields[key] = value;\r\n }\r\n return fields;\r\n }, {});\r\n if (objKeys(result).length > 0) {\r\n // this is a valid connection string, so parse the results\r\n if (result.endpointsuffix) {\r\n // use endpoint suffix where overrides are not provided\r\n var locationPrefix = result.location ? result.location + \".\" : \"\";\r\n result.ingestionendpoint = result.ingestionendpoint || (\"https://\" + locationPrefix + \"dc.\" + result.endpointsuffix);\r\n }\r\n // apply the default endpoints\r\n result.ingestionendpoint = result.ingestionendpoint || DEFAULT_BREEZE_ENDPOINT;\r\n }\r\n return result;\r\n}\r\nexport var ConnectionStringParser = {\r\n parse: parseConnectionString\r\n};\r\n//# sourceMappingURL=ConnectionStringParser.js.map","/*\n * Application Insights JavaScript SDK - Common, 2.7.2\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\n// THIS FILE WAS AUTOGENERATED\r\n/**\r\n * Type of the metric data measurement.\r\n */\r\nexport var DataPointType;\r\n(function (DataPointType) {\r\n DataPointType[DataPointType[\"Measurement\"] = 0] = \"Measurement\";\r\n DataPointType[DataPointType[\"Aggregation\"] = 1] = \"Aggregation\";\r\n})(DataPointType || (DataPointType = {}));\r\n//# sourceMappingURL=DataPointType.js.map","/*\n * Application Insights JavaScript SDK - Common, 2.7.2\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\n/**\r\n * An instance of the Metric item is a list of measurements (single data points) and/or aggregations.\r\n */\r\nvar MetricData = /** @class */ (function () {\r\n function MetricData() {\r\n /**\r\n * Schema version\r\n */\r\n this.ver = 2;\r\n /**\r\n * List of metrics. Only one metric in the list is currently supported by Application Insights storage. If multiple data points were sent only the first one will be used.\r\n */\r\n this.metrics = [];\r\n /**\r\n * Collection of custom properties.\r\n */\r\n this.properties = {};\r\n /**\r\n * Collection of custom measurements.\r\n */\r\n this.measurements = {};\r\n }\r\n return MetricData;\r\n}());\r\nexport { MetricData };\r\n//# sourceMappingURL=MetricData.js.map","/*\n * Application Insights JavaScript SDK - Common, 2.7.2\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { DataPointType } from \"./DataPointType\";\r\n/**\r\n * Metric data single measurement.\r\n */\r\nvar DataPoint = /** @class */ (function () {\r\n function DataPoint() {\r\n /**\r\n * Metric type. Single measurement or the aggregated value.\r\n */\r\n this.kind = DataPointType.Measurement;\r\n }\r\n return DataPoint;\r\n}());\r\nexport { DataPoint };\r\n//# sourceMappingURL=DataPoint.js.map","/*\n * Application Insights JavaScript SDK - Common, 2.7.2\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { __extendsFn as __extends } from \"@microsoft/applicationinsights-shims\";\r\nimport { DataPoint as AIDataPoint } from \"../../Interfaces/Contracts/Generated/DataPoint\";\r\nvar DataPoint = /** @class */ (function (_super) {\r\n __extends(DataPoint, _super);\r\n function DataPoint() {\r\n var _this = _super !== null && _super.apply(this, arguments) || this;\r\n /**\r\n * The data contract for serializing this object.\r\n */\r\n _this.aiDataContract = {\r\n name: 1 /* Required */,\r\n kind: 0 /* Default */,\r\n value: 1 /* Required */,\r\n count: 0 /* Default */,\r\n min: 0 /* Default */,\r\n max: 0 /* Default */,\r\n stdDev: 0 /* Default */\r\n };\r\n return _this;\r\n }\r\n return DataPoint;\r\n}(AIDataPoint));\r\nexport { DataPoint };\r\n//# sourceMappingURL=DataPoint.js.map","/*\n * Application Insights JavaScript SDK - Common, 2.7.2\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { __extendsFn as __extends } from \"@microsoft/applicationinsights-shims\";\r\nimport { MetricData } from \"../Interfaces/Contracts/Generated/MetricData\";\r\nimport { dataSanitizeMeasurements, dataSanitizeProperties, dataSanitizeString } from \"./Common/DataSanitizer\";\r\nimport { DataPoint } from \"./Common/DataPoint\";\r\nimport { strNotSpecified } from \"../Constants\";\r\nvar Metric = /** @class */ (function (_super) {\r\n __extends(Metric, _super);\r\n /**\r\n * Constructs a new instance of the MetricTelemetry object\r\n */\r\n function Metric(logger, name, value, count, min, max, stdDev, properties, measurements) {\r\n var _this = _super.call(this) || this;\r\n _this.aiDataContract = {\r\n ver: 1 /* Required */,\r\n metrics: 1 /* Required */,\r\n properties: 0 /* Default */\r\n };\r\n var dataPoint = new DataPoint();\r\n dataPoint.count = count > 0 ? count : undefined;\r\n dataPoint.max = isNaN(max) || max === null ? undefined : max;\r\n dataPoint.min = isNaN(min) || min === null ? undefined : min;\r\n dataPoint.name = dataSanitizeString(logger, name) || strNotSpecified;\r\n dataPoint.value = value;\r\n dataPoint.stdDev = isNaN(stdDev) || stdDev === null ? undefined : stdDev;\r\n _this.metrics = [dataPoint];\r\n _this.properties = dataSanitizeProperties(logger, properties);\r\n _this.measurements = dataSanitizeMeasurements(logger, measurements);\r\n return _this;\r\n }\r\n Metric.envelopeType = \"Microsoft.ApplicationInsights.{0}.Metric\";\r\n Metric.dataType = \"MetricData\";\r\n return Metric;\r\n}(MetricData));\r\nexport { Metric };\r\n//# sourceMappingURL=Metric.js.map","/*\n * Application Insights JavaScript SDK - Common, 2.7.2\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\n// THIS FILE WAS AUTOGENERATED\r\n/**\r\n * Defines the level of severity for the event.\r\n */\r\nexport var SeverityLevel;\r\n(function (SeverityLevel) {\r\n SeverityLevel[SeverityLevel[\"Verbose\"] = 0] = \"Verbose\";\r\n SeverityLevel[SeverityLevel[\"Information\"] = 1] = \"Information\";\r\n SeverityLevel[SeverityLevel[\"Warning\"] = 2] = \"Warning\";\r\n SeverityLevel[SeverityLevel[\"Error\"] = 3] = \"Error\";\r\n SeverityLevel[SeverityLevel[\"Critical\"] = 4] = \"Critical\";\r\n})(SeverityLevel || (SeverityLevel = {}));\r\n//# sourceMappingURL=SeverityLevel.js.map","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\n\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n}","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}","/*\n * Application Insights JavaScript SDK - Channel, 2.7.2\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\nimport { __extendsFn as __extends } from \"@microsoft/applicationinsights-shims\";\r\nimport { utlGetSessionStorage, utlSetSessionStorage } from \"@microsoft/applicationinsights-common\";\r\nimport { LoggingSeverity, _InternalMessageId, getJSON, arrForEach, isFunction, arrIndexOf, isString, dumpObj, isArray, getExceptionName } from \"@microsoft/applicationinsights-core-js\";\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nvar BaseSendBuffer = /** @class */ (function () {\r\n function BaseSendBuffer(logger, config) {\r\n var _buffer = [];\r\n var _bufferFullMessageSent = false;\r\n this._get = function () {\r\n return _buffer;\r\n };\r\n this._set = function (buffer) {\r\n _buffer = buffer;\r\n return _buffer;\r\n };\r\n dynamicProto(BaseSendBuffer, this, function (_self) {\r\n _self.enqueue = function (payload) {\r\n if (_self.count() >= config.eventsLimitInMem()) {\r\n // sent internal log only once per page view\r\n if (!_bufferFullMessageSent) {\r\n logger.throwInternal(LoggingSeverity.WARNING, _InternalMessageId.InMemoryStorageBufferFull, \"Maximum in-memory buffer size reached: \" + _self.count(), true);\r\n _bufferFullMessageSent = true;\r\n }\r\n return;\r\n }\r\n _buffer.push(payload);\r\n };\r\n _self.count = function () {\r\n return _buffer.length;\r\n };\r\n _self.size = function () {\r\n var size = _buffer.length;\r\n for (var lp = 0; lp < _buffer.length; lp++) {\r\n size += _buffer[lp].length;\r\n }\r\n if (!config.emitLineDelimitedJson()) {\r\n size += 2;\r\n }\r\n return size;\r\n };\r\n _self.clear = function () {\r\n _buffer = [];\r\n _bufferFullMessageSent = false;\r\n };\r\n _self.getItems = function () {\r\n return _buffer.slice(0);\r\n };\r\n _self.batchPayloads = function (payload) {\r\n if (payload && payload.length > 0) {\r\n var batch = config.emitLineDelimitedJson() ?\r\n payload.join(\"\\n\") :\r\n \"[\" + payload.join(\",\") + \"]\";\r\n return batch;\r\n }\r\n return null;\r\n };\r\n });\r\n }\r\n// Removed Stub for BaseSendBuffer.prototype.enqueue.\r\n// Removed Stub for BaseSendBuffer.prototype.count.\r\n// Removed Stub for BaseSendBuffer.prototype.size.\r\n// Removed Stub for BaseSendBuffer.prototype.clear.\r\n// Removed Stub for BaseSendBuffer.prototype.getItems.\r\n// Removed Stub for BaseSendBuffer.prototype.batchPayloads.\r\n return BaseSendBuffer;\r\n}());\r\n/*\r\n * An array based send buffer.\r\n */\r\nvar ArraySendBuffer = /** @class */ (function (_super) {\r\n __extends(ArraySendBuffer, _super);\r\n function ArraySendBuffer(logger, config) {\r\n var _this = _super.call(this, logger, config) || this;\r\n dynamicProto(ArraySendBuffer, _this, function (_self, _base) {\r\n _self.markAsSent = function (payload) {\r\n _base.clear();\r\n };\r\n _self.clearSent = function (payload) {\r\n // not supported\r\n };\r\n });\r\n return _this;\r\n }\r\n// Removed Stub for ArraySendBuffer.prototype.markAsSent.\r\n// Removed Stub for ArraySendBuffer.prototype.clearSent.\r\n return ArraySendBuffer;\r\n}(BaseSendBuffer));\r\nexport { ArraySendBuffer };\r\n/*\r\n * Session storage buffer holds a copy of all unsent items in the browser session storage.\r\n */\r\nvar SessionStorageSendBuffer = /** @class */ (function (_super) {\r\n __extends(SessionStorageSendBuffer, _super);\r\n function SessionStorageSendBuffer(logger, config) {\r\n var _this = _super.call(this, logger, config) || this;\r\n var _bufferFullMessageSent = false;\r\n dynamicProto(SessionStorageSendBuffer, _this, function (_self, _base) {\r\n var bufferItems = _getBuffer(SessionStorageSendBuffer.BUFFER_KEY);\r\n var notDeliveredItems = _getBuffer(SessionStorageSendBuffer.SENT_BUFFER_KEY);\r\n var buffer = _self._set(bufferItems.concat(notDeliveredItems));\r\n // If the buffer has too many items, drop items from the end.\r\n if (buffer.length > SessionStorageSendBuffer.MAX_BUFFER_SIZE) {\r\n buffer.length = SessionStorageSendBuffer.MAX_BUFFER_SIZE;\r\n }\r\n _setBuffer(SessionStorageSendBuffer.SENT_BUFFER_KEY, []);\r\n _setBuffer(SessionStorageSendBuffer.BUFFER_KEY, buffer);\r\n _self.enqueue = function (payload) {\r\n if (_self.count() >= SessionStorageSendBuffer.MAX_BUFFER_SIZE) {\r\n // sent internal log only once per page view\r\n if (!_bufferFullMessageSent) {\r\n logger.throwInternal(LoggingSeverity.WARNING, _InternalMessageId.SessionStorageBufferFull, \"Maximum buffer size reached: \" + _self.count(), true);\r\n _bufferFullMessageSent = true;\r\n }\r\n return;\r\n }\r\n _base.enqueue(payload);\r\n _setBuffer(SessionStorageSendBuffer.BUFFER_KEY, _self._get());\r\n };\r\n _self.clear = function () {\r\n _base.clear();\r\n _setBuffer(SessionStorageSendBuffer.BUFFER_KEY, _self._get());\r\n _setBuffer(SessionStorageSendBuffer.SENT_BUFFER_KEY, []);\r\n _bufferFullMessageSent = false;\r\n };\r\n _self.markAsSent = function (payload) {\r\n _setBuffer(SessionStorageSendBuffer.BUFFER_KEY, _self._set(_removePayloadsFromBuffer(payload, _self._get())));\r\n var sentElements = _getBuffer(SessionStorageSendBuffer.SENT_BUFFER_KEY);\r\n if (sentElements instanceof Array && payload instanceof Array) {\r\n sentElements = sentElements.concat(payload);\r\n if (sentElements.length > SessionStorageSendBuffer.MAX_BUFFER_SIZE) {\r\n // We send telemetry normally. If the SENT_BUFFER is too big we don't add new elements\r\n // until we receive a response from the backend and the buffer has free space again (see clearSent method)\r\n logger.throwInternal(LoggingSeverity.CRITICAL, _InternalMessageId.SessionStorageBufferFull, \"Sent buffer reached its maximum size: \" + sentElements.length, true);\r\n sentElements.length = SessionStorageSendBuffer.MAX_BUFFER_SIZE;\r\n }\r\n _setBuffer(SessionStorageSendBuffer.SENT_BUFFER_KEY, sentElements);\r\n }\r\n };\r\n _self.clearSent = function (payload) {\r\n var sentElements = _getBuffer(SessionStorageSendBuffer.SENT_BUFFER_KEY);\r\n sentElements = _removePayloadsFromBuffer(payload, sentElements);\r\n _setBuffer(SessionStorageSendBuffer.SENT_BUFFER_KEY, sentElements);\r\n };\r\n function _removePayloadsFromBuffer(payloads, buffer) {\r\n var remaining = [];\r\n arrForEach(buffer, function (value) {\r\n if (!isFunction(value) && arrIndexOf(payloads, value) === -1) {\r\n remaining.push(value);\r\n }\r\n });\r\n return remaining;\r\n }\r\n function _getBuffer(key) {\r\n var prefixedKey = key;\r\n try {\r\n prefixedKey = config.namePrefix && config.namePrefix() ? config.namePrefix() + \"_\" + prefixedKey : prefixedKey;\r\n var bufferJson = utlGetSessionStorage(logger, prefixedKey);\r\n if (bufferJson) {\r\n var buffer_1 = getJSON().parse(bufferJson);\r\n if (isString(buffer_1)) {\r\n // When using some version prototype.js the stringify / parse cycle does not decode array's correctly\r\n buffer_1 = getJSON().parse(buffer_1);\r\n }\r\n if (buffer_1 && isArray(buffer_1)) {\r\n return buffer_1;\r\n }\r\n }\r\n }\r\n catch (e) {\r\n logger.throwInternal(LoggingSeverity.CRITICAL, _InternalMessageId.FailedToRestoreStorageBuffer, \" storage key: \" + prefixedKey + \", \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n return [];\r\n }\r\n function _setBuffer(key, buffer) {\r\n var prefixedKey = key;\r\n try {\r\n prefixedKey = config.namePrefix && config.namePrefix() ? config.namePrefix() + \"_\" + prefixedKey : prefixedKey;\r\n var bufferJson = JSON.stringify(buffer);\r\n utlSetSessionStorage(logger, prefixedKey, bufferJson);\r\n }\r\n catch (e) {\r\n // if there was an error, clear the buffer\r\n // telemetry is stored in the _buffer array so we won't loose any items\r\n utlSetSessionStorage(logger, prefixedKey, JSON.stringify([]));\r\n logger.throwInternal(LoggingSeverity.WARNING, _InternalMessageId.FailedToSetStorageBuffer, \" storage key: \" + prefixedKey + \", \" + getExceptionName(e) + \". Buffer cleared\", { exception: dumpObj(e) });\r\n }\r\n }\r\n });\r\n return _this;\r\n }\r\n// Removed Stub for SessionStorageSendBuffer.prototype.enqueue.\r\n// Removed Stub for SessionStorageSendBuffer.prototype.clear.\r\n// Removed Stub for SessionStorageSendBuffer.prototype.markAsSent.\r\n// Removed Stub for SessionStorageSendBuffer.prototype.clearSent.\r\n SessionStorageSendBuffer.BUFFER_KEY = \"AI_buffer\";\r\n SessionStorageSendBuffer.SENT_BUFFER_KEY = \"AI_sentBuffer\";\r\n // Maximum number of payloads stored in the buffer. If the buffer is full, new elements will be dropped.\r\n SessionStorageSendBuffer.MAX_BUFFER_SIZE = 2000;\r\n return SessionStorageSendBuffer;\r\n}(BaseSendBuffer));\r\nexport { SessionStorageSendBuffer };\r\n//# sourceMappingURL=SendBuffer.js.map","/*\n * Application Insights JavaScript SDK - Channel, 2.7.2\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\nimport { __assignFn as __assign } from \"@microsoft/applicationinsights-shims\";\r\nimport { Data, Envelope, RemoteDependencyData, Event, Exception, Metric, PageView, Trace, PageViewPerformance, CtxTagKeys, HttpMethod, SampleRate, dataSanitizeString } from \"@microsoft/applicationinsights-common\";\r\nimport { LoggingSeverity, _InternalMessageId, hasJSON, getJSON, objForEachKey, isNullOrUndefined, isNumber, isString, toISOString, setValue, isTruthy, optimizeObject } from \"@microsoft/applicationinsights-core-js\";\r\n// these two constants are used to filter out properties not needed when trying to extract custom properties and measurements from the incoming payload\r\nvar strBaseType = \"baseType\";\r\nvar strBaseData = \"baseData\";\r\nvar strProperties = \"properties\";\r\nvar strTrue = \"true\";\r\nfunction _setValueIf(target, field, value) {\r\n return setValue(target, field, value, isTruthy);\r\n}\r\n/*\r\n * Maps Part A data from CS 4.0\r\n */\r\nfunction _extractPartAExtensions(logger, item, env) {\r\n // todo: switch to keys from common in this method\r\n var envTags = env.tags = env.tags || {};\r\n var itmExt = item.ext = item.ext || {};\r\n var itmTags = item.tags = item.tags || [];\r\n var extUser = itmExt.user;\r\n if (extUser) {\r\n _setValueIf(envTags, CtxTagKeys.userAuthUserId, extUser.authId);\r\n _setValueIf(envTags, CtxTagKeys.userId, extUser.id || extUser.localId);\r\n }\r\n var extApp = itmExt.app;\r\n if (extApp) {\r\n _setValueIf(envTags, CtxTagKeys.sessionId, extApp.sesId);\r\n }\r\n var extDevice = itmExt.device;\r\n if (extDevice) {\r\n _setValueIf(envTags, CtxTagKeys.deviceId, extDevice.id || extDevice.localId);\r\n _setValueIf(envTags, CtxTagKeys.deviceType, extDevice.deviceClass);\r\n _setValueIf(envTags, CtxTagKeys.deviceIp, extDevice.ip);\r\n _setValueIf(envTags, CtxTagKeys.deviceModel, extDevice.model);\r\n _setValueIf(envTags, CtxTagKeys.deviceType, extDevice.deviceType);\r\n }\r\n var web = item.ext.web;\r\n if (web) {\r\n _setValueIf(envTags, CtxTagKeys.deviceLanguage, web.browserLang);\r\n _setValueIf(envTags, CtxTagKeys.deviceBrowserVersion, web.browserVer);\r\n _setValueIf(envTags, CtxTagKeys.deviceBrowser, web.browser);\r\n var envData = env.data = env.data || {};\r\n var envBaseData = envData[strBaseData] = envData[strBaseData] || {};\r\n var envProps = envBaseData[strProperties] = envBaseData[strProperties] || {};\r\n _setValueIf(envProps, \"domain\", web.domain);\r\n _setValueIf(envProps, \"isManual\", web.isManual ? strTrue : null);\r\n _setValueIf(envProps, \"screenRes\", web.screenRes);\r\n _setValueIf(envProps, \"userConsent\", web.userConsent ? strTrue : null);\r\n }\r\n var extOs = itmExt.os;\r\n if (extOs) {\r\n _setValueIf(envTags, CtxTagKeys.deviceOS, extOs.name);\r\n }\r\n // No support for mapping Trace.traceState to 2.0 as it is currently empty\r\n var extTrace = itmExt.trace;\r\n if (extTrace) {\r\n _setValueIf(envTags, CtxTagKeys.operationParentId, extTrace.parentID);\r\n _setValueIf(envTags, CtxTagKeys.operationName, dataSanitizeString(logger, extTrace.name));\r\n _setValueIf(envTags, CtxTagKeys.operationId, extTrace.traceID);\r\n }\r\n // Sample 4.0 schema\r\n // {\r\n // \"time\" : \"2018-09-05T22:51:22.4936Z\",\r\n // \"name\" : \"MetricWithNamespace\",\r\n // \"iKey\" : \"ABC-5a4cbd20-e601-4ef5-a3c6-5d6577e4398e\",\r\n // \"ext\": { \"cloud\": {\r\n // \"role\": \"WATSON3\",\r\n // \"roleInstance\": \"CO4AEAP00000260\"\r\n // },\r\n // \"device\": {}, \"correlation\": {} },\r\n // \"tags\": [\r\n // { \"amazon.region\" : \"east2\" },\r\n // { \"os.expid\" : \"wp:02df239\" }\r\n // ]\r\n // }\r\n var tgs = {};\r\n // deals with tags.push({object})\r\n for (var i = itmTags.length - 1; i >= 0; i--) {\r\n var tg = itmTags[i];\r\n objForEachKey(tg, function (key, value) {\r\n tgs[key] = value;\r\n });\r\n itmTags.splice(i, 1);\r\n }\r\n // deals with tags[key]=value (and handles hasOwnProperty)\r\n objForEachKey(itmTags, function (tg, value) {\r\n tgs[tg] = value;\r\n });\r\n var theTags = __assign(__assign({}, envTags), tgs);\r\n if (!theTags[CtxTagKeys.internalSdkVersion]) {\r\n // Append a version in case it is not already set\r\n theTags[CtxTagKeys.internalSdkVersion] = \"javascript:\".concat(EnvelopeCreator.Version);\r\n }\r\n env.tags = optimizeObject(theTags);\r\n}\r\nfunction _extractPropsAndMeasurements(data, properties, measurements) {\r\n if (!isNullOrUndefined(data)) {\r\n objForEachKey(data, function (key, value) {\r\n if (isNumber(value)) {\r\n measurements[key] = value;\r\n }\r\n else if (isString(value)) {\r\n properties[key] = value;\r\n }\r\n else if (hasJSON()) {\r\n properties[key] = getJSON().stringify(value);\r\n }\r\n });\r\n }\r\n}\r\nfunction _convertPropsUndefinedToCustomDefinedValue(properties, customUndefinedValue) {\r\n if (!isNullOrUndefined(properties)) {\r\n objForEachKey(properties, function (key, value) {\r\n properties[key] = value || customUndefinedValue;\r\n });\r\n }\r\n}\r\n// TODO: Do we want this to take logger as arg or use this._logger as nonstatic?\r\nfunction _createEnvelope(logger, envelopeType, telemetryItem, data) {\r\n var envelope = new Envelope(logger, data, envelopeType);\r\n _setValueIf(envelope, \"sampleRate\", telemetryItem[SampleRate]);\r\n if ((telemetryItem[strBaseData] || {}).startTime) {\r\n envelope.time = toISOString(telemetryItem[strBaseData].startTime);\r\n }\r\n envelope.iKey = telemetryItem.iKey;\r\n var iKeyNoDashes = telemetryItem.iKey.replace(/-/g, \"\");\r\n envelope.name = envelope.name.replace(\"{0}\", iKeyNoDashes);\r\n // extract all extensions from ctx\r\n _extractPartAExtensions(logger, telemetryItem, envelope);\r\n // loop through the envelope tags (extension of Part A) and pick out the ones that should go in outgoing envelope tags\r\n telemetryItem.tags = telemetryItem.tags || [];\r\n return optimizeObject(envelope);\r\n}\r\nfunction EnvelopeCreatorInit(logger, telemetryItem) {\r\n if (isNullOrUndefined(telemetryItem[strBaseData])) {\r\n logger.throwInternal(LoggingSeverity.CRITICAL, _InternalMessageId.TelemetryEnvelopeInvalid, \"telemetryItem.baseData cannot be null.\");\r\n }\r\n}\r\nexport var EnvelopeCreator = {\r\n Version: \"2.7.2\"\r\n};\r\nexport function DependencyEnvelopeCreator(logger, telemetryItem, customUndefinedValue) {\r\n EnvelopeCreatorInit(logger, telemetryItem);\r\n var customMeasurements = telemetryItem[strBaseData].measurements || {};\r\n var customProperties = telemetryItem[strBaseData][strProperties] || {};\r\n _extractPropsAndMeasurements(telemetryItem.data, customProperties, customMeasurements);\r\n if (!isNullOrUndefined(customUndefinedValue)) {\r\n _convertPropsUndefinedToCustomDefinedValue(customProperties, customUndefinedValue);\r\n }\r\n var bd = telemetryItem[strBaseData];\r\n if (isNullOrUndefined(bd)) {\r\n logger.warnToConsole(\"Invalid input for dependency data\");\r\n return null;\r\n }\r\n var method = bd[strProperties] && bd[strProperties][HttpMethod] ? bd[strProperties][HttpMethod] : \"GET\";\r\n var remoteDepData = new RemoteDependencyData(logger, bd.id, bd.target, bd.name, bd.duration, bd.success, bd.responseCode, method, bd.type, bd.correlationContext, customProperties, customMeasurements);\r\n var data = new Data(RemoteDependencyData.dataType, remoteDepData);\r\n return _createEnvelope(logger, RemoteDependencyData.envelopeType, telemetryItem, data);\r\n}\r\nexport function EventEnvelopeCreator(logger, telemetryItem, customUndefinedValue) {\r\n EnvelopeCreatorInit(logger, telemetryItem);\r\n var customProperties = {};\r\n var customMeasurements = {};\r\n if (telemetryItem[strBaseType] !== Event.dataType) {\r\n customProperties[\"baseTypeSource\"] = telemetryItem[strBaseType]; // save the passed in base type as a property\r\n }\r\n if (telemetryItem[strBaseType] === Event.dataType) { // take collection\r\n customProperties = telemetryItem[strBaseData][strProperties] || {};\r\n customMeasurements = telemetryItem[strBaseData].measurements || {};\r\n }\r\n else { // if its not a known type, convert to custom event\r\n if (telemetryItem[strBaseData]) {\r\n _extractPropsAndMeasurements(telemetryItem[strBaseData], customProperties, customMeasurements);\r\n }\r\n }\r\n // Extract root level properties from part C telemetryItem.data\r\n _extractPropsAndMeasurements(telemetryItem.data, customProperties, customMeasurements);\r\n if (!isNullOrUndefined(customUndefinedValue)) {\r\n _convertPropsUndefinedToCustomDefinedValue(customProperties, customUndefinedValue);\r\n }\r\n var eventName = telemetryItem[strBaseData].name;\r\n var eventData = new Event(logger, eventName, customProperties, customMeasurements);\r\n var data = new Data(Event.dataType, eventData);\r\n return _createEnvelope(logger, Event.envelopeType, telemetryItem, data);\r\n}\r\nexport function ExceptionEnvelopeCreator(logger, telemetryItem, customUndefinedValue) {\r\n EnvelopeCreatorInit(logger, telemetryItem);\r\n // Extract root level properties from part C telemetryItem.data\r\n var customMeasurements = telemetryItem[strBaseData].measurements || {};\r\n var customProperties = telemetryItem[strBaseData][strProperties] || {};\r\n _extractPropsAndMeasurements(telemetryItem.data, customProperties, customMeasurements);\r\n if (!isNullOrUndefined(customUndefinedValue)) {\r\n _convertPropsUndefinedToCustomDefinedValue(customProperties, customUndefinedValue);\r\n }\r\n var bd = telemetryItem[strBaseData];\r\n var exData = Exception.CreateFromInterface(logger, bd, customProperties, customMeasurements);\r\n var data = new Data(Exception.dataType, exData);\r\n return _createEnvelope(logger, Exception.envelopeType, telemetryItem, data);\r\n}\r\nexport function MetricEnvelopeCreator(logger, telemetryItem, customUndefinedValue) {\r\n EnvelopeCreatorInit(logger, telemetryItem);\r\n var baseData = telemetryItem[strBaseData];\r\n var props = baseData[strProperties] || {};\r\n var measurements = baseData.measurements || {};\r\n _extractPropsAndMeasurements(telemetryItem.data, props, measurements);\r\n if (!isNullOrUndefined(customUndefinedValue)) {\r\n _convertPropsUndefinedToCustomDefinedValue(props, customUndefinedValue);\r\n }\r\n var baseMetricData = new Metric(logger, baseData.name, baseData.average, baseData.sampleCount, baseData.min, baseData.max, baseData.stdDev, props, measurements);\r\n var data = new Data(Metric.dataType, baseMetricData);\r\n return _createEnvelope(logger, Metric.envelopeType, telemetryItem, data);\r\n}\r\nexport function PageViewEnvelopeCreator(logger, telemetryItem, customUndefinedValue) {\r\n EnvelopeCreatorInit(logger, telemetryItem);\r\n // Since duration is not part of the domain properties in Common Schema, extract it from part C\r\n var strDuration = \"duration\";\r\n var duration;\r\n var baseData = telemetryItem[strBaseData];\r\n if (!isNullOrUndefined(baseData) &&\r\n !isNullOrUndefined(baseData[strProperties]) &&\r\n !isNullOrUndefined(baseData[strProperties][strDuration])) { // from part B properties\r\n duration = baseData[strProperties][strDuration];\r\n delete baseData[strProperties][strDuration];\r\n }\r\n else if (!isNullOrUndefined(telemetryItem.data) &&\r\n !isNullOrUndefined(telemetryItem.data[strDuration])) { // from custom properties\r\n duration = telemetryItem.data[strDuration];\r\n delete telemetryItem.data[strDuration];\r\n }\r\n var bd = telemetryItem[strBaseData];\r\n // special case: pageview.id is grabbed from current operation id. Analytics plugin is decoupled from properties plugin, so this is done here instead. This can be made a default telemetry intializer instead if needed to be decoupled from channel\r\n var currentContextId;\r\n if (((telemetryItem.ext || {}).trace || {}).traceID) {\r\n currentContextId = telemetryItem.ext.trace.traceID;\r\n }\r\n var id = bd.id || currentContextId;\r\n var name = bd.name;\r\n var url = bd.uri;\r\n var properties = bd[strProperties] || {};\r\n var measurements = bd.measurements || {};\r\n // refUri is a field that Breeze still does not recognize as part of Part B. For now, put it in Part C until it supports it as a domain property\r\n if (!isNullOrUndefined(bd.refUri)) {\r\n properties[\"refUri\"] = bd.refUri;\r\n }\r\n // pageType is a field that Breeze still does not recognize as part of Part B. For now, put it in Part C until it supports it as a domain property\r\n if (!isNullOrUndefined(bd.pageType)) {\r\n properties[\"pageType\"] = bd.pageType;\r\n }\r\n // isLoggedIn is a field that Breeze still does not recognize as part of Part B. For now, put it in Part C until it supports it as a domain property\r\n if (!isNullOrUndefined(bd.isLoggedIn)) {\r\n properties[\"isLoggedIn\"] = bd.isLoggedIn.toString();\r\n }\r\n // pageTags is a field that Breeze still does not recognize as part of Part B. For now, put it in Part C until it supports it as a domain property\r\n if (!isNullOrUndefined(bd[strProperties])) {\r\n var pageTags = bd[strProperties];\r\n objForEachKey(pageTags, function (key, value) {\r\n properties[key] = value;\r\n });\r\n }\r\n _extractPropsAndMeasurements(telemetryItem.data, properties, measurements);\r\n if (!isNullOrUndefined(customUndefinedValue)) {\r\n _convertPropsUndefinedToCustomDefinedValue(properties, customUndefinedValue);\r\n }\r\n var pageViewData = new PageView(logger, name, url, duration, properties, measurements, id);\r\n var data = new Data(PageView.dataType, pageViewData);\r\n return _createEnvelope(logger, PageView.envelopeType, telemetryItem, data);\r\n}\r\nexport function PageViewPerformanceEnvelopeCreator(logger, telemetryItem, customUndefinedValue) {\r\n EnvelopeCreatorInit(logger, telemetryItem);\r\n var bd = telemetryItem[strBaseData];\r\n var name = bd.name;\r\n var url = bd.uri || bd.url;\r\n var properties = bd[strProperties] || {};\r\n var measurements = bd.measurements || {};\r\n _extractPropsAndMeasurements(telemetryItem.data, properties, measurements);\r\n if (!isNullOrUndefined(customUndefinedValue)) {\r\n _convertPropsUndefinedToCustomDefinedValue(properties, customUndefinedValue);\r\n }\r\n var baseData = new PageViewPerformance(logger, name, url, undefined, properties, measurements, bd);\r\n var data = new Data(PageViewPerformance.dataType, baseData);\r\n return _createEnvelope(logger, PageViewPerformance.envelopeType, telemetryItem, data);\r\n}\r\nexport function TraceEnvelopeCreator(logger, telemetryItem, customUndefinedValue) {\r\n EnvelopeCreatorInit(logger, telemetryItem);\r\n var message = telemetryItem[strBaseData].message;\r\n var severityLevel = telemetryItem[strBaseData].severityLevel;\r\n var props = telemetryItem[strBaseData][strProperties] || {};\r\n var measurements = telemetryItem[strBaseData].measurements || {};\r\n _extractPropsAndMeasurements(telemetryItem.data, props, measurements);\r\n if (!isNullOrUndefined(customUndefinedValue)) {\r\n _convertPropsUndefinedToCustomDefinedValue(props, customUndefinedValue);\r\n }\r\n var baseData = new Trace(logger, message, severityLevel, props, measurements);\r\n var data = new Data(Trace.dataType, baseData);\r\n return _createEnvelope(logger, Trace.envelopeType, telemetryItem, data);\r\n}\r\n//# sourceMappingURL=EnvelopeCreator.js.map","/*\n * Application Insights JavaScript SDK - Channel, 2.7.2\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\nimport { LoggingSeverity, _InternalMessageId, getJSON, objForEachKey, isFunction, isObject, isArray } from \"@microsoft/applicationinsights-core-js\";\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nvar Serializer = /** @class */ (function () {\r\n function Serializer(logger) {\r\n dynamicProto(Serializer, this, function (_self) {\r\n /**\r\n * Serializes the current object to a JSON string.\r\n */\r\n _self.serialize = function (input) {\r\n var output = _serializeObject(input, \"root\");\r\n try {\r\n return getJSON().stringify(output);\r\n }\r\n catch (e) {\r\n // if serialization fails return an empty string\r\n logger.throwInternal(LoggingSeverity.CRITICAL, _InternalMessageId.CannotSerializeObject, (e && isFunction(e.toString)) ? e.toString() : \"Error serializing object\", null, true);\r\n }\r\n };\r\n function _serializeObject(source, name) {\r\n var circularReferenceCheck = \"__aiCircularRefCheck\";\r\n var output = {};\r\n if (!source) {\r\n logger.throwInternal(LoggingSeverity.CRITICAL, _InternalMessageId.CannotSerializeObject, \"cannot serialize object because it is null or undefined\", { name: name }, true);\r\n return output;\r\n }\r\n if (source[circularReferenceCheck]) {\r\n logger.throwInternal(LoggingSeverity.WARNING, _InternalMessageId.CircularReferenceDetected, \"Circular reference detected while serializing object\", { name: name }, true);\r\n return output;\r\n }\r\n if (!source.aiDataContract) {\r\n // special case for measurements/properties/tags\r\n if (name === \"measurements\") {\r\n output = _serializeStringMap(source, \"number\", name);\r\n }\r\n else if (name === \"properties\") {\r\n output = _serializeStringMap(source, \"string\", name);\r\n }\r\n else if (name === \"tags\") {\r\n output = _serializeStringMap(source, \"string\", name);\r\n }\r\n else if (isArray(source)) {\r\n output = _serializeArray(source, name);\r\n }\r\n else {\r\n logger.throwInternal(LoggingSeverity.WARNING, _InternalMessageId.CannotSerializeObjectNonSerializable, \"Attempting to serialize an object which does not implement ISerializable\", { name: name }, true);\r\n try {\r\n // verify that the object can be stringified\r\n getJSON().stringify(source);\r\n output = source;\r\n }\r\n catch (e) {\r\n // if serialization fails return an empty string\r\n logger.throwInternal(LoggingSeverity.CRITICAL, _InternalMessageId.CannotSerializeObject, (e && isFunction(e.toString)) ? e.toString() : \"Error serializing object\", null, true);\r\n }\r\n }\r\n return output;\r\n }\r\n source[circularReferenceCheck] = true;\r\n objForEachKey(source.aiDataContract, function (field, contract) {\r\n var isRequired = (isFunction(contract)) ? (contract() & 1 /* Required */) : (contract & 1 /* Required */);\r\n var isHidden = (isFunction(contract)) ? (contract() & 4 /* Hidden */) : (contract & 4 /* Hidden */);\r\n var isArray = contract & 2 /* Array */;\r\n var isPresent = source[field] !== undefined;\r\n var isObj = isObject(source[field]) && source[field] !== null;\r\n if (isRequired && !isPresent && !isArray) {\r\n logger.throwInternal(LoggingSeverity.CRITICAL, _InternalMessageId.MissingRequiredFieldSpecification, \"Missing required field specification. The field is required but not present on source\", { field: field, name: name });\r\n // If not in debug mode, continue and hope the error is permissible\r\n }\r\n else if (!isHidden) { // Don't serialize hidden fields\r\n var value = void 0;\r\n if (isObj) {\r\n if (isArray) {\r\n // special case; recurse on each object in the source array\r\n value = _serializeArray(source[field], field);\r\n }\r\n else {\r\n // recurse on the source object in this field\r\n value = _serializeObject(source[field], field);\r\n }\r\n }\r\n else {\r\n // assign the source field to the output even if undefined or required\r\n value = source[field];\r\n }\r\n // only emit this field if the value is defined\r\n if (value !== undefined) {\r\n output[field] = value;\r\n }\r\n }\r\n });\r\n delete source[circularReferenceCheck];\r\n return output;\r\n }\r\n function _serializeArray(sources, name) {\r\n var output;\r\n if (!!sources) {\r\n if (!isArray(sources)) {\r\n logger.throwInternal(LoggingSeverity.CRITICAL, _InternalMessageId.ItemNotInArray, \"This field was specified as an array in the contract but the item is not an array.\\r\\n\", { name: name }, true);\r\n }\r\n else {\r\n output = [];\r\n for (var i = 0; i < sources.length; i++) {\r\n var source = sources[i];\r\n var item = _serializeObject(source, name + \"[\" + i + \"]\");\r\n output.push(item);\r\n }\r\n }\r\n }\r\n return output;\r\n }\r\n function _serializeStringMap(map, expectedType, name) {\r\n var output;\r\n if (map) {\r\n output = {};\r\n objForEachKey(map, function (field, value) {\r\n if (expectedType === \"string\") {\r\n if (value === undefined) {\r\n output[field] = \"undefined\";\r\n }\r\n else if (value === null) {\r\n output[field] = \"null\";\r\n }\r\n else if (!value.toString) {\r\n output[field] = \"invalid field: toString() is not defined.\";\r\n }\r\n else {\r\n output[field] = value.toString();\r\n }\r\n }\r\n else if (expectedType === \"number\") {\r\n if (value === undefined) {\r\n output[field] = \"undefined\";\r\n }\r\n else if (value === null) {\r\n output[field] = \"null\";\r\n }\r\n else {\r\n var num = parseFloat(value);\r\n if (isNaN(num)) {\r\n output[field] = \"NaN\";\r\n }\r\n else {\r\n output[field] = num;\r\n }\r\n }\r\n }\r\n else {\r\n output[field] = \"invalid field: \" + name + \" is of unknown type.\";\r\n logger.throwInternal(LoggingSeverity.CRITICAL, output[field], null, true);\r\n }\r\n });\r\n }\r\n return output;\r\n }\r\n });\r\n }\r\n// Removed Stub for Serializer.prototype.serialize.\r\n return Serializer;\r\n}());\r\nexport { Serializer };\r\n//# sourceMappingURL=Serializer.js.map","/*\n * Application Insights JavaScript SDK - Channel, 2.7.2\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\nvar _a;\r\nimport { __assignFn as __assign, __extendsFn as __extends } from \"@microsoft/applicationinsights-shims\";\r\nimport { SessionStorageSendBuffer, ArraySendBuffer } from \"./SendBuffer\";\r\nimport { DependencyEnvelopeCreator, EventEnvelopeCreator, ExceptionEnvelopeCreator, MetricEnvelopeCreator, PageViewEnvelopeCreator, PageViewPerformanceEnvelopeCreator, TraceEnvelopeCreator } from \"./EnvelopeCreator\";\r\nimport { Serializer } from \"./Serializer\"; // todo move to channel\r\nimport { DisabledPropertyName, RequestHeaders, PageView, Event, Trace, Exception, Metric, PageViewPerformance, RemoteDependencyData, ProcessLegacy, BreezeChannelIdentifier, SampleRate, isInternalApplicationInsightsEndpoint, utlCanUseSessionStorage } from \"@microsoft/applicationinsights-common\";\r\nimport { _InternalMessageId, LoggingSeverity, getWindow, getNavigator, getJSON, BaseTelemetryPlugin, objForEachKey, isNullOrUndefined, arrForEach, dateNow, dumpObj, getExceptionName, getIEVersion, throwError, objKeys, isBeaconsSupported, isFetchSupported, useXDomainRequest, isXhrSupported, isArray } from \"@microsoft/applicationinsights-core-js\";\r\nimport { Offline } from \"./Offline\";\r\nimport { Sample } from \"./TelemetryProcessors/Sample\";\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nvar FetchSyncRequestSizeLimitBytes = 65000; // approx 64kb (the current Edge, Firefox and Chrome max limit)\r\nfunction _getResponseText(xhr) {\r\n try {\r\n return xhr.responseText;\r\n }\r\n catch (e) {\r\n // Best effort, as XHR may throw while XDR wont so just ignore\r\n }\r\n return null;\r\n}\r\nfunction _getDefaultAppInsightsChannelConfig() {\r\n // set default values\r\n return {\r\n endpointUrl: function () { return \"https://dc.services.visualstudio.com/v2/track\"; },\r\n emitLineDelimitedJson: function () { return false; },\r\n maxBatchInterval: function () { return 15000; },\r\n maxBatchSizeInBytes: function () { return 102400; },\r\n disableTelemetry: function () { return false; },\r\n enableSessionStorageBuffer: function () { return true; },\r\n isRetryDisabled: function () { return false; },\r\n isBeaconApiDisabled: function () { return true; },\r\n disableXhr: function () { return false; },\r\n onunloadDisableFetch: function () { return false; },\r\n onunloadDisableBeacon: function () { return false; },\r\n instrumentationKey: function () { return undefined; },\r\n namePrefix: function () { return undefined; },\r\n samplingPercentage: function () { return 100; },\r\n customHeaders: function () { return undefined; },\r\n convertUndefined: function () { return undefined; },\r\n eventsLimitInMem: function () { return 10000; }\r\n };\r\n}\r\nvar EnvelopeTypeCreator = (_a = {},\r\n _a[Event.dataType] = EventEnvelopeCreator,\r\n _a[Trace.dataType] = TraceEnvelopeCreator,\r\n _a[PageView.dataType] = PageViewEnvelopeCreator,\r\n _a[PageViewPerformance.dataType] = PageViewPerformanceEnvelopeCreator,\r\n _a[Exception.dataType] = ExceptionEnvelopeCreator,\r\n _a[Metric.dataType] = MetricEnvelopeCreator,\r\n _a[RemoteDependencyData.dataType] = DependencyEnvelopeCreator,\r\n _a);\r\nvar Sender = /** @class */ (function (_super) {\r\n __extends(Sender, _super);\r\n function Sender() {\r\n var _this = _super.call(this) || this;\r\n _this.priority = 1001;\r\n _this.identifier = BreezeChannelIdentifier;\r\n /**\r\n * How many times in a row a retryable error condition has occurred.\r\n */\r\n var _consecutiveErrors;\r\n /**\r\n * The time to retry at in milliseconds from 1970/01/01 (this makes the timer calculation easy).\r\n */\r\n var _retryAt;\r\n /**\r\n * The time of the last send operation.\r\n */\r\n var _lastSend;\r\n /**\r\n * Flag indicating that the sending should be paused\r\n */\r\n var _paused = false;\r\n /**\r\n * Handle to the timer for delayed sending of batches of data.\r\n */\r\n var _timeoutHandle;\r\n var _serializer;\r\n var _stamp_specific_redirects;\r\n var _headers = {};\r\n // Keep track of the outstanding sync fetch payload total (as sync fetch has limits)\r\n var _syncFetchPayload = 0;\r\n /**\r\n * The sender to use if the payload size is too large\r\n */\r\n var _fallbackSender;\r\n /**\r\n * The identified sender to use for the synchronous unload stage\r\n */\r\n var _syncUnloadSender;\r\n _this._senderConfig = _getDefaultAppInsightsChannelConfig();\r\n dynamicProto(Sender, _this, function (_self, _base) {\r\n function _notImplemented() {\r\n throwError(\"Method not implemented.\");\r\n }\r\n _self.pause = function () {\r\n _clearScheduledTimer();\r\n _paused = true;\r\n };\r\n _self.resume = function () {\r\n if (_paused) {\r\n _paused = false;\r\n _retryAt = null;\r\n // flush if we have exceeded the max-size already\r\n if (_self._buffer.size() > _self._senderConfig.maxBatchSizeInBytes()) {\r\n _self.triggerSend(true, null, 10 /* MaxBatchSize */);\r\n }\r\n _setupTimer();\r\n }\r\n };\r\n _self.flush = function () {\r\n if (!_paused) {\r\n // Clear the normal schedule timer as we are going to try and flush ASAP\r\n _clearScheduledTimer();\r\n try {\r\n _self.triggerSend(true, null, 1 /* ManualFlush */);\r\n }\r\n catch (e) {\r\n _self.diagLog().throwInternal(LoggingSeverity.CRITICAL, _InternalMessageId.FlushFailed, \"flush failed, telemetry will not be collected: \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n }\r\n };\r\n _self.onunloadFlush = function () {\r\n if (!_paused) {\r\n if ((_self._senderConfig.onunloadDisableBeacon() === false || _self._senderConfig.isBeaconApiDisabled() === false) && isBeaconsSupported()) {\r\n try {\r\n _self.triggerSend(true, _doUnloadSend, 2 /* Unload */);\r\n }\r\n catch (e) {\r\n _self.diagLog().throwInternal(LoggingSeverity.CRITICAL, _InternalMessageId.FailedToSendQueuedTelemetry, \"failed to flush with beacon sender on page unload, telemetry will not be collected: \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n }\r\n else {\r\n _self.flush();\r\n }\r\n }\r\n };\r\n _self.teardown = _notImplemented;\r\n _self.addHeader = function (name, value) {\r\n _headers[name] = value;\r\n };\r\n _self.initialize = function (config, core, extensions, pluginChain) {\r\n _base.initialize(config, core, extensions, pluginChain);\r\n var ctx = _self._getTelCtx();\r\n var identifier = _self.identifier;\r\n _serializer = new Serializer(core.logger);\r\n _consecutiveErrors = 0;\r\n _retryAt = null;\r\n _lastSend = 0;\r\n _self._sender = null;\r\n _stamp_specific_redirects = 0;\r\n var diagLog = _self.diagLog();\r\n var defaultConfig = _getDefaultAppInsightsChannelConfig();\r\n objForEachKey(defaultConfig, function (field, value) {\r\n _self._senderConfig[field] = function () { return ctx.getConfig(identifier, field, value()); };\r\n });\r\n _self._buffer = (_self._senderConfig.enableSessionStorageBuffer() && utlCanUseSessionStorage())\r\n ? new SessionStorageSendBuffer(diagLog, _self._senderConfig) : new ArraySendBuffer(diagLog, _self._senderConfig);\r\n _self._sample = new Sample(_self._senderConfig.samplingPercentage(), diagLog);\r\n if (!_validateInstrumentationKey(config)) {\r\n diagLog.throwInternal(LoggingSeverity.CRITICAL, _InternalMessageId.InvalidInstrumentationKey, \"Invalid Instrumentation key \" + config.instrumentationKey);\r\n }\r\n if (!isInternalApplicationInsightsEndpoint(_self._senderConfig.endpointUrl()) && _self._senderConfig.customHeaders() && _self._senderConfig.customHeaders().length > 0) {\r\n arrForEach(_self._senderConfig.customHeaders(), function (customHeader) {\r\n _this.addHeader(customHeader.header, customHeader.value);\r\n });\r\n }\r\n var senderConfig = _self._senderConfig;\r\n var sendPostFunc = null;\r\n if (!senderConfig.disableXhr() && useXDomainRequest()) {\r\n sendPostFunc = _xdrSender; // IE 8 and 9\r\n }\r\n else if (!senderConfig.disableXhr() && isXhrSupported()) {\r\n sendPostFunc = _xhrSender;\r\n }\r\n if (!sendPostFunc && isFetchSupported()) {\r\n sendPostFunc = _fetchSender;\r\n }\r\n // always fallback to XHR\r\n _fallbackSender = sendPostFunc || _xhrSender;\r\n if (!senderConfig.isBeaconApiDisabled() && isBeaconsSupported()) {\r\n // Config is set to always used beacon sending\r\n sendPostFunc = _beaconSender;\r\n }\r\n _self._sender = sendPostFunc || _xhrSender;\r\n if (!senderConfig.onunloadDisableFetch() && isFetchSupported(true)) {\r\n // Try and use the fetch with keepalive\r\n _syncUnloadSender = _fetchKeepAliveSender;\r\n }\r\n else if (isBeaconsSupported()) {\r\n // Try and use sendBeacon\r\n _syncUnloadSender = _beaconSender;\r\n }\r\n else if (!senderConfig.disableXhr() && useXDomainRequest()) {\r\n _syncUnloadSender = _xdrSender; // IE 8 and 9\r\n }\r\n else if (!senderConfig.disableXhr() && isXhrSupported()) {\r\n _syncUnloadSender = _xhrSender;\r\n }\r\n else {\r\n _syncUnloadSender = _fallbackSender;\r\n }\r\n };\r\n _self.processTelemetry = function (telemetryItem, itemCtx) {\r\n itemCtx = _self._getTelCtx(itemCtx);\r\n try {\r\n // if master off switch is set, don't send any data\r\n if (_self._senderConfig.disableTelemetry()) {\r\n // Do not send/save data\r\n return;\r\n }\r\n // validate input\r\n if (!telemetryItem) {\r\n itemCtx.diagLog().throwInternal(LoggingSeverity.CRITICAL, _InternalMessageId.CannotSendEmptyTelemetry, \"Cannot send empty telemetry\");\r\n return;\r\n }\r\n // validate event\r\n if (telemetryItem.baseData && !telemetryItem.baseType) {\r\n itemCtx.diagLog().throwInternal(LoggingSeverity.CRITICAL, _InternalMessageId.InvalidEvent, \"Cannot send telemetry without baseData and baseType\");\r\n return;\r\n }\r\n if (!telemetryItem.baseType) {\r\n // Default\r\n telemetryItem.baseType = \"EventData\";\r\n }\r\n // ensure a sender was constructed\r\n if (!_self._sender) {\r\n itemCtx.diagLog().throwInternal(LoggingSeverity.CRITICAL, _InternalMessageId.SenderNotInitialized, \"Sender was not initialized\");\r\n return;\r\n }\r\n // check if this item should be sampled in, else add sampleRate tag\r\n if (!_isSampledIn(telemetryItem)) {\r\n // Item is sampled out, do not send it\r\n itemCtx.diagLog().throwInternal(LoggingSeverity.WARNING, _InternalMessageId.TelemetrySampledAndNotSent, \"Telemetry item was sampled out and not sent\", { SampleRate: _self._sample.sampleRate });\r\n return;\r\n }\r\n else {\r\n telemetryItem[SampleRate] = _self._sample.sampleRate;\r\n }\r\n var convertUndefined = _self._senderConfig.convertUndefined() || undefined;\r\n // construct an envelope that Application Insights endpoint can understand\r\n // if ikey of telemetry is provided and not empty, envelope will use this iKey instead of senderConfig iKey\r\n var defaultEnvelopeIkey = telemetryItem.iKey || _self._senderConfig.instrumentationKey();\r\n var aiEnvelope_1 = Sender.constructEnvelope(telemetryItem, defaultEnvelopeIkey, itemCtx.diagLog(), convertUndefined);\r\n if (!aiEnvelope_1) {\r\n itemCtx.diagLog().throwInternal(LoggingSeverity.CRITICAL, _InternalMessageId.CreateEnvelopeError, \"Unable to create an AppInsights envelope\");\r\n return;\r\n }\r\n var doNotSendItem_1 = false;\r\n // this is for running in legacy mode, where customer may already have a custom initializer present\r\n if (telemetryItem.tags && telemetryItem.tags[ProcessLegacy]) {\r\n arrForEach(telemetryItem.tags[ProcessLegacy], function (callBack) {\r\n try {\r\n if (callBack && callBack(aiEnvelope_1) === false) {\r\n doNotSendItem_1 = true;\r\n itemCtx.diagLog().warnToConsole(\"Telemetry processor check returns false\");\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: \" + getExceptionName(e), { exception: dumpObj(e) }, true);\r\n }\r\n });\r\n delete telemetryItem.tags[ProcessLegacy];\r\n }\r\n if (doNotSendItem_1) {\r\n return; // do not send, no need to execute next plugin\r\n }\r\n // check if the incoming payload is too large, truncate if necessary\r\n var payload = _serializer.serialize(aiEnvelope_1);\r\n // flush if we would exceed the max-size limit by adding this item\r\n var buffer = _self._buffer;\r\n var bufferSize = buffer.size();\r\n if ((bufferSize + payload.length) > _self._senderConfig.maxBatchSizeInBytes()) {\r\n _self.triggerSend(true, null, 10 /* MaxBatchSize */);\r\n }\r\n // enqueue the payload\r\n buffer.enqueue(payload);\r\n // ensure an invocation timeout is set\r\n _setupTimer();\r\n }\r\n catch (e) {\r\n itemCtx.diagLog().throwInternal(LoggingSeverity.WARNING, _InternalMessageId.FailedAddingTelemetryToBuffer, \"Failed adding telemetry to the sender's buffer, some telemetry will be lost: \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n // hand off the telemetry item to the next plugin\r\n _self.processNext(telemetryItem, itemCtx);\r\n };\r\n /**\r\n * xhr state changes\r\n */\r\n _self._xhrReadyStateChange = function (xhr, payload, countOfItemsInPayload) {\r\n if (xhr.readyState === 4) {\r\n _checkResponsStatus(xhr.status, payload, xhr.responseURL, countOfItemsInPayload, _formatErrorMessageXhr(xhr), _getResponseText(xhr) || xhr.response);\r\n }\r\n };\r\n /**\r\n * Immediately send buffered data\r\n * @param async {boolean} - Indicates if the events should be sent asynchronously\r\n * @param forcedSender {SenderFunction} - Indicates the forcedSender, undefined if not passed\r\n */\r\n _self.triggerSend = function (async, forcedSender, sendReason) {\r\n if (async === void 0) { async = true; }\r\n if (!_paused) {\r\n try {\r\n var buffer = _self._buffer;\r\n // Send data only if disableTelemetry is false\r\n if (!_self._senderConfig.disableTelemetry()) {\r\n if (buffer.count() > 0) {\r\n var payload = buffer.getItems();\r\n _notifySendRequest(sendReason || 0 /* Undefined */, async);\r\n // invoke send\r\n if (forcedSender) {\r\n forcedSender.call(_this, payload, async);\r\n }\r\n else {\r\n _self._sender(payload, async);\r\n }\r\n }\r\n // update lastSend time to enable throttling\r\n _lastSend = +new Date;\r\n }\r\n else {\r\n buffer.clear();\r\n }\r\n _clearScheduledTimer();\r\n }\r\n catch (e) {\r\n /* Ignore this error for IE under v10 */\r\n var ieVer = getIEVersion();\r\n if (!ieVer || ieVer > 9) {\r\n _self.diagLog().throwInternal(LoggingSeverity.CRITICAL, _InternalMessageId.TransmissionFailed, \"Telemetry transmission failed, some telemetry will be lost: \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n }\r\n }\r\n };\r\n /**\r\n * error handler\r\n */\r\n _self._onError = function (payload, message, event) {\r\n _self.diagLog().throwInternal(LoggingSeverity.WARNING, _InternalMessageId.OnError, \"Failed to send telemetry.\", { message: message });\r\n _self._buffer.clearSent(payload);\r\n };\r\n /**\r\n * partial success handler\r\n */\r\n _self._onPartialSuccess = function (payload, results) {\r\n var failed = [];\r\n var retry = [];\r\n // Iterate through the reversed array of errors so that splicing doesn't have invalid indexes after the first item.\r\n var errors = results.errors.reverse();\r\n for (var _i = 0, errors_1 = errors; _i < errors_1.length; _i++) {\r\n var error = errors_1[_i];\r\n var extracted = payload.splice(error.index, 1)[0];\r\n if (_isRetriable(error.statusCode)) {\r\n retry.push(extracted);\r\n }\r\n else {\r\n // All other errors, including: 402 (Monthly quota exceeded) and 439 (Too many requests and refresh cache).\r\n failed.push(extracted);\r\n }\r\n }\r\n if (payload.length > 0) {\r\n _self._onSuccess(payload, results.itemsAccepted);\r\n }\r\n if (failed.length > 0) {\r\n _self._onError(failed, _formatErrorMessageXhr(null, [\"partial success\", results.itemsAccepted, \"of\", results.itemsReceived].join(\" \")));\r\n }\r\n if (retry.length > 0) {\r\n _resendPayload(retry);\r\n _self.diagLog().throwInternal(LoggingSeverity.WARNING, _InternalMessageId.TransmissionFailed, \"Partial success. \" +\r\n \"Delivered: \" + payload.length + \", Failed: \" + failed.length +\r\n \". Will retry to send \" + retry.length + \" our of \" + results.itemsReceived + \" items\");\r\n }\r\n };\r\n /**\r\n * success handler\r\n */\r\n _self._onSuccess = function (payload, countOfItemsInPayload) {\r\n _self._buffer.clearSent(payload);\r\n };\r\n /**\r\n * xdr state changes\r\n */\r\n _self._xdrOnLoad = function (xdr, payload) {\r\n var responseText = _getResponseText(xdr);\r\n if (xdr && (responseText + \"\" === \"200\" || responseText === \"\")) {\r\n _consecutiveErrors = 0;\r\n _self._onSuccess(payload, 0);\r\n }\r\n else {\r\n var results = _parseResponse(responseText);\r\n if (results && results.itemsReceived && results.itemsReceived > results.itemsAccepted\r\n && !_self._senderConfig.isRetryDisabled()) {\r\n _self._onPartialSuccess(payload, results);\r\n }\r\n else {\r\n _self._onError(payload, _formatErrorMessageXdr(xdr));\r\n }\r\n }\r\n };\r\n function _isSampledIn(envelope) {\r\n return _self._sample.isSampledIn(envelope);\r\n }\r\n function _checkResponsStatus(status, payload, responseUrl, countOfItemsInPayload, errorMessage, res) {\r\n var response = null;\r\n if (!_self._appId) {\r\n response = _parseResponse(res);\r\n if (response && response.appId) {\r\n _self._appId = response.appId;\r\n }\r\n }\r\n if ((status < 200 || status >= 300) && status !== 0) {\r\n // Update End Point url if permanent redirect or moved permanently\r\n // Updates the end point url before retry\r\n if (status === 301 || status === 307 || status === 308) {\r\n if (!_checkAndUpdateEndPointUrl(responseUrl)) {\r\n _self._onError(payload, errorMessage);\r\n return;\r\n }\r\n }\r\n if (!_self._senderConfig.isRetryDisabled() && _isRetriable(status)) {\r\n _resendPayload(payload);\r\n _self.diagLog().throwInternal(LoggingSeverity.WARNING, _InternalMessageId.TransmissionFailed, \". \" +\r\n \"Response code \" + status + \". Will retry to send \" + payload.length + \" items.\");\r\n }\r\n else {\r\n _self._onError(payload, errorMessage);\r\n }\r\n }\r\n else if (Offline.isOffline()) { // offline\r\n // Note: Don't check for status == 0, since adblock gives this code\r\n if (!_self._senderConfig.isRetryDisabled()) {\r\n var offlineBackOffMultiplier = 10; // arbritrary number\r\n _resendPayload(payload, offlineBackOffMultiplier);\r\n _self.diagLog().throwInternal(LoggingSeverity.WARNING, _InternalMessageId.TransmissionFailed, \". Offline - Response Code: \".concat(status, \". Offline status: \").concat(Offline.isOffline(), \". Will retry to send \").concat(payload.length, \" items.\"));\r\n }\r\n }\r\n else {\r\n // check if the xhr's responseURL or fetch's response.url is same as endpoint url\r\n // TODO after 10 redirects force send telemetry with 'redirect=false' as query parameter.\r\n _checkAndUpdateEndPointUrl(responseUrl);\r\n if (status === 206) {\r\n if (!response) {\r\n response = _parseResponse(res);\r\n }\r\n if (response && !_self._senderConfig.isRetryDisabled()) {\r\n _self._onPartialSuccess(payload, response);\r\n }\r\n else {\r\n _self._onError(payload, errorMessage);\r\n }\r\n }\r\n else {\r\n _consecutiveErrors = 0;\r\n _self._onSuccess(payload, countOfItemsInPayload);\r\n }\r\n }\r\n }\r\n function _checkAndUpdateEndPointUrl(responseUrl) {\r\n // Maximum stamp specific redirects allowed(uncomment this when breeze is ready with not allowing redirects feature)\r\n if (_stamp_specific_redirects >= 10) {\r\n // _self._senderConfig.endpointUrl = () => Sender._getDefaultAppInsightsChannelConfig().endpointUrl()+\"/?redirect=false\";\r\n // _stamp_specific_redirects = 0;\r\n return false;\r\n }\r\n if (!isNullOrUndefined(responseUrl) && responseUrl !== \"\") {\r\n if (responseUrl !== _self._senderConfig.endpointUrl()) {\r\n _self._senderConfig.endpointUrl = function () { return responseUrl; };\r\n ++_stamp_specific_redirects;\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n function _doUnloadSend(payload, isAsync) {\r\n if (_syncUnloadSender) {\r\n // We are unloading so always call the sender with sync set to false\r\n _syncUnloadSender(payload, false);\r\n }\r\n else {\r\n // Fallback to the previous beacon Sender (which causes a CORB warning on chrome now)\r\n _beaconSender(payload, isAsync);\r\n }\r\n }\r\n function _doBeaconSend(payload) {\r\n var nav = getNavigator();\r\n var buffer = _self._buffer;\r\n var url = _self._senderConfig.endpointUrl();\r\n var batch = _self._buffer.batchPayloads(payload);\r\n // Chrome only allows CORS-safelisted values for the sendBeacon data argument\r\n // see: https://bugs.chromium.org/p/chromium/issues/detail?id=720283\r\n var plainTextBatch = new Blob([batch], { type: \"text/plain;charset=UTF-8\" });\r\n // The sendBeacon method returns true if the user agent is able to successfully queue the data for transfer. Otherwise it returns false.\r\n var queued = nav.sendBeacon(url, plainTextBatch);\r\n if (queued) {\r\n buffer.markAsSent(payload);\r\n // no response from beaconSender, clear buffer\r\n _self._onSuccess(payload, payload.length);\r\n }\r\n return queued;\r\n }\r\n /**\r\n * Send Beacon API request\r\n * @param payload {string} - The data payload to be sent.\r\n * @param isAsync {boolean} - not used\r\n * Note: Beacon API does not support custom headers and we are not able to get\r\n * appId from the backend for the correct correlation.\r\n */\r\n function _beaconSender(payload, isAsync) {\r\n if (isArray(payload) && payload.length > 0) {\r\n // The sendBeacon method returns true if the user agent is able to successfully queue the data for transfer. Otherwise it returns false.\r\n if (!_doBeaconSend(payload)) {\r\n // Failed to send entire payload so try and split data and try to send as much events as possible\r\n var droppedPayload = [];\r\n for (var lp = 0; lp < payload.length; lp++) {\r\n var thePayload = payload[lp];\r\n if (!_doBeaconSend([thePayload])) {\r\n // Can't send anymore, so split the batch and drop the rest\r\n droppedPayload.push(thePayload);\r\n }\r\n }\r\n if (droppedPayload.length > 0) {\r\n _fallbackSender(droppedPayload, true);\r\n _self.diagLog().throwInternal(LoggingSeverity.WARNING, _InternalMessageId.TransmissionFailed, \". \" + \"Failed to send telemetry with Beacon API, retried with normal sender.\");\r\n }\r\n }\r\n }\r\n }\r\n /**\r\n * Send XMLHttpRequest\r\n * @param payload {string} - The data payload to be sent.\r\n * @param isAsync {boolean} - Indicates if the request should be sent asynchronously\r\n */\r\n function _xhrSender(payload, isAsync) {\r\n var xhr = new XMLHttpRequest();\r\n var endPointUrl = _self._senderConfig.endpointUrl();\r\n try {\r\n xhr[DisabledPropertyName] = true;\r\n }\r\n catch (e) {\r\n // If the environment has locked down the XMLHttpRequest (preventExtensions and/or freeze), this would\r\n // cause the request to fail and we no telemetry would be sent\r\n }\r\n xhr.open(\"POST\", endPointUrl, isAsync);\r\n xhr.setRequestHeader(\"Content-type\", \"application/json\");\r\n // append Sdk-Context request header only in case of breeze endpoint\r\n if (isInternalApplicationInsightsEndpoint(endPointUrl)) {\r\n xhr.setRequestHeader(RequestHeaders.sdkContextHeader, RequestHeaders.sdkContextHeaderAppIdRequest);\r\n }\r\n arrForEach(objKeys(_headers), function (headerName) {\r\n xhr.setRequestHeader(headerName, _headers[headerName]);\r\n });\r\n xhr.onreadystatechange = function () { return _self._xhrReadyStateChange(xhr, payload, payload.length); };\r\n xhr.onerror = function (event) { return _self._onError(payload, _formatErrorMessageXhr(xhr), event); };\r\n // compose an array of payloads\r\n var batch = _self._buffer.batchPayloads(payload);\r\n xhr.send(batch);\r\n _self._buffer.markAsSent(payload);\r\n }\r\n function _fetchKeepAliveSender(payload, isAsync) {\r\n if (isArray(payload)) {\r\n var payloadSize = payload.length;\r\n for (var lp = 0; lp < payload.length; lp++) {\r\n payloadSize += payload[lp].length;\r\n }\r\n if ((_syncFetchPayload + payloadSize) <= FetchSyncRequestSizeLimitBytes) {\r\n _doFetchSender(payload, false);\r\n }\r\n else if (isBeaconsSupported()) {\r\n // Fallback to beacon sender as we at least get told which events can't be scheduled\r\n _beaconSender(payload, isAsync);\r\n }\r\n else {\r\n // Payload is going to be too big so just try and send via XHR\r\n _fallbackSender && _fallbackSender(payload, true);\r\n _self.diagLog().throwInternal(LoggingSeverity.WARNING, _InternalMessageId.TransmissionFailed, \". \" + \"Failed to send telemetry with Beacon API, retried with xhrSender.\");\r\n }\r\n }\r\n }\r\n /**\r\n * Send fetch API request\r\n * @param payload {string} - The data payload to be sent.\r\n * @param isAsync {boolean} - not used\r\n */\r\n function _fetchSender(payload, isAsync) {\r\n _doFetchSender(payload, true);\r\n }\r\n /**\r\n * Send fetch API request\r\n * @param payload {string} - The data payload to be sent.\r\n * @param isAsync {boolean} - not used\r\n */\r\n function _doFetchSender(payload, isAsync) {\r\n var _a;\r\n var endPointUrl = _self._senderConfig.endpointUrl();\r\n var batch = _self._buffer.batchPayloads(payload);\r\n var plainTextBatch = new Blob([batch], { type: \"application/json\" });\r\n var requestHeaders = new Headers();\r\n var batchLength = batch.length;\r\n // append Sdk-Context request header only in case of breeze endpoint\r\n if (isInternalApplicationInsightsEndpoint(endPointUrl)) {\r\n requestHeaders.append(RequestHeaders.sdkContextHeader, RequestHeaders.sdkContextHeaderAppIdRequest);\r\n }\r\n arrForEach(objKeys(_headers), function (headerName) {\r\n requestHeaders.append(headerName, _headers[headerName]);\r\n });\r\n var init = (_a = {\r\n method: \"POST\",\r\n headers: requestHeaders,\r\n body: plainTextBatch\r\n },\r\n _a[DisabledPropertyName] = true // Mark so we don't attempt to track this request\r\n ,\r\n _a);\r\n if (!isAsync) {\r\n init.keepalive = true;\r\n _syncFetchPayload += batchLength;\r\n }\r\n var request = new Request(endPointUrl, init);\r\n try {\r\n // Also try and tag the request (just in case the value in init is not copied over)\r\n request[DisabledPropertyName] = true;\r\n }\r\n catch (e) {\r\n // If the environment has locked down the XMLHttpRequest (preventExtensions and/or freeze), this would\r\n // cause the request to fail and we no telemetry would be sent\r\n }\r\n fetch(request).then(function (response) {\r\n if (!isAsync) {\r\n _syncFetchPayload -= batchLength;\r\n batchLength = 0;\r\n }\r\n /**\r\n * The Promise returned from fetch() won’t reject on HTTP error status even if the response is an HTTP 404 or 500.\r\n * Instead, it will resolve normally (with ok status set to false), and it will only reject on network failure\r\n * or if anything prevented the request from completing.\r\n */\r\n if (!response.ok) {\r\n _self._onError(payload, response.statusText);\r\n }\r\n else {\r\n response.text().then(function (text) {\r\n _checkResponsStatus(response.status, payload, response.url, payload.length, response.statusText, text);\r\n });\r\n }\r\n })[\"catch\"](function (error) {\r\n if (!isAsync) {\r\n _syncFetchPayload -= batchLength;\r\n batchLength = 0;\r\n }\r\n _self._onError(payload, error.message);\r\n });\r\n _self._buffer.markAsSent(payload);\r\n }\r\n /**\r\n * Parses the response from the backend.\r\n * @param response - XMLHttpRequest or XDomainRequest response\r\n */\r\n function _parseResponse(response) {\r\n try {\r\n if (response && response !== \"\") {\r\n var result = getJSON().parse(response);\r\n if (result && result.itemsReceived && result.itemsReceived >= result.itemsAccepted &&\r\n result.itemsReceived - result.itemsAccepted === result.errors.length) {\r\n return result;\r\n }\r\n }\r\n }\r\n catch (e) {\r\n _self.diagLog().throwInternal(LoggingSeverity.CRITICAL, _InternalMessageId.InvalidBackendResponse, \"Cannot parse the response. \" + getExceptionName(e), {\r\n response: response\r\n });\r\n }\r\n return null;\r\n }\r\n /**\r\n * Resend payload. Adds payload back to the send buffer and setup a send timer (with exponential backoff).\r\n * @param payload\r\n */\r\n function _resendPayload(payload, linearFactor) {\r\n if (linearFactor === void 0) { linearFactor = 1; }\r\n if (!payload || payload.length === 0) {\r\n return;\r\n }\r\n var buffer = _self._buffer;\r\n buffer.clearSent(payload);\r\n _consecutiveErrors++;\r\n for (var _i = 0, payload_1 = payload; _i < payload_1.length; _i++) {\r\n var item = payload_1[_i];\r\n buffer.enqueue(item);\r\n }\r\n // setup timer\r\n _setRetryTime(linearFactor);\r\n _setupTimer();\r\n }\r\n /**\r\n * Calculates the time to wait before retrying in case of an error based on\r\n * http://en.wikipedia.org/wiki/Exponential_backoff\r\n */\r\n function _setRetryTime(linearFactor) {\r\n var SlotDelayInSeconds = 10;\r\n var delayInSeconds;\r\n if (_consecutiveErrors <= 1) {\r\n delayInSeconds = SlotDelayInSeconds;\r\n }\r\n else {\r\n var backOffSlot = (Math.pow(2, _consecutiveErrors) - 1) / 2;\r\n // tslint:disable-next-line:insecure-random\r\n var backOffDelay = Math.floor(Math.random() * backOffSlot * SlotDelayInSeconds) + 1;\r\n backOffDelay = linearFactor * backOffDelay;\r\n delayInSeconds = Math.max(Math.min(backOffDelay, 3600), SlotDelayInSeconds);\r\n }\r\n // TODO: Log the backoff time like the C# version does.\r\n var retryAfterTimeSpan = dateNow() + (delayInSeconds * 1000);\r\n // TODO: Log the retry at time like the C# version does.\r\n _retryAt = retryAfterTimeSpan;\r\n }\r\n /**\r\n * Sets up the timer which triggers actually sending the data.\r\n */\r\n function _setupTimer() {\r\n if (!_timeoutHandle && !_paused) {\r\n var retryInterval = _retryAt ? Math.max(0, _retryAt - dateNow()) : 0;\r\n var timerValue = Math.max(_self._senderConfig.maxBatchInterval(), retryInterval);\r\n _timeoutHandle = setTimeout(function () {\r\n _timeoutHandle = null;\r\n _self.triggerSend(true, null, 1 /* NormalSchedule */);\r\n }, timerValue);\r\n }\r\n }\r\n function _clearScheduledTimer() {\r\n clearTimeout(_timeoutHandle);\r\n _timeoutHandle = null;\r\n _retryAt = null;\r\n }\r\n /**\r\n * Checks if the SDK should resend the payload after receiving this status code from the backend.\r\n * @param statusCode\r\n */\r\n function _isRetriable(statusCode) {\r\n return statusCode === 408 // Timeout\r\n || statusCode === 429 // Too many requests.\r\n || statusCode === 500 // Internal server error.\r\n || statusCode === 503; // Service unavailable.\r\n }\r\n function _formatErrorMessageXhr(xhr, message) {\r\n if (xhr) {\r\n return \"XMLHttpRequest,Status:\" + xhr.status + \",Response:\" + _getResponseText(xhr) || xhr.response || \"\";\r\n }\r\n return message;\r\n }\r\n /**\r\n * Send XDomainRequest\r\n * @param payload {string} - The data payload to be sent.\r\n * @param isAsync {boolean} - Indicates if the request should be sent asynchronously\r\n *\r\n * Note: XDomainRequest does not support sync requests. This 'isAsync' parameter is added\r\n * to maintain consistency with the xhrSender's contract\r\n * Note: XDomainRequest does not support custom headers and we are not able to get\r\n * appId from the backend for the correct correlation.\r\n */\r\n function _xdrSender(payload, isAsync) {\r\n var buffer = _self._buffer;\r\n var _window = getWindow();\r\n var xdr = new XDomainRequest();\r\n xdr.onload = function () { return _self._xdrOnLoad(xdr, payload); };\r\n xdr.onerror = function (event) { return _self._onError(payload, _formatErrorMessageXdr(xdr), event); };\r\n // XDomainRequest requires the same protocol as the hosting page.\r\n // If the protocol doesn't match, we can't send the telemetry :(.\r\n var hostingProtocol = _window && _window.location && _window.location.protocol || \"\";\r\n if (_self._senderConfig.endpointUrl().lastIndexOf(hostingProtocol, 0) !== 0) {\r\n _self.diagLog().throwInternal(LoggingSeverity.WARNING, _InternalMessageId.TransmissionFailed, \". \" +\r\n \"Cannot send XDomain request. The endpoint URL protocol doesn't match the hosting page protocol.\");\r\n buffer.clear();\r\n return;\r\n }\r\n var endpointUrl = _self._senderConfig.endpointUrl().replace(/^(https?:)/, \"\");\r\n xdr.open(\"POST\", endpointUrl);\r\n // compose an array of payloads\r\n var batch = buffer.batchPayloads(payload);\r\n xdr.send(batch);\r\n buffer.markAsSent(payload);\r\n }\r\n function _formatErrorMessageXdr(xdr, message) {\r\n if (xdr) {\r\n return \"XDomainRequest,Response:\" + _getResponseText(xdr) || \"\";\r\n }\r\n return message;\r\n }\r\n // Using function lookups for backward compatibility as the getNotifyMgr() did not exist until after v2.5.6\r\n function _getNotifyMgr() {\r\n var func = \"getNotifyMgr\";\r\n if (_self.core[func]) {\r\n return _self.core[func]();\r\n }\r\n // using _self.core['_notificationManager'] for backward compatibility\r\n return _self.core[\"_notificationManager\"];\r\n }\r\n function _notifySendRequest(sendRequest, isAsync) {\r\n var manager = _getNotifyMgr();\r\n if (manager && manager.eventsSendRequest) {\r\n try {\r\n manager.eventsSendRequest(sendRequest, isAsync);\r\n }\r\n catch (e) {\r\n _self.diagLog().throwInternal(LoggingSeverity.CRITICAL, _InternalMessageId.NotificationException, \"send request notification failed: \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n }\r\n }\r\n /**\r\n * Validate UUID Format\r\n * Specs taken from https://tools.ietf.org/html/rfc4122 and breeze repo\r\n */\r\n function _validateInstrumentationKey(config) {\r\n var disableIKeyValidationFlag = isNullOrUndefined(config.disableInstrumentationKeyValidation) ? false : config.disableInstrumentationKeyValidation;\r\n if (disableIKeyValidationFlag) {\r\n return true;\r\n }\r\n var UUID_Regex = \"^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$\";\r\n var regexp = new RegExp(UUID_Regex);\r\n return regexp.test(config.instrumentationKey);\r\n }\r\n });\r\n return _this;\r\n }\r\n Sender.constructEnvelope = function (orig, iKey, logger, convertUndefined) {\r\n var envelope;\r\n if (iKey !== orig.iKey && !isNullOrUndefined(iKey)) {\r\n envelope = __assign(__assign({}, orig), { iKey: iKey });\r\n }\r\n else {\r\n envelope = orig;\r\n }\r\n var creator = EnvelopeTypeCreator[envelope.baseType] || EventEnvelopeCreator;\r\n return creator(logger, envelope, convertUndefined);\r\n };\r\n// Removed Stub for Sender.prototype.pause.\r\n// Removed Stub for Sender.prototype.resume.\r\n// Removed Stub for Sender.prototype.flush.\r\n// Removed Stub for Sender.prototype.onunloadFlush.\r\n// Removed Stub for Sender.prototype.teardown.\r\n// Removed Stub for Sender.prototype.initialize.\r\n// Removed Stub for Sender.prototype.processTelemetry.\r\n// Removed Stub for Sender.prototype._xhrReadyStateChange.\r\n// Removed Stub for Sender.prototype.triggerSend.\r\n// Removed Stub for Sender.prototype._onError.\r\n// Removed Stub for Sender.prototype._onPartialSuccess.\r\n// Removed Stub for Sender.prototype._onSuccess.\r\n// Removed Stub for Sender.prototype._xdrOnLoad.\r\n// Removed Stub for Sender.prototype.addHeader.\r\n return Sender;\r\n}(BaseTelemetryPlugin));\r\nexport { Sender };\r\n//# sourceMappingURL=Sender.js.map","/*\n * Application Insights JavaScript SDK - Channel, 2.7.2\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\nimport { getWindow, getDocument, getNavigator, isUndefined, isNullOrUndefined, attachEvent } from \"@microsoft/applicationinsights-core-js\";\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\n/**\r\n * @description Monitors browser for offline events\r\n * @export default - Offline: Static instance of OfflineListener\r\n * @class OfflineListener\r\n */\r\nvar OfflineListener = /** @class */ (function () {\r\n function OfflineListener() {\r\n var _window = getWindow();\r\n var _document = getDocument();\r\n var isListening = false;\r\n var _onlineStatus = true;\r\n dynamicProto(OfflineListener, this, function (_self) {\r\n try {\r\n if (_window) {\r\n if (attachEvent(_window, \"online\", _setOnline)) {\r\n attachEvent(_window, \"offline\", _setOffline);\r\n isListening = true;\r\n }\r\n }\r\n if (_document) {\r\n // Also attach to the document.body or document\r\n var target = _document.body || _document;\r\n if (!isUndefined(target.ononline)) {\r\n target.ononline = _setOnline;\r\n target.onoffline = _setOffline;\r\n isListening = true;\r\n }\r\n }\r\n if (isListening) {\r\n // We are listening to events so lets set the current status rather than assuming we are online #1538\r\n var _navigator = getNavigator(); // Gets the window.navigator or workerNavigator depending on the global\r\n if (_navigator && !isNullOrUndefined(_navigator.onLine)) { // navigator.onLine is undefined in react-native\r\n _onlineStatus = _navigator.onLine;\r\n }\r\n }\r\n }\r\n catch (e) {\r\n // this makes react-native less angry\r\n isListening = false;\r\n }\r\n _self.isListening = isListening;\r\n _self.isOnline = function () {\r\n var result = true;\r\n var _navigator = getNavigator();\r\n if (isListening) {\r\n result = _onlineStatus;\r\n }\r\n else if (_navigator && !isNullOrUndefined(_navigator.onLine)) { // navigator.onLine is undefined in react-native\r\n result = _navigator.onLine;\r\n }\r\n return result;\r\n };\r\n _self.isOffline = function () {\r\n return !_self.isOnline();\r\n };\r\n function _setOnline() {\r\n _onlineStatus = true;\r\n }\r\n function _setOffline() {\r\n _onlineStatus = false;\r\n }\r\n });\r\n }\r\n// Removed Stub for OfflineListener.prototype.isOnline.\r\n// Removed Stub for OfflineListener.prototype.isOffline.\r\n OfflineListener.Offline = new OfflineListener;\r\n return OfflineListener;\r\n}());\r\nexport { OfflineListener };\r\nexport var Offline = OfflineListener.Offline;\r\n//# sourceMappingURL=Offline.js.map","/*\n * Application Insights JavaScript SDK - Channel, 2.7.2\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\n// (Magic number) DJB algorithm can't work on shorter strings (results in poor distribution\r\nvar MIN_INPUT_LENGTH = 8;\r\nvar HashCodeScoreGenerator = /** @class */ (function () {\r\n function HashCodeScoreGenerator() {\r\n }\r\n HashCodeScoreGenerator.prototype.getHashCodeScore = function (key) {\r\n var score = this.getHashCode(key) / HashCodeScoreGenerator.INT_MAX_VALUE;\r\n return score * 100;\r\n };\r\n HashCodeScoreGenerator.prototype.getHashCode = function (input) {\r\n if (input === \"\") {\r\n return 0;\r\n }\r\n while (input.length < MIN_INPUT_LENGTH) {\r\n input = input.concat(input);\r\n }\r\n // 5381 is a magic number: http://stackoverflow.com/questions/10696223/reason-for-5381-number-in-djb-hash-function\r\n var hash = 5381;\r\n for (var i = 0; i < input.length; ++i) {\r\n hash = ((hash << 5) + hash) + input.charCodeAt(i);\r\n // 'hash' is of number type which means 53 bit integer (http://www.ecma-international.org/ecma-262/6.0/#sec-ecmascript-language-types-number-type)\r\n // 'hash & hash' will keep it 32 bit integer - just to make it clearer what the result is.\r\n hash = hash & hash;\r\n }\r\n return Math.abs(hash);\r\n };\r\n // We're using 32 bit math, hence max value is (2^31 - 1)\r\n HashCodeScoreGenerator.INT_MAX_VALUE = 2147483647;\r\n return HashCodeScoreGenerator;\r\n}());\r\nexport { HashCodeScoreGenerator };\r\n//# sourceMappingURL=HashCodeScoreGenerator.js.map","/*\n * Application Insights JavaScript SDK - Channel, 2.7.2\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { HashCodeScoreGenerator } from \"./HashCodeScoreGenerator\";\r\nimport { ContextTagKeys } from \"@microsoft/applicationinsights-common\";\r\nvar SamplingScoreGenerator = /** @class */ (function () {\r\n function SamplingScoreGenerator() {\r\n var _self = this;\r\n var hashCodeGenerator = new HashCodeScoreGenerator();\r\n var keys = new ContextTagKeys();\r\n _self.getSamplingScore = function (item) {\r\n var score = 0;\r\n if (item.tags && item.tags[keys.userId]) { // search in tags first, then ext\r\n score = hashCodeGenerator.getHashCodeScore(item.tags[keys.userId]);\r\n }\r\n else if (item.ext && item.ext.user && item.ext.user.id) {\r\n score = hashCodeGenerator.getHashCodeScore(item.ext.user.id);\r\n }\r\n else if (item.tags && item.tags[keys.operationId]) { // search in tags first, then ext\r\n score = hashCodeGenerator.getHashCodeScore(item.tags[keys.operationId]);\r\n }\r\n else if (item.ext && item.ext.telemetryTrace && item.ext.telemetryTrace.traceID) {\r\n score = hashCodeGenerator.getHashCodeScore(item.ext.telemetryTrace.traceID);\r\n }\r\n else {\r\n // tslint:disable-next-line:insecure-random\r\n score = (Math.random() * 100);\r\n }\r\n return score;\r\n };\r\n }\r\n return SamplingScoreGenerator;\r\n}());\r\nexport { SamplingScoreGenerator };\r\n//# sourceMappingURL=SamplingScoreGenerator.js.map","/*\n * Application Insights JavaScript SDK - Channel, 2.7.2\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { SamplingScoreGenerator } from \"./SamplingScoreGenerators/SamplingScoreGenerator\";\r\nimport { Metric } from \"@microsoft/applicationinsights-common\";\r\nimport { _InternalMessageId, LoggingSeverity, safeGetLogger } from \"@microsoft/applicationinsights-core-js\";\r\nvar Sample = /** @class */ (function () {\r\n function Sample(sampleRate, logger) {\r\n // We're using 32 bit math, hence max value is (2^31 - 1)\r\n this.INT_MAX_VALUE = 2147483647;\r\n var _logger = logger || safeGetLogger(null);\r\n if (sampleRate > 100 || sampleRate < 0) {\r\n _logger.throwInternal(LoggingSeverity.WARNING, _InternalMessageId.SampleRateOutOfRange, \"Sampling rate is out of range (0..100). Sampling will be disabled, you may be sending too much data which may affect your AI service level.\", { samplingRate: sampleRate }, true);\r\n sampleRate = 100;\r\n }\r\n this.sampleRate = sampleRate;\r\n this.samplingScoreGenerator = new SamplingScoreGenerator();\r\n }\r\n /**\r\n * Determines if an envelope is sampled in (i.e. will be sent) or not (i.e. will be dropped).\r\n */\r\n Sample.prototype.isSampledIn = function (envelope) {\r\n var samplingPercentage = this.sampleRate; // 0 - 100\r\n var isSampledIn = false;\r\n if (samplingPercentage === null || samplingPercentage === undefined || samplingPercentage >= 100) {\r\n return true;\r\n }\r\n else if (envelope.baseType === Metric.dataType) {\r\n // exclude MetricData telemetry from sampling\r\n return true;\r\n }\r\n isSampledIn = this.samplingScoreGenerator.getSamplingScore(envelope) < samplingPercentage;\r\n return isSampledIn;\r\n };\r\n return Sample;\r\n}());\r\nexport { Sample };\r\n//# sourceMappingURL=Sample.js.map","/*\n * Application Insights JavaScript SDK - Common, 2.7.2\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { isNullOrUndefined } from \"@microsoft/applicationinsights-core-js\";\r\nvar ConfigurationManager = /** @class */ (function () {\r\n function ConfigurationManager() {\r\n }\r\n ConfigurationManager.getConfig = function (config, field, identifier, defaultValue) {\r\n if (defaultValue === void 0) { defaultValue = false; }\r\n var configValue;\r\n if (identifier && config.extensionConfig && config.extensionConfig[identifier] && !isNullOrUndefined(config.extensionConfig[identifier][field])) {\r\n configValue = config.extensionConfig[identifier][field];\r\n }\r\n else {\r\n configValue = config[field];\r\n }\r\n return !isNullOrUndefined(configValue) ? configValue : defaultValue;\r\n };\r\n return ConfigurationManager;\r\n}());\r\nexport { ConfigurationManager };\r\n//# sourceMappingURL=IConfig.js.map","/*\n * Application Insights JavaScript SDK - Common, 2.7.2\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { LoggingSeverity, _InternalMessageId, hasJSON, getJSON, objForEachKey, isObject, strTrim } from \"@microsoft/applicationinsights-core-js\";\r\nexport function dataSanitizeKeyAndAddUniqueness(logger, key, map) {\r\n var origLength = key.length;\r\n var field = dataSanitizeKey(logger, key);\r\n // validation truncated the length. We need to add uniqueness\r\n if (field.length !== origLength) {\r\n var i = 0;\r\n var uniqueField = field;\r\n while (map[uniqueField] !== undefined) {\r\n i++;\r\n uniqueField = field.substring(0, 150 /* MAX_NAME_LENGTH */ - 3) + dsPadNumber(i);\r\n }\r\n field = uniqueField;\r\n }\r\n return field;\r\n}\r\nexport function dataSanitizeKey(logger, name) {\r\n var nameTrunc;\r\n if (name) {\r\n // Remove any leading or trailing whitespace\r\n name = strTrim(name.toString());\r\n // truncate the string to 150 chars\r\n if (name.length > 150 /* MAX_NAME_LENGTH */) {\r\n nameTrunc = name.substring(0, 150 /* MAX_NAME_LENGTH */);\r\n logger && logger.throwInternal(LoggingSeverity.WARNING, _InternalMessageId.NameTooLong, \"name is too long. It has been truncated to \" + 150 /* MAX_NAME_LENGTH */ + \" characters.\", { name: name }, true);\r\n }\r\n }\r\n return nameTrunc || name;\r\n}\r\nexport function dataSanitizeString(logger, value, maxLength) {\r\n if (maxLength === void 0) { maxLength = 1024 /* MAX_STRING_LENGTH */; }\r\n var valueTrunc;\r\n if (value) {\r\n maxLength = maxLength ? maxLength : 1024 /* MAX_STRING_LENGTH */; // in case default parameters dont work\r\n value = strTrim(value);\r\n if (value.toString().length > maxLength) {\r\n valueTrunc = value.toString().substring(0, maxLength);\r\n logger && logger.throwInternal(LoggingSeverity.WARNING, _InternalMessageId.StringValueTooLong, \"string value is too long. It has been truncated to \" + maxLength + \" characters.\", { value: value }, true);\r\n }\r\n }\r\n return valueTrunc || value;\r\n}\r\nexport function dataSanitizeUrl(logger, url) {\r\n return dataSanitizeInput(logger, url, 2048 /* MAX_URL_LENGTH */, _InternalMessageId.UrlTooLong);\r\n}\r\nexport function dataSanitizeMessage(logger, message) {\r\n var messageTrunc;\r\n if (message) {\r\n if (message.length > 32768 /* MAX_MESSAGE_LENGTH */) {\r\n messageTrunc = message.substring(0, 32768 /* MAX_MESSAGE_LENGTH */);\r\n logger && logger.throwInternal(LoggingSeverity.WARNING, _InternalMessageId.MessageTruncated, \"message is too long, it has been truncated to \" + 32768 /* MAX_MESSAGE_LENGTH */ + \" characters.\", { message: message }, true);\r\n }\r\n }\r\n return messageTrunc || message;\r\n}\r\nexport function dataSanitizeException(logger, exception) {\r\n var exceptionTrunc;\r\n if (exception) {\r\n // Make surte its a string\r\n var value = \"\" + exception;\r\n if (value.length > 32768 /* MAX_EXCEPTION_LENGTH */) {\r\n exceptionTrunc = value.substring(0, 32768 /* MAX_EXCEPTION_LENGTH */);\r\n logger && logger.throwInternal(LoggingSeverity.WARNING, _InternalMessageId.ExceptionTruncated, \"exception is too long, it has been truncated to \" + 32768 /* MAX_EXCEPTION_LENGTH */ + \" characters.\", { exception: exception }, true);\r\n }\r\n }\r\n return exceptionTrunc || exception;\r\n}\r\nexport function dataSanitizeProperties(logger, properties) {\r\n if (properties) {\r\n var tempProps_1 = {};\r\n objForEachKey(properties, function (prop, value) {\r\n if (isObject(value) && hasJSON()) {\r\n // Stringify any part C properties\r\n try {\r\n value = getJSON().stringify(value);\r\n }\r\n catch (e) {\r\n logger && logger.throwInternal(LoggingSeverity.WARNING, _InternalMessageId.CannotSerializeObjectNonSerializable, \"custom property is not valid\", { exception: e }, true);\r\n }\r\n }\r\n value = dataSanitizeString(logger, value, 8192 /* MAX_PROPERTY_LENGTH */);\r\n prop = dataSanitizeKeyAndAddUniqueness(logger, prop, tempProps_1);\r\n tempProps_1[prop] = value;\r\n });\r\n properties = tempProps_1;\r\n }\r\n return properties;\r\n}\r\nexport function dataSanitizeMeasurements(logger, measurements) {\r\n if (measurements) {\r\n var tempMeasurements_1 = {};\r\n objForEachKey(measurements, function (measure, value) {\r\n measure = dataSanitizeKeyAndAddUniqueness(logger, measure, tempMeasurements_1);\r\n tempMeasurements_1[measure] = value;\r\n });\r\n measurements = tempMeasurements_1;\r\n }\r\n return measurements;\r\n}\r\nexport function dataSanitizeId(logger, id) {\r\n return id ? dataSanitizeInput(logger, id, 128 /* MAX_ID_LENGTH */, _InternalMessageId.IdTooLong).toString() : id;\r\n}\r\nexport function dataSanitizeInput(logger, input, maxLength, _msgId) {\r\n var inputTrunc;\r\n if (input) {\r\n input = strTrim(input);\r\n if (input.length > maxLength) {\r\n inputTrunc = input.substring(0, maxLength);\r\n logger && logger.throwInternal(LoggingSeverity.WARNING, _msgId, \"input is too long, it has been truncated to \" + maxLength + \" characters.\", { data: input }, true);\r\n }\r\n }\r\n return inputTrunc || input;\r\n}\r\nexport function dsPadNumber(num) {\r\n var s = \"00\" + num;\r\n return s.substr(s.length - 3);\r\n}\r\n/**\r\n * Provides the DataSanitizer functions within the previous namespace.\r\n */\r\nexport var DataSanitizer = {\r\n MAX_NAME_LENGTH: 150 /* MAX_NAME_LENGTH */,\r\n MAX_ID_LENGTH: 128 /* MAX_ID_LENGTH */,\r\n MAX_PROPERTY_LENGTH: 8192 /* MAX_PROPERTY_LENGTH */,\r\n MAX_STRING_LENGTH: 1024 /* MAX_STRING_LENGTH */,\r\n MAX_URL_LENGTH: 2048 /* MAX_URL_LENGTH */,\r\n MAX_MESSAGE_LENGTH: 32768 /* MAX_MESSAGE_LENGTH */,\r\n MAX_EXCEPTION_LENGTH: 32768 /* MAX_EXCEPTION_LENGTH */,\r\n sanitizeKeyAndAddUniqueness: dataSanitizeKeyAndAddUniqueness,\r\n sanitizeKey: dataSanitizeKey,\r\n sanitizeString: dataSanitizeString,\r\n sanitizeUrl: dataSanitizeUrl,\r\n sanitizeMessage: dataSanitizeMessage,\r\n sanitizeException: dataSanitizeException,\r\n sanitizeProperties: dataSanitizeProperties,\r\n sanitizeMeasurements: dataSanitizeMeasurements,\r\n sanitizeId: dataSanitizeId,\r\n sanitizeInput: dataSanitizeInput,\r\n padNumber: dsPadNumber,\r\n trim: strTrim\r\n};\r\n//# sourceMappingURL=DataSanitizer.js.map","/*\n * Application Insights JavaScript SDK - Common, 2.7.2\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\n/**\r\n * Instances of Message represent printf-like trace statements that are text-searched. Log4Net, NLog and other text-based log file entries are translated into intances of this type. The message does not have measurements.\r\n */\r\nvar MessageData = /** @class */ (function () {\r\n function MessageData() {\r\n /**\r\n * Schema version\r\n */\r\n this.ver = 2;\r\n /**\r\n * Collection of custom properties.\r\n */\r\n this.properties = {};\r\n /**\r\n * Collection of custom measurements.\r\n */\r\n this.measurements = {};\r\n }\r\n return MessageData;\r\n}());\r\nexport { MessageData };\r\n//# sourceMappingURL=MessageData.js.map","/*\n * Application Insights JavaScript SDK - Common, 2.7.2\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { __extendsFn as __extends } from \"@microsoft/applicationinsights-shims\";\r\nimport { MessageData } from \"../Interfaces/Contracts/Generated/MessageData\";\r\nimport { dataSanitizeMessage, dataSanitizeProperties, dataSanitizeMeasurements } from \"./Common/DataSanitizer\";\r\nimport { strNotSpecified } from \"../Constants\";\r\nvar Trace = /** @class */ (function (_super) {\r\n __extends(Trace, _super);\r\n /**\r\n * Constructs a new instance of the TraceTelemetry object\r\n */\r\n function Trace(logger, message, severityLevel, properties, measurements) {\r\n var _this = _super.call(this) || this;\r\n _this.aiDataContract = {\r\n ver: 1 /* Required */,\r\n message: 1 /* Required */,\r\n severityLevel: 0 /* Default */,\r\n properties: 0 /* Default */\r\n };\r\n message = message || strNotSpecified;\r\n _this.message = dataSanitizeMessage(logger, message);\r\n _this.properties = dataSanitizeProperties(logger, properties);\r\n _this.measurements = dataSanitizeMeasurements(logger, measurements);\r\n if (severityLevel) {\r\n _this.severityLevel = severityLevel;\r\n }\r\n return _this;\r\n }\r\n Trace.envelopeType = \"Microsoft.ApplicationInsights.{0}.Message\";\r\n Trace.dataType = \"MessageData\";\r\n return Trace;\r\n}(MessageData));\r\nexport { Trace };\r\n//# sourceMappingURL=Trace.js.map","/*\n * Application Insights JavaScript SDK - Common, 2.7.2\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { getPerformance, getExceptionName as coreGetExceptionName, dumpObj, isNullOrUndefined, strTrim, random32, isArray, isError, isDate, newId, generateW3CId, toISOString, arrForEach, getIEVersion, attachEvent, dateNow, uaDisallowsSameSiteNone, disableCookies as coreDisableCookies, canUseCookies as coreCanUseCookies, getCookie as coreGetCookie, setCookie as coreSetCookie, deleteCookie as coreDeleteCookie, isBeaconsSupported } from \"@microsoft/applicationinsights-core-js\";\r\nimport { RequestHeaders } from \"./RequestResponseHeaders\";\r\nimport { dataSanitizeString } from \"./Telemetry/Common/DataSanitizer\";\r\nimport { createDomEvent } from \"./DomHelperFuncs\";\r\nimport { stringToBoolOrDefault, msToTimeSpan, isCrossOriginError, getExtensionByName } from \"./HelperFuncs\";\r\nimport { strNotSpecified } from \"./Constants\";\r\nimport { utlCanUseLocalStorage, utlCanUseSessionStorage, utlDisableStorage, utlGetSessionStorage, utlGetSessionStorageKeys, utlGetLocalStorage, utlRemoveSessionStorage, utlRemoveStorage, utlSetSessionStorage, utlSetLocalStorage } from \"./StorageHelperFuncs\";\r\nimport { urlGetAbsoluteUrl, urlGetCompleteUrl, urlGetPathName, urlParseFullHost, urlParseHost, urlParseUrl } from \"./UrlHelperFuncs\";\r\n// listing only non-geo specific locations\r\nvar _internalEndpoints = [\r\n \"https://dc.services.visualstudio.com/v2/track\",\r\n \"https://breeze.aimon.applicationinsights.io/v2/track\",\r\n \"https://dc-int.services.visualstudio.com/v2/track\"\r\n];\r\nexport function isInternalApplicationInsightsEndpoint(endpointUrl) {\r\n return _internalEndpoints.indexOf(endpointUrl.toLowerCase()) !== -1;\r\n}\r\nexport var Util = {\r\n NotSpecified: strNotSpecified,\r\n createDomEvent: createDomEvent,\r\n disableStorage: utlDisableStorage,\r\n isInternalApplicationInsightsEndpoint: isInternalApplicationInsightsEndpoint,\r\n canUseLocalStorage: utlCanUseLocalStorage,\r\n getStorage: utlGetLocalStorage,\r\n setStorage: utlSetLocalStorage,\r\n removeStorage: utlRemoveStorage,\r\n canUseSessionStorage: utlCanUseSessionStorage,\r\n getSessionStorageKeys: utlGetSessionStorageKeys,\r\n getSessionStorage: utlGetSessionStorage,\r\n setSessionStorage: utlSetSessionStorage,\r\n removeSessionStorage: utlRemoveSessionStorage,\r\n disableCookies: coreDisableCookies,\r\n canUseCookies: coreCanUseCookies,\r\n disallowsSameSiteNone: uaDisallowsSameSiteNone,\r\n setCookie: coreSetCookie,\r\n stringToBoolOrDefault: stringToBoolOrDefault,\r\n getCookie: coreGetCookie,\r\n deleteCookie: coreDeleteCookie,\r\n trim: strTrim,\r\n newId: newId,\r\n random32: function () {\r\n return random32(true);\r\n },\r\n generateW3CId: generateW3CId,\r\n isArray: isArray,\r\n isError: isError,\r\n isDate: isDate,\r\n toISOStringForIE8: toISOString,\r\n getIEVersion: getIEVersion,\r\n msToTimeSpan: msToTimeSpan,\r\n isCrossOriginError: isCrossOriginError,\r\n dump: dumpObj,\r\n getExceptionName: coreGetExceptionName,\r\n addEventHandler: attachEvent,\r\n IsBeaconApiSupported: isBeaconsSupported,\r\n getExtension: getExtensionByName\r\n};\r\nexport var UrlHelper = {\r\n parseUrl: urlParseUrl,\r\n getAbsoluteUrl: urlGetAbsoluteUrl,\r\n getPathName: urlGetPathName,\r\n getCompleteUrl: urlGetCompleteUrl,\r\n parseHost: urlParseHost,\r\n parseFullHost: urlParseFullHost\r\n};\r\nexport var CorrelationIdHelper = {\r\n correlationIdPrefix: \"cid-v1:\",\r\n /**\r\n * Checks if a request url is not on a excluded domain list and if it is safe to add correlation headers.\r\n * Headers are always included if the current domain matches the request domain. If they do not match (CORS),\r\n * they are regex-ed across correlationHeaderDomains and correlationHeaderExcludedDomains to determine if headers are included.\r\n * Some environments don't give information on currentHost via window.location.host (e.g. Cordova). In these cases, the user must\r\n * manually supply domains to include correlation headers on. Else, no headers will be included at all.\r\n */\r\n canIncludeCorrelationHeader: function (config, requestUrl, currentHost) {\r\n if (!requestUrl || (config && config.disableCorrelationHeaders)) {\r\n return false;\r\n }\r\n if (config && config.correlationHeaderExcludePatterns) {\r\n for (var i = 0; i < config.correlationHeaderExcludePatterns.length; i++) {\r\n if (config.correlationHeaderExcludePatterns[i].test(requestUrl)) {\r\n return false;\r\n }\r\n }\r\n }\r\n var requestHost = urlParseUrl(requestUrl).host.toLowerCase();\r\n if (requestHost && (requestHost.indexOf(\":443\") !== -1 || requestHost.indexOf(\":80\") !== -1)) {\r\n // [Bug #1260] IE can include the port even for http and https URLs so if present\r\n // try and parse it to remove if it matches the default protocol port\r\n requestHost = (urlParseFullHost(requestUrl, true) || \"\").toLowerCase();\r\n }\r\n if ((!config || !config.enableCorsCorrelation) && (requestHost && requestHost !== currentHost)) {\r\n return false;\r\n }\r\n var includedDomains = config && config.correlationHeaderDomains;\r\n if (includedDomains) {\r\n var matchExists_1;\r\n arrForEach(includedDomains, function (domain) {\r\n var regex = new RegExp(domain.toLowerCase().replace(/\\\\/g, \"\\\\\\\\\").replace(/\\./g, \"\\\\.\").replace(/\\*/g, \".*\"));\r\n matchExists_1 = matchExists_1 || regex.test(requestHost);\r\n });\r\n if (!matchExists_1) {\r\n return false;\r\n }\r\n }\r\n var excludedDomains = config && config.correlationHeaderExcludedDomains;\r\n if (!excludedDomains || excludedDomains.length === 0) {\r\n return true;\r\n }\r\n for (var i = 0; i < excludedDomains.length; i++) {\r\n var regex = new RegExp(excludedDomains[i].toLowerCase().replace(/\\\\/g, \"\\\\\\\\\").replace(/\\./g, \"\\\\.\").replace(/\\*/g, \".*\"));\r\n if (regex.test(requestHost)) {\r\n return false;\r\n }\r\n }\r\n // if we don't know anything about the requestHost, require the user to use included/excludedDomains.\r\n // Previously we always returned false for a falsy requestHost\r\n return requestHost && requestHost.length > 0;\r\n },\r\n /**\r\n * Combines target appId and target role name from response header.\r\n */\r\n getCorrelationContext: function (responseHeader) {\r\n if (responseHeader) {\r\n var correlationId = CorrelationIdHelper.getCorrelationContextValue(responseHeader, RequestHeaders.requestContextTargetKey);\r\n if (correlationId && correlationId !== CorrelationIdHelper.correlationIdPrefix) {\r\n return correlationId;\r\n }\r\n }\r\n },\r\n /**\r\n * Gets key from correlation response header\r\n */\r\n getCorrelationContextValue: function (responseHeader, key) {\r\n if (responseHeader) {\r\n var keyValues = responseHeader.split(\",\");\r\n for (var i = 0; i < keyValues.length; ++i) {\r\n var keyValue = keyValues[i].split(\"=\");\r\n if (keyValue.length === 2 && keyValue[0] === key) {\r\n return keyValue[1];\r\n }\r\n }\r\n }\r\n }\r\n};\r\nexport function AjaxHelperParseDependencyPath(logger, absoluteUrl, method, commandName) {\r\n var target, name = commandName, data = commandName;\r\n if (absoluteUrl && absoluteUrl.length > 0) {\r\n var parsedUrl = urlParseUrl(absoluteUrl);\r\n target = parsedUrl.host;\r\n if (!name) {\r\n if (parsedUrl.pathname != null) {\r\n var pathName = (parsedUrl.pathname.length === 0) ? \"/\" : parsedUrl.pathname;\r\n if (pathName.charAt(0) !== \"/\") {\r\n pathName = \"/\" + pathName;\r\n }\r\n data = parsedUrl.pathname;\r\n name = dataSanitizeString(logger, method ? method + \" \" + pathName : pathName);\r\n }\r\n else {\r\n name = dataSanitizeString(logger, absoluteUrl);\r\n }\r\n }\r\n }\r\n else {\r\n target = commandName;\r\n name = commandName;\r\n }\r\n return {\r\n target: target,\r\n name: name,\r\n data: data\r\n };\r\n}\r\nexport function dateTimeUtilsNow() {\r\n // returns the window or webworker performance object\r\n var perf = getPerformance();\r\n if (perf && perf.now && perf.timing) {\r\n var now = perf.now() + perf.timing.navigationStart;\r\n // Known issue with IE where this calculation can be negative, so if it is then ignore and fallback\r\n if (now > 0) {\r\n return now;\r\n }\r\n }\r\n return dateNow();\r\n}\r\nexport function dateTimeUtilsDuration(start, end) {\r\n var result = null;\r\n if (start !== 0 && end !== 0 && !isNullOrUndefined(start) && !isNullOrUndefined(end)) {\r\n result = end - start;\r\n }\r\n return result;\r\n}\r\n/**\r\n * A utility class that helps getting time related parameters\r\n */\r\nexport var DateTimeUtils = {\r\n Now: dateTimeUtilsNow,\r\n GetDuration: dateTimeUtilsDuration\r\n};\r\n//# sourceMappingURL=Util.js.map","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}","/*\n * Application Insights JavaScript SDK - Common, 2.7.2\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\n/**\r\n * Type of storage to differentiate between local storage and session storage\r\n */\r\nexport var StorageType;\r\n(function (StorageType) {\r\n StorageType[StorageType[\"LocalStorage\"] = 0] = \"LocalStorage\";\r\n StorageType[StorageType[\"SessionStorage\"] = 1] = \"SessionStorage\";\r\n})(StorageType || (StorageType = {}));\r\nexport var DistributedTracingModes;\r\n(function (DistributedTracingModes) {\r\n /**\r\n * (Default) Send Application Insights correlation headers\r\n */\r\n DistributedTracingModes[DistributedTracingModes[\"AI\"] = 0] = \"AI\";\r\n /**\r\n * Send both W3C Trace Context headers and back-compatibility Application Insights headers\r\n */\r\n DistributedTracingModes[DistributedTracingModes[\"AI_AND_W3C\"] = 1] = \"AI_AND_W3C\";\r\n /**\r\n * Send W3C Trace Context headers\r\n */\r\n DistributedTracingModes[DistributedTracingModes[\"W3C\"] = 2] = \"W3C\";\r\n})(DistributedTracingModes || (DistributedTracingModes = {}));\r\n//# sourceMappingURL=Enums.js.map","/*\n * Application Insights JavaScript SDK - Common, 2.7.2\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\n// THIS FILE WAS AUTOGENERATED\r\n/**\r\n * Stack frame information.\r\n */\r\nvar StackFrame = /** @class */ (function () {\r\n function StackFrame() {\r\n }\r\n return StackFrame;\r\n}());\r\nexport { StackFrame };\r\n//# sourceMappingURL=StackFrame.js.map","/*\n * Application Insights JavaScript SDK - Common, 2.7.2\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\n/**\r\n * An instance of Exception represents a handled or unhandled exception that occurred during execution of the monitored application.\r\n */\r\nvar ExceptionData = /** @class */ (function () {\r\n function ExceptionData() {\r\n /**\r\n * Schema version\r\n */\r\n this.ver = 2;\r\n /**\r\n * Exception chain - list of inner exceptions.\r\n */\r\n this.exceptions = [];\r\n /**\r\n * Collection of custom properties.\r\n */\r\n this.properties = {};\r\n /**\r\n * Collection of custom measurements.\r\n */\r\n this.measurements = {};\r\n }\r\n return ExceptionData;\r\n}());\r\nexport { ExceptionData };\r\n//# sourceMappingURL=ExceptionData.js.map","/*\n * Application Insights JavaScript SDK - Common, 2.7.2\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\n/**\r\n * Exception details of the exception in a chain.\r\n */\r\nvar ExceptionDetails = /** @class */ (function () {\r\n function ExceptionDetails() {\r\n /**\r\n * Indicates if full exception stack is provided in the exception. The stack may be trimmed, such as in the case of a StackOverflow exception.\r\n */\r\n this.hasFullStack = true;\r\n /**\r\n * List of stack frames. Either stack or parsedStack should have a value.\r\n */\r\n this.parsedStack = [];\r\n }\r\n return ExceptionDetails;\r\n}());\r\nexport { ExceptionDetails };\r\n//# sourceMappingURL=ExceptionDetails.js.map","/*\n * Application Insights JavaScript SDK - Common, 2.7.2\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { __assignFn as __assign, __extendsFn as __extends } from \"@microsoft/applicationinsights-shims\";\r\nimport { StackFrame } from \"../Interfaces/Contracts/Generated/StackFrame\";\r\nimport { ExceptionData } from \"../Interfaces/Contracts/Generated/ExceptionData\";\r\nimport { ExceptionDetails } from \"../Interfaces/Contracts/Generated/ExceptionDetails\";\r\nimport { dataSanitizeException, dataSanitizeMeasurements, dataSanitizeMessage, dataSanitizeProperties, dataSanitizeString } from \"./Common/DataSanitizer\";\r\nimport { isNullOrUndefined, arrMap, isString, strTrim, isArray, isError, arrForEach, isObject, isFunction } from \"@microsoft/applicationinsights-core-js\";\r\nimport { strNotSpecified } from \"../Constants\";\r\nvar NoMethod = \"\";\r\nvar strError = \"error\";\r\nvar strStack = \"stack\";\r\nvar strStackDetails = \"stackDetails\";\r\nvar strErrorSrc = \"errorSrc\";\r\nvar strMessage = \"message\";\r\nvar strDescription = \"description\";\r\nfunction _stringify(value, convertToString) {\r\n var result = value;\r\n if (result && !isString(result)) {\r\n if (JSON && JSON.stringify) {\r\n result = JSON.stringify(value);\r\n if (convertToString && (!result || result === \"{}\")) {\r\n if (isFunction(value.toString)) {\r\n result = value.toString();\r\n }\r\n else {\r\n result = \"\" + value;\r\n }\r\n }\r\n }\r\n else {\r\n result = \"\" + value + \" - (Missing JSON.stringify)\";\r\n }\r\n }\r\n return result || \"\";\r\n}\r\nfunction _formatMessage(theEvent, errorType) {\r\n var evtMessage = theEvent;\r\n if (theEvent) {\r\n if (evtMessage && !isString(evtMessage)) {\r\n evtMessage = theEvent[strMessage] || theEvent[strDescription] || evtMessage;\r\n }\r\n // Make sure the message is a string\r\n if (evtMessage && !isString(evtMessage)) {\r\n // tslint:disable-next-line: prefer-conditional-expression\r\n evtMessage = _stringify(evtMessage, true);\r\n }\r\n if (theEvent[\"filename\"]) {\r\n // Looks like an event object with filename\r\n evtMessage = evtMessage + \" @\" + (theEvent[\"filename\"] || \"\") + \":\" + (theEvent[\"lineno\"] || \"?\") + \":\" + (theEvent[\"colno\"] || \"?\");\r\n }\r\n }\r\n // Automatically add the error type to the message if it does already appear to be present\r\n if (errorType && errorType !== \"String\" && errorType !== \"Object\" && errorType !== \"Error\" && (evtMessage || \"\").indexOf(errorType) === -1) {\r\n evtMessage = errorType + \": \" + evtMessage;\r\n }\r\n return evtMessage || \"\";\r\n}\r\nfunction _isExceptionDetailsInternal(value) {\r\n try {\r\n if (isObject(value)) {\r\n return \"hasFullStack\" in value && \"typeName\" in value;\r\n }\r\n }\r\n catch (e) {\r\n // This can happen with some native browser objects, but should not happen for the type we are checking for\r\n }\r\n return false;\r\n}\r\nfunction _isExceptionInternal(value) {\r\n try {\r\n if (isObject(value)) {\r\n return (\"ver\" in value && \"exceptions\" in value && \"properties\" in value);\r\n }\r\n }\r\n catch (e) {\r\n // This can happen with some native browser objects, but should not happen for the type we are checking for\r\n }\r\n return false;\r\n}\r\nfunction _isStackDetails(details) {\r\n return details && details.src && isString(details.src) && details.obj && isArray(details.obj);\r\n}\r\nfunction _convertStackObj(errorStack) {\r\n var src = errorStack || \"\";\r\n if (!isString(src)) {\r\n if (isString(src[strStack])) {\r\n src = src[strStack];\r\n }\r\n else {\r\n src = \"\" + src;\r\n }\r\n }\r\n var items = src.split(\"\\n\");\r\n return {\r\n src: src,\r\n obj: items\r\n };\r\n}\r\nfunction _getOperaStack(errorMessage) {\r\n var stack = [];\r\n var lines = errorMessage.split(\"\\n\");\r\n for (var lp = 0; lp < lines.length; lp++) {\r\n var entry = lines[lp];\r\n if (lines[lp + 1]) {\r\n entry += \"@\" + lines[lp + 1];\r\n lp++;\r\n }\r\n stack.push(entry);\r\n }\r\n return {\r\n src: errorMessage,\r\n obj: stack\r\n };\r\n}\r\nfunction _getStackFromErrorObj(errorObj) {\r\n var details = null;\r\n if (errorObj) {\r\n try {\r\n /* Using bracket notation is support older browsers (IE 7/8 -- dont remember the version) that throw when using dot\r\n notation for undefined objects and we don't want to loose the error from being reported */\r\n if (errorObj[strStack]) {\r\n // Chrome/Firefox\r\n details = _convertStackObj(errorObj[strStack]);\r\n }\r\n else if (errorObj[strError] && errorObj[strError][strStack]) {\r\n // Edge error event provides the stack and error object\r\n details = _convertStackObj(errorObj[strError][strStack]);\r\n }\r\n else if (errorObj[\"exception\"] && errorObj.exception[strStack]) {\r\n details = _convertStackObj(errorObj.exception[strStack]);\r\n }\r\n else if (_isStackDetails(errorObj)) {\r\n details = errorObj;\r\n }\r\n else if (_isStackDetails(errorObj[strStackDetails])) {\r\n details = errorObj[strStackDetails];\r\n }\r\n else if (window && window[\"opera\"] && errorObj[strMessage]) {\r\n // Opera\r\n details = _getOperaStack(errorObj.message);\r\n }\r\n else if (isString(errorObj)) {\r\n details = _convertStackObj(errorObj);\r\n }\r\n else {\r\n var evtMessage = errorObj[strMessage] || errorObj[strDescription] || \"\";\r\n if (isString(errorObj[strErrorSrc])) {\r\n if (evtMessage) {\r\n evtMessage += \"\\n\";\r\n }\r\n evtMessage += \" from \" + errorObj[strErrorSrc];\r\n }\r\n if (evtMessage) {\r\n details = _convertStackObj(evtMessage);\r\n }\r\n }\r\n }\r\n catch (e) {\r\n // something unexpected happened so to avoid failing to report any error lets swallow the exception\r\n // and fallback to the callee/caller method\r\n details = _convertStackObj(e);\r\n }\r\n }\r\n return details || {\r\n src: \"\",\r\n obj: null\r\n };\r\n}\r\nfunction _formatStackTrace(stackDetails) {\r\n var stack = \"\";\r\n if (stackDetails) {\r\n if (stackDetails.obj) {\r\n arrForEach(stackDetails.obj, function (entry) {\r\n stack += entry + \"\\n\";\r\n });\r\n }\r\n else {\r\n stack = stackDetails.src || \"\";\r\n }\r\n }\r\n return stack;\r\n}\r\nfunction _parseStack(stack) {\r\n var parsedStack;\r\n var frames = stack.obj;\r\n if (frames && frames.length > 0) {\r\n parsedStack = [];\r\n var level_1 = 0;\r\n var totalSizeInBytes_1 = 0;\r\n arrForEach(frames, function (frame) {\r\n var theFrame = frame.toString();\r\n if (_StackFrame.regex.test(theFrame)) {\r\n var parsedFrame = new _StackFrame(theFrame, level_1++);\r\n totalSizeInBytes_1 += parsedFrame.sizeInBytes;\r\n parsedStack.push(parsedFrame);\r\n }\r\n });\r\n // DP Constraint - exception parsed stack must be < 32KB\r\n // remove frames from the middle to meet the threshold\r\n var exceptionParsedStackThreshold = 32 * 1024;\r\n if (totalSizeInBytes_1 > exceptionParsedStackThreshold) {\r\n var left = 0;\r\n var right = parsedStack.length - 1;\r\n var size = 0;\r\n var acceptedLeft = left;\r\n var acceptedRight = right;\r\n while (left < right) {\r\n // check size\r\n var lSize = parsedStack[left].sizeInBytes;\r\n var rSize = parsedStack[right].sizeInBytes;\r\n size += lSize + rSize;\r\n if (size > exceptionParsedStackThreshold) {\r\n // remove extra frames from the middle\r\n var howMany = acceptedRight - acceptedLeft + 1;\r\n parsedStack.splice(acceptedLeft, howMany);\r\n break;\r\n }\r\n // update pointers\r\n acceptedLeft = left;\r\n acceptedRight = right;\r\n left++;\r\n right--;\r\n }\r\n }\r\n }\r\n return parsedStack;\r\n}\r\nfunction _getErrorType(errorType) {\r\n // Gets the Error Type by passing the constructor (used to get the true type of native error object).\r\n var typeName = \"\";\r\n if (errorType) {\r\n typeName = errorType.typeName || errorType.name || \"\";\r\n if (!typeName) {\r\n try {\r\n var funcNameRegex = /function (.{1,200})\\(/;\r\n var results = (funcNameRegex).exec((errorType).constructor.toString());\r\n typeName = (results && results.length > 1) ? results[1] : \"\";\r\n }\r\n catch (e) {\r\n // eslint-disable-next-line no-empty -- Ignoring any failures as nothing we can do\r\n }\r\n }\r\n }\r\n return typeName;\r\n}\r\n/**\r\n * Formats the provided errorObj for display and reporting, it may be a String, Object, integer or undefined depending on the browser.\r\n * @param errorObj The supplied errorObj\r\n */\r\nexport function _formatErrorCode(errorObj) {\r\n if (errorObj) {\r\n try {\r\n if (!isString(errorObj)) {\r\n var errorType = _getErrorType(errorObj);\r\n var result = _stringify(errorObj, false);\r\n if (!result || result === \"{}\") {\r\n if (errorObj[strError]) {\r\n // Looks like an MS Error Event\r\n errorObj = errorObj[strError];\r\n errorType = _getErrorType(errorObj);\r\n }\r\n result = _stringify(errorObj, true);\r\n }\r\n if (result.indexOf(errorType) !== 0 && errorType !== \"String\") {\r\n return errorType + \":\" + result;\r\n }\r\n return result;\r\n }\r\n }\r\n catch (e) {\r\n // eslint-disable-next-line no-empty -- Ignoring any failures as nothing we can do\r\n }\r\n }\r\n // Fallback to just letting the object format itself into a string\r\n return \"\" + (errorObj || \"\");\r\n}\r\nvar Exception = /** @class */ (function (_super) {\r\n __extends(Exception, _super);\r\n /**\r\n * Constructs a new instance of the ExceptionTelemetry object\r\n */\r\n function Exception(logger, exception, properties, measurements, severityLevel, id) {\r\n var _this = _super.call(this) || this;\r\n _this.aiDataContract = {\r\n ver: 1 /* Required */,\r\n exceptions: 1 /* Required */,\r\n severityLevel: 0 /* Default */,\r\n properties: 0 /* Default */,\r\n measurements: 0 /* Default */\r\n };\r\n if (!_isExceptionInternal(exception)) {\r\n if (!properties) {\r\n properties = {};\r\n }\r\n _this.exceptions = [new _ExceptionDetails(logger, exception, properties)];\r\n _this.properties = dataSanitizeProperties(logger, properties);\r\n _this.measurements = dataSanitizeMeasurements(logger, measurements);\r\n if (severityLevel) {\r\n _this.severityLevel = severityLevel;\r\n }\r\n if (id) {\r\n _this.id = id;\r\n }\r\n }\r\n else {\r\n _this.exceptions = exception.exceptions;\r\n _this.properties = exception.properties;\r\n _this.measurements = exception.measurements;\r\n if (exception.severityLevel) {\r\n _this.severityLevel = exception.severityLevel;\r\n }\r\n if (exception.id) {\r\n _this.id = exception.id;\r\n }\r\n if (exception.problemGroup) {\r\n _this.problemGroup = exception.problemGroup;\r\n }\r\n // bool/int types, use isNullOrUndefined\r\n _this.ver = 2; // TODO: handle the CS\"4.0\" ==> breeze 2 conversion in a better way\r\n if (!isNullOrUndefined(exception.isManual)) {\r\n _this.isManual = exception.isManual;\r\n }\r\n }\r\n return _this;\r\n }\r\n Exception.CreateAutoException = function (message, url, lineNumber, columnNumber, error, evt, stack, errorSrc) {\r\n var errorType = _getErrorType(error || evt || message);\r\n return {\r\n message: _formatMessage(message, errorType),\r\n url: url,\r\n lineNumber: lineNumber,\r\n columnNumber: columnNumber,\r\n error: _formatErrorCode(error || evt || message),\r\n evt: _formatErrorCode(evt || message),\r\n typeName: errorType,\r\n stackDetails: _getStackFromErrorObj(stack || error || evt),\r\n errorSrc: errorSrc\r\n };\r\n };\r\n Exception.CreateFromInterface = function (logger, exception, properties, measurements) {\r\n var exceptions = exception.exceptions\r\n && arrMap(exception.exceptions, function (ex) { return _ExceptionDetails.CreateFromInterface(logger, ex); });\r\n var exceptionData = new Exception(logger, __assign(__assign({}, exception), { exceptions: exceptions }), properties, measurements);\r\n return exceptionData;\r\n };\r\n Exception.prototype.toInterface = function () {\r\n var _a = this, exceptions = _a.exceptions, properties = _a.properties, measurements = _a.measurements, severityLevel = _a.severityLevel, ver = _a.ver, problemGroup = _a.problemGroup, id = _a.id, isManual = _a.isManual;\r\n var exceptionDetailsInterface = exceptions instanceof Array\r\n && arrMap(exceptions, function (exception) { return exception.toInterface(); })\r\n || undefined;\r\n return {\r\n ver: \"4.0\",\r\n exceptions: exceptionDetailsInterface,\r\n severityLevel: severityLevel,\r\n properties: properties,\r\n measurements: measurements,\r\n problemGroup: problemGroup,\r\n id: id,\r\n isManual: isManual\r\n };\r\n };\r\n /**\r\n * Creates a simple exception with 1 stack frame. Useful for manual constracting of exception.\r\n */\r\n Exception.CreateSimpleException = function (message, typeName, assembly, fileName, details, line) {\r\n return {\r\n exceptions: [\r\n {\r\n hasFullStack: true,\r\n message: message,\r\n stack: details,\r\n typeName: typeName\r\n }\r\n ]\r\n };\r\n };\r\n Exception.envelopeType = \"Microsoft.ApplicationInsights.{0}.Exception\";\r\n Exception.dataType = \"ExceptionData\";\r\n Exception.formatError = _formatErrorCode;\r\n return Exception;\r\n}(ExceptionData));\r\nexport { Exception };\r\nvar _ExceptionDetails = /** @class */ (function (_super) {\r\n __extends(_ExceptionDetails, _super);\r\n function _ExceptionDetails(logger, exception, properties) {\r\n var _this = _super.call(this) || this;\r\n _this.aiDataContract = {\r\n id: 0 /* Default */,\r\n outerId: 0 /* Default */,\r\n typeName: 1 /* Required */,\r\n message: 1 /* Required */,\r\n hasFullStack: 0 /* Default */,\r\n stack: 0 /* Default */,\r\n parsedStack: 2 /* Array */\r\n };\r\n if (!_isExceptionDetailsInternal(exception)) {\r\n var error = exception;\r\n var evt = error && error.evt;\r\n if (!isError(error)) {\r\n error = error[strError] || evt || error;\r\n }\r\n _this.typeName = dataSanitizeString(logger, _getErrorType(error)) || strNotSpecified;\r\n _this.message = dataSanitizeMessage(logger, _formatMessage(exception || error, _this.typeName)) || strNotSpecified;\r\n var stack = exception[strStackDetails] || _getStackFromErrorObj(exception);\r\n _this.parsedStack = _parseStack(stack);\r\n _this[strStack] = dataSanitizeException(logger, _formatStackTrace(stack));\r\n _this.hasFullStack = isArray(_this.parsedStack) && _this.parsedStack.length > 0;\r\n if (properties) {\r\n properties.typeName = properties.typeName || _this.typeName;\r\n }\r\n }\r\n else {\r\n _this.typeName = exception.typeName;\r\n _this.message = exception.message;\r\n _this[strStack] = exception[strStack];\r\n _this.parsedStack = exception.parsedStack;\r\n _this.hasFullStack = exception.hasFullStack;\r\n }\r\n return _this;\r\n }\r\n _ExceptionDetails.prototype.toInterface = function () {\r\n var parsedStack = this.parsedStack instanceof Array\r\n && arrMap(this.parsedStack, function (frame) { return frame.toInterface(); });\r\n var exceptionDetailsInterface = {\r\n id: this.id,\r\n outerId: this.outerId,\r\n typeName: this.typeName,\r\n message: this.message,\r\n hasFullStack: this.hasFullStack,\r\n stack: this[strStack],\r\n parsedStack: parsedStack || undefined\r\n };\r\n return exceptionDetailsInterface;\r\n };\r\n _ExceptionDetails.CreateFromInterface = function (logger, exception) {\r\n var parsedStack = (exception.parsedStack instanceof Array\r\n && arrMap(exception.parsedStack, function (frame) { return _StackFrame.CreateFromInterface(frame); }))\r\n || exception.parsedStack;\r\n var exceptionDetails = new _ExceptionDetails(logger, __assign(__assign({}, exception), { parsedStack: parsedStack }));\r\n return exceptionDetails;\r\n };\r\n return _ExceptionDetails;\r\n}(ExceptionDetails));\r\nexport { _ExceptionDetails };\r\nvar _StackFrame = /** @class */ (function (_super) {\r\n __extends(_StackFrame, _super);\r\n function _StackFrame(sourceFrame, level) {\r\n var _this = _super.call(this) || this;\r\n _this.sizeInBytes = 0;\r\n _this.aiDataContract = {\r\n level: 1 /* Required */,\r\n method: 1 /* Required */,\r\n assembly: 0 /* Default */,\r\n fileName: 0 /* Default */,\r\n line: 0 /* Default */\r\n };\r\n // Not converting this to isString() as typescript uses this logic to \"understand\" the different\r\n // types for the 2 different code paths\r\n if (typeof sourceFrame === \"string\") {\r\n var frame = sourceFrame;\r\n _this.level = level;\r\n _this.method = NoMethod;\r\n _this.assembly = strTrim(frame);\r\n _this.fileName = \"\";\r\n _this.line = 0;\r\n var matches = frame.match(_StackFrame.regex);\r\n if (matches && matches.length >= 5) {\r\n _this.method = strTrim(matches[2]) || _this.method;\r\n _this.fileName = strTrim(matches[4]);\r\n _this.line = parseInt(matches[5]) || 0;\r\n }\r\n }\r\n else {\r\n _this.level = sourceFrame.level;\r\n _this.method = sourceFrame.method;\r\n _this.assembly = sourceFrame.assembly;\r\n _this.fileName = sourceFrame.fileName;\r\n _this.line = sourceFrame.line;\r\n _this.sizeInBytes = 0;\r\n }\r\n _this.sizeInBytes += _this.method.length;\r\n _this.sizeInBytes += _this.fileName.length;\r\n _this.sizeInBytes += _this.assembly.length;\r\n // todo: these might need to be removed depending on how the back-end settles on their size calculation\r\n _this.sizeInBytes += _StackFrame.baseSize;\r\n _this.sizeInBytes += _this.level.toString().length;\r\n _this.sizeInBytes += _this.line.toString().length;\r\n return _this;\r\n }\r\n _StackFrame.CreateFromInterface = function (frame) {\r\n return new _StackFrame(frame, null /* level is available in frame interface */);\r\n };\r\n _StackFrame.prototype.toInterface = function () {\r\n return {\r\n level: this.level,\r\n method: this.method,\r\n assembly: this.assembly,\r\n fileName: this.fileName,\r\n line: this.line\r\n };\r\n };\r\n // regex to match stack frames from ie/chrome/ff\r\n // methodName=$2, fileName=$4, lineNo=$5, column=$6\r\n _StackFrame.regex = /^([\\s]+at)?[\\s]{0,50}([^\\@\\()]+?)[\\s]{0,50}(\\@|\\()([^\\(\\n]+):([0-9]+):([0-9]+)(\\)?)$/;\r\n _StackFrame.baseSize = 58; // '{\"method\":\"\",\"level\":,\"assembly\":\"\",\"fileName\":\"\",\"line\":}'.length\r\n return _StackFrame;\r\n}(StackFrame));\r\nexport { _StackFrame };\r\n//# sourceMappingURL=Exception.js.map","/*\n * Application Insights JavaScript SDK - Common, 2.7.2\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { getDocument, isString } from \"@microsoft/applicationinsights-core-js\";\r\nvar _document = getDocument() || {};\r\nvar _htmlAnchorIdx = 0;\r\n// Use an array of temporary values as it's possible for multiple calls to parseUrl() will be called with different URLs\r\n// Using a cache size of 5 for now as it current depth usage is at least 2, so adding a minor buffer to handle future updates\r\nvar _htmlAnchorElement = [null, null, null, null, null];\r\nexport function urlParseUrl(url) {\r\n var anchorIdx = _htmlAnchorIdx;\r\n var anchorCache = _htmlAnchorElement;\r\n var tempAnchor = anchorCache[anchorIdx];\r\n if (!_document.createElement) {\r\n // Always create the temp instance if createElement is not available\r\n tempAnchor = { host: urlParseHost(url, true) };\r\n }\r\n else if (!anchorCache[anchorIdx]) {\r\n // Create and cache the unattached anchor instance\r\n tempAnchor = anchorCache[anchorIdx] = _document.createElement(\"a\");\r\n }\r\n tempAnchor.href = url;\r\n // Move the cache index forward\r\n anchorIdx++;\r\n if (anchorIdx >= anchorCache.length) {\r\n anchorIdx = 0;\r\n }\r\n _htmlAnchorIdx = anchorIdx;\r\n return tempAnchor;\r\n}\r\nexport function urlGetAbsoluteUrl(url) {\r\n var result;\r\n var a = urlParseUrl(url);\r\n if (a) {\r\n result = a.href;\r\n }\r\n return result;\r\n}\r\nexport function urlGetPathName(url) {\r\n var result;\r\n var a = urlParseUrl(url);\r\n if (a) {\r\n result = a.pathname;\r\n }\r\n return result;\r\n}\r\nexport function urlGetCompleteUrl(method, absoluteUrl) {\r\n if (method) {\r\n return method.toUpperCase() + \" \" + absoluteUrl;\r\n }\r\n return absoluteUrl;\r\n}\r\n// Fallback method to grab host from url if document.createElement method is not available\r\nexport function urlParseHost(url, inclPort) {\r\n var fullHost = urlParseFullHost(url, inclPort) || \"\";\r\n if (fullHost) {\r\n var match = fullHost.match(/(www[0-9]?\\.)?(.[^/:]+)(\\:[\\d]+)?/i);\r\n if (match != null && match.length > 3 && isString(match[2]) && match[2].length > 0) {\r\n return match[2] + (match[3] || \"\");\r\n }\r\n }\r\n return fullHost;\r\n}\r\nexport function urlParseFullHost(url, inclPort) {\r\n var result = null;\r\n if (url) {\r\n var match = url.match(/(\\w*):\\/\\/(.[^/:]+)(\\:[\\d]+)?/i);\r\n if (match != null && match.length > 2 && isString(match[2]) && match[2].length > 0) {\r\n result = match[2] || \"\";\r\n if (inclPort && match.length > 2) {\r\n var protocol = (match[1] || \"\").toLowerCase();\r\n var port = match[3] || \"\";\r\n // IE includes the standard port so pass it off if it's the same as the protocol\r\n if (protocol === \"http\" && port === \":80\") {\r\n port = \"\";\r\n }\r\n else if (protocol === \"https\" && port === \":443\") {\r\n port = \"\";\r\n }\r\n result += port;\r\n }\r\n }\r\n }\r\n return result;\r\n}\r\n//# sourceMappingURL=UrlHelperFuncs.js.map","/*\n * Application Insights JavaScript SDK - Common, 2.7.2\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\n/**\r\n * This is an internal property used to cause internal (reporting) requests to be ignored from reporting\r\n * additional telemetry, to handle polyfil implementations ALL urls used with a disabled request will\r\n * also be ignored for future requests even when this property is not provided.\r\n * Tagging as Ignore as this is an internal value and is not expected to be used outside of the SDK\r\n * @ignore\r\n */\r\nexport var DisabledPropertyName = \"Microsoft_ApplicationInsights_BypassAjaxInstrumentation\";\r\nexport var SampleRate = \"sampleRate\";\r\nexport var ProcessLegacy = \"ProcessLegacy\";\r\nexport var HttpMethod = \"http.method\";\r\nexport var DEFAULT_BREEZE_ENDPOINT = \"https://dc.services.visualstudio.com\";\r\nexport var strNotSpecified = \"not_specified\";\r\nexport var strIkey = \"iKey\";\r\n//# sourceMappingURL=Constants.js.map","/*\n * Application Insights JavaScript SDK - Common, 2.7.2\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { __extendsFn as __extends } from \"@microsoft/applicationinsights-shims\";\r\n// THIS FILE WAS AUTOGENERATED\r\nimport { PageViewData } from \"./PageViewData\";\r\n/**\r\n * An instance of PageViewPerf represents: a page view with no performance data, a page view with performance data, or just the performance data of an earlier page request.\r\n */\r\nvar PageViewPerfData = /** @class */ (function (_super) {\r\n __extends(PageViewPerfData, _super);\r\n function PageViewPerfData() {\r\n var _this = _super.call(this) || this;\r\n /**\r\n * Schema version\r\n */\r\n _this.ver = 2;\r\n /**\r\n * Collection of custom properties.\r\n */\r\n _this.properties = {};\r\n /**\r\n * Collection of custom measurements.\r\n */\r\n _this.measurements = {};\r\n return _this;\r\n }\r\n return PageViewPerfData;\r\n}(PageViewData));\r\nexport { PageViewPerfData };\r\n//# sourceMappingURL=PageViewPerfData.js.map","/*\n * Application Insights JavaScript SDK - Common, 2.7.2\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { __extendsFn as __extends } from \"@microsoft/applicationinsights-shims\";\r\nimport { PageViewPerfData } from \"../Interfaces/Contracts/Generated/PageViewPerfData\";\r\nimport { dataSanitizeMeasurements, dataSanitizeProperties, dataSanitizeString, dataSanitizeUrl } from \"./Common/DataSanitizer\";\r\nimport { strNotSpecified } from \"../Constants\";\r\nvar PageViewPerformance = /** @class */ (function (_super) {\r\n __extends(PageViewPerformance, _super);\r\n /**\r\n * Constructs a new instance of the PageEventTelemetry object\r\n */\r\n function PageViewPerformance(logger, name, url, unused, properties, measurements, cs4BaseData) {\r\n var _this = _super.call(this) || this;\r\n _this.aiDataContract = {\r\n ver: 1 /* Required */,\r\n name: 0 /* Default */,\r\n url: 0 /* Default */,\r\n duration: 0 /* Default */,\r\n perfTotal: 0 /* Default */,\r\n networkConnect: 0 /* Default */,\r\n sentRequest: 0 /* Default */,\r\n receivedResponse: 0 /* Default */,\r\n domProcessing: 0 /* Default */,\r\n properties: 0 /* Default */,\r\n measurements: 0 /* Default */\r\n };\r\n _this.url = dataSanitizeUrl(logger, url);\r\n _this.name = dataSanitizeString(logger, name) || strNotSpecified;\r\n _this.properties = dataSanitizeProperties(logger, properties);\r\n _this.measurements = dataSanitizeMeasurements(logger, measurements);\r\n if (cs4BaseData) {\r\n _this.domProcessing = cs4BaseData.domProcessing;\r\n _this.duration = cs4BaseData.duration;\r\n _this.networkConnect = cs4BaseData.networkConnect;\r\n _this.perfTotal = cs4BaseData.perfTotal;\r\n _this.receivedResponse = cs4BaseData.receivedResponse;\r\n _this.sentRequest = cs4BaseData.sentRequest;\r\n }\r\n return _this;\r\n }\r\n PageViewPerformance.envelopeType = \"Microsoft.ApplicationInsights.{0}.PageviewPerformance\";\r\n PageViewPerformance.dataType = \"PageviewPerformanceData\";\r\n return PageViewPerformance;\r\n}(PageViewPerfData));\r\nexport { PageViewPerformance };\r\n//# sourceMappingURL=PageViewPerformance.js.map","function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n module.exports = _typeof = function _typeof(obj) {\n return typeof obj;\n };\n\n module.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n } else {\n module.exports = _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n\n module.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n }\n\n return _typeof(obj);\n}\n\nmodule.exports = _typeof;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","/*\n * Application Insights JavaScript SDK - Common, 2.7.2\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { isFunction, getDocument } from \"@microsoft/applicationinsights-core-js\";\r\nexport function createDomEvent(eventName) {\r\n var event = null;\r\n if (isFunction(Event)) { // Use Event constructor when available\r\n event = new Event(eventName);\r\n }\r\n else { // Event has no constructor in IE\r\n var doc = getDocument();\r\n if (doc && doc.createEvent) {\r\n event = doc.createEvent(\"Event\");\r\n event.initEvent(eventName, true, true);\r\n }\r\n }\r\n return event;\r\n}\r\n//# sourceMappingURL=DomHelperFuncs.js.map","/*\n * Application Insights JavaScript SDK - Common, 2.7.2\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\nimport { ContextTagKeys } from \"./Contracts/Generated/ContextTagKeys\";\r\nexport var Extensions = {\r\n UserExt: \"user\",\r\n DeviceExt: \"device\",\r\n TraceExt: \"trace\",\r\n WebExt: \"web\",\r\n AppExt: \"app\",\r\n OSExt: \"os\",\r\n SessionExt: \"ses\",\r\n SDKExt: \"sdk\"\r\n};\r\nexport var CtxTagKeys = new ContextTagKeys();\r\n//# sourceMappingURL=PartAExtensions.js.map","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}","import _typeof from \"@babel/runtime/helpers/typeof\";\nimport assertThisInitialized from \"./assertThisInitialized.js\";\nexport default function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return assertThisInitialized(self);\n}","/*\n * Application Insights JavaScript SDK - Common, 2.7.2\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { dumpObj, getExceptionName, getGlobal, getGlobalInst, isNullOrUndefined, LoggingSeverity, objForEachKey, _InternalMessageId } from \"@microsoft/applicationinsights-core-js\";\r\nimport { StorageType } from \"./Enums\";\r\nvar _canUseLocalStorage = undefined;\r\nvar _canUseSessionStorage = undefined;\r\n/**\r\n * Gets the localStorage object if available\r\n * @return {Storage} - Returns the storage object if available else returns null\r\n */\r\nfunction _getLocalStorageObject() {\r\n if (utlCanUseLocalStorage()) {\r\n return _getVerifiedStorageObject(StorageType.LocalStorage);\r\n }\r\n return null;\r\n}\r\n/**\r\n * Tests storage object (localStorage or sessionStorage) to verify that it is usable\r\n * More details here: https://mathiasbynens.be/notes/localstorage-pattern\r\n * @param storageType Type of storage\r\n * @return {Storage} Returns storage object verified that it is usable\r\n */\r\nfunction _getVerifiedStorageObject(storageType) {\r\n try {\r\n if (isNullOrUndefined(getGlobal())) {\r\n return null;\r\n }\r\n var uid = new Date;\r\n var storage = getGlobalInst(storageType === StorageType.LocalStorage ? \"localStorage\" : \"sessionStorage\");\r\n storage.setItem(uid.toString(), uid.toString());\r\n var fail = storage.getItem(uid.toString()) !== uid.toString();\r\n storage.removeItem(uid.toString());\r\n if (!fail) {\r\n return storage;\r\n }\r\n }\r\n catch (exception) {\r\n // eslint-disable-next-line no-empty\r\n }\r\n return null;\r\n}\r\n/**\r\n * Gets the sessionStorage object if available\r\n * @return {Storage} - Returns the storage object if available else returns null\r\n */\r\nfunction _getSessionStorageObject() {\r\n if (utlCanUseSessionStorage()) {\r\n return _getVerifiedStorageObject(StorageType.SessionStorage);\r\n }\r\n return null;\r\n}\r\nexport function utlDisableStorage() {\r\n _canUseLocalStorage = false;\r\n _canUseSessionStorage = false;\r\n}\r\nexport function utlCanUseLocalStorage() {\r\n if (_canUseLocalStorage === undefined) {\r\n _canUseLocalStorage = !!_getVerifiedStorageObject(StorageType.LocalStorage);\r\n }\r\n return _canUseLocalStorage;\r\n}\r\nexport function utlGetLocalStorage(logger, name) {\r\n var storage = _getLocalStorageObject();\r\n if (storage !== null) {\r\n try {\r\n return storage.getItem(name);\r\n }\r\n catch (e) {\r\n _canUseLocalStorage = false;\r\n logger.throwInternal(LoggingSeverity.WARNING, _InternalMessageId.BrowserCannotReadLocalStorage, \"Browser failed read of local storage. \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n }\r\n return null;\r\n}\r\nexport function utlSetLocalStorage(logger, name, data) {\r\n var storage = _getLocalStorageObject();\r\n if (storage !== null) {\r\n try {\r\n storage.setItem(name, data);\r\n return true;\r\n }\r\n catch (e) {\r\n _canUseLocalStorage = false;\r\n logger.throwInternal(LoggingSeverity.WARNING, _InternalMessageId.BrowserCannotWriteLocalStorage, \"Browser failed write to local storage. \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n }\r\n return false;\r\n}\r\nexport function utlRemoveStorage(logger, name) {\r\n var storage = _getLocalStorageObject();\r\n if (storage !== null) {\r\n try {\r\n storage.removeItem(name);\r\n return true;\r\n }\r\n catch (e) {\r\n _canUseLocalStorage = false;\r\n logger.throwInternal(LoggingSeverity.WARNING, _InternalMessageId.BrowserFailedRemovalFromLocalStorage, \"Browser failed removal of local storage item. \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n }\r\n return false;\r\n}\r\nexport function utlCanUseSessionStorage() {\r\n if (_canUseSessionStorage === undefined) {\r\n _canUseSessionStorage = !!_getVerifiedStorageObject(StorageType.SessionStorage);\r\n }\r\n return _canUseSessionStorage;\r\n}\r\nexport function utlGetSessionStorageKeys() {\r\n var keys = [];\r\n if (utlCanUseSessionStorage()) {\r\n objForEachKey(getGlobalInst(\"sessionStorage\"), function (key) {\r\n keys.push(key);\r\n });\r\n }\r\n return keys;\r\n}\r\nexport function utlGetSessionStorage(logger, name) {\r\n var storage = _getSessionStorageObject();\r\n if (storage !== null) {\r\n try {\r\n return storage.getItem(name);\r\n }\r\n catch (e) {\r\n _canUseSessionStorage = false;\r\n logger.throwInternal(LoggingSeverity.WARNING, _InternalMessageId.BrowserCannotReadSessionStorage, \"Browser failed read of session storage. \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n }\r\n return null;\r\n}\r\nexport function utlSetSessionStorage(logger, name, data) {\r\n var storage = _getSessionStorageObject();\r\n if (storage !== null) {\r\n try {\r\n storage.setItem(name, data);\r\n return true;\r\n }\r\n catch (e) {\r\n _canUseSessionStorage = false;\r\n logger.throwInternal(LoggingSeverity.WARNING, _InternalMessageId.BrowserCannotWriteSessionStorage, \"Browser failed write to session storage. \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n }\r\n return false;\r\n}\r\nexport function utlRemoveSessionStorage(logger, name) {\r\n var storage = _getSessionStorageObject();\r\n if (storage !== null) {\r\n try {\r\n storage.removeItem(name);\r\n return true;\r\n }\r\n catch (e) {\r\n _canUseSessionStorage = false;\r\n logger.throwInternal(LoggingSeverity.WARNING, _InternalMessageId.BrowserFailedRemovalFromSessionStorage, \"Browser failed removal of session storage item. \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n }\r\n return false;\r\n}\r\n//# sourceMappingURL=StorageHelperFuncs.js.map","/*\n * Application Insights JavaScript SDK - Common, 2.7.2\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\n/**\r\n * System variables for a telemetry item.\r\n */\r\nvar Envelope = /** @class */ (function () {\r\n function Envelope() {\r\n /**\r\n * Envelope version. For internal use only. By assigning this the default, it will not be serialized within the payload unless changed to a value other than #1.\r\n */\r\n this.ver = 1;\r\n /**\r\n * Sampling rate used in application. This telemetry item represents 1 / sampleRate actual telemetry items.\r\n */\r\n this.sampleRate = 100.0;\r\n /**\r\n * Key/value collection of context properties. See ContextTagKeys for information on available properties.\r\n */\r\n this.tags = {};\r\n }\r\n return Envelope;\r\n}());\r\nexport { Envelope };\r\n//# sourceMappingURL=Envelope.js.map","/*\n * Application Insights JavaScript SDK - Common, 2.7.2\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { __extendsFn as __extends } from \"@microsoft/applicationinsights-shims\";\r\nimport { Envelope as AIEnvelope } from \"../../Interfaces/Contracts/Generated/Envelope\";\r\nimport { dataSanitizeString } from \"./DataSanitizer\";\r\nimport { toISOString } from \"@microsoft/applicationinsights-core-js\";\r\nimport { strNotSpecified } from \"../../Constants\";\r\nvar Envelope = /** @class */ (function (_super) {\r\n __extends(Envelope, _super);\r\n /**\r\n * Constructs a new instance of telemetry data.\r\n */\r\n function Envelope(logger, data, name) {\r\n var _this = _super.call(this) || this;\r\n _this.name = dataSanitizeString(logger, name) || strNotSpecified;\r\n _this.data = data;\r\n _this.time = toISOString(new Date());\r\n _this.aiDataContract = {\r\n time: 1 /* Required */,\r\n iKey: 1 /* Required */,\r\n name: 1 /* Required */,\r\n sampleRate: function () {\r\n return (_this.sampleRate === 100) ? 4 /* Hidden */ : 1 /* Required */;\r\n },\r\n tags: 1 /* Required */,\r\n data: 1 /* Required */\r\n };\r\n return _this;\r\n }\r\n return Envelope;\r\n}(AIEnvelope));\r\nexport { Envelope };\r\n//# sourceMappingURL=Envelope.js.map","/*\n * Application Insights JavaScript SDK - Common, 2.7.2\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { __extendsFn as __extends } from \"@microsoft/applicationinsights-shims\";\r\nimport { Data as AIData } from \"../../Interfaces/Contracts/Generated/Data\";\r\nvar Data = /** @class */ (function (_super) {\r\n __extends(Data, _super);\r\n /**\r\n * Constructs a new instance of telemetry data.\r\n */\r\n function Data(baseType, data) {\r\n var _this = _super.call(this) || this;\r\n /**\r\n * The data contract for serializing this object.\r\n */\r\n _this.aiDataContract = {\r\n baseType: 1 /* Required */,\r\n baseData: 1 /* Required */\r\n };\r\n _this.baseType = baseType;\r\n _this.baseData = data;\r\n return _this;\r\n }\r\n return Data;\r\n}(AIData));\r\nexport { Data };\r\n//# sourceMappingURL=Data.js.map","/*\n * Application Insights JavaScript SDK - Common, 2.7.2\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { dataSanitizeString } from \"./Telemetry/Common/DataSanitizer\";\r\nimport { objForEachKey, isNullOrUndefined, toISOString } from \"@microsoft/applicationinsights-core-js\";\r\nimport { strNotSpecified, strIkey } from \"./Constants\";\r\nvar TelemetryItemCreator = /** @class */ (function () {\r\n function TelemetryItemCreator() {\r\n }\r\n /**\r\n * Create a telemetry item that the 1DS channel understands\r\n * @param item domain specific properties; part B\r\n * @param baseType telemetry item type. ie PageViewData\r\n * @param envelopeName name of the envelope. ie Microsoft.ApplicationInsights..PageView\r\n * @param customProperties user defined custom properties; part C\r\n * @param systemProperties system properties that are added to the context; part A\r\n * @returns ITelemetryItem that is sent to channel\r\n */\r\n TelemetryItemCreator.create = function (item, baseType, envelopeName, logger, customProperties, systemProperties) {\r\n envelopeName = dataSanitizeString(logger, envelopeName) || strNotSpecified;\r\n if (isNullOrUndefined(item) ||\r\n isNullOrUndefined(baseType) ||\r\n isNullOrUndefined(envelopeName)) {\r\n throw Error(\"Input doesn't contain all required fields\");\r\n }\r\n var iKey = \"\";\r\n if (item[strIkey]) {\r\n iKey = item[strIkey];\r\n delete item[strIkey];\r\n }\r\n var telemetryItem = {\r\n name: envelopeName,\r\n time: toISOString(new Date()),\r\n iKey: iKey,\r\n ext: systemProperties ? systemProperties : {},\r\n tags: [],\r\n data: {},\r\n baseType: baseType,\r\n baseData: item // Part B\r\n };\r\n // Part C\r\n if (!isNullOrUndefined(customProperties)) {\r\n objForEachKey(customProperties, function (prop, value) {\r\n telemetryItem.data[prop] = value;\r\n });\r\n }\r\n return telemetryItem;\r\n };\r\n return TelemetryItemCreator;\r\n}());\r\nexport { TelemetryItemCreator };\r\n//# sourceMappingURL=TelemetryItemCreator.js.map","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}","/*\n * Application Insights JavaScript SDK - Common, 2.7.2\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { arrForEach, isString } from \"@microsoft/applicationinsights-core-js\";\r\nexport function stringToBoolOrDefault(str, defaultValue) {\r\n if (defaultValue === void 0) { defaultValue = false; }\r\n if (str === undefined || str === null) {\r\n return defaultValue;\r\n }\r\n return str.toString().toLowerCase() === \"true\";\r\n}\r\n/**\r\n * Convert ms to c# time span format\r\n */\r\nexport function msToTimeSpan(totalms) {\r\n if (isNaN(totalms) || totalms < 0) {\r\n totalms = 0;\r\n }\r\n totalms = Math.round(totalms);\r\n var ms = \"\" + totalms % 1000;\r\n var sec = \"\" + Math.floor(totalms / 1000) % 60;\r\n var min = \"\" + Math.floor(totalms / (1000 * 60)) % 60;\r\n var hour = \"\" + Math.floor(totalms / (1000 * 60 * 60)) % 24;\r\n var days = Math.floor(totalms / (1000 * 60 * 60 * 24));\r\n ms = ms.length === 1 ? \"00\" + ms : ms.length === 2 ? \"0\" + ms : ms;\r\n sec = sec.length < 2 ? \"0\" + sec : sec;\r\n min = min.length < 2 ? \"0\" + min : min;\r\n hour = hour.length < 2 ? \"0\" + hour : hour;\r\n return (days > 0 ? days + \".\" : \"\") + hour + \":\" + min + \":\" + sec + \".\" + ms;\r\n}\r\nexport function getExtensionByName(extensions, identifier) {\r\n var extension = null;\r\n arrForEach(extensions, function (value) {\r\n if (value.identifier === identifier) {\r\n extension = value;\r\n return -1;\r\n }\r\n });\r\n return extension;\r\n}\r\nexport function isCrossOriginError(message, url, lineNumber, columnNumber, error) {\r\n return !error && isString(message) && (message === \"Script error.\" || message === \"Script error\");\r\n}\r\n//# sourceMappingURL=HelperFuncs.js.map","/*\n * Application Insights JavaScript SDK - Common, 2.7.2\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n// Licensed under the\r\nexport { Util, CorrelationIdHelper, DateTimeUtils, dateTimeUtilsNow, dateTimeUtilsDuration, UrlHelper, isInternalApplicationInsightsEndpoint } from \"./Util\";\r\nexport { parseConnectionString, ConnectionStringParser } from \"./ConnectionStringParser\";\r\nexport { RequestHeaders } from \"./RequestResponseHeaders\";\r\nexport { DisabledPropertyName, ProcessLegacy, SampleRate, HttpMethod, DEFAULT_BREEZE_ENDPOINT, strNotSpecified } from \"./Constants\";\r\nexport { Data as AIData } from \"./Interfaces/Contracts/Generated/Data\";\r\nexport { Base as AIBase } from \"./Interfaces/Contracts/Generated/Base\";\r\nexport { Envelope } from \"./Telemetry/Common/Envelope\";\r\nexport { Event } from \"./Telemetry/Event\";\r\nexport { Exception } from \"./Telemetry/Exception\";\r\nexport { Metric } from \"./Telemetry/Metric\";\r\nexport { PageView } from \"./Telemetry/PageView\";\r\nexport { PageViewData } from \"./Interfaces/Contracts/Generated/PageViewData\";\r\nexport { RemoteDependencyData } from \"./Telemetry/RemoteDependencyData\";\r\nexport { Trace } from \"./Telemetry/Trace\";\r\nexport { PageViewPerformance } from \"./Telemetry/PageViewPerformance\";\r\nexport { Data } from \"./Telemetry/Common/Data\";\r\nexport { SeverityLevel } from \"./Interfaces/Contracts/Generated/SeverityLevel\";\r\nexport { ConfigurationManager } from \"./Interfaces/IConfig\";\r\nexport { ContextTagKeys } from \"./Interfaces/Contracts/Generated/ContextTagKeys\";\r\nexport { DataSanitizer, dataSanitizeKeyAndAddUniqueness, dataSanitizeKey, dataSanitizeString, dataSanitizeUrl, dataSanitizeMessage, dataSanitizeException, dataSanitizeProperties, dataSanitizeMeasurements, dataSanitizeId, dataSanitizeInput, dsPadNumber } from \"./Telemetry/Common/DataSanitizer\";\r\nexport { TelemetryItemCreator } from \"./TelemetryItemCreator\";\r\nexport { CtxTagKeys, Extensions } from \"./Interfaces/PartAExtensions\";\r\nexport { DistributedTracingModes } from \"./Enums\";\r\nexport { stringToBoolOrDefault, msToTimeSpan, getExtensionByName, isCrossOriginError } from \"./HelperFuncs\";\r\nexport { isBeaconsSupported as isBeaconApiSupported } from \"@microsoft/applicationinsights-core-js\";\r\nexport { createDomEvent } from \"./DomHelperFuncs\";\r\nexport { utlDisableStorage, utlCanUseLocalStorage, utlGetLocalStorage, utlSetLocalStorage, utlRemoveStorage, utlCanUseSessionStorage, utlGetSessionStorageKeys, utlGetSessionStorage, utlSetSessionStorage, utlRemoveSessionStorage } from \"./StorageHelperFuncs\";\r\nexport { urlParseUrl, urlGetAbsoluteUrl, urlGetPathName, urlGetCompleteUrl, urlParseHost, urlParseFullHost } from \"./UrlHelperFuncs\";\r\nexport var PropertiesPluginIdentifier = \"AppInsightsPropertiesPlugin\";\r\nexport var BreezeChannelIdentifier = \"AppInsightsChannelPlugin\";\r\nexport var AnalyticsPluginIdentifier = \"ApplicationInsightsAnalytics\";\r\n//# sourceMappingURL=applicationinsights-common.js.map","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","/*\n * Application Insights JavaScript SDK - Common, 2.7.2\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\n// THIS FILE WAS AUTOGENERATED\r\n/**\r\n * Data struct to contain only C section with custom fields.\r\n */\r\nvar Base = /** @class */ (function () {\r\n function Base() {\r\n }\r\n return Base;\r\n}());\r\nexport { Base };\r\n//# sourceMappingURL=Base.js.map","/*\n * Application Insights JavaScript SDK - Common, 2.7.2\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\n/**\r\n * Instances of Event represent structured event records that can be grouped and searched by their properties. Event data item also creates a metric of event count by name.\r\n */\r\nvar EventData = /** @class */ (function () {\r\n function EventData() {\r\n /**\r\n * Schema version\r\n */\r\n this.ver = 2;\r\n /**\r\n * Collection of custom properties.\r\n */\r\n this.properties = {};\r\n /**\r\n * Collection of custom measurements.\r\n */\r\n this.measurements = {};\r\n }\r\n return EventData;\r\n}());\r\nexport { EventData };\r\n//# sourceMappingURL=EventData.js.map","/*\n * Application Insights JavaScript SDK - Common, 2.7.2\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { __extendsFn as __extends } from \"@microsoft/applicationinsights-shims\";\r\nimport { EventData } from \"../Interfaces/Contracts/Generated/EventData\";\r\nimport { dataSanitizeString, dataSanitizeProperties, dataSanitizeMeasurements } from \"./Common/DataSanitizer\";\r\nimport { strNotSpecified } from \"../Constants\";\r\nvar Event = /** @class */ (function (_super) {\r\n __extends(Event, _super);\r\n /**\r\n * Constructs a new instance of the EventTelemetry object\r\n */\r\n function Event(logger, name, properties, measurements) {\r\n var _this = _super.call(this) || this;\r\n _this.aiDataContract = {\r\n ver: 1 /* Required */,\r\n name: 1 /* Required */,\r\n properties: 0 /* Default */,\r\n measurements: 0 /* Default */\r\n };\r\n _this.name = dataSanitizeString(logger, name) || strNotSpecified;\r\n _this.properties = dataSanitizeProperties(logger, properties);\r\n _this.measurements = dataSanitizeMeasurements(logger, measurements);\r\n return _this;\r\n }\r\n Event.envelopeType = \"Microsoft.ApplicationInsights.{0}.Event\";\r\n Event.dataType = \"EventData\";\r\n return Event;\r\n}(EventData));\r\nexport { Event };\r\n//# sourceMappingURL=Event.js.map","/*\n * Application Insights JavaScript SDK - Common, 2.7.2\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\n/**\r\n * An instance of Remote Dependency represents an interaction of the monitored component with a remote component/service like SQL or an HTTP endpoint.\r\n */\r\nvar RemoteDependencyData = /** @class */ (function () {\r\n function RemoteDependencyData() {\r\n /**\r\n * Schema version\r\n */\r\n this.ver = 2;\r\n /**\r\n * Indication of successful or unsuccessful call.\r\n */\r\n this.success = true;\r\n /**\r\n * Collection of custom properties.\r\n */\r\n this.properties = {};\r\n /**\r\n * Collection of custom measurements.\r\n */\r\n this.measurements = {};\r\n }\r\n return RemoteDependencyData;\r\n}());\r\nexport { RemoteDependencyData };\r\n//# sourceMappingURL=RemoteDependencyData.js.map","/*\n * Application Insights JavaScript SDK - Common, 2.7.2\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { __extendsFn as __extends } from \"@microsoft/applicationinsights-shims\";\r\nimport { dataSanitizeMeasurements, dataSanitizeProperties, dataSanitizeString, dataSanitizeUrl } from \"./Common/DataSanitizer\";\r\nimport { AjaxHelperParseDependencyPath } from \"../Util\";\r\nimport { RemoteDependencyData as GeneratedRemoteDependencyData } from \"../Interfaces/Contracts/Generated/RemoteDependencyData\";\r\nimport { msToTimeSpan } from \"../HelperFuncs\";\r\nvar RemoteDependencyData = /** @class */ (function (_super) {\r\n __extends(RemoteDependencyData, _super);\r\n /**\r\n * Constructs a new instance of the RemoteDependencyData object\r\n */\r\n function RemoteDependencyData(logger, id, absoluteUrl, commandName, value, success, resultCode, method, requestAPI, correlationContext, properties, measurements) {\r\n if (requestAPI === void 0) { requestAPI = \"Ajax\"; }\r\n var _this = _super.call(this) || this;\r\n _this.aiDataContract = {\r\n id: 1 /* Required */,\r\n ver: 1 /* Required */,\r\n name: 0 /* Default */,\r\n resultCode: 0 /* Default */,\r\n duration: 0 /* Default */,\r\n success: 0 /* Default */,\r\n data: 0 /* Default */,\r\n target: 0 /* Default */,\r\n type: 0 /* Default */,\r\n properties: 0 /* Default */,\r\n measurements: 0 /* Default */,\r\n kind: 0 /* Default */,\r\n value: 0 /* Default */,\r\n count: 0 /* Default */,\r\n min: 0 /* Default */,\r\n max: 0 /* Default */,\r\n stdDev: 0 /* Default */,\r\n dependencyKind: 0 /* Default */,\r\n dependencySource: 0 /* Default */,\r\n commandName: 0 /* Default */,\r\n dependencyTypeName: 0 /* Default */\r\n };\r\n _this.id = id;\r\n _this.duration = msToTimeSpan(value);\r\n _this.success = success;\r\n _this.resultCode = resultCode + \"\";\r\n _this.type = dataSanitizeString(logger, requestAPI);\r\n var dependencyFields = AjaxHelperParseDependencyPath(logger, absoluteUrl, method, commandName);\r\n _this.data = dataSanitizeUrl(logger, commandName) || dependencyFields.data; // get a value from hosturl if commandName not available\r\n _this.target = dataSanitizeString(logger, dependencyFields.target);\r\n if (correlationContext) {\r\n _this.target = \"\".concat(_this.target, \" | \").concat(correlationContext);\r\n }\r\n _this.name = dataSanitizeString(logger, dependencyFields.name);\r\n _this.properties = dataSanitizeProperties(logger, properties);\r\n _this.measurements = dataSanitizeMeasurements(logger, measurements);\r\n return _this;\r\n }\r\n RemoteDependencyData.envelopeType = \"Microsoft.ApplicationInsights.{0}.RemoteDependency\";\r\n RemoteDependencyData.dataType = \"RemoteDependencyData\";\r\n return RemoteDependencyData;\r\n}(GeneratedRemoteDependencyData));\r\nexport { RemoteDependencyData };\r\n//# sourceMappingURL=RemoteDependencyData.js.map","/*\n * Application Insights JavaScript SDK - Common, 2.7.2\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { __extendsFn as __extends } from \"@microsoft/applicationinsights-shims\";\r\nimport { PageViewData } from \"../Interfaces/Contracts/Generated/PageViewData\";\r\nimport { dataSanitizeId, dataSanitizeMeasurements, dataSanitizeProperties, dataSanitizeString, dataSanitizeUrl } from \"./Common/DataSanitizer\";\r\nimport { msToTimeSpan } from \"../HelperFuncs\";\r\nimport { strNotSpecified } from \"../Constants\";\r\nvar PageView = /** @class */ (function (_super) {\r\n __extends(PageView, _super);\r\n /**\r\n * Constructs a new instance of the PageEventTelemetry object\r\n */\r\n function PageView(logger, name, url, durationMs, properties, measurements, id) {\r\n var _this = _super.call(this) || this;\r\n _this.aiDataContract = {\r\n ver: 1 /* Required */,\r\n name: 0 /* Default */,\r\n url: 0 /* Default */,\r\n duration: 0 /* Default */,\r\n properties: 0 /* Default */,\r\n measurements: 0 /* Default */,\r\n id: 0 /* Default */\r\n };\r\n _this.id = dataSanitizeId(logger, id);\r\n _this.url = dataSanitizeUrl(logger, url);\r\n _this.name = dataSanitizeString(logger, name) || strNotSpecified;\r\n if (!isNaN(durationMs)) {\r\n _this.duration = msToTimeSpan(durationMs);\r\n }\r\n _this.properties = dataSanitizeProperties(logger, properties);\r\n _this.measurements = dataSanitizeMeasurements(logger, measurements);\r\n return _this;\r\n }\r\n PageView.envelopeType = \"Microsoft.ApplicationInsights.{0}.Pageview\";\r\n PageView.dataType = \"PageviewData\";\r\n return PageView;\r\n}(PageViewData));\r\nexport { PageView };\r\n//# sourceMappingURL=PageView.js.map","/*\n * Application Insights JavaScript SDK - Common, 2.7.2\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { __extendsFn as __extends } from \"@microsoft/applicationinsights-shims\";\r\n// THIS FILE WAS AUTOGENERATED\r\nimport { Base } from \"./Base\";\r\n/**\r\n * Data struct to contain both B and C sections.\r\n */\r\nvar Data = /** @class */ (function (_super) {\r\n __extends(Data, _super);\r\n function Data() {\r\n return _super.call(this) || this;\r\n }\r\n return Data;\r\n}(Base));\r\nexport { Data };\r\n//# sourceMappingURL=Data.js.map","/*\n * Application Insights JavaScript SDK - Common, 2.7.2\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nexport var RequestHeaders = {\r\n requestContextHeader: \"Request-Context\",\r\n requestContextTargetKey: \"appId\",\r\n requestContextAppIdFormat: \"appId=cid-v1:\",\r\n requestIdHeader: \"Request-Id\",\r\n traceParentHeader: \"traceparent\",\r\n traceStateHeader: \"tracestate\",\r\n sdkContextHeader: \"Sdk-Context\",\r\n sdkContextHeaderAppIdRequest: \"appId\",\r\n requestContextHeaderLowerCase: \"request-context\"\r\n};\r\n//# sourceMappingURL=RequestResponseHeaders.js.map","/*\n * Application Insights JavaScript SDK - Common, 2.7.2\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { __extendsFn as __extends } from \"@microsoft/applicationinsights-shims\";\r\n// THIS FILE WAS AUTOGENERATED\r\nimport { EventData } from \"./EventData\";\r\n/**\r\n * An instance of PageView represents a generic action on a page like a button click. It is also the base type for PageView.\r\n */\r\nvar PageViewData = /** @class */ (function (_super) {\r\n __extends(PageViewData, _super);\r\n function PageViewData() {\r\n var _this = _super.call(this) || this;\r\n /**\r\n * Schema version\r\n */\r\n _this.ver = 2;\r\n /**\r\n * Collection of custom properties.\r\n */\r\n _this.properties = {};\r\n /**\r\n * Collection of custom measurements.\r\n */\r\n _this.measurements = {};\r\n return _this;\r\n }\r\n return PageViewData;\r\n}(EventData));\r\nexport { PageViewData };\r\n//# sourceMappingURL=PageViewData.js.map","/*\n * Application Insights JavaScript SDK - Common, 2.7.2\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { __extendsFn as __extends } from \"@microsoft/applicationinsights-shims\";\r\nimport { createClassFromInterface } from \"@microsoft/applicationinsights-core-js\";\r\nfunction _aiNameFunc(baseName) {\r\n var aiName = \"ai.\" + baseName + \".\";\r\n return function (name) {\r\n return aiName + name;\r\n };\r\n}\r\nvar _aiApplication = _aiNameFunc(\"application\");\r\nvar _aiDevice = _aiNameFunc(\"device\");\r\nvar _aiLocation = _aiNameFunc(\"location\");\r\nvar _aiOperation = _aiNameFunc(\"operation\");\r\nvar _aiSession = _aiNameFunc(\"session\");\r\nvar _aiUser = _aiNameFunc(\"user\");\r\nvar _aiCloud = _aiNameFunc(\"cloud\");\r\nvar _aiInternal = _aiNameFunc(\"internal\");\r\nvar ContextTagKeys = /** @class */ (function (_super) {\r\n __extends(ContextTagKeys, _super);\r\n function ContextTagKeys() {\r\n return _super.call(this) || this;\r\n }\r\n return ContextTagKeys;\r\n}(createClassFromInterface({\r\n applicationVersion: _aiApplication(\"ver\"),\r\n applicationBuild: _aiApplication(\"build\"),\r\n applicationTypeId: _aiApplication(\"typeId\"),\r\n applicationId: _aiApplication(\"applicationId\"),\r\n applicationLayer: _aiApplication(\"layer\"),\r\n deviceId: _aiDevice(\"id\"),\r\n deviceIp: _aiDevice(\"ip\"),\r\n deviceLanguage: _aiDevice(\"language\"),\r\n deviceLocale: _aiDevice(\"locale\"),\r\n deviceModel: _aiDevice(\"model\"),\r\n deviceFriendlyName: _aiDevice(\"friendlyName\"),\r\n deviceNetwork: _aiDevice(\"network\"),\r\n deviceNetworkName: _aiDevice(\"networkName\"),\r\n deviceOEMName: _aiDevice(\"oemName\"),\r\n deviceOS: _aiDevice(\"os\"),\r\n deviceOSVersion: _aiDevice(\"osVersion\"),\r\n deviceRoleInstance: _aiDevice(\"roleInstance\"),\r\n deviceRoleName: _aiDevice(\"roleName\"),\r\n deviceScreenResolution: _aiDevice(\"screenResolution\"),\r\n deviceType: _aiDevice(\"type\"),\r\n deviceMachineName: _aiDevice(\"machineName\"),\r\n deviceVMName: _aiDevice(\"vmName\"),\r\n deviceBrowser: _aiDevice(\"browser\"),\r\n deviceBrowserVersion: _aiDevice(\"browserVersion\"),\r\n locationIp: _aiLocation(\"ip\"),\r\n locationCountry: _aiLocation(\"country\"),\r\n locationProvince: _aiLocation(\"province\"),\r\n locationCity: _aiLocation(\"city\"),\r\n operationId: _aiOperation(\"id\"),\r\n operationName: _aiOperation(\"name\"),\r\n operationParentId: _aiOperation(\"parentId\"),\r\n operationRootId: _aiOperation(\"rootId\"),\r\n operationSyntheticSource: _aiOperation(\"syntheticSource\"),\r\n operationCorrelationVector: _aiOperation(\"correlationVector\"),\r\n sessionId: _aiSession(\"id\"),\r\n sessionIsFirst: _aiSession(\"isFirst\"),\r\n sessionIsNew: _aiSession(\"isNew\"),\r\n userAccountAcquisitionDate: _aiUser(\"accountAcquisitionDate\"),\r\n userAccountId: _aiUser(\"accountId\"),\r\n userAgent: _aiUser(\"userAgent\"),\r\n userId: _aiUser(\"id\"),\r\n userStoreRegion: _aiUser(\"storeRegion\"),\r\n userAuthUserId: _aiUser(\"authUserId\"),\r\n userAnonymousUserAcquisitionDate: _aiUser(\"anonUserAcquisitionDate\"),\r\n userAuthenticatedUserAcquisitionDate: _aiUser(\"authUserAcquisitionDate\"),\r\n cloudName: _aiCloud(\"name\"),\r\n cloudRole: _aiCloud(\"role\"),\r\n cloudRoleVer: _aiCloud(\"roleVer\"),\r\n cloudRoleInstance: _aiCloud(\"roleInstance\"),\r\n cloudEnvironment: _aiCloud(\"environment\"),\r\n cloudLocation: _aiCloud(\"location\"),\r\n cloudDeploymentUnit: _aiCloud(\"deploymentUnit\"),\r\n internalNodeName: _aiInternal(\"nodeName\"),\r\n internalSdkVersion: _aiInternal(\"sdkVersion\"),\r\n internalAgentVersion: _aiInternal(\"agentVersion\"),\r\n internalSnippet: _aiInternal(\"snippet\"),\r\n internalSdkSrc: _aiInternal(\"sdkSrc\")\r\n})));\r\nexport { ContextTagKeys };\r\n//# sourceMappingURL=ContextTagKeys.js.map","/*\n * Application Insights JavaScript SDK - Web Analytics, 2.7.2\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { dateTimeUtilsDuration } from \"@microsoft/applicationinsights-common\";\r\nimport { LoggingSeverity, _InternalMessageId, getDocument, getLocation, arrForEach, isNullOrUndefined, getExceptionName, dumpObj } 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 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 if (start > 0) {\r\n customDuration = dateTimeUtilsDuration(start, +new Date);\r\n if (!pageViewPerformanceManager.shouldCollectDuration(customDuration)) {\r\n customDuration = undefined;\r\n }\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 (start > 0 && dateTimeUtilsDuration(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: \" + getExceptionName(e), { exception: dumpObj(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.7.2\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { utlCanUseSessionStorage, utlGetSessionStorage, utlRemoveSessionStorage, utlSetSessionStorage } from \"@microsoft/applicationinsights-common\";\r\nimport { hasJSON, getJSON, dateNow, dumpObj, throwError } 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: \" + dumpObj(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: \" + dumpObj(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 (utlCanUseSessionStorage()) {\r\n if (utlGetSessionStorage(this._logger, this.prevPageVisitDataKeyName) != null) {\r\n throwError(\"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 utlSetSessionStorage(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: \" + dumpObj(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 (utlCanUseSessionStorage()) {\r\n // Define end time of page's visit\r\n var pageVisitEndTime = dateNow();\r\n // Try to retrieve page name and start time from session storage\r\n var pageVisitDataJsonStr = utlGetSessionStorage(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 utlRemoveSessionStorage(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: \" + dumpObj(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 = dateNow();\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.7.2\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { dateTimeUtilsDuration, msToTimeSpan } 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 * total = The difference between the load event of the current document is completed and the first recorded timestamp of the performance entry : https://developer.mozilla.org/en-US/docs/Web/Performance/Navigation_and_resource_timings#duration\r\n * network = Redirect time + App Cache + DNS lookup time + TCP connection time\r\n * request = Request time : https://developer.mozilla.org/en-US/docs/Web/Performance/Navigation_and_resource_timings#request_time\r\n * response = Response time\r\n * dom = Document load time : https://html.spec.whatwg.org/multipage/dom.html#document-load-timing-info\r\n * = Document processing time : https://developers.google.com/web/fundamentals/performance/navigation-and-resource-timing/#document_processing\r\n * + Loading time : https://developers.google.com/web/fundamentals/performance/navigation-and-resource-timing/#loading\r\n */\r\n var navigationTiming = this.getPerformanceNavigationTiming();\r\n var timing = this.getPerformanceTiming();\r\n var total = 0;\r\n var network = 0;\r\n var request = 0;\r\n var response = 0;\r\n var dom = 0;\r\n if (navigationTiming || timing) {\r\n if (navigationTiming) {\r\n total = navigationTiming.duration;\r\n /**\r\n * support both cases:\r\n * - startTime is always zero: https://developer.mozilla.org/en-US/docs/Web/API/PerformanceNavigationTiming\r\n * - for older browsers where the startTime is not zero\r\n */\r\n network = navigationTiming.startTime === 0 ? navigationTiming.connectEnd : dateTimeUtilsDuration(navigationTiming.startTime, navigationTiming.connectEnd);\r\n request = dateTimeUtilsDuration(navigationTiming.requestStart, navigationTiming.responseStart);\r\n response = dateTimeUtilsDuration(navigationTiming.responseStart, navigationTiming.responseEnd);\r\n dom = dateTimeUtilsDuration(navigationTiming.responseEnd, navigationTiming.loadEventEnd);\r\n }\r\n else {\r\n total = dateTimeUtilsDuration(timing.navigationStart, timing.loadEventEnd);\r\n network = dateTimeUtilsDuration(timing.navigationStart, timing.connectEnd);\r\n request = dateTimeUtilsDuration(timing.requestStart, timing.responseStart);\r\n response = dateTimeUtilsDuration(timing.responseStart, timing.responseEnd);\r\n dom = dateTimeUtilsDuration(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 = msToTimeSpan(total);\r\n pageViewPerformance.networkConnect = msToTimeSpan(network);\r\n pageViewPerformance.sentRequest = msToTimeSpan(request);\r\n pageViewPerformance.receivedResponse = msToTimeSpan(response);\r\n pageViewPerformance.domProcessing = 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] < 0 || 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.7.2\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n/**\r\n * ApplicationInsights.ts\r\n * @copyright Microsoft 2018\r\n */\r\nimport { __assignFn as __assign, __extendsFn as __extends } from \"@microsoft/applicationinsights-shims\";\r\nimport { PageViewPerformance, PageView, RemoteDependencyData, Event as EventTelemetry, TelemetryItemCreator, Metric, Exception, SeverityLevel, Trace, dateTimeUtilsDuration, PropertiesPluginIdentifier, AnalyticsPluginIdentifier, stringToBoolOrDefault, createDomEvent, strNotSpecified, isCrossOriginError, utlDisableStorage, dataSanitizeString } from \"@microsoft/applicationinsights-common\";\r\nimport { BaseTelemetryPlugin, LoggingSeverity, _InternalMessageId, getWindow, getDocument, getHistory, getLocation, doPerf, objForEachKey, isString, isFunction, isNullOrUndefined, arrForEach, generateW3CId, dumpObj, getExceptionName, safeGetCookieMgr } from \"@microsoft/applicationinsights-core-js\";\r\nimport { PageViewManager } from \"./Telemetry/PageViewManager\";\r\nimport { PageVisitTimeManager } from \"./Telemetry/PageVisitTimeManager\";\r\nimport { PageViewPerformanceManager } from \"./Telemetry/PageViewPerformanceManager\";\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\n\"use strict\";\r\nvar durationProperty = \"duration\";\r\nvar strEvent = \"event\";\r\nfunction _dispatchEvent(target, evnt) {\r\n if (target && target.dispatchEvent && evnt) {\r\n target.dispatchEvent(evnt);\r\n }\r\n}\r\nfunction _getReason(error) {\r\n if (error && error.reason) {\r\n var reason = error.reason;\r\n if (!isString(reason) && isFunction(reason.toString)) {\r\n return reason.toString();\r\n }\r\n return dumpObj(reason);\r\n }\r\n // Pass the original object down which will eventually get evaluated for any message or description\r\n return error || \"\";\r\n}\r\nvar ApplicationInsights = /** @class */ (function (_super) {\r\n __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 var _eventTracking;\r\n var _pageTracking;\r\n var _properties;\r\n // Counts number of trackAjax invocations.\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 var _trackAjaxAttempts = 0;\r\n // array with max length of 2 that store current url and previous url for SPA page route change trackPageview use.\r\n var _prevUri; // Assigned in the constructor\r\n var _currUri;\r\n dynamicProto(ApplicationInsights, _this, function (_self, _base) {\r\n var location = getLocation(true);\r\n _prevUri = location && location.href || \"\";\r\n _self.getCookieMgr = function () {\r\n return safeGetCookieMgr(_self.core);\r\n };\r\n _self.processTelemetry = function (env, itemCtx) {\r\n doPerf(_self.core, function () { return _self.identifier + \":processTelemetry\"; }, function () {\r\n var doNotSendItem = false;\r\n var telemetryInitializersCount = _self._telemetryInitializers.length;\r\n itemCtx = _self._getTelCtx(itemCtx);\r\n for (var i = 0; i < telemetryInitializersCount; ++i) {\r\n var telemetryInitializer = _self._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: \" + getExceptionName(e), { exception: dumpObj(e) }, true);\r\n }\r\n }\r\n }\r\n if (!doNotSendItem) {\r\n _self.processNext(env, itemCtx);\r\n }\r\n }, function () { return ({ item: env }); }, !(env.sync));\r\n };\r\n _self.trackEvent = function (event, customProperties) {\r\n try {\r\n var telemetryItem = TelemetryItemCreator.create(event, EventTelemetry.dataType, EventTelemetry.envelopeType, _self.diagLog(), customProperties);\r\n _self.core.track(telemetryItem);\r\n }\r\n catch (e) {\r\n _self.diagLog().throwInternal(LoggingSeverity.WARNING, _InternalMessageId.TrackTraceFailed, \"trackTrace failed, trace will not be collected: \" + getExceptionName(e), { exception: dumpObj(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 _self.startTrackEvent = function (name) {\r\n try {\r\n _eventTracking.start(name);\r\n }\r\n catch (e) {\r\n _self.diagLog().throwInternal(LoggingSeverity.CRITICAL, _InternalMessageId.StartTrackEventFailed, \"startTrackEvent failed, event will not be collected: \" + getExceptionName(e), { exception: dumpObj(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 _self.stopTrackEvent = function (name, properties, measurements) {\r\n try {\r\n _eventTracking.stop(name, undefined, properties); // Todo: Fix to pass measurements once type is updated\r\n }\r\n catch (e) {\r\n _self.diagLog().throwInternal(LoggingSeverity.CRITICAL, _InternalMessageId.StopTrackEventFailed, \"stopTrackEvent failed, event will not be collected: \" + getExceptionName(e), { exception: dumpObj(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 _self.trackTrace = function (trace, customProperties) {\r\n try {\r\n var telemetryItem = TelemetryItemCreator.create(trace, Trace.dataType, Trace.envelopeType, _self.diagLog(), customProperties);\r\n _self.core.track(telemetryItem);\r\n }\r\n catch (e) {\r\n _self.diagLog().throwInternal(LoggingSeverity.WARNING, _InternalMessageId.TrackTraceFailed, \"trackTrace failed, trace will not be collected: \" + getExceptionName(e), { exception: dumpObj(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 _self.trackMetric = function (metric, customProperties) {\r\n try {\r\n var telemetryItem = TelemetryItemCreator.create(metric, Metric.dataType, Metric.envelopeType, _self.diagLog(), customProperties);\r\n _self.core.track(telemetryItem);\r\n }\r\n catch (e) {\r\n _self.diagLog().throwInternal(LoggingSeverity.CRITICAL, _InternalMessageId.TrackMetricFailed, \"trackMetric failed, metric will not be collected: \" + getExceptionName(e), { exception: dumpObj(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 _self.trackPageView = function (pageView, customProperties) {\r\n try {\r\n var inPv = pageView || {};\r\n _self._pageViewManager.trackPageView(inPv, __assign(__assign(__assign({}, inPv.properties), inPv.measurements), customProperties));\r\n if (_self.config.autoTrackPageVisitTime) {\r\n _self._pageVisitTimeManager.trackPreviousPageVisit(inPv.name, inPv.uri);\r\n }\r\n }\r\n catch (e) {\r\n _self.diagLog().throwInternal(LoggingSeverity.CRITICAL, _InternalMessageId.TrackPVFailed, \"trackPageView failed, page view will not be collected: \" + getExceptionName(e), { exception: dumpObj(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 _self.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, _self.diagLog(), properties, systemProperties);\r\n _self.core.track(telemetryItem);\r\n // reset ajaxes counter\r\n _trackAjaxAttempts = 0;\r\n };\r\n /**\r\n * @ignore INTERNAL ONLY\r\n * @param pageViewPerformance\r\n * @param properties\r\n */\r\n _self.sendPageViewPerformanceInternal = function (pageViewPerformance, properties, systemProperties) {\r\n var telemetryItem = TelemetryItemCreator.create(pageViewPerformance, PageViewPerformance.dataType, PageViewPerformance.envelopeType, _self.diagLog(), properties, systemProperties);\r\n _self.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 _self.trackPageViewPerformance = function (pageViewPerformance, customProperties) {\r\n try {\r\n _self._pageViewPerformanceManager.populatePageViewPerformanceEvent(pageViewPerformance);\r\n _self.sendPageViewPerformanceInternal(pageViewPerformance, customProperties);\r\n }\r\n catch (e) {\r\n _self.diagLog().throwInternal(LoggingSeverity.CRITICAL, _InternalMessageId.TrackPVFailed, \"trackPageViewPerformance failed, page view will not be collected: \" + getExceptionName(e), { exception: dumpObj(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 _self.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 _pageTracking.start(name);\r\n }\r\n catch (e) {\r\n _self.diagLog().throwInternal(LoggingSeverity.CRITICAL, _InternalMessageId.StartTrackFailed, \"startTrackPage failed, page view may not be collected: \" + getExceptionName(e), { exception: dumpObj(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 _self.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 _pageTracking.stop(name, url, properties, measurement);\r\n if (_self.config.autoTrackPageVisitTime) {\r\n _self._pageVisitTimeManager.trackPreviousPageVisit(name, url);\r\n }\r\n }\r\n catch (e) {\r\n _self.diagLog().throwInternal(LoggingSeverity.CRITICAL, _InternalMessageId.StopTrackFailed, \"stopTrackPage failed, page view will not be collected: \" + getExceptionName(e), { exception: dumpObj(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 _self.sendExceptionInternal = function (exception, customProperties, systemProperties) {\r\n var theError = exception.exception || exception.error || new Error(strNotSpecified);\r\n var exceptionPartB = new Exception(_self.diagLog(), theError, exception.properties || customProperties, exception.measurements, exception.severityLevel, exception.id).toInterface();\r\n var telemetryItem = TelemetryItemCreator.create(exceptionPartB, Exception.dataType, Exception.envelopeType, _self.diagLog(), customProperties, systemProperties);\r\n _self.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 _self.trackException = function (exception, customProperties) {\r\n try {\r\n _self.sendExceptionInternal(exception, customProperties);\r\n }\r\n catch (e) {\r\n _self.diagLog().throwInternal(LoggingSeverity.CRITICAL, _InternalMessageId.TrackExceptionFailed, \"trackException failed, exception will not be collected: \" + getExceptionName(e), { exception: dumpObj(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 _self._onerror = function (exception) {\r\n var error = exception && exception.error;\r\n var evt = exception && exception.evt;\r\n try {\r\n if (!evt) {\r\n var _window = getWindow();\r\n if (_window) {\r\n evt = _window[strEvent];\r\n }\r\n }\r\n var url = (exception && exception.url) || (getDocument() || {}).URL;\r\n // If no error source is provided assume the default window.onerror handler\r\n var errorSrc = exception.errorSrc || \"window.onerror@\" + url + \":\" + (exception.lineNumber || 0) + \":\" + (exception.columnNumber || 0);\r\n var properties = {\r\n errorSrc: errorSrc,\r\n url: url,\r\n lineNumber: exception.lineNumber || 0,\r\n columnNumber: exception.columnNumber || 0,\r\n message: exception.message\r\n };\r\n if (isCrossOriginError(exception.message, exception.url, exception.lineNumber, exception.columnNumber, exception.error)) {\r\n _sendCORSException(Exception.CreateAutoException(\"Script error: The browser's same-origin policy prevents us from getting the details of this exception. Consider using the 'crossorigin' attribute.\", url, exception.lineNumber || 0, exception.columnNumber || 0, error, evt, null, errorSrc), properties);\r\n }\r\n else {\r\n if (!exception.errorSrc) {\r\n exception.errorSrc = errorSrc;\r\n }\r\n _self.trackException({ exception: exception, severityLevel: SeverityLevel.Error }, properties);\r\n }\r\n }\r\n catch (e) {\r\n var errorString = error ? (error.name + \", \" + error.message) : \"null\";\r\n _self.diagLog().throwInternal(LoggingSeverity.CRITICAL, _InternalMessageId.ExceptionWhileLoggingError, \"_onError threw exception while logging error, error will not be collected: \"\r\n + getExceptionName(e), { exception: dumpObj(e), errorString: errorString });\r\n }\r\n };\r\n _self.addTelemetryInitializer = function (telemetryInitializer) {\r\n _self._telemetryInitializers.push(telemetryInitializer);\r\n };\r\n _self.initialize = function (config, core, extensions, pluginChain) {\r\n if (_self.isInitialized()) {\r\n return;\r\n }\r\n if (isNullOrUndefined(core)) {\r\n throw Error(\"Error initializing\");\r\n }\r\n _base.initialize(config, core, extensions, pluginChain);\r\n _self.setInitialized(false); // resetting the initialized state, just in case the following fails\r\n var ctx = _self._getTelCtx();\r\n var identifier = _self.identifier;\r\n _self.config = ctx.getExtCfg(identifier);\r\n // load default values if specified\r\n var defaults = ApplicationInsights.getDefaultConfig(config);\r\n if (defaults !== undefined) {\r\n objForEachKey(defaults, function (field, value) {\r\n // for each unspecified field, set the default value\r\n _self.config[field] = ctx.getConfig(identifier, field, value);\r\n if (_self.config[field] === undefined) {\r\n _self.config[field] = value;\r\n }\r\n });\r\n }\r\n // Todo: move this out of static state\r\n if (_self.config.isStorageUseDisabled) {\r\n utlDisableStorage();\r\n }\r\n var configGetters = {\r\n instrumentationKey: function () { return config.instrumentationKey; },\r\n accountId: function () { return _self.config.accountId || config.accountId; },\r\n sessionRenewalMs: function () { return _self.config.sessionRenewalMs || config.sessionRenewalMs; },\r\n sessionExpirationMs: function () { return _self.config.sessionExpirationMs || config.sessionExpirationMs; },\r\n sampleRate: function () { return _self.config.samplingPercentage || config.samplingPercentage; },\r\n sdkExtension: function () { return _self.config.sdkExtension || config.sdkExtension; },\r\n isBrowserLinkTrackingEnabled: function () { return _self.config.isBrowserLinkTrackingEnabled || config.isBrowserLinkTrackingEnabled; },\r\n appId: function () { return _self.config.appId || config.appId; }\r\n };\r\n _self._pageViewPerformanceManager = new PageViewPerformanceManager(_self.core);\r\n _self._pageViewManager = new PageViewManager(_this, _self.config.overridePageViewDuration, _self.core, _self._pageViewPerformanceManager);\r\n _self._pageVisitTimeManager = new PageVisitTimeManager(_self.diagLog(), function (pageName, pageUrl, pageVisitTime) { return trackPageVisitTime(pageName, pageUrl, pageVisitTime); });\r\n _self._telemetryInitializers = _self._telemetryInitializers || [];\r\n _addDefaultTelemetryInitializers(configGetters);\r\n _eventTracking = new Timing(_self.diagLog(), \"trackEvent\");\r\n _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 _self.trackEvent({ name: name, properties: properties });\r\n };\r\n // initialize page view timing\r\n _pageTracking = new Timing(_self.diagLog(), \"trackPageView\");\r\n _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 (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 _self.sendPageViewInternal(pageViewItem, properties);\r\n };\r\n var _window = getWindow();\r\n var _history = getHistory();\r\n var _location = getLocation(true);\r\n var instance = _this;\r\n if (_self.config.disableExceptionTracking === false &&\r\n !_self.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 evt = _window[strEvent];\r\n var handled = originalOnError_1 && originalOnError_1(message, url, lineNumber, columnNumber, error);\r\n if (handled !== true) { // handled could be typeof function\r\n instance._onerror(Exception.CreateAutoException(message, url, lineNumber, columnNumber, error, evt));\r\n }\r\n return handled;\r\n };\r\n _self.config.autoExceptionInstrumented = true;\r\n }\r\n if (_self.config.disableExceptionTracking === false &&\r\n _self.config.enableUnhandledPromiseRejectionTracking === true &&\r\n !_self.config.autoUnhandledPromiseInstrumented && _window) {\r\n // We want to enable exception auto collection and it has not been done so yet\r\n var onunhandledrejection_1 = \"onunhandledrejection\";\r\n var originalOnUnhandledRejection_1 = _window[onunhandledrejection_1];\r\n _window[onunhandledrejection_1] = function (error) {\r\n var evt = _window[strEvent];\r\n var handled = originalOnUnhandledRejection_1 && originalOnUnhandledRejection_1.call(_window, error);\r\n if (handled !== true) { // handled could be typeof function\r\n instance._onerror(Exception.CreateAutoException(_getReason(error), _location ? _location.href : \"\", 0, 0, error, evt));\r\n }\r\n return handled;\r\n };\r\n _self.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 (_self.config.enableAutoRouteTracking === true\r\n && _history && isFunction(_history.pushState) && 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 arrForEach(extensions, function (extension) {\r\n if (extension.identifier === PropertiesPluginIdentifier) {\r\n _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, createDomEvent(_self_1.config.namePrefix + \"pushState\"));\r\n _dispatchEvent(_window, 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, createDomEvent(_self_1.config.namePrefix + \"replaceState\"));\r\n _dispatchEvent(_window, 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, createDomEvent(_self_1.config.namePrefix + \"locationchange\"));\r\n });\r\n _window.addEventListener(_self_1.config.namePrefix + \"locationchange\", function () {\r\n if (_properties && _properties.context && _properties.context.telemetryTrace) {\r\n _properties.context.telemetryTrace.traceID = generateW3CId();\r\n var traceLocationName = \"_unknown_\";\r\n if (_location && _location.pathname) {\r\n traceLocationName = _location.pathname + (_location.hash || \"\");\r\n }\r\n // This populates the ai.operation.name which has a maximum size of 1024 so we need to sanitize it\r\n _properties.context.telemetryTrace.name = dataSanitizeString(_self_1.diagLog(), traceLocationName);\r\n }\r\n if (_currUri) {\r\n _prevUri = _currUri;\r\n _currUri = _location && _location.href || \"\";\r\n }\r\n else {\r\n _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, _prevUri), _self_1.autoRoutePVDelay);\r\n });\r\n }\r\n }\r\n _self.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 function trackPageVisitTime(pageName, pageUrl, pageVisitTime) {\r\n var properties = { PageName: pageName, PageUrl: pageUrl };\r\n _self.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 function _addDefaultTelemetryInitializers(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 _addTelemetryInitializer(dropBrowserLinkRequests);\r\n }\r\n }\r\n function _addTelemetryInitializer(telemetryInitializer) {\r\n _self._telemetryInitializers.push(telemetryInitializer);\r\n }\r\n function _sendCORSException(exception, properties) {\r\n var telemetryItem = TelemetryItemCreator.create(exception, Exception.dataType, Exception.envelopeType, _self.diagLog(), properties);\r\n _self.core.track(telemetryItem);\r\n }\r\n });\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 = stringToBoolOrDefault(config.disableExceptionTracking);\r\n config.autoTrackPageVisitTime = stringToBoolOrDefault(config.autoTrackPageVisitTime);\r\n config.overridePageViewDuration = stringToBoolOrDefault(config.overridePageViewDuration);\r\n config.enableUnhandledPromiseRejectionTracking = 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.isStorageUseDisabled = stringToBoolOrDefault(config.isStorageUseDisabled);\r\n config.isBrowserLinkTrackingEnabled = stringToBoolOrDefault(config.isBrowserLinkTrackingEnabled);\r\n config.enableAutoRouteTracking = stringToBoolOrDefault(config.enableAutoRouteTracking);\r\n config.namePrefix = config.namePrefix || \"\";\r\n config.enableDebug = stringToBoolOrDefault(config.enableDebug);\r\n config.disableFlushOnBeforeUnload = stringToBoolOrDefault(config.disableFlushOnBeforeUnload);\r\n config.disableFlushOnUnload = stringToBoolOrDefault(config.disableFlushOnUnload, config.disableFlushOnBeforeUnload);\r\n return config;\r\n };\r\n// Removed Stub for ApplicationInsights.prototype.getCookieMgr.\r\n// Removed Stub for ApplicationInsights.prototype.processTelemetry.\r\n// Removed Stub for ApplicationInsights.prototype.trackEvent.\r\n// Removed Stub for ApplicationInsights.prototype.startTrackEvent.\r\n// Removed Stub for ApplicationInsights.prototype.stopTrackEvent.\r\n// Removed Stub for ApplicationInsights.prototype.trackTrace.\r\n// Removed Stub for ApplicationInsights.prototype.trackMetric.\r\n// Removed Stub for ApplicationInsights.prototype.trackPageView.\r\n// Removed Stub for ApplicationInsights.prototype.sendPageViewInternal.\r\n// Removed Stub for ApplicationInsights.prototype.sendPageViewPerformanceInternal.\r\n// Removed Stub for ApplicationInsights.prototype.trackPageViewPerformance.\r\n// Removed Stub for ApplicationInsights.prototype.startTrackPage.\r\n// Removed Stub for ApplicationInsights.prototype.stopTrackPage.\r\n// Removed Stub for ApplicationInsights.prototype.sendExceptionInternal.\r\n// Removed Stub for ApplicationInsights.prototype.trackException.\r\n// Removed Stub for ApplicationInsights.prototype._onerror.\r\n// Removed Stub for ApplicationInsights.prototype.addTelemetryInitializer.\r\n// Removed Stub for ApplicationInsights.prototype.initialize.\r\n ApplicationInsights.Version = \"2.7.2\"; // 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 var _self = this;\r\n var _events = {};\r\n _self.start = function (name) {\r\n if (typeof _events[name] !== \"undefined\") {\r\n logger.throwInternal(LoggingSeverity.WARNING, _InternalMessageId.StartCalledMoreThanOnce, \"start was called more than once for this event without calling stop.\", { name: name, key: name }, true);\r\n }\r\n _events[name] = +new Date;\r\n };\r\n _self.stop = function (name, url, properties, measurements) {\r\n var start = _events[name];\r\n if (isNaN(start)) {\r\n logger.throwInternal(LoggingSeverity.WARNING, _InternalMessageId.StopCalledWithoutStart, \"stop was called without a corresponding start.\", { name: name, key: name }, true);\r\n }\r\n else {\r\n var end = +new Date;\r\n var duration = dateTimeUtilsDuration(start, end);\r\n _self.action(name, url, duration, properties, measurements);\r\n }\r\n delete _events[name];\r\n _events[name] = undefined;\r\n };\r\n }\r\n return Timing;\r\n}());\r\n//# sourceMappingURL=ApplicationInsights.js.map"],"sourceRoot":""}