@microsoft/applicationinsights-core-js 3.1.1 → 3.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (102) hide show
  1. package/browser/es5/applicationinsights-core-js.cjs.js +990 -972
  2. package/browser/es5/applicationinsights-core-js.cjs.js.map +1 -1
  3. package/browser/es5/applicationinsights-core-js.cjs.min.js +2 -2
  4. package/browser/es5/applicationinsights-core-js.cjs.min.js.map +1 -1
  5. package/browser/es5/applicationinsights-core-js.gbl.js +992 -974
  6. package/browser/es5/applicationinsights-core-js.gbl.js.map +1 -1
  7. package/browser/es5/applicationinsights-core-js.gbl.min.js +2 -2
  8. package/browser/es5/applicationinsights-core-js.gbl.min.js.map +1 -1
  9. package/browser/es5/applicationinsights-core-js.integrity.json +25 -25
  10. package/browser/es5/applicationinsights-core-js.js +992 -974
  11. package/browser/es5/applicationinsights-core-js.js.map +1 -1
  12. package/browser/es5/applicationinsights-core-js.min.js +2 -2
  13. package/browser/es5/applicationinsights-core-js.min.js.map +1 -1
  14. package/dist/es5/applicationinsights-core-js.js +990 -972
  15. package/dist/es5/applicationinsights-core-js.js.map +1 -1
  16. package/dist/es5/applicationinsights-core-js.min.js +2 -2
  17. package/dist/es5/applicationinsights-core-js.min.js.map +1 -1
  18. package/dist-es5/Config/ConfigDefaultHelpers.js +1 -1
  19. package/dist-es5/Config/ConfigDefaults.js +1 -1
  20. package/dist-es5/Config/DynamicConfig.js +2 -1
  21. package/dist-es5/Config/DynamicConfig.js.map +1 -1
  22. package/dist-es5/Config/DynamicProperty.js +1 -1
  23. package/dist-es5/Config/DynamicState.js +1 -1
  24. package/dist-es5/Config/DynamicSupport.js +1 -1
  25. package/dist-es5/Config/IConfigDefaults.js +1 -1
  26. package/dist-es5/Config/IDynamicConfigHandler.js +1 -1
  27. package/dist-es5/Config/IDynamicPropertyHandler.js +1 -1
  28. package/dist-es5/Config/IDynamicWatcher.js +1 -1
  29. package/dist-es5/Config/_IDynamicConfigHandlerState.js +1 -1
  30. package/dist-es5/JavaScriptSDK/AggregationError.js +1 -1
  31. package/dist-es5/JavaScriptSDK/AppInsightsCore.js +59 -44
  32. package/dist-es5/JavaScriptSDK/AppInsightsCore.js.map +1 -1
  33. package/dist-es5/JavaScriptSDK/AsyncUtils.js +1 -1
  34. package/dist-es5/JavaScriptSDK/BaseTelemetryPlugin.js +3 -3
  35. package/dist-es5/JavaScriptSDK/BaseTelemetryPlugin.js.map +1 -1
  36. package/dist-es5/JavaScriptSDK/Constants.js +1 -1
  37. package/dist-es5/JavaScriptSDK/CookieMgr.js +1 -1
  38. package/dist-es5/JavaScriptSDK/CoreUtils.js +1 -1
  39. package/dist-es5/JavaScriptSDK/DataCacheHelper.js +1 -1
  40. package/dist-es5/JavaScriptSDK/DbgExtensionUtils.js +1 -1
  41. package/dist-es5/JavaScriptSDK/DiagnosticLogger.js +1 -1
  42. package/dist-es5/JavaScriptSDK/EnvUtils.js +1 -1
  43. package/dist-es5/JavaScriptSDK/EventHelpers.js +1 -1
  44. package/dist-es5/JavaScriptSDK/HelperFuncs.js +2 -25
  45. package/dist-es5/JavaScriptSDK/HelperFuncs.js.map +1 -1
  46. package/dist-es5/JavaScriptSDK/InstrumentHooks.js +1 -1
  47. package/dist-es5/JavaScriptSDK/InternalConstants.js +1 -1
  48. package/dist-es5/JavaScriptSDK/NotificationManager.js +41 -21
  49. package/dist-es5/JavaScriptSDK/NotificationManager.js.map +1 -1
  50. package/dist-es5/JavaScriptSDK/PerfManager.js +1 -1
  51. package/dist-es5/JavaScriptSDK/ProcessTelemetryContext.js +1 -1
  52. package/dist-es5/JavaScriptSDK/RandomHelper.js +1 -1
  53. package/dist-es5/JavaScriptSDK/ResponseHelpers.js +32 -0
  54. package/dist-es5/JavaScriptSDK/ResponseHelpers.js.map +1 -0
  55. package/dist-es5/JavaScriptSDK/SenderPostManager.js +1 -1
  56. package/dist-es5/JavaScriptSDK/TelemetryHelpers.js +1 -1
  57. package/dist-es5/JavaScriptSDK/TelemetryInitializerPlugin.js +1 -1
  58. package/dist-es5/JavaScriptSDK/UnloadHandlerContainer.js +1 -1
  59. package/dist-es5/JavaScriptSDK/UnloadHookContainer.js +20 -1
  60. package/dist-es5/JavaScriptSDK/UnloadHookContainer.js.map +1 -1
  61. package/dist-es5/JavaScriptSDK/W3cTraceParent.js +1 -1
  62. package/dist-es5/JavaScriptSDK.Enums/EnumHelperFuncs.js +1 -1
  63. package/dist-es5/JavaScriptSDK.Enums/EventsDiscardedReason.js +1 -1
  64. package/dist-es5/JavaScriptSDK.Enums/FeatureOptInEnums.js +1 -1
  65. package/dist-es5/JavaScriptSDK.Enums/LoggingEnums.js +1 -1
  66. package/dist-es5/JavaScriptSDK.Enums/SendRequestReason.js +1 -1
  67. package/dist-es5/JavaScriptSDK.Enums/TelemetryUnloadReason.js +1 -1
  68. package/dist-es5/JavaScriptSDK.Enums/TelemetryUpdateReason.js +1 -1
  69. package/dist-es5/JavaScriptSDK.Interfaces/IAppInsightsCore.js +1 -1
  70. package/dist-es5/JavaScriptSDK.Interfaces/IChannelControls.js +1 -1
  71. package/dist-es5/JavaScriptSDK.Interfaces/IChannelControlsHost.js +1 -1
  72. package/dist-es5/JavaScriptSDK.Interfaces/IConfiguration.js +1 -1
  73. package/dist-es5/JavaScriptSDK.Interfaces/ICookieMgr.js +1 -1
  74. package/dist-es5/JavaScriptSDK.Interfaces/IDbgExtension.js +1 -1
  75. package/dist-es5/JavaScriptSDK.Interfaces/IDiagnosticLogger.js +1 -1
  76. package/dist-es5/JavaScriptSDK.Interfaces/IDistributedTraceContext.js +1 -1
  77. package/dist-es5/JavaScriptSDK.Interfaces/IFeatureOptIn.js +1 -1
  78. package/dist-es5/JavaScriptSDK.Interfaces/IInstrumentHooks.js +1 -1
  79. package/dist-es5/JavaScriptSDK.Interfaces/INotificationListener.js +1 -1
  80. package/dist-es5/JavaScriptSDK.Interfaces/INotificationManager.js +1 -1
  81. package/dist-es5/JavaScriptSDK.Interfaces/IPerfEvent.js +1 -1
  82. package/dist-es5/JavaScriptSDK.Interfaces/IPerfManager.js +1 -1
  83. package/dist-es5/JavaScriptSDK.Interfaces/IProcessTelemetryContext.js +1 -1
  84. package/dist-es5/JavaScriptSDK.Interfaces/ISenderPostManager.js +1 -1
  85. package/dist-es5/JavaScriptSDK.Interfaces/ITelemetryInitializers.js +1 -1
  86. package/dist-es5/JavaScriptSDK.Interfaces/ITelemetryItem.js +1 -1
  87. package/dist-es5/JavaScriptSDK.Interfaces/ITelemetryPlugin.js +1 -1
  88. package/dist-es5/JavaScriptSDK.Interfaces/ITelemetryPluginChain.js +1 -1
  89. package/dist-es5/JavaScriptSDK.Interfaces/ITelemetryUnloadState.js +1 -1
  90. package/dist-es5/JavaScriptSDK.Interfaces/ITelemetryUpdateState.js +1 -1
  91. package/dist-es5/JavaScriptSDK.Interfaces/ITraceParent.js +1 -1
  92. package/dist-es5/JavaScriptSDK.Interfaces/IUnloadHook.js +1 -1
  93. package/dist-es5/JavaScriptSDK.Interfaces/IUnloadableComponent.js +1 -1
  94. package/dist-es5/JavaScriptSDK.Interfaces/IXDomainRequest.js +1 -1
  95. package/dist-es5/JavaScriptSDK.Interfaces/IXHROverride.js +1 -1
  96. package/dist-es5/__DynamicConstants.js +11 -11
  97. package/dist-es5/__DynamicConstants.js.map +1 -1
  98. package/dist-es5/applicationinsights-core-js.js +4 -3
  99. package/dist-es5/applicationinsights-core-js.js.map +1 -1
  100. package/package.json +2 -2
  101. package/types/applicationinsights-core-js.d.ts +10 -1
  102. package/types/applicationinsights-core-js.namespaced.d.ts +14 -5
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Application Insights JavaScript SDK - Core, 3.1.1
2
+ * Application Insights JavaScript SDK - Core, 3.1.2
3
3
  * Copyright (c) Microsoft and contributors. All rights reserved.
4
4
  */
5
5
  (function (global, factory) {
@@ -7,8 +7,8 @@
7
7
  typeof exports === "object" && typeof module !== undef ? factory(exports) :
8
8
  typeof define === "function" && define.amd ? define(["exports"], factory) :
9
9
  (function(global){
10
- var nsKey, key, nm, theExports = {}, modName = "es5_applicationinsights_core_js_3_1_1", msMod="__ms$mod__";
11
- var mods={}, modDetail=mods[modName]={}, ver="3.1.1";
10
+ var nsKey, key, nm, theExports = {}, modName = "es5_applicationinsights_core_js_3_1_2", msMod="__ms$mod__";
11
+ var mods={}, modDetail=mods[modName]={}, ver="3.1.2";
12
12
  var baseNs=global, nsKey="Microsoft", baseNs=baseNs[nsKey]=(baseNs[nsKey]||{});
13
13
  // Versioned namespace "Microsoft.ApplicationInsights3"
14
14
  var exportNs=baseNs, nsKey="ApplicationInsights3", exportNs=exportNs[nsKey]=(exportNs[nsKey]||{});
@@ -35,23 +35,16 @@ var MinChannelPriorty = 100;
35
35
  var UNDEF_VALUE = undefined;
36
36
  var NULL_VALUE = null;
37
37
  var EMPTY = "";
38
- var BOOLEAN = "boolean";
39
38
  var FUNCTION = "function";
40
- var NUMBER = "number";
41
39
  var OBJECT = "object";
42
40
  var PROTOTYPE = "prototype";
43
41
  var __PROTO__ = "__proto__";
44
- var STRING = "string";
45
42
  var UNDEFINED = "undefined";
46
43
  var CONSTRUCTOR = "constructor";
47
44
  var SYMBOL = "Symbol";
48
45
  var POLYFILL_TAG = "_polyfill";
49
- var INDEX_OF = "indexOf";
50
46
  var LENGTH = "length";
51
- var DONE = "done";
52
- var VALUE = "value";
53
47
  var NAME = "name";
54
- var SLICE = "slice";
55
48
  var CALL = "call";
56
49
  var TO_STRING = "toString";
57
50
  var ObjClass$1 = Object;
@@ -61,6 +54,7 @@ var StrProto = StrCls[PROTOTYPE];
61
54
  var MathCls = Math;
62
55
  var ArrCls = Array;
63
56
  var ArrProto = ArrCls[PROTOTYPE];
57
+ var ArrSlice = ArrProto["slice"];
64
58
 
65
59
  function safe(func, argArray) {
66
60
  try {
@@ -73,12 +67,13 @@ function safe(func, argArray) {
73
67
  }
74
68
  }
75
69
 
70
+ /*#__NO_SIDE_EFFECTS__*/
76
71
  function safeGet(cb, defValue) {
77
72
  var result = safe(cb);
78
73
  return result.e ? defValue : result.v;
79
74
  }
80
75
 
81
- var PRIMITIVE_TYPES = [STRING, NUMBER, BOOLEAN, UNDEFINED, "symbol", "bigint"];
76
+ var _primitiveTypes;
82
77
  /*#__NO_SIDE_EFFECTS__*/
83
78
  function _createIs(theType) {
84
79
  return function (value) {
@@ -118,9 +113,10 @@ function isDefined(arg) {
118
113
  }
119
114
  /*#__NO_SIDE_EFFECTS__*/
120
115
  function isPrimitiveType(theType) {
121
- return theType !== OBJECT && PRIMITIVE_TYPES.indexOf(theType) !== -1;
116
+ !_primitiveTypes && (_primitiveTypes = ["string", "number", "boolean", UNDEFINED, "symbol", "bigint"]);
117
+ return theType !== OBJECT && _primitiveTypes.indexOf(theType) !== -1;
122
118
  }
123
- var isString = ( /*#__PURE__*/_createIs(STRING));
119
+ var isString = ( /*#__PURE__*/_createIs("string"));
124
120
  var isFunction = ( /*#__PURE__*/_createIs(FUNCTION));
125
121
  /*#__NO_SIDE_EFFECTS__*/
126
122
  function isObject(value) {
@@ -131,8 +127,8 @@ function isObject(value) {
131
127
  }
132
128
  var isArray = ArrCls.isArray;
133
129
  var isDate = ( /*#__PURE__*/_createObjIs("Date"));
134
- var isNumber = ( /*#__PURE__*/_createIs(NUMBER));
135
- var isBoolean = ( /*#__PURE__*/_createIs(BOOLEAN));
130
+ var isNumber = ( /*#__PURE__*/_createIs("number"));
131
+ var isBoolean = ( /*#__PURE__*/_createIs("boolean"));
136
132
  var isError = ( /*#__PURE__*/_createObjIs("Error"));
137
133
  /*#__NO_SIDE_EFFECTS__*/
138
134
  function isPromiseLike(value) {
@@ -255,6 +251,7 @@ var asString = StrCls;
255
251
 
256
252
  var GLOBAL_CONFIG_KEY = "__tsUtils$gblCfg";
257
253
  var _globalCfg;
254
+ /*#__NO_SIDE_EFFECTS__*/
258
255
  function _getGlobalValue() {
259
256
  var result;
260
257
  if (typeof globalThis !== UNDEFINED) {
@@ -289,7 +286,7 @@ function dumpObj(object, format) {
289
286
  object = { stack: asString(object.stack), message: asString(object.message), name: asString(object.name) };
290
287
  }
291
288
  try {
292
- propertyValueDump = JSON.stringify(object, NULL_VALUE, format ? ((typeof format === NUMBER) ? format : 4) : UNDEF_VALUE);
289
+ propertyValueDump = JSON.stringify(object, NULL_VALUE, format ? ((typeof format === "number") ? format : 4) : UNDEF_VALUE);
293
290
  propertyValueDump = (propertyValueDump && propertyValueDump.replace(/"(\w+)"\s*:\s{0,1}/g, "$1: ")) || asString(object);
294
291
  }
295
292
  catch (e) {
@@ -298,18 +295,15 @@ function dumpObj(object, format) {
298
295
  return objType + ": " + propertyValueDump;
299
296
  }
300
297
 
301
- var _slice;
302
- var _unwrapInstFunction = _unwrapFunctionWithPoly;
303
298
  var _unwrapFunction = _unwrapFunctionWithPoly;
304
299
  /*#__NO_SIDE_EFFECTS__*/
305
300
  function _unwrapFunctionWithPoly(funcName, clsProto, polyFunc) {
306
- _slice = _slice || ArrProto[SLICE];
307
301
  var clsFn = clsProto && clsProto[funcName];
308
302
  return function (thisArg) {
309
303
  var theFunc = (thisArg && thisArg[funcName]) || clsFn;
310
304
  if (theFunc || polyFunc) {
311
305
  var theArgs = arguments;
312
- return (theFunc || polyFunc).apply(thisArg, theFunc ? _slice[CALL](theArgs, 1) : theArgs);
306
+ return (theFunc || polyFunc).apply(thisArg, theFunc ? ArrSlice[CALL](theArgs, 1) : theArgs);
313
307
  }
314
308
  throwTypeError("\"" + asString(funcName) + "\" not defined for " + dumpObj(thisArg));
315
309
  };
@@ -323,7 +317,7 @@ function _unwrapProp(propName) {
323
317
 
324
318
  var mathMax = MathCls.max;
325
319
 
326
- var strSlice = ( /*#__PURE__*/_unwrapFunction(SLICE, StrProto));
320
+ var strSlice = ( /*#__PURE__*/_unwrapFunction("slice", StrProto));
327
321
 
328
322
  var strSubstring = ( /*#__PURE__*/_unwrapFunction("substring", StrProto));
329
323
  var strSubstr = ( /*#__PURE__*/_unwrapFunctionWithPoly("substr", StrProto, polyStrSubstr));
@@ -395,7 +389,7 @@ function polyGetKnownSymbol(name) {
395
389
  var propMap = {
396
390
  e: "enumerable",
397
391
  c: "configurable",
398
- v: VALUE,
392
+ v: "value",
399
393
  w: "writable",
400
394
  g: "get",
401
395
  s: "set"
@@ -441,6 +435,7 @@ var _globalLazyTestHooks;
441
435
  function _initTestHooks() {
442
436
  _globalLazyTestHooks = _getGlobalConfig();
443
437
  }
438
+ /*#__NO_SIDE_EFFECTS__*/
444
439
  function getLazy(cb) {
445
440
  var lazyValue = {};
446
441
  !_globalLazyTestHooks && _initTestHooks();
@@ -478,11 +473,14 @@ function createCachedValue(value) {
478
473
 
479
474
  var WINDOW = "window";
480
475
  var _cachedGlobal;
481
- var _cachedWindow;
482
- var _cachedDocument;
483
- var _cachedNavigator;
484
- var _cachedHistory;
485
- var _isNode;
476
+ function _getGlobalInstFn(getFn, theArgs) {
477
+ var cachedValue;
478
+ return function () {
479
+ !_globalLazyTestHooks && _initTestHooks();
480
+ (!cachedValue || _globalLazyTestHooks.lzy) && (cachedValue = createCachedValue(safe(getFn, theArgs).v));
481
+ return cachedValue.v;
482
+ };
483
+ }
486
484
  /*#__NO_SIDE_EFFECTS__*/
487
485
  function lazySafeGetInst(name) {
488
486
  return getLazy(function () { return safe((getInst), [name]).v || UNDEF_VALUE; });
@@ -499,8 +497,8 @@ function getInst(name, useCached) {
499
497
  if (gbl && gbl[name]) {
500
498
  return gbl[name];
501
499
  }
502
- if (name === WINDOW && _cachedWindow) {
503
- return _cachedWindow.v;
500
+ if (name === WINDOW) {
501
+ return getWindow();
504
502
  }
505
503
  return NULL_VALUE;
506
504
  }
@@ -508,46 +506,25 @@ function getInst(name, useCached) {
508
506
  function hasDocument() {
509
507
  return !!getDocument();
510
508
  }
511
- /*#__NO_SIDE_EFFECTS__*/
512
- function getDocument() {
513
- !_globalLazyTestHooks && _initTestHooks();
514
- (!_cachedDocument || _globalLazyTestHooks.lzy) && (_cachedDocument = createCachedValue(safe((getInst), ["document"]).v));
515
- return _cachedDocument.v;
516
- }
509
+ var getDocument = ( /*#__PURE__*/_getGlobalInstFn(getInst, ["document"]));
517
510
  /*#__NO_SIDE_EFFECTS__*/
518
511
  function hasWindow() {
519
512
  return !!getWindow();
520
513
  }
521
- /*#__NO_SIDE_EFFECTS__*/
522
- function getWindow() {
523
- !_globalLazyTestHooks && _initTestHooks();
524
- (!_cachedWindow || _globalLazyTestHooks.lzy) && (_cachedWindow = createCachedValue(safe((getInst), [WINDOW]).v));
525
- return _cachedWindow.v;
526
- }
514
+ var getWindow = ( /*#__PURE__*/_getGlobalInstFn(getInst, [WINDOW]));
527
515
  /*#__NO_SIDE_EFFECTS__*/
528
516
  function hasNavigator() {
529
517
  return !!getNavigator();
530
518
  }
531
- /*#__NO_SIDE_EFFECTS__*/
532
- function getNavigator() {
533
- !_globalLazyTestHooks && _initTestHooks();
534
- (!_cachedNavigator || _globalLazyTestHooks.lzy) && (_cachedNavigator = createCachedValue(safe((getInst), ["navigator"]).v));
535
- return _cachedNavigator.v;
536
- }
519
+ var getNavigator = ( /*#__PURE__*/_getGlobalInstFn(getInst, ["navigator"]));
537
520
  /*#__NO_SIDE_EFFECTS__*/
538
521
  function hasHistory() {
539
522
  return !!getHistory();
540
523
  }
541
- /*#__NO_SIDE_EFFECTS__*/
542
- function getHistory() {
543
- !_globalLazyTestHooks && _initTestHooks();
544
- (!_cachedHistory || _globalLazyTestHooks.lzy) && (_cachedHistory = createCachedValue(safe((getInst), ["history"]).v));
545
- return _cachedHistory.v;
546
- }
547
- function isNode() {
548
- !_isNode && (_isNode = createCachedValue(!!safe(function () { return (process && (process.versions || {}).node); }).v));
549
- return _isNode.v;
550
- }
524
+ var getHistory = ( /*#__PURE__*/_getGlobalInstFn(getInst, ["history"]));
525
+ var isNode = ( /*#__PURE__*/_getGlobalInstFn(function () {
526
+ return !!safe(function () { return (process && (process.versions || {}).node); }).v;
527
+ }));
551
528
 
552
529
  var _symbol;
553
530
  var _symbolFor;
@@ -609,8 +586,8 @@ function iterForOf(iter, callbackfn, thisArg) {
609
586
  var iterResult = void 0;
610
587
  try {
611
588
  var count = 0;
612
- while (!(iterResult = iter.next())[DONE]) {
613
- if (callbackfn[CALL](thisArg || iter, iterResult[VALUE], count, iter) === -1) {
589
+ while (!(iterResult = iter.next()).done) {
590
+ if (callbackfn[CALL](thisArg || iter, iterResult.value, count, iter) === -1) {
614
591
  break;
615
592
  }
616
593
  count++;
@@ -625,7 +602,7 @@ function iterForOf(iter, callbackfn, thisArg) {
625
602
  }
626
603
  finally {
627
604
  try {
628
- if (iterResult && !iterResult[DONE]) {
605
+ if (iterResult && !iterResult.done) {
629
606
  iter.return && iter.return(iterResult);
630
607
  }
631
608
  }
@@ -639,7 +616,9 @@ function iterForOf(iter, callbackfn, thisArg) {
639
616
  }
640
617
  }
641
618
 
642
- var fnApply = ( /*#__PURE__*/_unwrapInstFunction("apply"));
619
+ function fnApply(fn, thisArg, argArray) {
620
+ return fn.apply(thisArg, argArray);
621
+ }
643
622
 
644
623
  function arrAppend(target, elms) {
645
624
  if (!isUndefined(elms) && target) {
@@ -671,11 +650,13 @@ function arrForEach(theArray, callbackfn, thisArg) {
671
650
  }
672
651
  }
673
652
 
674
- var arrIndexOf = ( /*#__PURE__*/_unwrapFunction(INDEX_OF, ArrProto));
653
+ var arrIndexOf = ( /*#__PURE__*/_unwrapFunction("indexOf", ArrProto));
675
654
 
676
655
  var arrMap = ( /*#__PURE__*/_unwrapFunction("map", ArrProto));
677
656
 
678
- var arrSlice = ( /*#__PURE__*/_unwrapFunction(SLICE, ArrProto));
657
+ function arrSlice(theArray, start, end) {
658
+ return ((theArray && theArray["slice"]) || ArrSlice).apply(theArray, ArrSlice[CALL](arguments, 1));
659
+ }
679
660
 
680
661
  var arrReduce = ( /*#__PURE__*/_unwrapFunction("reduce", ArrProto));
681
662
 
@@ -707,6 +688,7 @@ function objSetPrototypeOf(obj, proto) {
707
688
  return fn(obj, proto);
708
689
  }
709
690
 
691
+ /*#__NO_SIDE_EFFECTS__*/
710
692
  function _createCustomError(name, d, b) {
711
693
  safe(objDefine, [d, NAME, { v: name, c: true, e: false }]);
712
694
  d = objSetPrototypeOf(d, b);
@@ -730,7 +712,7 @@ function createCustomError(name, constructCb, errorBase) {
730
712
  var theArgs = arguments;
731
713
  try {
732
714
  safe(_setName, [theBaseClass, name]);
733
- var _self = fnApply(theBaseClass, _this, ArrProto[SLICE][CALL](theArgs)) || _this;
715
+ var _self = fnApply(theBaseClass, _this, ArrSlice[CALL](theArgs)) || _this;
734
716
  if (_self !== _this) {
735
717
  var orgProto = objGetPrototypeOf(_this);
736
718
  if (orgProto !== objGetPrototypeOf(_self)) {
@@ -805,16 +787,18 @@ function isPlainObject(value) {
805
787
  return result;
806
788
  }
807
789
 
808
- var _defaultDeepCopyHandler = function (details) {
790
+ /*#__NO_SIDE_EFFECTS__*/
791
+ function _defaultDeepCopyHandler(details) {
809
792
  details.value && plainObjDeepCopyHandler(details);
810
793
  return true;
811
- };
794
+ }
812
795
  var defaultDeepCopyHandlers = [
813
796
  arrayDeepCopyHandler,
814
797
  plainObjDeepCopyHandler,
815
798
  functionDeepCopyHandler,
816
799
  dateDeepCopyHandler
817
800
  ];
801
+ /*#__NO_SIDE_EFFECTS__*/
818
802
  function _getSetVisited(visitMap, source, newPath, cb) {
819
803
  var theEntry;
820
804
  arrForEach(visitMap, function (entry) {
@@ -949,7 +933,7 @@ function _doExtend(target, theArgs) {
949
933
  return target;
950
934
  }
951
935
  function deepExtend(target, obj1, obj2, obj3, obj4, obj5, obj6) {
952
- return _doExtend(objDeepCopy(target) || {}, ArrProto[SLICE][CALL](arguments));
936
+ return _doExtend(objDeepCopy(target) || {}, ArrSlice[CALL](arguments));
953
937
  }
954
938
 
955
939
  var getLength = ( /*#__PURE__*/_unwrapProp(LENGTH));
@@ -981,7 +965,7 @@ function polyStrEndsWith(value, searchString, length) {
981
965
  return strSubstring(value, end - searchValue[LENGTH], end) === searchValue;
982
966
  }
983
967
 
984
- var strIndexOf = ( /*#__PURE__*/_unwrapFunction(INDEX_OF, StrProto));
968
+ var strIndexOf = ( /*#__PURE__*/_unwrapFunction("indexOf", StrProto));
985
969
 
986
970
  var strStartsWith = ( /*#__PURE__*/_unwrapFunctionWithPoly("startsWith", StrProto, polyStrStartsWith));
987
971
  /*#__NO_SIDE_EFFECTS__*/
@@ -995,55 +979,51 @@ function polyStrStartsWith(value, searchString, position) {
995
979
  }
996
980
 
997
981
  var REF = "ref";
998
- var UNREF = "un" + REF;
982
+ var UNREF = "unref";
999
983
  var HAS_REF = "hasRef";
1000
984
  var ENABLED = "enabled";
985
+ /*#__NO_SIDE_EFFECTS__*/
1001
986
  function _createTimerHandler(startTimer, refreshFn, cancelFn) {
1002
- var _a;
1003
987
  var ref = true;
1004
988
  var timerId = startTimer ? refreshFn(NULL_VALUE) : NULL_VALUE;
1005
989
  var theTimerHandler;
1006
- var _unref = function () {
990
+ function _unref() {
1007
991
  ref = false;
1008
992
  timerId && timerId[UNREF] && timerId[UNREF]();
1009
993
  return theTimerHandler;
1010
- };
1011
- var _ref = function () {
1012
- ref = true;
1013
- timerId && timerId[REF] && timerId[REF]();
994
+ }
995
+ function _cancel() {
996
+ timerId && cancelFn(timerId);
997
+ timerId = NULL_VALUE;
998
+ }
999
+ function _refresh() {
1000
+ timerId = refreshFn(timerId);
1001
+ if (!ref) {
1002
+ _unref();
1003
+ }
1014
1004
  return theTimerHandler;
1005
+ }
1006
+ function _setEnabled(value) {
1007
+ !value && timerId && _cancel();
1008
+ value && !timerId && _refresh();
1009
+ }
1010
+ theTimerHandler = {
1011
+ cancel: _cancel,
1012
+ refresh: _refresh
1015
1013
  };
1016
- var _hasRef = function () {
1014
+ theTimerHandler[HAS_REF] = function () {
1017
1015
  if (timerId && timerId[HAS_REF]) {
1018
1016
  return timerId[HAS_REF]();
1019
1017
  }
1020
1018
  return ref;
1021
1019
  };
1022
- var _refresh = function () {
1023
- timerId = refreshFn(timerId);
1024
- if (!ref) {
1025
- _unref();
1026
- }
1020
+ theTimerHandler[REF] = function () {
1021
+ ref = true;
1022
+ timerId && timerId[REF] && timerId[REF]();
1027
1023
  return theTimerHandler;
1028
1024
  };
1029
- var _cancel = function () {
1030
- timerId && cancelFn(timerId);
1031
- timerId = NULL_VALUE;
1032
- };
1033
- var _setEnabled = function (value) {
1034
- !value && timerId && _cancel();
1035
- value && !timerId && _refresh();
1036
- };
1037
- theTimerHandler = (_a = {
1038
- cancel: _cancel,
1039
- refresh: _refresh
1040
- },
1041
- _a[HAS_REF] = _hasRef,
1042
- _a[REF] = _ref,
1043
- _a[UNREF] = _unref,
1044
- _a[ENABLED] = false,
1045
- _a);
1046
- objDefineProp(theTimerHandler, ENABLED, {
1025
+ theTimerHandler[UNREF] = _unref;
1026
+ theTimerHandler = objDefineProp(theTimerHandler, ENABLED, {
1047
1027
  get: function () { return !!timerId; },
1048
1028
  set: _setEnabled
1049
1029
  });
@@ -1055,7 +1035,7 @@ function _createTimerHandler(startTimer, refreshFn, cancelFn) {
1055
1035
  };
1056
1036
  }
1057
1037
 
1058
- function _createTimeoutWith(self, startTimer, overrideFn, theArgs) {
1038
+ function _createTimeoutWith(startTimer, overrideFn, theArgs) {
1059
1039
  var isArr = isArray(overrideFn);
1060
1040
  var len = isArr ? overrideFn.length : 0;
1061
1041
  var setFn = (len > 0 ? overrideFn[0] : (!isArr ? overrideFn : UNDEF_VALUE)) || setTimeout;
@@ -1063,7 +1043,7 @@ function _createTimeoutWith(self, startTimer, overrideFn, theArgs) {
1063
1043
  var timerFn = theArgs[0];
1064
1044
  theArgs[0] = function () {
1065
1045
  handler.dn();
1066
- fnApply(timerFn, self, ArrProto[SLICE][CALL](arguments));
1046
+ fnApply(timerFn, UNDEF_VALUE, ArrSlice[CALL](arguments));
1067
1047
  };
1068
1048
  var handler = _createTimerHandler(startTimer, function (timerId) {
1069
1049
  if (timerId) {
@@ -1071,19 +1051,19 @@ function _createTimeoutWith(self, startTimer, overrideFn, theArgs) {
1071
1051
  timerId.refresh();
1072
1052
  return timerId;
1073
1053
  }
1074
- fnApply(clearFn, self, [timerId]);
1054
+ fnApply(clearFn, UNDEF_VALUE, [timerId]);
1075
1055
  }
1076
- return fnApply(setFn, self, theArgs);
1056
+ return fnApply(setFn, UNDEF_VALUE, theArgs);
1077
1057
  }, function (timerId) {
1078
- fnApply(clearFn, self, [timerId]);
1058
+ fnApply(clearFn, UNDEF_VALUE, [timerId]);
1079
1059
  });
1080
1060
  return handler.h;
1081
1061
  }
1082
1062
  function scheduleTimeout(callback, timeout) {
1083
- return _createTimeoutWith(this, true, UNDEF_VALUE, ArrProto[SLICE][CALL](arguments));
1063
+ return _createTimeoutWith(true, UNDEF_VALUE, ArrSlice[CALL](arguments));
1084
1064
  }
1085
1065
  function createTimeout(callback, timeout) {
1086
- return _createTimeoutWith(this, false, UNDEF_VALUE, ArrProto[SLICE][CALL](arguments));
1066
+ return _createTimeoutWith(false, UNDEF_VALUE, ArrSlice[CALL](arguments));
1087
1067
  }
1088
1068
 
1089
1069
  var createEnumStyle = createEnum;
@@ -1121,16 +1101,16 @@ var _DYN_HDLR = "hdlr";
1121
1101
  var _DYN_CANCEL = "cancel";
1122
1102
  var _DYN_INITIALIZE = "initialize";
1123
1103
  var _DYN_IDENTIFIER = "identifier";
1104
+ var _DYN_REMOVE_NOTIFICATION_0 = "removeNotificationListener";
1105
+ var _DYN_ADD_NOTIFICATION_LIS1 = "addNotificationListener";
1124
1106
  var _DYN_IS_INITIALIZED = "isInitialized";
1107
+ var _DYN_GET_NOTIFY_MGR = "getNotifyMgr";
1125
1108
  var _DYN_GET_PLUGIN = "getPlugin";
1126
1109
  var _DYN_POLL_INTERNAL_LOGS = "pollInternalLogs";
1127
1110
  var _DYN_NAME = "name";
1128
1111
  var _DYN_TIME = "time";
1129
1112
  var _DYN_PROCESS_NEXT = "processNext";
1130
- var _DYN_GET_PROCESS_TEL_CONT0 = "getProcessTelContext";
1131
- var _DYN_GET_NOTIFY_MGR = "getNotifyMgr";
1132
- var _DYN_ADD_NOTIFICATION_LIS1 = "addNotificationListener";
1133
- var _DYN_REMOVE_NOTIFICATION_2 = "removeNotificationListener";
1113
+ var _DYN_GET_PROCESS_TEL_CONT2 = "getProcessTelContext";
1134
1114
  var _DYN_ENABLED = "enabled";
1135
1115
  var _DYN_STOP_POLLING_INTERNA3 = "stopPollingInternalLogs";
1136
1116
  var _DYN_UNLOAD = "unload";
@@ -1156,7 +1136,6 @@ var _DYN_LOG_INTERNAL_MESSAGE = "logInternalMessage";
1156
1136
  var _DYN_TYPE = "type";
1157
1137
  var _DYN_HANDLER = "handler";
1158
1138
  var _DYN_STATUS = "status";
1159
- var _DYN_ITEMS_RECEIVED = "itemsReceived";
1160
1139
  var _DYN_GET_RESPONSE_HEADER = "getResponseHeader";
1161
1140
  var _DYN_GET_ALL_RESPONSE_HEA5 = "getAllResponseHeaders";
1162
1141
  var _DYN_IS_CHILD_EVT = "isChildEvt";
@@ -1164,6 +1143,7 @@ var _DYN_DATA = "data";
1164
1143
  var _DYN_GET_CTX = "getCtx";
1165
1144
  var _DYN_SET_CTX = "setCtx";
1166
1145
  var _DYN_COMPLETE = "complete";
1146
+ var _DYN_ITEMS_RECEIVED = "itemsReceived";
1167
1147
  var _DYN_URL_STRING = "urlString";
1168
1148
  var _DYN_SEND_POST = "sendPOST";
1169
1149
  var _DYN_HEADERS = "headers";
@@ -1829,779 +1809,535 @@ var STR_DOMAIN = "domain";
1829
1809
  var STR_PATH = "path";
1830
1810
  var STR_NOT_DYNAMIC_ERROR = "Not dynamic - ";
1831
1811
 
1832
- var listenerFuncs = [STR_EVENTS_SENT, STR_EVENTS_DISCARDED, STR_EVENTS_SEND_REQUEST, STR_PERF_EVENT];
1833
- var _aiNamespace = null;
1834
- var _debugListener;
1835
- function _listenerProxyFunc(name, config) {
1836
- return function () {
1837
- var args = arguments;
1838
- var dbgExt = getDebugExt(config);
1839
- if (dbgExt) {
1840
- var listener = dbgExt.listener;
1841
- if (listener && listener[name]) {
1842
- listener[name][_DYN_APPLY ](listener, args);
1843
- }
1844
- }
1845
- };
1812
+ var strGetPrototypeOf = "getPrototypeOf";
1813
+ var rCamelCase = /-([a-z])/g;
1814
+ var rNormalizeInvalid = /([^\w\d_$])/g;
1815
+ var rLeadingNumeric = /^(\d+[\w\d_$])/;
1816
+ var _getObjProto = Object[strGetPrototypeOf];
1817
+ function isNotUndefined(value) {
1818
+ return !isUndefined(value);
1846
1819
  }
1847
- function _getExtensionNamespace() {
1848
- var target = getInst("Microsoft");
1849
- if (target) {
1850
- _aiNamespace = target["ApplicationInsights"];
1820
+ function isNotNullOrUndefined(value) {
1821
+ return !isNullOrUndefined(value);
1822
+ }
1823
+ function normalizeJsName(name) {
1824
+ var value = name;
1825
+ if (value && isString(value)) {
1826
+ value = value[_DYN_REPLACE ](rCamelCase, function (_all, letter) {
1827
+ return letter.toUpperCase();
1828
+ });
1829
+ value = value[_DYN_REPLACE ](rNormalizeInvalid, "_");
1830
+ value = value[_DYN_REPLACE ](rLeadingNumeric, function (_all, match) {
1831
+ return "_" + match;
1832
+ });
1851
1833
  }
1852
- return _aiNamespace;
1834
+ return value;
1853
1835
  }
1854
- function getDebugExt(config) {
1855
- var ns = _aiNamespace;
1856
- if (!ns && config.disableDbgExt !== true) {
1857
- ns = _aiNamespace || _getExtensionNamespace();
1836
+ function strContains(value, search) {
1837
+ if (value && search) {
1838
+ return strIndexOf(value, search) !== -1;
1858
1839
  }
1859
- return ns ? ns["ChromeDbgExt"] : null;
1840
+ return false;
1860
1841
  }
1861
- function getDebugListener(config) {
1862
- if (!_debugListener) {
1863
- _debugListener = {};
1864
- for (var lp = 0; lp < listenerFuncs[_DYN_LENGTH ]; lp++) {
1865
- _debugListener[listenerFuncs[lp]] = _listenerProxyFunc(listenerFuncs[lp], config);
1866
- }
1842
+ function toISOString(date) {
1843
+ return date && date.toISOString() || "";
1844
+ }
1845
+ function getExceptionName(object) {
1846
+ if (isError(object)) {
1847
+ return object[_DYN_NAME ];
1867
1848
  }
1868
- return _debugListener;
1849
+ return STR_EMPTY$1;
1869
1850
  }
1870
-
1871
- var strDocumentMode = "documentMode";
1872
- var strLocation = "location";
1873
- var strConsole = "console";
1874
- var strJSON = "JSON";
1875
- var strCrypto = "crypto";
1876
- var strMsCrypto = "msCrypto";
1877
- var strReactNative = "ReactNative";
1878
- var strMsie = "msie";
1879
- var strTrident = "trident/";
1880
- var strXMLHttpRequest = "XMLHttpRequest";
1881
- var _isTrident = null;
1882
- var _navUserAgentCheck = null;
1883
- var _enableMocks = false;
1884
- var _useXDomainRequest = null;
1885
- var _beaconsSupported = null;
1886
- function _hasProperty(theClass, property) {
1887
- var supported = false;
1888
- if (theClass) {
1889
- try {
1890
- supported = property in theClass;
1891
- if (!supported) {
1892
- var proto = theClass[strShimPrototype];
1893
- if (proto) {
1894
- supported = property in proto;
1895
- }
1896
- }
1897
- }
1898
- catch (e) {
1899
- }
1900
- if (!supported) {
1901
- try {
1902
- var tmp = new theClass();
1903
- supported = !isUndefined(tmp[property]);
1904
- }
1905
- catch (e) {
1906
- }
1851
+ function setValue(target, field, value, valChk, srcChk) {
1852
+ var theValue = value;
1853
+ if (target) {
1854
+ theValue = target[field];
1855
+ if (theValue !== value && (!srcChk || srcChk(theValue)) && (!valChk || valChk(value))) {
1856
+ theValue = value;
1857
+ target[field] = theValue;
1907
1858
  }
1908
1859
  }
1909
- return supported;
1910
- }
1911
- function setEnableEnvMocks(enabled) {
1912
- _enableMocks = enabled;
1860
+ return theValue;
1913
1861
  }
1914
- function getLocation(checkForMock) {
1915
- if (checkForMock && _enableMocks) {
1916
- var mockLocation = getInst("__mockLocation");
1917
- if (mockLocation) {
1918
- return mockLocation;
1862
+ function getSetValue(target, field, defValue) {
1863
+ var theValue;
1864
+ if (target) {
1865
+ theValue = target[field];
1866
+ if (!theValue && isNullOrUndefined(theValue)) {
1867
+ theValue = !isUndefined(defValue) ? defValue : {};
1868
+ target[field] = theValue;
1919
1869
  }
1920
1870
  }
1921
- if (typeof location === strShimObject && location) {
1922
- return location;
1871
+ else {
1872
+ theValue = !isUndefined(defValue) ? defValue : {};
1923
1873
  }
1924
- return getInst(strLocation);
1874
+ return theValue;
1925
1875
  }
1926
- function getConsole() {
1927
- if (typeof console !== strShimUndefined) {
1928
- return console;
1876
+ function _createProxyFunction(source, funcName) {
1877
+ var srcFunc = null;
1878
+ var src = null;
1879
+ if (isFunction(source)) {
1880
+ srcFunc = source;
1929
1881
  }
1930
- return getInst(strConsole);
1882
+ else {
1883
+ src = source;
1884
+ }
1885
+ return function () {
1886
+ var originalArguments = arguments;
1887
+ if (srcFunc) {
1888
+ src = srcFunc();
1889
+ }
1890
+ if (src) {
1891
+ return src[funcName][_DYN_APPLY ](src, originalArguments);
1892
+ }
1893
+ };
1931
1894
  }
1932
- function hasJSON() {
1933
- return Boolean((typeof JSON === strShimObject && JSON) || getInst(strJSON) !== null);
1895
+ function proxyAssign(target, source, chkSet) {
1896
+ if (target && source && isObject(target) && isObject(source)) {
1897
+ var _loop_1 = function (field) {
1898
+ if (isString(field)) {
1899
+ var value = source[field];
1900
+ if (isFunction(value)) {
1901
+ if (!chkSet || chkSet(field, true, source, target)) {
1902
+ target[field] = _createProxyFunction(source, field);
1903
+ }
1904
+ }
1905
+ else if (!chkSet || chkSet(field, false, source, target)) {
1906
+ if (objHasOwn(target, field)) {
1907
+ delete target[field];
1908
+ }
1909
+ objDefine(target, field, {
1910
+ g: function () {
1911
+ return source[field];
1912
+ },
1913
+ s: function (theValue) {
1914
+ source[field] = theValue;
1915
+ }
1916
+ });
1917
+ }
1918
+ }
1919
+ };
1920
+ for (var field in source) {
1921
+ _loop_1(field);
1922
+ }
1923
+ }
1924
+ return target;
1934
1925
  }
1935
- function getJSON() {
1936
- if (hasJSON()) {
1937
- return JSON || getInst(strJSON);
1926
+ function proxyFunctionAs(target, name, source, theFunc, overwriteTarget) {
1927
+ if (target && name && source) {
1928
+ if (overwriteTarget !== false || isUndefined(target[name])) {
1929
+ target[name] = _createProxyFunction(source, theFunc);
1930
+ }
1938
1931
  }
1939
- return null;
1940
1932
  }
1941
- function getCrypto() {
1942
- return getInst(strCrypto);
1943
- }
1944
- function getMsCrypto() {
1945
- return getInst(strMsCrypto);
1946
- }
1947
- function isReactNative() {
1948
- var nav = getNavigator();
1949
- if (nav && nav.product) {
1950
- return nav.product === strReactNative;
1951
- }
1952
- return false;
1953
- }
1954
- function isIE() {
1955
- var nav = getNavigator();
1956
- if (nav && (nav[_DYN_USER_AGENT ] !== _navUserAgentCheck || _isTrident === null)) {
1957
- _navUserAgentCheck = nav[_DYN_USER_AGENT ];
1958
- var userAgent = (_navUserAgentCheck || STR_EMPTY$1)[_DYN_TO_LOWER_CASE ]();
1959
- _isTrident = (strContains(userAgent, strMsie) || strContains(userAgent, strTrident));
1933
+ function proxyFunctions(target, source, functionsToProxy, overwriteTarget) {
1934
+ if (target && source && isObject(target) && isArray(functionsToProxy)) {
1935
+ arrForEach(functionsToProxy, function (theFuncName) {
1936
+ if (isString(theFuncName)) {
1937
+ proxyFunctionAs(target, theFuncName, source, theFuncName, overwriteTarget);
1938
+ }
1939
+ });
1960
1940
  }
1961
- return _isTrident;
1941
+ return target;
1962
1942
  }
1963
- function getIEVersion(userAgentStr) {
1964
- if (userAgentStr === void 0) { userAgentStr = null; }
1965
- if (!userAgentStr) {
1966
- var navigator_1 = getNavigator() || {};
1967
- userAgentStr = navigator_1 ? (navigator_1.userAgent || STR_EMPTY$1)[_DYN_TO_LOWER_CASE ]() : STR_EMPTY$1;
1968
- }
1969
- var ua = (userAgentStr || STR_EMPTY$1)[_DYN_TO_LOWER_CASE ]();
1970
- if (strContains(ua, strMsie)) {
1971
- var doc = getDocument() || {};
1972
- return Math.max(parseInt(ua[_DYN_SPLIT ](strMsie)[1]), (doc[strDocumentMode] || 0));
1973
- }
1974
- else if (strContains(ua, strTrident)) {
1975
- var tridentVer = parseInt(ua[_DYN_SPLIT ](strTrident)[1]);
1976
- if (tridentVer) {
1977
- return tridentVer + 4;
1943
+ function createClassFromInterface(defaults) {
1944
+ return /** @class */ (function () {
1945
+ function class_1() {
1946
+ var _this = this;
1947
+ if (defaults) {
1948
+ objForEachKey(defaults, function (field, value) {
1949
+ _this[field] = value;
1950
+ });
1951
+ }
1978
1952
  }
1979
- }
1980
- return null;
1953
+ return class_1;
1954
+ }());
1981
1955
  }
1982
- function isSafari(userAgentStr) {
1983
- if (!userAgentStr || !isString(userAgentStr)) {
1984
- var navigator_2 = getNavigator() || {};
1985
- userAgentStr = navigator_2 ? (navigator_2.userAgent || STR_EMPTY$1)[_DYN_TO_LOWER_CASE ]() : STR_EMPTY$1;
1956
+ function optimizeObject(theObject) {
1957
+ if (theObject && objAssign) {
1958
+ theObject = ObjClass(objAssign({}, theObject));
1986
1959
  }
1987
- var ua = (userAgentStr || STR_EMPTY$1)[_DYN_TO_LOWER_CASE ]();
1988
- return (strIndexOf(ua, "safari") >= 0);
1960
+ return theObject;
1989
1961
  }
1990
- function isBeaconsSupported(useCached) {
1991
- if (_beaconsSupported === null || useCached === false) {
1992
- _beaconsSupported = hasNavigator() && Boolean(getNavigator().sendBeacon);
1962
+ function objExtend(obj1, obj2, obj3, obj4, obj5, obj6) {
1963
+ var theArgs = arguments;
1964
+ var extended = theArgs[0] || {};
1965
+ var argLen = theArgs[_DYN_LENGTH ];
1966
+ var deep = false;
1967
+ var idx = 1;
1968
+ if (argLen > 0 && isBoolean(extended)) {
1969
+ deep = extended;
1970
+ extended = theArgs[idx] || {};
1971
+ idx++;
1993
1972
  }
1994
- return _beaconsSupported;
1995
- }
1996
- function isFetchSupported(withKeepAlive) {
1997
- var isSupported = false;
1998
- try {
1999
- isSupported = !!getInst("fetch");
2000
- var request = getInst("Request");
2001
- if (isSupported && withKeepAlive && request) {
2002
- isSupported = _hasProperty(request, "keepalive");
2003
- }
1973
+ if (!isObject(extended)) {
1974
+ extended = {};
2004
1975
  }
2005
- catch (e) {
1976
+ for (; idx < argLen; idx++) {
1977
+ var arg = theArgs[idx];
1978
+ var isArgArray = isArray(arg);
1979
+ var isArgObj = isObject(arg);
1980
+ for (var prop in arg) {
1981
+ var propOk = (isArgArray && (prop in arg)) || (isArgObj && objHasOwn(arg, prop));
1982
+ if (!propOk) {
1983
+ continue;
1984
+ }
1985
+ var newValue = arg[prop];
1986
+ var isNewArray = void 0;
1987
+ if (deep && newValue && ((isNewArray = isArray(newValue)) || isPlainObject(newValue))) {
1988
+ var clone = extended[prop];
1989
+ if (isNewArray) {
1990
+ if (!isArray(clone)) {
1991
+ clone = [];
1992
+ }
1993
+ }
1994
+ else if (!isPlainObject(clone)) {
1995
+ clone = {};
1996
+ }
1997
+ newValue = objExtend(deep, clone, newValue);
1998
+ }
1999
+ if (newValue !== undefined) {
2000
+ extended[prop] = newValue;
2001
+ }
2002
+ }
2006
2003
  }
2007
- return isSupported;
2004
+ return extended;
2008
2005
  }
2009
- function useXDomainRequest() {
2010
- if (_useXDomainRequest === null) {
2011
- _useXDomainRequest = (typeof XDomainRequest !== strShimUndefined);
2012
- if (_useXDomainRequest && isXhrSupported()) {
2013
- _useXDomainRequest = _useXDomainRequest && !_hasProperty(getInst(strXMLHttpRequest), "withCredentials");
2014
- }
2006
+ function isFeatureEnabled(feature, cfg) {
2007
+ var rlt = false;
2008
+ var ft = cfg && cfg.featureOptIn && cfg.featureOptIn[feature];
2009
+ if (feature && ft) {
2010
+ var mode = ft.mode;
2011
+ rlt = (mode == 3 ) || (mode == 1 );
2015
2012
  }
2016
- return _useXDomainRequest;
2013
+ return rlt;
2017
2014
  }
2018
- function isXhrSupported() {
2019
- var isSupported = false;
2015
+ function getResponseText(xhr) {
2020
2016
  try {
2021
- var xmlHttpRequest = getInst(strXMLHttpRequest);
2022
- isSupported = !!xmlHttpRequest;
2017
+ return xhr.responseText;
2023
2018
  }
2024
2019
  catch (e) {
2025
2020
  }
2026
- return isSupported;
2027
- }
2028
- function _getNamedValue(values, name) {
2029
- if (values) {
2030
- for (var i = 0; i < values[_DYN_LENGTH ]; i++) {
2031
- var value = values[i];
2032
- if (value[_DYN_NAME ]) {
2033
- if (value[_DYN_NAME ] === name) {
2034
- return value;
2035
- }
2036
- }
2037
- }
2038
- }
2039
- return {};
2040
- }
2041
- function findMetaTag(name) {
2042
- var doc = getDocument();
2043
- if (doc && name) {
2044
- return _getNamedValue(doc.querySelectorAll("meta"), name).content;
2045
- }
2046
2021
  return null;
2047
2022
  }
2048
- function findNamedServerTiming(name) {
2049
- var value;
2050
- var perf = getPerformance();
2051
- if (perf) {
2052
- var navPerf = perf.getEntriesByType("navigation") || [];
2053
- value = _getNamedValue((navPerf[_DYN_LENGTH ] > 0 ? navPerf[0] : {}).serverTiming, name).description;
2023
+ function formatErrorMessageXdr(xdr, message) {
2024
+ if (xdr) {
2025
+ return "XDomainRequest,Response:" + getResponseText(xdr) || "";
2054
2026
  }
2055
- return value;
2027
+ return message;
2056
2028
  }
2057
- function dispatchEvent(target, evnt) {
2058
- if (target && target.dispatchEvent && evnt) {
2059
- target.dispatchEvent(evnt);
2060
- return true;
2029
+ function formatErrorMessageXhr(xhr, message) {
2030
+ if (xhr) {
2031
+ return "XMLHttpRequest,Status:" + xhr[_DYN_STATUS ] + ",Response:" + getResponseText(xhr) || xhr.response || "";
2061
2032
  }
2062
- return false;
2033
+ return message;
2063
2034
  }
2064
- function createCustomDomEvent(eventName, details) {
2065
- var event = null;
2066
- var detail = { detail: details || null };
2067
- if (isFunction(CustomEvent)) {
2068
- event = new CustomEvent(eventName, detail);
2069
- }
2070
- else {
2071
- var doc = getDocument();
2072
- if (doc && doc.createEvent) {
2073
- event = doc.createEvent("CustomEvent");
2074
- event.initCustomEvent(eventName, true, true, detail);
2035
+ function prependTransports(theTransports, newTransports) {
2036
+ if (newTransports) {
2037
+ if (isNumber(newTransports)) {
2038
+ theTransports = [newTransports].concat(theTransports);
2039
+ }
2040
+ else if (isArray(newTransports)) {
2041
+ theTransports = newTransports.concat(theTransports);
2075
2042
  }
2076
2043
  }
2077
- return event;
2044
+ return theTransports;
2078
2045
  }
2079
- function sendCustomEvent(evtName, cfg, customDetails) {
2080
- var global = getGlobal();
2081
- if (global && global.CustomEvent) {
2046
+ var strDisabledPropertyName = "Microsoft_ApplicationInsights_BypassAjaxInstrumentation";
2047
+ var strWithCredentials = "withCredentials";
2048
+ var strTimeout = "timeout";
2049
+ function openXhr(method, urlString, withCredentials, disabled, isSync, timeout) {
2050
+ if (disabled === void 0) { disabled = false; }
2051
+ if (isSync === void 0) { isSync = false; }
2052
+ function _wrapSetXhrProp(xhr, prop, value) {
2082
2053
  try {
2083
- var details = { cfg: cfg || null, customDetails: customDetails || null };
2084
- return dispatchEvent(global, createCustomDomEvent(evtName, details));
2054
+ xhr[prop] = value;
2085
2055
  }
2086
2056
  catch (e) {
2087
2057
  }
2088
2058
  }
2089
- return false;
2090
- }
2091
-
2092
- var _a$3;
2093
- var STR_WARN_TO_CONSOLE = "warnToConsole";
2094
- var AiNonUserActionablePrefix = "AI (Internal): ";
2095
- var AiUserActionablePrefix = "AI: ";
2096
- var AIInternalMessagePrefix = "AITR_";
2097
- var defaultValues$2 = {
2098
- loggingLevelConsole: 0,
2099
- loggingLevelTelemetry: 1,
2100
- maxMessageLimit: 25,
2101
- enableDebug: false
2102
- };
2103
- var _logFuncs = (_a$3 = {},
2104
- _a$3[0 ] = null,
2105
- _a$3[1 ] = "errorToConsole",
2106
- _a$3[2 ] = STR_WARN_TO_CONSOLE,
2107
- _a$3[3 ] = "debugToConsole",
2108
- _a$3);
2109
- function _sanitizeDiagnosticText(text) {
2110
- if (text) {
2111
- return "\"" + text[_DYN_REPLACE ](/\"/g, STR_EMPTY$1) + "\"";
2059
+ var xhr = new XMLHttpRequest();
2060
+ if (disabled) {
2061
+ _wrapSetXhrProp(xhr, strDisabledPropertyName, disabled);
2112
2062
  }
2113
- return STR_EMPTY$1;
2114
- }
2115
- function _logToConsole(func, message) {
2116
- var theConsole = getConsole();
2117
- if (!!theConsole) {
2118
- var logFunc = "log";
2119
- if (theConsole[func]) {
2120
- logFunc = func;
2121
- }
2122
- if (isFunction(theConsole[logFunc])) {
2123
- theConsole[logFunc](message);
2124
- }
2063
+ if (withCredentials) {
2064
+ _wrapSetXhrProp(xhr, strWithCredentials, withCredentials);
2125
2065
  }
2126
- }
2127
- var _InternalLogMessage = /** @class */ (function () {
2128
- function _InternalLogMessage(msgId, msg, isUserAct, properties) {
2129
- if (isUserAct === void 0) { isUserAct = false; }
2130
- var _self = this;
2131
- _self[_DYN_MESSAGE_ID ] = msgId;
2132
- _self[_DYN_MESSAGE ] =
2133
- (isUserAct ? AiUserActionablePrefix : AiNonUserActionablePrefix) +
2134
- msgId;
2135
- var strProps = STR_EMPTY$1;
2136
- if (hasJSON()) {
2137
- strProps = getJSON().stringify(properties);
2138
- }
2139
- var diagnosticText = (msg ? " message:" + _sanitizeDiagnosticText(msg) : STR_EMPTY$1) +
2140
- (properties ? " props:" + _sanitizeDiagnosticText(strProps) : STR_EMPTY$1);
2141
- _self[_DYN_MESSAGE ] += diagnosticText;
2066
+ xhr.open(method, urlString, !isSync);
2067
+ if (withCredentials) {
2068
+ _wrapSetXhrProp(xhr, strWithCredentials, withCredentials);
2142
2069
  }
2143
- _InternalLogMessage.dataType = "MessageData";
2144
- return _InternalLogMessage;
2145
- }());
2146
- function safeGetLogger(core, config) {
2147
- return (core || {})[_DYN_LOGGER ] || new DiagnosticLogger(config);
2070
+ if (!isSync && timeout) {
2071
+ _wrapSetXhrProp(xhr, strTimeout, timeout);
2072
+ }
2073
+ return xhr;
2148
2074
  }
2149
- var DiagnosticLogger = /** @class */ (function () {
2150
- function DiagnosticLogger(config) {
2151
- this.identifier = "DiagnosticLogger";
2152
- this.queue = [];
2153
- var _messageCount = 0;
2154
- var _messageLogged = {};
2155
- var _loggingLevelConsole;
2156
- var _loggingLevelTelemetry;
2157
- var _maxInternalMessageLimit;
2158
- var _enableDebug;
2159
- var _unloadHandler;
2160
- dynamicProto(DiagnosticLogger, this, function (_self) {
2161
- _unloadHandler = _setDefaultsFromConfig(config || {});
2162
- _self.consoleLoggingLevel = function () { return _loggingLevelConsole; };
2163
- _self[_DYN_THROW_INTERNAL ] = function (severity, msgId, msg, properties, isUserAct) {
2164
- if (isUserAct === void 0) { isUserAct = false; }
2165
- var message = new _InternalLogMessage(msgId, msg, isUserAct, properties);
2166
- if (_enableDebug) {
2167
- throw dumpObj(message);
2168
- }
2169
- else {
2170
- var logFunc = _logFuncs[severity] || STR_WARN_TO_CONSOLE;
2171
- if (!isUndefined(message[_DYN_MESSAGE ])) {
2172
- if (isUserAct) {
2173
- var messageKey = +message[_DYN_MESSAGE_ID ];
2174
- if (!_messageLogged[messageKey] && _loggingLevelConsole >= severity) {
2175
- _self[logFunc](message[_DYN_MESSAGE ]);
2176
- _messageLogged[messageKey] = true;
2177
- }
2178
- }
2179
- else {
2180
- if (_loggingLevelConsole >= severity) {
2181
- _self[logFunc](message[_DYN_MESSAGE ]);
2182
- }
2183
- }
2184
- _logInternalMessage(severity, message);
2185
- }
2186
- else {
2187
- _debugExtMsg("throw" + (severity === 1 ? "Critical" : "Warning"), message);
2188
- }
2189
- }
2190
- };
2191
- _self.debugToConsole = function (message) {
2192
- _logToConsole("debug", message);
2193
- _debugExtMsg("warning", message);
2194
- };
2195
- _self[_DYN_WARN_TO_CONSOLE ] = function (message) {
2196
- _logToConsole("warn", message);
2197
- _debugExtMsg("warning", message);
2198
- };
2199
- _self.errorToConsole = function (message) {
2200
- _logToConsole("error", message);
2201
- _debugExtMsg("error", message);
2202
- };
2203
- _self.resetInternalMessageCount = function () {
2204
- _messageCount = 0;
2205
- _messageLogged = {};
2206
- };
2207
- _self[_DYN_LOG_INTERNAL_MESSAGE ] = _logInternalMessage;
2208
- _self[_DYN_UNLOAD ] = function (isAsync) {
2209
- _unloadHandler && _unloadHandler.rm();
2210
- _unloadHandler = null;
2211
- };
2212
- function _logInternalMessage(severity, message) {
2213
- if (_areInternalMessagesThrottled()) {
2214
- return;
2215
- }
2216
- var logMessage = true;
2217
- var messageKey = AIInternalMessagePrefix + message[_DYN_MESSAGE_ID ];
2218
- if (_messageLogged[messageKey]) {
2219
- logMessage = false;
2075
+ function convertAllHeadersToMap(headersString) {
2076
+ var headers = {};
2077
+ if (isString(headersString)) {
2078
+ var headersArray = strTrim(headersString)[_DYN_SPLIT ](/[\r\n]+/);
2079
+ arrForEach(headersArray, function (headerEntry) {
2080
+ if (headerEntry) {
2081
+ var idx = headerEntry.indexOf(": ");
2082
+ if (idx !== -1) {
2083
+ var header = strTrim(headerEntry.substring(0, idx))[_DYN_TO_LOWER_CASE ]();
2084
+ var value = strTrim(headerEntry.substring(idx + 1));
2085
+ headers[header] = value;
2220
2086
  }
2221
2087
  else {
2222
- _messageLogged[messageKey] = true;
2223
- }
2224
- if (logMessage) {
2225
- if (severity <= _loggingLevelTelemetry) {
2226
- _self.queue[_DYN_PUSH ](message);
2227
- _messageCount++;
2228
- _debugExtMsg((severity === 1 ? "error" : "warn"), message);
2229
- }
2230
- if (_messageCount === _maxInternalMessageLimit) {
2231
- var throttleLimitMessage = "Internal events throttle limit per PageView reached for this app.";
2232
- var throttleMessage = new _InternalLogMessage(23 , throttleLimitMessage, false);
2233
- _self.queue[_DYN_PUSH ](throttleMessage);
2234
- if (severity === 1 ) {
2235
- _self.errorToConsole(throttleLimitMessage);
2236
- }
2237
- else {
2238
- _self[_DYN_WARN_TO_CONSOLE ](throttleLimitMessage);
2239
- }
2240
- }
2241
- }
2242
- }
2243
- function _setDefaultsFromConfig(config) {
2244
- return onConfigChange(createDynamicConfig(config, defaultValues$2, _self).cfg, function (details) {
2245
- var config = details.cfg;
2246
- _loggingLevelConsole = config[_DYN_LOGGING_LEVEL_CONSOL4 ];
2247
- _loggingLevelTelemetry = config.loggingLevelTelemetry;
2248
- _maxInternalMessageLimit = config.maxMessageLimit;
2249
- _enableDebug = config.enableDebug;
2250
- });
2251
- }
2252
- function _areInternalMessagesThrottled() {
2253
- return _messageCount >= _maxInternalMessageLimit;
2254
- }
2255
- function _debugExtMsg(name, data) {
2256
- var dbgExt = getDebugExt(config || {});
2257
- if (dbgExt && dbgExt[_DYN_DIAG_LOG ]) {
2258
- dbgExt[_DYN_DIAG_LOG ](name, data);
2088
+ headers[strTrim(headerEntry)] = 1;
2259
2089
  }
2260
2090
  }
2261
2091
  });
2262
2092
  }
2263
- DiagnosticLogger.__ieDyn=1;
2264
- return DiagnosticLogger;
2265
- }());
2266
- function _getLogger(logger) {
2267
- return (logger || new DiagnosticLogger());
2268
- }
2269
- function _throwInternal(logger, severity, msgId, msg, properties, isUserAct) {
2270
- if (isUserAct === void 0) { isUserAct = false; }
2271
- _getLogger(logger)[_DYN_THROW_INTERNAL ](severity, msgId, msg, properties, isUserAct);
2272
- }
2273
- function _warnToConsole(logger, message) {
2274
- _getLogger(logger)[_DYN_WARN_TO_CONSOLE ](message);
2275
- }
2276
- function _logInternalMessage(logger, severity, message) {
2277
- _getLogger(logger)[_DYN_LOG_INTERNAL_MESSAGE ](severity, message);
2278
- }
2279
-
2280
- var strGetPrototypeOf = "getPrototypeOf";
2281
- var rCamelCase = /-([a-z])/g;
2282
- var rNormalizeInvalid = /([^\w\d_$])/g;
2283
- var rLeadingNumeric = /^(\d+[\w\d_$])/;
2284
- var _getObjProto = Object[strGetPrototypeOf];
2285
- function isNotUndefined(value) {
2286
- return !isUndefined(value);
2287
- }
2288
- function isNotNullOrUndefined(value) {
2289
- return !isNullOrUndefined(value);
2290
- }
2291
- function normalizeJsName(name) {
2292
- var value = name;
2293
- if (value && isString(value)) {
2294
- value = value[_DYN_REPLACE ](rCamelCase, function (_all, letter) {
2295
- return letter.toUpperCase();
2296
- });
2297
- value = value[_DYN_REPLACE ](rNormalizeInvalid, "_");
2298
- value = value[_DYN_REPLACE ](rLeadingNumeric, function (_all, match) {
2299
- return "_" + match;
2300
- });
2301
- }
2302
- return value;
2303
- }
2304
- function strContains(value, search) {
2305
- if (value && search) {
2306
- return strIndexOf(value, search) !== -1;
2307
- }
2308
- return false;
2309
- }
2310
- function toISOString(date) {
2311
- return date && date.toISOString() || "";
2312
- }
2313
- function getExceptionName(object) {
2314
- if (isError(object)) {
2315
- return object[_DYN_NAME ];
2316
- }
2317
- return STR_EMPTY$1;
2093
+ return headers;
2318
2094
  }
2319
- function setValue(target, field, value, valChk, srcChk) {
2320
- var theValue = value;
2321
- if (target) {
2322
- theValue = target[field];
2323
- if (theValue !== value && (!srcChk || srcChk(theValue)) && (!valChk || valChk(value))) {
2324
- theValue = value;
2325
- target[field] = theValue;
2095
+ function _appendHeader(theHeaders, xhr, name) {
2096
+ if (!theHeaders[name] && xhr && xhr[_DYN_GET_RESPONSE_HEADER ]) {
2097
+ var value = xhr[_DYN_GET_RESPONSE_HEADER ](name);
2098
+ if (value) {
2099
+ theHeaders[name] = strTrim(value);
2326
2100
  }
2327
2101
  }
2328
- return theValue;
2102
+ return theHeaders;
2329
2103
  }
2330
- function getSetValue(target, field, defValue) {
2331
- var theValue;
2332
- if (target) {
2333
- theValue = target[field];
2334
- if (!theValue && isNullOrUndefined(theValue)) {
2335
- theValue = !isUndefined(defValue) ? defValue : {};
2336
- target[field] = theValue;
2104
+ var STR_KILL_DURATION_HEADER = "kill-duration";
2105
+ var STR_KILL_DURATION_SECONDS_HEADER = "kill-duration-seconds";
2106
+ var STR_TIME_DELTA_HEADER = "time-delta-millis";
2107
+ function _getAllResponseHeaders(xhr, isOneDs) {
2108
+ var theHeaders = {};
2109
+ if (!xhr[_DYN_GET_ALL_RESPONSE_HEA5 ]) {
2110
+ if (!!isOneDs) {
2111
+ theHeaders = _appendHeader(theHeaders, xhr, STR_TIME_DELTA_HEADER);
2112
+ theHeaders = _appendHeader(theHeaders, xhr, STR_KILL_DURATION_HEADER);
2113
+ theHeaders = _appendHeader(theHeaders, xhr, STR_KILL_DURATION_SECONDS_HEADER);
2337
2114
  }
2338
2115
  }
2339
2116
  else {
2340
- theValue = !isUndefined(defValue) ? defValue : {};
2341
- }
2342
- return theValue;
2343
- }
2344
- function _createProxyFunction(source, funcName) {
2345
- var srcFunc = null;
2346
- var src = null;
2347
- if (isFunction(source)) {
2348
- srcFunc = source;
2349
- }
2350
- else {
2351
- src = source;
2117
+ theHeaders = convertAllHeadersToMap(xhr[_DYN_GET_ALL_RESPONSE_HEA5 ]());
2352
2118
  }
2353
- return function () {
2354
- var originalArguments = arguments;
2355
- if (srcFunc) {
2356
- src = srcFunc();
2357
- }
2358
- if (src) {
2359
- return src[funcName][_DYN_APPLY ](src, originalArguments);
2360
- }
2361
- };
2119
+ return theHeaders;
2362
2120
  }
2363
- function proxyAssign(target, source, chkSet) {
2364
- if (target && source && isObject(target) && isObject(source)) {
2365
- var _loop_1 = function (field) {
2366
- if (isString(field)) {
2367
- var value = source[field];
2368
- if (isFunction(value)) {
2369
- if (!chkSet || chkSet(field, true, source, target)) {
2370
- target[field] = _createProxyFunction(source, field);
2371
- }
2372
- }
2373
- else if (!chkSet || chkSet(field, false, source, target)) {
2374
- if (objHasOwn(target, field)) {
2375
- delete target[field];
2376
- }
2377
- objDefine(target, field, {
2378
- g: function () {
2379
- return source[field];
2380
- },
2381
- s: function (theValue) {
2382
- source[field] = theValue;
2383
- }
2384
- });
2121
+
2122
+ var strDocumentMode = "documentMode";
2123
+ var strLocation = "location";
2124
+ var strConsole = "console";
2125
+ var strJSON = "JSON";
2126
+ var strCrypto = "crypto";
2127
+ var strMsCrypto = "msCrypto";
2128
+ var strReactNative = "ReactNative";
2129
+ var strMsie = "msie";
2130
+ var strTrident = "trident/";
2131
+ var strXMLHttpRequest = "XMLHttpRequest";
2132
+ var _isTrident = null;
2133
+ var _navUserAgentCheck = null;
2134
+ var _enableMocks = false;
2135
+ var _useXDomainRequest = null;
2136
+ var _beaconsSupported = null;
2137
+ function _hasProperty(theClass, property) {
2138
+ var supported = false;
2139
+ if (theClass) {
2140
+ try {
2141
+ supported = property in theClass;
2142
+ if (!supported) {
2143
+ var proto = theClass[strShimPrototype];
2144
+ if (proto) {
2145
+ supported = property in proto;
2385
2146
  }
2386
2147
  }
2387
- };
2388
- for (var field in source) {
2389
- _loop_1(field);
2148
+ }
2149
+ catch (e) {
2150
+ }
2151
+ if (!supported) {
2152
+ try {
2153
+ var tmp = new theClass();
2154
+ supported = !isUndefined(tmp[property]);
2155
+ }
2156
+ catch (e) {
2157
+ }
2390
2158
  }
2391
2159
  }
2392
- return target;
2160
+ return supported;
2393
2161
  }
2394
- function proxyFunctionAs(target, name, source, theFunc, overwriteTarget) {
2395
- if (target && name && source) {
2396
- if (overwriteTarget !== false || isUndefined(target[name])) {
2397
- target[name] = _createProxyFunction(source, theFunc);
2162
+ function setEnableEnvMocks(enabled) {
2163
+ _enableMocks = enabled;
2164
+ }
2165
+ function getLocation(checkForMock) {
2166
+ if (checkForMock && _enableMocks) {
2167
+ var mockLocation = getInst("__mockLocation");
2168
+ if (mockLocation) {
2169
+ return mockLocation;
2398
2170
  }
2399
2171
  }
2172
+ if (typeof location === strShimObject && location) {
2173
+ return location;
2174
+ }
2175
+ return getInst(strLocation);
2400
2176
  }
2401
- function proxyFunctions(target, source, functionsToProxy, overwriteTarget) {
2402
- if (target && source && isObject(target) && isArray(functionsToProxy)) {
2403
- arrForEach(functionsToProxy, function (theFuncName) {
2404
- if (isString(theFuncName)) {
2405
- proxyFunctionAs(target, theFuncName, source, theFuncName, overwriteTarget);
2406
- }
2407
- });
2177
+ function getConsole() {
2178
+ if (typeof console !== strShimUndefined) {
2179
+ return console;
2408
2180
  }
2409
- return target;
2181
+ return getInst(strConsole);
2410
2182
  }
2411
- function createClassFromInterface(defaults) {
2412
- return /** @class */ (function () {
2413
- function class_1() {
2414
- var _this = this;
2415
- if (defaults) {
2416
- objForEachKey(defaults, function (field, value) {
2417
- _this[field] = value;
2418
- });
2419
- }
2420
- }
2421
- return class_1;
2422
- }());
2183
+ function hasJSON() {
2184
+ return Boolean((typeof JSON === strShimObject && JSON) || getInst(strJSON) !== null);
2423
2185
  }
2424
- function optimizeObject(theObject) {
2425
- if (theObject && objAssign) {
2426
- theObject = ObjClass(objAssign({}, theObject));
2186
+ function getJSON() {
2187
+ if (hasJSON()) {
2188
+ return JSON || getInst(strJSON);
2427
2189
  }
2428
- return theObject;
2190
+ return null;
2429
2191
  }
2430
- function objExtend(obj1, obj2, obj3, obj4, obj5, obj6) {
2431
- var theArgs = arguments;
2432
- var extended = theArgs[0] || {};
2433
- var argLen = theArgs[_DYN_LENGTH ];
2434
- var deep = false;
2435
- var idx = 1;
2436
- if (argLen > 0 && isBoolean(extended)) {
2437
- deep = extended;
2438
- extended = theArgs[idx] || {};
2439
- idx++;
2440
- }
2441
- if (!isObject(extended)) {
2442
- extended = {};
2443
- }
2444
- for (; idx < argLen; idx++) {
2445
- var arg = theArgs[idx];
2446
- var isArgArray = isArray(arg);
2447
- var isArgObj = isObject(arg);
2448
- for (var prop in arg) {
2449
- var propOk = (isArgArray && (prop in arg)) || (isArgObj && objHasOwn(arg, prop));
2450
- if (!propOk) {
2451
- continue;
2452
- }
2453
- var newValue = arg[prop];
2454
- var isNewArray = void 0;
2455
- if (deep && newValue && ((isNewArray = isArray(newValue)) || isPlainObject(newValue))) {
2456
- var clone = extended[prop];
2457
- if (isNewArray) {
2458
- if (!isArray(clone)) {
2459
- clone = [];
2460
- }
2461
- }
2462
- else if (!isPlainObject(clone)) {
2463
- clone = {};
2464
- }
2465
- newValue = objExtend(deep, clone, newValue);
2466
- }
2467
- if (newValue !== undefined) {
2468
- extended[prop] = newValue;
2469
- }
2470
- }
2192
+ function getCrypto() {
2193
+ return getInst(strCrypto);
2194
+ }
2195
+ function getMsCrypto() {
2196
+ return getInst(strMsCrypto);
2197
+ }
2198
+ function isReactNative() {
2199
+ var nav = getNavigator();
2200
+ if (nav && nav.product) {
2201
+ return nav.product === strReactNative;
2471
2202
  }
2472
- return extended;
2203
+ return false;
2473
2204
  }
2474
- function isFeatureEnabled(feature, cfg) {
2475
- var rlt = false;
2476
- var ft = cfg && cfg.featureOptIn && cfg.featureOptIn[feature];
2477
- if (feature && ft) {
2478
- var mode = ft.mode;
2479
- rlt = (mode == 3 ) || (mode == 1 );
2205
+ function isIE() {
2206
+ var nav = getNavigator();
2207
+ if (nav && (nav[_DYN_USER_AGENT ] !== _navUserAgentCheck || _isTrident === null)) {
2208
+ _navUserAgentCheck = nav[_DYN_USER_AGENT ];
2209
+ var userAgent = (_navUserAgentCheck || STR_EMPTY$1)[_DYN_TO_LOWER_CASE ]();
2210
+ _isTrident = (strContains(userAgent, strMsie) || strContains(userAgent, strTrident));
2480
2211
  }
2481
- return rlt;
2212
+ return _isTrident;
2482
2213
  }
2483
- function getResponseText(xhr) {
2484
- try {
2485
- return xhr.responseText;
2214
+ function getIEVersion(userAgentStr) {
2215
+ if (userAgentStr === void 0) { userAgentStr = null; }
2216
+ if (!userAgentStr) {
2217
+ var navigator_1 = getNavigator() || {};
2218
+ userAgentStr = navigator_1 ? (navigator_1.userAgent || STR_EMPTY$1)[_DYN_TO_LOWER_CASE ]() : STR_EMPTY$1;
2486
2219
  }
2487
- catch (e) {
2220
+ var ua = (userAgentStr || STR_EMPTY$1)[_DYN_TO_LOWER_CASE ]();
2221
+ if (strContains(ua, strMsie)) {
2222
+ var doc = getDocument() || {};
2223
+ return Math.max(parseInt(ua[_DYN_SPLIT ](strMsie)[1]), (doc[strDocumentMode] || 0));
2224
+ }
2225
+ else if (strContains(ua, strTrident)) {
2226
+ var tridentVer = parseInt(ua[_DYN_SPLIT ](strTrident)[1]);
2227
+ if (tridentVer) {
2228
+ return tridentVer + 4;
2229
+ }
2488
2230
  }
2489
2231
  return null;
2490
2232
  }
2491
- function formatErrorMessageXdr(xdr, message) {
2492
- if (xdr) {
2493
- return "XDomainRequest,Response:" + getResponseText(xdr) || "";
2233
+ function isSafari(userAgentStr) {
2234
+ if (!userAgentStr || !isString(userAgentStr)) {
2235
+ var navigator_2 = getNavigator() || {};
2236
+ userAgentStr = navigator_2 ? (navigator_2.userAgent || STR_EMPTY$1)[_DYN_TO_LOWER_CASE ]() : STR_EMPTY$1;
2494
2237
  }
2495
- return message;
2238
+ var ua = (userAgentStr || STR_EMPTY$1)[_DYN_TO_LOWER_CASE ]();
2239
+ return (strIndexOf(ua, "safari") >= 0);
2496
2240
  }
2497
- function formatErrorMessageXhr(xhr, message) {
2498
- if (xhr) {
2499
- return "XMLHttpRequest,Status:" + xhr[_DYN_STATUS ] + ",Response:" + getResponseText(xhr) || xhr.response || "";
2241
+ function isBeaconsSupported(useCached) {
2242
+ if (_beaconsSupported === null || useCached === false) {
2243
+ _beaconsSupported = hasNavigator() && Boolean(getNavigator().sendBeacon);
2500
2244
  }
2501
- return message;
2245
+ return _beaconsSupported;
2502
2246
  }
2503
- function prependTransports(theTransports, newTransports) {
2504
- if (newTransports) {
2505
- if (isNumber(newTransports)) {
2506
- theTransports = [newTransports].concat(theTransports);
2247
+ function isFetchSupported(withKeepAlive) {
2248
+ var isSupported = false;
2249
+ try {
2250
+ isSupported = !!getInst("fetch");
2251
+ var request = getInst("Request");
2252
+ if (isSupported && withKeepAlive && request) {
2253
+ isSupported = _hasProperty(request, "keepalive");
2507
2254
  }
2508
- else if (isArray(newTransports)) {
2509
- theTransports = newTransports.concat(theTransports);
2255
+ }
2256
+ catch (e) {
2257
+ }
2258
+ return isSupported;
2259
+ }
2260
+ function useXDomainRequest() {
2261
+ if (_useXDomainRequest === null) {
2262
+ _useXDomainRequest = (typeof XDomainRequest !== strShimUndefined);
2263
+ if (_useXDomainRequest && isXhrSupported()) {
2264
+ _useXDomainRequest = _useXDomainRequest && !_hasProperty(getInst(strXMLHttpRequest), "withCredentials");
2510
2265
  }
2511
2266
  }
2512
- return theTransports;
2267
+ return _useXDomainRequest;
2513
2268
  }
2514
- function parseResponse(response, diagLog) {
2269
+ function isXhrSupported() {
2270
+ var isSupported = false;
2515
2271
  try {
2516
- if (response && response !== "") {
2517
- var result = getJSON().parse(response);
2518
- if (result && result[_DYN_ITEMS_RECEIVED ] && result[_DYN_ITEMS_RECEIVED ] >= result.itemsAccepted &&
2519
- result.itemsReceived - result.itemsAccepted === result.errors[_DYN_LENGTH ]) {
2520
- return result;
2521
- }
2522
- }
2272
+ var xmlHttpRequest = getInst(strXMLHttpRequest);
2273
+ isSupported = !!xmlHttpRequest;
2523
2274
  }
2524
2275
  catch (e) {
2525
- _throwInternal(diagLog, 1 , 43 , "Cannot parse the response. " + getExceptionName(e), {
2526
- response: response
2527
- });
2528
2276
  }
2529
- return null;
2277
+ return isSupported;
2530
2278
  }
2531
- var strDisabledPropertyName = "Microsoft_ApplicationInsights_BypassAjaxInstrumentation";
2532
- var strWithCredentials = "withCredentials";
2533
- var strTimeout = "timeout";
2534
- function openXhr(method, urlString, withCredentials, disabled, isSync, timeout) {
2535
- if (disabled === void 0) { disabled = false; }
2536
- if (isSync === void 0) { isSync = false; }
2537
- function _wrapSetXhrProp(xhr, prop, value) {
2538
- try {
2539
- xhr[prop] = value;
2540
- }
2541
- catch (e) {
2279
+ function _getNamedValue(values, name) {
2280
+ if (values) {
2281
+ for (var i = 0; i < values[_DYN_LENGTH ]; i++) {
2282
+ var value = values[i];
2283
+ if (value[_DYN_NAME ]) {
2284
+ if (value[_DYN_NAME ] === name) {
2285
+ return value;
2286
+ }
2287
+ }
2542
2288
  }
2543
2289
  }
2544
- var xhr = new XMLHttpRequest();
2545
- if (disabled) {
2546
- _wrapSetXhrProp(xhr, strDisabledPropertyName, disabled);
2547
- }
2548
- if (withCredentials) {
2549
- _wrapSetXhrProp(xhr, strWithCredentials, withCredentials);
2550
- }
2551
- xhr.open(method, urlString, !isSync);
2552
- if (withCredentials) {
2553
- _wrapSetXhrProp(xhr, strWithCredentials, withCredentials);
2290
+ return {};
2291
+ }
2292
+ function findMetaTag(name) {
2293
+ var doc = getDocument();
2294
+ if (doc && name) {
2295
+ return _getNamedValue(doc.querySelectorAll("meta"), name).content;
2554
2296
  }
2555
- if (!isSync && timeout) {
2556
- _wrapSetXhrProp(xhr, strTimeout, timeout);
2297
+ return null;
2298
+ }
2299
+ function findNamedServerTiming(name) {
2300
+ var value;
2301
+ var perf = getPerformance();
2302
+ if (perf) {
2303
+ var navPerf = perf.getEntriesByType("navigation") || [];
2304
+ value = _getNamedValue((navPerf[_DYN_LENGTH ] > 0 ? navPerf[0] : {}).serverTiming, name).description;
2557
2305
  }
2558
- return xhr;
2306
+ return value;
2559
2307
  }
2560
- function convertAllHeadersToMap(headersString) {
2561
- var headers = {};
2562
- if (isString(headersString)) {
2563
- var headersArray = strTrim(headersString)[_DYN_SPLIT ](/[\r\n]+/);
2564
- arrForEach(headersArray, function (headerEntry) {
2565
- if (headerEntry) {
2566
- var idx = headerEntry.indexOf(": ");
2567
- if (idx !== -1) {
2568
- var header = strTrim(headerEntry.substring(0, idx))[_DYN_TO_LOWER_CASE ]();
2569
- var value = strTrim(headerEntry.substring(idx + 1));
2570
- headers[header] = value;
2571
- }
2572
- else {
2573
- headers[strTrim(headerEntry)] = 1;
2574
- }
2575
- }
2576
- });
2308
+ function dispatchEvent(target, evnt) {
2309
+ if (target && target.dispatchEvent && evnt) {
2310
+ target.dispatchEvent(evnt);
2311
+ return true;
2577
2312
  }
2578
- return headers;
2313
+ return false;
2579
2314
  }
2580
- function _appendHeader(theHeaders, xhr, name) {
2581
- if (!theHeaders[name] && xhr && xhr[_DYN_GET_RESPONSE_HEADER ]) {
2582
- var value = xhr[_DYN_GET_RESPONSE_HEADER ](name);
2583
- if (value) {
2584
- theHeaders[name] = strTrim(value);
2315
+ function createCustomDomEvent(eventName, details) {
2316
+ var event = null;
2317
+ var detail = { detail: details || null };
2318
+ if (isFunction(CustomEvent)) {
2319
+ event = new CustomEvent(eventName, detail);
2320
+ }
2321
+ else {
2322
+ var doc = getDocument();
2323
+ if (doc && doc.createEvent) {
2324
+ event = doc.createEvent("CustomEvent");
2325
+ event.initCustomEvent(eventName, true, true, detail);
2585
2326
  }
2586
2327
  }
2587
- return theHeaders;
2328
+ return event;
2588
2329
  }
2589
- var STR_KILL_DURATION_HEADER = "kill-duration";
2590
- var STR_KILL_DURATION_SECONDS_HEADER = "kill-duration-seconds";
2591
- var STR_TIME_DELTA_HEADER = "time-delta-millis";
2592
- function _getAllResponseHeaders(xhr, isOneDs) {
2593
- var theHeaders = {};
2594
- if (!xhr[_DYN_GET_ALL_RESPONSE_HEA5 ]) {
2595
- if (!!isOneDs) {
2596
- theHeaders = _appendHeader(theHeaders, xhr, STR_TIME_DELTA_HEADER);
2597
- theHeaders = _appendHeader(theHeaders, xhr, STR_KILL_DURATION_HEADER);
2598
- theHeaders = _appendHeader(theHeaders, xhr, STR_KILL_DURATION_SECONDS_HEADER);
2330
+ function sendCustomEvent(evtName, cfg, customDetails) {
2331
+ var global = getGlobal();
2332
+ if (global && global.CustomEvent) {
2333
+ try {
2334
+ var details = { cfg: cfg || null, customDetails: customDetails || null };
2335
+ return dispatchEvent(global, createCustomDomEvent(evtName, details));
2336
+ }
2337
+ catch (e) {
2599
2338
  }
2600
2339
  }
2601
- else {
2602
- theHeaders = convertAllHeadersToMap(xhr[_DYN_GET_ALL_RESPONSE_HEA5 ]());
2603
- }
2604
- return theHeaders;
2340
+ return false;
2605
2341
  }
2606
2342
 
2607
2343
  var UInt32Mask = 0x100000000;
@@ -3257,6 +2993,7 @@ function _createAndUseHandler(state, configHandler) {
3257
2993
  configHandler = null;
3258
2994
  }
3259
2995
  };
2996
+ objDefine(handler, "toJSON", { v: function () { return "WatcherHandler" + (handler.fn ? "" : "[X]"); } });
3260
2997
  state.use(handler, configHandler);
3261
2998
  return handler;
3262
2999
  }
@@ -3291,161 +3028,388 @@ function _createDynamicHandler(logger, target, inPlace) {
3291
3028
  if (!isUndefined(allowUpdate)) {
3292
3029
  theState.upd = allowUpdate;
3293
3030
  }
3294
- configHandler(details);
3031
+ configHandler(details);
3032
+ }
3033
+ finally {
3034
+ theState.upd = prevUpd;
3035
+ }
3036
+ });
3037
+ }
3038
+ function _ref(target, name) {
3039
+ var _a;
3040
+ return _setDynamicPropertyState(theState, target, name, (_a = {}, _a[0 ] = true, _a))[name];
3041
+ }
3042
+ function _rdOnly(target, name) {
3043
+ var _a;
3044
+ return _setDynamicPropertyState(theState, target, name, (_a = {}, _a[1 ] = true, _a))[name];
3045
+ }
3046
+ function _blkPropValue(target, name) {
3047
+ var _a;
3048
+ return _setDynamicPropertyState(theState, target, name, (_a = {}, _a[2 ] = true, _a))[name];
3049
+ }
3050
+ function _applyDefaults(theConfig, defaultValues) {
3051
+ if (defaultValues) {
3052
+ objForEachKey(defaultValues, function (name, value) {
3053
+ _applyDefaultValue(cfgHandler, theConfig, name, value);
3054
+ });
3055
+ }
3056
+ return theConfig;
3057
+ }
3058
+ var cfgHandler = (_a = {
3059
+ uid: null,
3060
+ cfg: newTarget
3061
+ },
3062
+ _a[_DYN_LOGGER ] = logger,
3063
+ _a[_DYN_NOTIFY ] = _notifyWatchers,
3064
+ _a.set = _setValue,
3065
+ _a[_DYN_SET_DF ] = _applyDefaults,
3066
+ _a[_DYN_WATCH ] = _watch,
3067
+ _a.ref = _ref,
3068
+ _a[_DYN_RD_ONLY ] = _rdOnly,
3069
+ _a[_DYN_BLK_VAL ] = _blkPropValue,
3070
+ _a._block = _block,
3071
+ _a);
3072
+ objDefine(cfgHandler, "uid", {
3073
+ c: false,
3074
+ e: false,
3075
+ w: false,
3076
+ v: uid
3077
+ });
3078
+ theState = _createState(cfgHandler);
3079
+ _makeDynamicObject(theState, newTarget, "config", "Creating");
3080
+ return cfgHandler;
3081
+ }
3082
+ function _logInvalidAccess(logger, message) {
3083
+ if (logger) {
3084
+ logger[_DYN_WARN_TO_CONSOLE ](message);
3085
+ logger[_DYN_THROW_INTERNAL ](2 , 108 , message);
3086
+ }
3087
+ else {
3088
+ throwInvalidAccess(message);
3089
+ }
3090
+ }
3091
+ function createDynamicConfig(config, defaultConfig, logger, inPlace) {
3092
+ var dynamicHandler = _createDynamicHandler(logger, config || {}, inPlace);
3093
+ if (defaultConfig) {
3094
+ dynamicHandler[_DYN_SET_DF ](dynamicHandler.cfg, defaultConfig);
3095
+ }
3096
+ return dynamicHandler;
3097
+ }
3098
+ function onConfigChange(config, configHandler, logger) {
3099
+ var handler = config[CFG_HANDLER_LINK] || config;
3100
+ if (handler.cfg && (handler.cfg === config || handler.cfg[CFG_HANDLER_LINK] === handler)) {
3101
+ return handler[_DYN_WATCH ](configHandler);
3102
+ }
3103
+ _logInvalidAccess(logger, STR_NOT_DYNAMIC_ERROR + dumpObj(config));
3104
+ return createDynamicConfig(config, null, logger)[_DYN_WATCH ](configHandler);
3105
+ }
3106
+
3107
+ function runTargetUnload(target, isAsync) {
3108
+ if (target && target[_DYN_UNLOAD ]) {
3109
+ return target[_DYN_UNLOAD ](isAsync);
3110
+ }
3111
+ }
3112
+ function doUnloadAll(targets, isAsync, done) {
3113
+ var result;
3114
+ if (!done) {
3115
+ result = createPromise(function (resolved) {
3116
+ done = resolved;
3117
+ });
3118
+ }
3119
+ if (targets && getLength(targets) > 0) {
3120
+ doAwaitResponse(runTargetUnload(targets[0], isAsync), function () {
3121
+ doUnloadAll(arrSlice(targets, 1), isAsync, done);
3122
+ });
3123
+ }
3124
+ else {
3125
+ done();
3126
+ }
3127
+ return result;
3128
+ }
3129
+
3130
+ var ChannelControllerPriority = 500;
3131
+ var DisabledPropertyName = "Microsoft_ApplicationInsights_BypassAjaxInstrumentation";
3132
+
3133
+ function _stringToBoolOrDefault(theValue, defaultValue, theConfig) {
3134
+ if (!theValue && isNullOrUndefined(theValue)) {
3135
+ return defaultValue;
3136
+ }
3137
+ if (isBoolean(theValue)) {
3138
+ return theValue;
3139
+ }
3140
+ return asString(theValue)[_DYN_TO_LOWER_CASE ]() === "true";
3141
+ }
3142
+ function cfgDfMerge(defaultValue) {
3143
+ return {
3144
+ mrg: true,
3145
+ v: defaultValue
3146
+ };
3147
+ }
3148
+ function cfgDfSet(setter, defaultValue) {
3149
+ return {
3150
+ set: setter,
3151
+ v: defaultValue
3152
+ };
3153
+ }
3154
+ function cfgDfValidate(validator, defaultValue, fallBackName) {
3155
+ return {
3156
+ fb: fallBackName,
3157
+ isVal: validator,
3158
+ v: defaultValue
3159
+ };
3160
+ }
3161
+ function cfgDfBoolean(defaultValue, fallBackName) {
3162
+ return {
3163
+ fb: fallBackName,
3164
+ set: _stringToBoolOrDefault,
3165
+ v: !!defaultValue
3166
+ };
3167
+ }
3168
+ function cfgDfFunc(defaultValue) {
3169
+ return {
3170
+ isVal: isFunction,
3171
+ v: defaultValue || null
3172
+ };
3173
+ }
3174
+ function cfgDfString(defaultValue) {
3175
+ return {
3176
+ isVal: isString,
3177
+ v: asString(defaultValue || STR_EMPTY$1)
3178
+ };
3179
+ }
3180
+ function cfgDfBlockPropValue(defaultValue) {
3181
+ var _a;
3182
+ return _a = {},
3183
+ _a[_DYN_BLK_VAL ] = true,
3184
+ _a.v = defaultValue,
3185
+ _a;
3186
+ }
3187
+
3188
+ var listenerFuncs = [STR_EVENTS_SENT, STR_EVENTS_DISCARDED, STR_EVENTS_SEND_REQUEST, STR_PERF_EVENT];
3189
+ var _aiNamespace = null;
3190
+ var _debugListener;
3191
+ function _listenerProxyFunc(name, config) {
3192
+ return function () {
3193
+ var args = arguments;
3194
+ var dbgExt = getDebugExt(config);
3195
+ if (dbgExt) {
3196
+ var listener = dbgExt.listener;
3197
+ if (listener && listener[name]) {
3198
+ listener[name][_DYN_APPLY ](listener, args);
3199
+ }
3200
+ }
3201
+ };
3202
+ }
3203
+ function _getExtensionNamespace() {
3204
+ var target = getInst("Microsoft");
3205
+ if (target) {
3206
+ _aiNamespace = target["ApplicationInsights"];
3207
+ }
3208
+ return _aiNamespace;
3209
+ }
3210
+ function getDebugExt(config) {
3211
+ var ns = _aiNamespace;
3212
+ if (!ns && config.disableDbgExt !== true) {
3213
+ ns = _aiNamespace || _getExtensionNamespace();
3214
+ }
3215
+ return ns ? ns["ChromeDbgExt"] : null;
3216
+ }
3217
+ function getDebugListener(config) {
3218
+ if (!_debugListener) {
3219
+ _debugListener = {};
3220
+ for (var lp = 0; lp < listenerFuncs[_DYN_LENGTH ]; lp++) {
3221
+ _debugListener[listenerFuncs[lp]] = _listenerProxyFunc(listenerFuncs[lp], config);
3222
+ }
3223
+ }
3224
+ return _debugListener;
3225
+ }
3226
+
3227
+ var _a$3;
3228
+ var STR_WARN_TO_CONSOLE = "warnToConsole";
3229
+ var AiNonUserActionablePrefix = "AI (Internal): ";
3230
+ var AiUserActionablePrefix = "AI: ";
3231
+ var AIInternalMessagePrefix = "AITR_";
3232
+ var defaultValues$2 = {
3233
+ loggingLevelConsole: 0,
3234
+ loggingLevelTelemetry: 1,
3235
+ maxMessageLimit: 25,
3236
+ enableDebug: false
3237
+ };
3238
+ var _logFuncs = (_a$3 = {},
3239
+ _a$3[0 ] = null,
3240
+ _a$3[1 ] = "errorToConsole",
3241
+ _a$3[2 ] = STR_WARN_TO_CONSOLE,
3242
+ _a$3[3 ] = "debugToConsole",
3243
+ _a$3);
3244
+ function _sanitizeDiagnosticText(text) {
3245
+ if (text) {
3246
+ return "\"" + text[_DYN_REPLACE ](/\"/g, STR_EMPTY$1) + "\"";
3247
+ }
3248
+ return STR_EMPTY$1;
3249
+ }
3250
+ function _logToConsole(func, message) {
3251
+ var theConsole = getConsole();
3252
+ if (!!theConsole) {
3253
+ var logFunc = "log";
3254
+ if (theConsole[func]) {
3255
+ logFunc = func;
3256
+ }
3257
+ if (isFunction(theConsole[logFunc])) {
3258
+ theConsole[logFunc](message);
3259
+ }
3260
+ }
3261
+ }
3262
+ var _InternalLogMessage = /** @class */ (function () {
3263
+ function _InternalLogMessage(msgId, msg, isUserAct, properties) {
3264
+ if (isUserAct === void 0) { isUserAct = false; }
3265
+ var _self = this;
3266
+ _self[_DYN_MESSAGE_ID ] = msgId;
3267
+ _self[_DYN_MESSAGE ] =
3268
+ (isUserAct ? AiUserActionablePrefix : AiNonUserActionablePrefix) +
3269
+ msgId;
3270
+ var strProps = STR_EMPTY$1;
3271
+ if (hasJSON()) {
3272
+ strProps = getJSON().stringify(properties);
3273
+ }
3274
+ var diagnosticText = (msg ? " message:" + _sanitizeDiagnosticText(msg) : STR_EMPTY$1) +
3275
+ (properties ? " props:" + _sanitizeDiagnosticText(strProps) : STR_EMPTY$1);
3276
+ _self[_DYN_MESSAGE ] += diagnosticText;
3277
+ }
3278
+ _InternalLogMessage.dataType = "MessageData";
3279
+ return _InternalLogMessage;
3280
+ }());
3281
+ function safeGetLogger(core, config) {
3282
+ return (core || {})[_DYN_LOGGER ] || new DiagnosticLogger(config);
3283
+ }
3284
+ var DiagnosticLogger = /** @class */ (function () {
3285
+ function DiagnosticLogger(config) {
3286
+ this.identifier = "DiagnosticLogger";
3287
+ this.queue = [];
3288
+ var _messageCount = 0;
3289
+ var _messageLogged = {};
3290
+ var _loggingLevelConsole;
3291
+ var _loggingLevelTelemetry;
3292
+ var _maxInternalMessageLimit;
3293
+ var _enableDebug;
3294
+ var _unloadHandler;
3295
+ dynamicProto(DiagnosticLogger, this, function (_self) {
3296
+ _unloadHandler = _setDefaultsFromConfig(config || {});
3297
+ _self.consoleLoggingLevel = function () { return _loggingLevelConsole; };
3298
+ _self[_DYN_THROW_INTERNAL ] = function (severity, msgId, msg, properties, isUserAct) {
3299
+ if (isUserAct === void 0) { isUserAct = false; }
3300
+ var message = new _InternalLogMessage(msgId, msg, isUserAct, properties);
3301
+ if (_enableDebug) {
3302
+ throw dumpObj(message);
3303
+ }
3304
+ else {
3305
+ var logFunc = _logFuncs[severity] || STR_WARN_TO_CONSOLE;
3306
+ if (!isUndefined(message[_DYN_MESSAGE ])) {
3307
+ if (isUserAct) {
3308
+ var messageKey = +message[_DYN_MESSAGE_ID ];
3309
+ if (!_messageLogged[messageKey] && _loggingLevelConsole >= severity) {
3310
+ _self[logFunc](message[_DYN_MESSAGE ]);
3311
+ _messageLogged[messageKey] = true;
3312
+ }
3313
+ }
3314
+ else {
3315
+ if (_loggingLevelConsole >= severity) {
3316
+ _self[logFunc](message[_DYN_MESSAGE ]);
3317
+ }
3318
+ }
3319
+ _logInternalMessage(severity, message);
3320
+ }
3321
+ else {
3322
+ _debugExtMsg("throw" + (severity === 1 ? "Critical" : "Warning"), message);
3323
+ }
3324
+ }
3325
+ };
3326
+ _self.debugToConsole = function (message) {
3327
+ _logToConsole("debug", message);
3328
+ _debugExtMsg("warning", message);
3329
+ };
3330
+ _self[_DYN_WARN_TO_CONSOLE ] = function (message) {
3331
+ _logToConsole("warn", message);
3332
+ _debugExtMsg("warning", message);
3333
+ };
3334
+ _self.errorToConsole = function (message) {
3335
+ _logToConsole("error", message);
3336
+ _debugExtMsg("error", message);
3337
+ };
3338
+ _self.resetInternalMessageCount = function () {
3339
+ _messageCount = 0;
3340
+ _messageLogged = {};
3341
+ };
3342
+ _self[_DYN_LOG_INTERNAL_MESSAGE ] = _logInternalMessage;
3343
+ _self[_DYN_UNLOAD ] = function (isAsync) {
3344
+ _unloadHandler && _unloadHandler.rm();
3345
+ _unloadHandler = null;
3346
+ };
3347
+ function _logInternalMessage(severity, message) {
3348
+ if (_areInternalMessagesThrottled()) {
3349
+ return;
3350
+ }
3351
+ var logMessage = true;
3352
+ var messageKey = AIInternalMessagePrefix + message[_DYN_MESSAGE_ID ];
3353
+ if (_messageLogged[messageKey]) {
3354
+ logMessage = false;
3355
+ }
3356
+ else {
3357
+ _messageLogged[messageKey] = true;
3358
+ }
3359
+ if (logMessage) {
3360
+ if (severity <= _loggingLevelTelemetry) {
3361
+ _self.queue[_DYN_PUSH ](message);
3362
+ _messageCount++;
3363
+ _debugExtMsg((severity === 1 ? "error" : "warn"), message);
3364
+ }
3365
+ if (_messageCount === _maxInternalMessageLimit) {
3366
+ var throttleLimitMessage = "Internal events throttle limit per PageView reached for this app.";
3367
+ var throttleMessage = new _InternalLogMessage(23 , throttleLimitMessage, false);
3368
+ _self.queue[_DYN_PUSH ](throttleMessage);
3369
+ if (severity === 1 ) {
3370
+ _self.errorToConsole(throttleLimitMessage);
3371
+ }
3372
+ else {
3373
+ _self[_DYN_WARN_TO_CONSOLE ](throttleLimitMessage);
3374
+ }
3375
+ }
3376
+ }
3295
3377
  }
3296
- finally {
3297
- theState.upd = prevUpd;
3378
+ function _setDefaultsFromConfig(config) {
3379
+ return onConfigChange(createDynamicConfig(config, defaultValues$2, _self).cfg, function (details) {
3380
+ var config = details.cfg;
3381
+ _loggingLevelConsole = config[_DYN_LOGGING_LEVEL_CONSOL4 ];
3382
+ _loggingLevelTelemetry = config.loggingLevelTelemetry;
3383
+ _maxInternalMessageLimit = config.maxMessageLimit;
3384
+ _enableDebug = config.enableDebug;
3385
+ });
3386
+ }
3387
+ function _areInternalMessagesThrottled() {
3388
+ return _messageCount >= _maxInternalMessageLimit;
3389
+ }
3390
+ function _debugExtMsg(name, data) {
3391
+ var dbgExt = getDebugExt(config || {});
3392
+ if (dbgExt && dbgExt[_DYN_DIAG_LOG ]) {
3393
+ dbgExt[_DYN_DIAG_LOG ](name, data);
3394
+ }
3298
3395
  }
3299
3396
  });
3300
3397
  }
3301
- function _ref(target, name) {
3302
- var _a;
3303
- return _setDynamicPropertyState(theState, target, name, (_a = {}, _a[0 ] = true, _a))[name];
3304
- }
3305
- function _rdOnly(target, name) {
3306
- var _a;
3307
- return _setDynamicPropertyState(theState, target, name, (_a = {}, _a[1 ] = true, _a))[name];
3308
- }
3309
- function _blkPropValue(target, name) {
3310
- var _a;
3311
- return _setDynamicPropertyState(theState, target, name, (_a = {}, _a[2 ] = true, _a))[name];
3312
- }
3313
- function _applyDefaults(theConfig, defaultValues) {
3314
- if (defaultValues) {
3315
- objForEachKey(defaultValues, function (name, value) {
3316
- _applyDefaultValue(cfgHandler, theConfig, name, value);
3317
- });
3318
- }
3319
- return theConfig;
3320
- }
3321
- var cfgHandler = (_a = {
3322
- uid: null,
3323
- cfg: newTarget
3324
- },
3325
- _a[_DYN_LOGGER ] = logger,
3326
- _a[_DYN_NOTIFY ] = _notifyWatchers,
3327
- _a.set = _setValue,
3328
- _a[_DYN_SET_DF ] = _applyDefaults,
3329
- _a[_DYN_WATCH ] = _watch,
3330
- _a.ref = _ref,
3331
- _a[_DYN_RD_ONLY ] = _rdOnly,
3332
- _a[_DYN_BLK_VAL ] = _blkPropValue,
3333
- _a._block = _block,
3334
- _a);
3335
- objDefine(cfgHandler, "uid", {
3336
- c: false,
3337
- e: false,
3338
- w: false,
3339
- v: uid
3340
- });
3341
- theState = _createState(cfgHandler);
3342
- _makeDynamicObject(theState, newTarget, "config", "Creating");
3343
- return cfgHandler;
3344
- }
3345
- function _logInvalidAccess(logger, message) {
3346
- if (logger) {
3347
- logger[_DYN_WARN_TO_CONSOLE ](message);
3348
- logger[_DYN_THROW_INTERNAL ](2 , 108 , message);
3349
- }
3350
- else {
3351
- throwInvalidAccess(message);
3352
- }
3353
- }
3354
- function createDynamicConfig(config, defaultConfig, logger, inPlace) {
3355
- var dynamicHandler = _createDynamicHandler(logger, config || {}, inPlace);
3356
- if (defaultConfig) {
3357
- dynamicHandler[_DYN_SET_DF ](dynamicHandler.cfg, defaultConfig);
3358
- }
3359
- return dynamicHandler;
3360
- }
3361
- function onConfigChange(config, configHandler, logger) {
3362
- var handler = config[CFG_HANDLER_LINK] || config;
3363
- if (handler.cfg && (handler.cfg === config || handler.cfg[CFG_HANDLER_LINK] === handler)) {
3364
- return handler[_DYN_WATCH ](configHandler);
3365
- }
3366
- _logInvalidAccess(logger, STR_NOT_DYNAMIC_ERROR + dumpObj(config));
3367
- return createDynamicConfig(config, null, logger)[_DYN_WATCH ](configHandler);
3368
- }
3369
-
3370
- function runTargetUnload(target, isAsync) {
3371
- if (target && target[_DYN_UNLOAD ]) {
3372
- return target[_DYN_UNLOAD ](isAsync);
3373
- }
3374
- }
3375
- function doUnloadAll(targets, isAsync, done) {
3376
- var result;
3377
- if (!done) {
3378
- result = createPromise(function (resolved) {
3379
- done = resolved;
3380
- });
3381
- }
3382
- if (targets && getLength(targets) > 0) {
3383
- doAwaitResponse(runTargetUnload(targets[0], isAsync), function () {
3384
- doUnloadAll(arrSlice(targets, 1), isAsync, done);
3385
- });
3386
- }
3387
- else {
3388
- done();
3389
- }
3390
- return result;
3391
- }
3392
-
3393
- var ChannelControllerPriority = 500;
3394
- var DisabledPropertyName = "Microsoft_ApplicationInsights_BypassAjaxInstrumentation";
3395
-
3396
- function _stringToBoolOrDefault(theValue, defaultValue, theConfig) {
3397
- if (!theValue && isNullOrUndefined(theValue)) {
3398
- return defaultValue;
3399
- }
3400
- if (isBoolean(theValue)) {
3401
- return theValue;
3402
- }
3403
- return asString(theValue)[_DYN_TO_LOWER_CASE ]() === "true";
3404
- }
3405
- function cfgDfMerge(defaultValue) {
3406
- return {
3407
- mrg: true,
3408
- v: defaultValue
3409
- };
3410
- }
3411
- function cfgDfSet(setter, defaultValue) {
3412
- return {
3413
- set: setter,
3414
- v: defaultValue
3415
- };
3416
- }
3417
- function cfgDfValidate(validator, defaultValue, fallBackName) {
3418
- return {
3419
- fb: fallBackName,
3420
- isVal: validator,
3421
- v: defaultValue
3422
- };
3423
- }
3424
- function cfgDfBoolean(defaultValue, fallBackName) {
3425
- return {
3426
- fb: fallBackName,
3427
- set: _stringToBoolOrDefault,
3428
- v: !!defaultValue
3429
- };
3398
+ DiagnosticLogger.__ieDyn=1;
3399
+ return DiagnosticLogger;
3400
+ }());
3401
+ function _getLogger(logger) {
3402
+ return (logger || new DiagnosticLogger());
3430
3403
  }
3431
- function cfgDfFunc(defaultValue) {
3432
- return {
3433
- isVal: isFunction,
3434
- v: defaultValue || null
3435
- };
3404
+ function _throwInternal(logger, severity, msgId, msg, properties, isUserAct) {
3405
+ if (isUserAct === void 0) { isUserAct = false; }
3406
+ _getLogger(logger)[_DYN_THROW_INTERNAL ](severity, msgId, msg, properties, isUserAct);
3436
3407
  }
3437
- function cfgDfString(defaultValue) {
3438
- return {
3439
- isVal: isString,
3440
- v: asString(defaultValue || STR_EMPTY$1)
3441
- };
3408
+ function _warnToConsole(logger, message) {
3409
+ _getLogger(logger)[_DYN_WARN_TO_CONSOLE ](message);
3442
3410
  }
3443
- function cfgDfBlockPropValue(defaultValue) {
3444
- var _a;
3445
- return _a = {},
3446
- _a[_DYN_BLK_VAL ] = true,
3447
- _a.v = defaultValue,
3448
- _a;
3411
+ function _logInternalMessage(logger, severity, message) {
3412
+ _getLogger(logger)[_DYN_LOG_INTERNAL_MESSAGE ](severity, message);
3449
3413
  }
3450
3414
 
3451
3415
  var _a$2, _b;
@@ -3747,18 +3711,26 @@ function uaDisallowsSameSiteNone(userAgent) {
3747
3711
  var defaultValues$1 = {
3748
3712
  perfEvtsSendAll: false
3749
3713
  };
3750
- function _runListeners(listeners, name, isAsync, callback) {
3714
+ function _runScheduledListeners(asyncNotifications) {
3715
+ asyncNotifications.h = null;
3716
+ var callbacks = asyncNotifications.cb;
3717
+ asyncNotifications.cb = [];
3718
+ arrForEach(callbacks, function (cb) {
3719
+ safe(cb.fn, [cb.arg]);
3720
+ });
3721
+ }
3722
+ function _runListeners(listeners, name, asyncNotifications, callback) {
3751
3723
  arrForEach(listeners, function (listener) {
3752
3724
  if (listener && listener[name]) {
3753
- if (isAsync) {
3754
- scheduleTimeout(function () { return callback(listener); }, 0);
3725
+ if (asyncNotifications) {
3726
+ asyncNotifications.cb[_DYN_PUSH ]({
3727
+ fn: callback,
3728
+ arg: listener
3729
+ });
3730
+ asyncNotifications.h = asyncNotifications.h || scheduleTimeout(_runScheduledListeners, 0, asyncNotifications);
3755
3731
  }
3756
3732
  else {
3757
- try {
3758
- callback(listener);
3759
- }
3760
- catch (e) {
3761
- }
3733
+ safe(callback, [listener]);
3762
3734
  }
3763
3735
  }
3764
3736
  });
@@ -3769,6 +3741,10 @@ var NotificationManager = /** @class */ (function () {
3769
3741
  var perfEvtsSendAll;
3770
3742
  var unloadHandler;
3771
3743
  var _listeners = [];
3744
+ var _asyncNotifications = {
3745
+ h: null,
3746
+ cb: []
3747
+ };
3772
3748
  var cfgHandler = createDynamicConfig(config, defaultValues$1);
3773
3749
  unloadHandler = cfgHandler[_DYN_WATCH ](function (details) {
3774
3750
  perfEvtsSendAll = !!details.cfg.perfEvtsSendAll;
@@ -3780,7 +3756,7 @@ var NotificationManager = /** @class */ (function () {
3780
3756
  _self[_DYN_ADD_NOTIFICATION_LIS1 ] = function (listener) {
3781
3757
  _listeners[_DYN_PUSH ](listener);
3782
3758
  };
3783
- _self[_DYN_REMOVE_NOTIFICATION_2 ] = function (listener) {
3759
+ _self[_DYN_REMOVE_NOTIFICATION_0 ] = function (listener) {
3784
3760
  var index = arrIndexOf(_listeners, listener);
3785
3761
  while (index > -1) {
3786
3762
  _listeners[_DYN_SPLICE ](index, 1);
@@ -3788,24 +3764,24 @@ var NotificationManager = /** @class */ (function () {
3788
3764
  }
3789
3765
  };
3790
3766
  _self[STR_EVENTS_SENT ] = function (events) {
3791
- _runListeners(_listeners, STR_EVENTS_SENT, true, function (listener) {
3767
+ _runListeners(_listeners, STR_EVENTS_SENT, _asyncNotifications, function (listener) {
3792
3768
  listener[STR_EVENTS_SENT ](events);
3793
3769
  });
3794
3770
  };
3795
3771
  _self[STR_EVENTS_DISCARDED ] = function (events, reason) {
3796
- _runListeners(_listeners, STR_EVENTS_DISCARDED, true, function (listener) {
3772
+ _runListeners(_listeners, STR_EVENTS_DISCARDED, _asyncNotifications, function (listener) {
3797
3773
  listener[STR_EVENTS_DISCARDED ](events, reason);
3798
3774
  });
3799
3775
  };
3800
3776
  _self[STR_EVENTS_SEND_REQUEST ] = function (sendReason, isAsync) {
3801
- _runListeners(_listeners, STR_EVENTS_SEND_REQUEST, isAsync, function (listener) {
3777
+ _runListeners(_listeners, STR_EVENTS_SEND_REQUEST, isAsync ? _asyncNotifications : null, function (listener) {
3802
3778
  listener[STR_EVENTS_SEND_REQUEST ](sendReason, isAsync);
3803
3779
  });
3804
3780
  };
3805
3781
  _self[STR_PERF_EVENT ] = function (perfEvent) {
3806
3782
  if (perfEvent) {
3807
3783
  if (perfEvtsSendAll || !perfEvent[_DYN_IS_CHILD_EVT ]()) {
3808
- _runListeners(_listeners, STR_PERF_EVENT, false, function (listener) {
3784
+ _runListeners(_listeners, STR_PERF_EVENT, null, function (listener) {
3809
3785
  if (perfEvent[_DYN_IS_ASYNC ]) {
3810
3786
  scheduleTimeout(function () { return listener[STR_PERF_EVENT ](perfEvent); }, 0);
3811
3787
  }
@@ -3818,14 +3794,14 @@ var NotificationManager = /** @class */ (function () {
3818
3794
  };
3819
3795
  _self[STR_OFFLINE_STORE ] = function (events) {
3820
3796
  if (events && events[_DYN_LENGTH ]) {
3821
- _runListeners(_listeners, STR_OFFLINE_STORE, true, function (listener) {
3797
+ _runListeners(_listeners, STR_OFFLINE_STORE, _asyncNotifications, function (listener) {
3822
3798
  listener[STR_OFFLINE_STORE ](events);
3823
3799
  });
3824
3800
  }
3825
3801
  };
3826
3802
  _self[STR_OFFLINE_SENT ] = function (batch) {
3827
3803
  if (batch && batch[_DYN_DATA ]) {
3828
- _runListeners(_listeners, STR_OFFLINE_SENT, true, function (listener) {
3804
+ _runListeners(_listeners, STR_OFFLINE_SENT, _asyncNotifications, function (listener) {
3829
3805
  listener[STR_OFFLINE_SENT ](batch);
3830
3806
  });
3831
3807
  }
@@ -3833,7 +3809,7 @@ var NotificationManager = /** @class */ (function () {
3833
3809
  _self[STR_OFFLINE_DROP ] = function (cnt, reason) {
3834
3810
  if (cnt > 0) {
3835
3811
  var rn_1 = reason || 0;
3836
- _runListeners(_listeners, STR_OFFLINE_DROP, true, function (listener) {
3812
+ _runListeners(_listeners, STR_OFFLINE_DROP, _asyncNotifications, function (listener) {
3837
3813
  listener[STR_OFFLINE_DROP ](cnt, rn_1);
3838
3814
  });
3839
3815
  }
@@ -3843,9 +3819,12 @@ var NotificationManager = /** @class */ (function () {
3843
3819
  unloadHandler && unloadHandler.rm();
3844
3820
  unloadHandler = null;
3845
3821
  _listeners = [];
3822
+ _asyncNotifications.h && _asyncNotifications.h[_DYN_CANCEL ]();
3823
+ _asyncNotifications.h = null;
3824
+ _asyncNotifications.cb = [];
3846
3825
  };
3847
3826
  var waiting;
3848
- _runListeners(_listeners, "unload", false, function (listener) {
3827
+ _runListeners(_listeners, "unload", null, function (listener) {
3849
3828
  var asyncUnload = listener[_DYN_UNLOAD ](isAsync);
3850
3829
  if (asyncUnload) {
3851
3830
  if (!waiting) {
@@ -4659,6 +4638,12 @@ function createUnloadHandlerContainer() {
4659
4638
  };
4660
4639
  }
4661
4640
 
4641
+ var _maxHooks;
4642
+ var _hookAddMonitor;
4643
+ function _testHookMaxUnloadHooksCb(maxHooks, addMonitor) {
4644
+ _maxHooks = maxHooks;
4645
+ _hookAddMonitor = addMonitor;
4646
+ }
4662
4647
  function createUnloadHookContainer() {
4663
4648
  var _hooks = [];
4664
4649
  function _doUnload(logger) {
@@ -4672,10 +4657,16 @@ function createUnloadHookContainer() {
4672
4657
  _throwInternal(logger, 2 , 73 , "Unloading:" + dumpObj(e));
4673
4658
  }
4674
4659
  });
4660
+ if (_maxHooks && oldHooks[_DYN_LENGTH ] > _maxHooks) {
4661
+ _hookAddMonitor ? _hookAddMonitor("doUnload", oldHooks) : _throwInternal(null, 1 , 48 , "Max unload hooks exceeded. An excessive number of unload hooks has been detected.");
4662
+ }
4675
4663
  }
4676
4664
  function _addHook(hooks) {
4677
4665
  if (hooks) {
4678
4666
  arrAppend(_hooks, hooks);
4667
+ if (_maxHooks && _hooks[_DYN_LENGTH ] > _maxHooks) {
4668
+ _hookAddMonitor ? _hookAddMonitor("Add", _hooks) : _throwInternal(null, 1 , 48 , "Max unload hooks exceeded. An excessive number of unload hooks has been detected.");
4669
+ }
4679
4670
  }
4680
4671
  }
4681
4672
  return {
@@ -4803,7 +4794,7 @@ var BaseTelemetryPlugin = /** @class */ (function () {
4803
4794
  function _setDefaults(config, core, pluginChain) {
4804
4795
  createDynamicConfig(config, defaultValues, safeGetLogger(core));
4805
4796
  if (!pluginChain && core) {
4806
- pluginChain = core[_DYN_GET_PROCESS_TEL_CONT0 ]()[_DYN_GET_NEXT ]();
4797
+ pluginChain = core[_DYN_GET_PROCESS_TEL_CONT2 ]()[_DYN_GET_NEXT ]();
4807
4798
  }
4808
4799
  var nextPlugin = _nextPlugin;
4809
4800
  if (_nextPlugin && _nextPlugin[strGetPlugin]) {
@@ -5007,6 +4998,27 @@ function _registerDelayedCfgListener(config, listeners, logger) {
5007
4998
  };
5008
4999
  });
5009
5000
  }
5001
+ function _initDebugListener(configHandler, unloadContainer, notificationManager, debugListener) {
5002
+ unloadContainer.add(configHandler[_DYN_WATCH ](function (details) {
5003
+ var disableDbgExt = details.cfg.disableDbgExt;
5004
+ if (disableDbgExt === true && debugListener) {
5005
+ notificationManager[_DYN_REMOVE_NOTIFICATION_0 ](debugListener);
5006
+ debugListener = null;
5007
+ }
5008
+ if (notificationManager && !debugListener && disableDbgExt !== true) {
5009
+ debugListener = getDebugListener(details.cfg);
5010
+ notificationManager[_DYN_ADD_NOTIFICATION_LIS1 ](debugListener);
5011
+ }
5012
+ }));
5013
+ return debugListener;
5014
+ }
5015
+ function _createUnloadHook(unloadHook) {
5016
+ return objDefine({
5017
+ rm: function () {
5018
+ unloadHook.rm();
5019
+ }
5020
+ }, "toJSON", { v: function () { return "aicore::onCfgChange<" + JSON.stringify(unloadHook) + ">"; } });
5021
+ }
5010
5022
  var AppInsightsCore = /** @class */ (function () {
5011
5023
  function AppInsightsCore() {
5012
5024
  var _configHandler;
@@ -5063,7 +5075,7 @@ var AppInsightsCore = /** @class */ (function () {
5063
5075
  }
5064
5076
  }));
5065
5077
  _notificationManager = notificationManager;
5066
- _initDebugListener();
5078
+ _debugListener = _initDebugListener(_configHandler, _hookContainer, _notificationManager && _self[_DYN_GET_NOTIFY_MGR ](), _debugListener);
5067
5079
  _initPerfManager();
5068
5080
  _self[_DYN_LOGGER ] = logger;
5069
5081
  var cfgExtensions = config[STR_EXTENSIONS ];
@@ -5116,7 +5128,7 @@ var AppInsightsCore = /** @class */ (function () {
5116
5128
  }
5117
5129
  }, function () { return ({ item: telemetryItem }); }, !(telemetryItem.sync));
5118
5130
  };
5119
- _self[_DYN_GET_PROCESS_TEL_CONT0 ] = _createTelCtx;
5131
+ _self[_DYN_GET_PROCESS_TEL_CONT2 ] = _createTelCtx;
5120
5132
  _self[_DYN_GET_NOTIFY_MGR ] = function () {
5121
5133
  if (!_notificationManager) {
5122
5134
  _notificationManager = new NotificationManager(_configHandler.cfg);
@@ -5125,11 +5137,11 @@ var AppInsightsCore = /** @class */ (function () {
5125
5137
  return _notificationManager;
5126
5138
  };
5127
5139
  _self[_DYN_ADD_NOTIFICATION_LIS1 ] = function (listener) {
5128
- _self[_DYN_GET_NOTIFY_MGR ]()[_DYN_ADD_NOTIFICATION_LIS1 ](listener);
5140
+ _self.getNotifyMgr()[_DYN_ADD_NOTIFICATION_LIS1 ](listener);
5129
5141
  };
5130
- _self[_DYN_REMOVE_NOTIFICATION_2 ] = function (listener) {
5142
+ _self[_DYN_REMOVE_NOTIFICATION_0 ] = function (listener) {
5131
5143
  if (_notificationManager) {
5132
- _notificationManager[_DYN_REMOVE_NOTIFICATION_2 ](listener);
5144
+ _notificationManager[_DYN_REMOVE_NOTIFICATION_0 ](listener);
5133
5145
  }
5134
5146
  };
5135
5147
  _self.getCookieMgr = function () {
@@ -5145,16 +5157,6 @@ var AppInsightsCore = /** @class */ (function () {
5145
5157
  }
5146
5158
  };
5147
5159
  _self[STR_GET_PERF_MGR ] = function () {
5148
- if (!_perfManager && !_cfgPerfManager) {
5149
- _addUnloadHook(_configHandler[_DYN_WATCH ](function (details) {
5150
- if (details.cfg.enablePerfMgr) {
5151
- var createPerfMgr = details.cfg[STR_CREATE_PERF_MGR ];
5152
- if (isFunction(createPerfMgr)) {
5153
- _cfgPerfManager = createPerfMgr(_self, _self[_DYN_GET_NOTIFY_MGR ]());
5154
- }
5155
- }
5156
- }));
5157
- }
5158
5160
  return _perfManager || _cfgPerfManager || getGblPerfMgr();
5159
5161
  };
5160
5162
  _self.setPerfMgr = function (perfMgr) {
@@ -5349,11 +5351,7 @@ var AppInsightsCore = /** @class */ (function () {
5349
5351
  else {
5350
5352
  unloadHook = onConfigChange(_configHandler.cfg, handler, _self[_DYN_LOGGER ]);
5351
5353
  }
5352
- return {
5353
- rm: function () {
5354
- unloadHook.rm();
5355
- }
5356
- };
5354
+ return _createUnloadHook(unloadHook);
5357
5355
  };
5358
5356
  _self.getWParam = function () {
5359
5357
  return (hasDocument() || !!_configHandler.cfg.enableWParam) ? 0 : -1;
@@ -5453,6 +5451,8 @@ var AppInsightsCore = /** @class */ (function () {
5453
5451
  _pluginVersionString = null;
5454
5452
  _pluginVersionStringArr = null;
5455
5453
  _forceStopInternalLogPoller = false;
5454
+ _internalLogPoller = null;
5455
+ _internalLogPollerListening = false;
5456
5456
  }
5457
5457
  function _createTelCtx() {
5458
5458
  var theCtx = createProcessTelemetryContext(_getPluginChain(), _configHandler.cfg, _self);
@@ -5647,28 +5647,27 @@ var AppInsightsCore = /** @class */ (function () {
5647
5647
  doCallback();
5648
5648
  return true;
5649
5649
  }
5650
- function _initDebugListener() {
5651
- !_notificationManager && _self[_DYN_GET_NOTIFY_MGR ]();
5652
- _addUnloadHook(_configHandler[_DYN_WATCH ](function (details) {
5653
- var disableDbgExt = details.cfg.disableDbgExt;
5654
- if (disableDbgExt === true && _debugListener) {
5655
- _notificationManager[_DYN_REMOVE_NOTIFICATION_2 ](_debugListener);
5656
- _debugListener = null;
5657
- }
5658
- if (_notificationManager && !_debugListener && disableDbgExt !== true) {
5659
- _debugListener = getDebugListener(details.cfg);
5660
- _notificationManager[_DYN_ADD_NOTIFICATION_LIS1 ](_debugListener);
5661
- }
5662
- }));
5663
- }
5664
5650
  function _initPerfManager() {
5651
+ var prevCfgPerfMgr;
5665
5652
  _addUnloadHook(_configHandler[_DYN_WATCH ](function (details) {
5666
5653
  var enablePerfMgr = details.cfg.enablePerfMgr;
5667
- if (!enablePerfMgr && _cfgPerfManager) {
5668
- _cfgPerfManager = null;
5669
- }
5670
5654
  if (enablePerfMgr) {
5671
- getSetValue(details.cfg, STR_CREATE_PERF_MGR, _createPerfManager);
5655
+ var createPerfMgr = details.cfg[STR_CREATE_PERF_MGR ];
5656
+ if (prevCfgPerfMgr !== createPerfMgr) {
5657
+ if (!createPerfMgr) {
5658
+ createPerfMgr = _createPerfManager;
5659
+ }
5660
+ getSetValue(details.cfg, STR_CREATE_PERF_MGR, createPerfMgr);
5661
+ prevCfgPerfMgr = createPerfMgr;
5662
+ _cfgPerfManager = null;
5663
+ }
5664
+ if (!_perfManager && !_cfgPerfManager && isFunction(createPerfMgr)) {
5665
+ _cfgPerfManager = createPerfMgr(_self, _self[_DYN_GET_NOTIFY_MGR ]());
5666
+ }
5667
+ }
5668
+ else {
5669
+ _cfgPerfManager = null;
5670
+ prevCfgPerfMgr = null;
5672
5671
  }
5673
5672
  }));
5674
5673
  }
@@ -5704,6 +5703,24 @@ var AppInsightsCore = /** @class */ (function () {
5704
5703
  return AppInsightsCore;
5705
5704
  }());
5706
5705
 
5706
+ function parseResponse(response, diagLog) {
5707
+ try {
5708
+ if (response && response !== "") {
5709
+ var result = getJSON().parse(response);
5710
+ if (result && result[_DYN_ITEMS_RECEIVED ] && result[_DYN_ITEMS_RECEIVED ] >= result.itemsAccepted &&
5711
+ result.itemsReceived - result.itemsAccepted === result.errors[_DYN_LENGTH ]) {
5712
+ return result;
5713
+ }
5714
+ }
5715
+ }
5716
+ catch (e) {
5717
+ _throwInternal(diagLog, 1 , 43 , "Cannot parse the response. " + (e[_DYN_NAME ] || dumpObj(e)), {
5718
+ response: response
5719
+ });
5720
+ }
5721
+ return null;
5722
+ }
5723
+
5707
5724
  var STR_EMPTY = "";
5708
5725
  var STR_NO_RESPONSE_BODY = "NoResponseBody";
5709
5726
  var _noResponseQs = "&" + STR_NO_RESPONSE_BODY + "=true";
@@ -6653,6 +6670,7 @@ exports.__getRegisteredEvents = __getRegisteredEvents;
6653
6670
  exports._appendHeader = _appendHeader;
6654
6671
  exports._getAllResponseHeaders = _getAllResponseHeaders;
6655
6672
  exports._logInternalMessage = _logInternalMessage;
6673
+ exports._testHookMaxUnloadHooksCb = _testHookMaxUnloadHooksCb;
6656
6674
  exports._throwInternal = _throwInternal;
6657
6675
  exports._warnToConsole = _warnToConsole;
6658
6676
  exports.addEventHandler = addEventHandler;