@microsoft/applicationinsights-core-js 3.0.7 → 3.0.9

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 (97) hide show
  1. package/browser/es5/applicationinsights-core-js.cjs.js +406 -324
  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 +408 -326
  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 +408 -326
  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 +406 -324
  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 +2 -2
  40. package/dist-es5/JavaScriptSDK/DataCacheHelper.js.map +1 -1
  41. package/dist-es5/JavaScriptSDK/DbgExtensionUtils.js +1 -1
  42. package/dist-es5/JavaScriptSDK/DiagnosticLogger.js +1 -1
  43. package/dist-es5/JavaScriptSDK/EnvUtils.js +1 -1
  44. package/dist-es5/JavaScriptSDK/EventHelpers.js +1 -1
  45. package/dist-es5/JavaScriptSDK/HelperFuncs.js +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 +38 -18
  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/TelemetryHelpers.js +1 -1
  54. package/dist-es5/JavaScriptSDK/TelemetryInitializerPlugin.js +1 -1
  55. package/dist-es5/JavaScriptSDK/UnloadHandlerContainer.js +1 -1
  56. package/dist-es5/JavaScriptSDK/UnloadHookContainer.js +20 -1
  57. package/dist-es5/JavaScriptSDK/UnloadHookContainer.js.map +1 -1
  58. package/dist-es5/JavaScriptSDK/W3cTraceParent.js +1 -1
  59. package/dist-es5/JavaScriptSDK.Enums/EnumHelperFuncs.js +1 -1
  60. package/dist-es5/JavaScriptSDK.Enums/EventsDiscardedReason.js +1 -1
  61. package/dist-es5/JavaScriptSDK.Enums/FeatureOptInEnums.js +1 -1
  62. package/dist-es5/JavaScriptSDK.Enums/LoggingEnums.js +1 -1
  63. package/dist-es5/JavaScriptSDK.Enums/SendRequestReason.js +1 -1
  64. package/dist-es5/JavaScriptSDK.Enums/TelemetryUnloadReason.js +1 -1
  65. package/dist-es5/JavaScriptSDK.Enums/TelemetryUpdateReason.js +1 -1
  66. package/dist-es5/JavaScriptSDK.Interfaces/IAppInsightsCore.js +1 -1
  67. package/dist-es5/JavaScriptSDK.Interfaces/IChannelControls.js +1 -1
  68. package/dist-es5/JavaScriptSDK.Interfaces/IChannelControlsHost.js +1 -1
  69. package/dist-es5/JavaScriptSDK.Interfaces/IConfiguration.js +1 -1
  70. package/dist-es5/JavaScriptSDK.Interfaces/ICookieMgr.js +1 -1
  71. package/dist-es5/JavaScriptSDK.Interfaces/IDbgExtension.js +1 -1
  72. package/dist-es5/JavaScriptSDK.Interfaces/IDiagnosticLogger.js +1 -1
  73. package/dist-es5/JavaScriptSDK.Interfaces/IDistributedTraceContext.js +1 -1
  74. package/dist-es5/JavaScriptSDK.Interfaces/IFeatureOptIn.js +1 -1
  75. package/dist-es5/JavaScriptSDK.Interfaces/IInstrumentHooks.js +1 -1
  76. package/dist-es5/JavaScriptSDK.Interfaces/INotificationListener.js +1 -1
  77. package/dist-es5/JavaScriptSDK.Interfaces/INotificationManager.js +1 -1
  78. package/dist-es5/JavaScriptSDK.Interfaces/IPerfEvent.js +1 -1
  79. package/dist-es5/JavaScriptSDK.Interfaces/IPerfManager.js +1 -1
  80. package/dist-es5/JavaScriptSDK.Interfaces/IProcessTelemetryContext.js +1 -1
  81. package/dist-es5/JavaScriptSDK.Interfaces/ITelemetryInitializers.js +1 -1
  82. package/dist-es5/JavaScriptSDK.Interfaces/ITelemetryItem.js +1 -1
  83. package/dist-es5/JavaScriptSDK.Interfaces/ITelemetryPlugin.js +1 -1
  84. package/dist-es5/JavaScriptSDK.Interfaces/ITelemetryPluginChain.js +1 -1
  85. package/dist-es5/JavaScriptSDK.Interfaces/ITelemetryUnloadState.js +1 -1
  86. package/dist-es5/JavaScriptSDK.Interfaces/ITelemetryUpdateState.js +1 -1
  87. package/dist-es5/JavaScriptSDK.Interfaces/ITraceParent.js +1 -1
  88. package/dist-es5/JavaScriptSDK.Interfaces/IUnloadHook.js +1 -1
  89. package/dist-es5/JavaScriptSDK.Interfaces/IUnloadableComponent.js +1 -1
  90. package/dist-es5/JavaScriptSDK.Interfaces/IXHROverride.js +1 -1
  91. package/dist-es5/__DynamicConstants.js +9 -9
  92. package/dist-es5/__DynamicConstants.js.map +1 -1
  93. package/dist-es5/applicationinsights-core-js.js +2 -2
  94. package/dist-es5/applicationinsights-core-js.js.map +1 -1
  95. package/package.json +78 -75
  96. package/types/applicationinsights-core-js.d.ts +60 -2
  97. package/types/applicationinsights-core-js.namespaced.d.ts +1287 -104
@@ -1,11 +1,11 @@
1
1
  /*!
2
- * Application Insights JavaScript SDK - Core, 3.0.7
2
+ * Application Insights JavaScript SDK - Core, 3.0.9
3
3
  * Copyright (c) Microsoft and contributors. All rights reserved.
4
4
  */
5
5
  (function (global, factory) {
6
6
  var undef = "undefined";
7
- var nsKey, key, nm, theExports = {}, modName = "es5_applicationinsights_core_js_3_0_7", msMod="__ms$mod__";
8
- var mods={}, modDetail=mods[modName]={}, ver="3.0.7";
7
+ var nsKey, key, nm, theExports = {}, modName = "es5_applicationinsights_core_js_3_0_9", msMod="__ms$mod__";
8
+ var mods={}, modDetail=mods[modName]={}, ver="3.0.9";
9
9
  var baseNs=global, nsKey="Microsoft", baseNs=baseNs[nsKey]=(baseNs[nsKey]||{});
10
10
  // Versioned namespace "Microsoft.ApplicationInsights3"
11
11
  var exportNs=baseNs, nsKey="ApplicationInsights3", exportNs=exportNs[nsKey]=(exportNs[nsKey]||{});
@@ -31,23 +31,18 @@ var MinChannelPriorty = 100;
31
31
  var UNDEF_VALUE = undefined;
32
32
  var NULL_VALUE = null;
33
33
  var EMPTY = "";
34
- var BOOLEAN = "boolean";
35
34
  var FUNCTION = "function";
36
- var NUMBER = "number";
37
35
  var OBJECT = "object";
38
36
  var PROTOTYPE = "prototype";
39
37
  var __PROTO__ = "__proto__";
40
- var STRING = "string";
41
38
  var UNDEFINED = "undefined";
42
39
  var CONSTRUCTOR = "constructor";
43
40
  var SYMBOL = "Symbol";
44
41
  var POLYFILL_TAG = "_polyfill";
45
- var INDEX_OF = "indexOf";
46
42
  var LENGTH = "length";
47
- var DONE = "done";
48
- var VALUE = "value";
49
43
  var NAME = "name";
50
- var SLICE = "slice";
44
+ var CALL = "call";
45
+ var TO_STRING = "toString";
51
46
  var ObjClass$1 = Object;
52
47
  var ObjProto = ObjClass$1[PROTOTYPE];
53
48
  var StrCls = String;
@@ -55,52 +50,71 @@ var StrProto = StrCls[PROTOTYPE];
55
50
  var MathCls = Math;
56
51
  var ArrCls = Array;
57
52
  var ArrProto = ArrCls[PROTOTYPE];
53
+ var ArrSlice = ArrProto["slice"];
58
54
 
59
- function safeGet(cb, defValue) {
60
- var result = defValue;
55
+ function safe(func, argArray) {
61
56
  try {
62
- result = cb();
57
+ return {
58
+ v: func.apply(this, argArray)
59
+ };
63
60
  }
64
61
  catch (e) {
62
+ return { e: e };
65
63
  }
66
- return result;
67
64
  }
68
65
 
69
- var PRIMITIVE_TYPES = [STRING, NUMBER, BOOLEAN, UNDEFINED, "symbol", "bigint"];
66
+ /*#__NO_SIDE_EFFECTS__*/
67
+ function safeGet(cb, defValue) {
68
+ var result = safe(cb);
69
+ return result.e ? defValue : result.v;
70
+ }
71
+
72
+ var _primitiveTypes;
73
+ /*#__NO_SIDE_EFFECTS__*/
70
74
  function _createIs(theType) {
71
75
  return function (value) {
72
76
  return typeof value === theType;
73
77
  };
74
78
  }
79
+ /*#__NO_SIDE_EFFECTS__*/
75
80
  function _createObjIs(theName) {
76
81
  var theType = "[object " + theName + "]";
77
82
  return function (value) {
78
83
  return !!(value && objToString(value) === theType);
79
84
  };
80
85
  }
86
+ /*#__NO_SIDE_EFFECTS__*/
81
87
  function objToString(value) {
82
88
  return ObjProto.toString.call(value);
83
89
  }
90
+ /*#__NO_SIDE_EFFECTS__*/
84
91
  function isTypeof(value, theType) {
85
92
  return typeof value === theType;
86
93
  }
94
+ /*#__NO_SIDE_EFFECTS__*/
87
95
  function isUndefined(value) {
88
96
  return typeof value === UNDEFINED || value === UNDEFINED;
89
97
  }
98
+ /*#__NO_SIDE_EFFECTS__*/
90
99
  function isNullOrUndefined(value) {
91
100
  return value === NULL_VALUE || isUndefined(value);
92
101
  }
102
+ /*#__NO_SIDE_EFFECTS__*/
93
103
  function isStrictNullOrUndefined(value) {
94
104
  return value === NULL_VALUE || !isDefined(value);
95
105
  }
106
+ /*#__NO_SIDE_EFFECTS__*/
96
107
  function isDefined(arg) {
97
108
  return !!arg || arg !== UNDEF_VALUE;
98
109
  }
99
- var isPrimitiveType = function (theType) {
100
- return theType !== OBJECT && PRIMITIVE_TYPES.indexOf(theType) !== -1;
101
- };
102
- var isString = _createIs(STRING);
103
- var isFunction = _createIs(FUNCTION);
110
+ /*#__NO_SIDE_EFFECTS__*/
111
+ function isPrimitiveType(theType) {
112
+ !_primitiveTypes && (_primitiveTypes = ["string", "number", "boolean", UNDEFINED, "symbol", "bigint"]);
113
+ return theType !== OBJECT && _primitiveTypes.indexOf(theType) !== -1;
114
+ }
115
+ var isString = ( /*#__PURE__*/_createIs("string"));
116
+ var isFunction = ( /*#__PURE__*/_createIs(FUNCTION));
117
+ /*#__NO_SIDE_EFFECTS__*/
104
118
  function isObject(value) {
105
119
  if (!value && isNullOrUndefined(value)) {
106
120
  return false;
@@ -108,27 +122,32 @@ function isObject(value) {
108
122
  return !!value && typeof value === OBJECT;
109
123
  }
110
124
  var isArray = ArrCls.isArray;
111
- var isDate = _createObjIs("Date");
112
- var isNumber = _createIs(NUMBER);
113
- var isBoolean = _createIs(BOOLEAN);
114
- var isError = _createObjIs("Error");
125
+ var isDate = ( /*#__PURE__*/_createObjIs("Date"));
126
+ var isNumber = ( /*#__PURE__*/_createIs("number"));
127
+ var isBoolean = ( /*#__PURE__*/_createIs("boolean"));
128
+ var isError = ( /*#__PURE__*/_createObjIs("Error"));
129
+ /*#__NO_SIDE_EFFECTS__*/
115
130
  function isPromiseLike(value) {
116
- return !!value && isFunction(value.then);
131
+ return !!(value && value.then && isFunction(value.then));
117
132
  }
133
+ /*#__NO_SIDE_EFFECTS__*/
118
134
  function isNotTruthy(value) {
119
- return !value || !safeGet(function () { return (value && (0 + value)); }, value);
135
+ return !value || !isTruthy(value);
120
136
  }
137
+ /*#__NO_SIDE_EFFECTS__*/
121
138
  function isTruthy(value) {
122
139
  return !(!value || safeGet(function () { return !(value && (0 + value)); }, !value));
123
140
  }
124
141
 
125
142
  var objGetOwnPropertyDescriptor = ObjClass$1.getOwnPropertyDescriptor;
126
143
 
144
+ /*#__NO_SIDE_EFFECTS__*/
127
145
  function objHasOwnProperty(obj, prop) {
128
- return obj && ObjProto.hasOwnProperty.call(obj, prop);
146
+ return !!obj && ObjProto.hasOwnProperty[CALL](obj, prop);
129
147
  }
130
148
 
131
149
  var objHasOwn = ObjClass$1["hasOwn"] || polyObjHasOwn;
150
+ /*#__NO_SIDE_EFFECTS__*/
132
151
  function polyObjHasOwn(obj, prop) {
133
152
  return objHasOwnProperty(obj, prop) || !!objGetOwnPropertyDescriptor(obj, prop);
134
153
  }
@@ -137,7 +156,7 @@ function objForEachKey(theObject, callbackfn, thisArg) {
137
156
  if (theObject && isObject(theObject)) {
138
157
  for (var prop in theObject) {
139
158
  if (objHasOwn(theObject, prop)) {
140
- if (callbackfn.call(thisArg || theObject, prop, theObject[prop]) === -1) {
159
+ if (callbackfn[CALL](thisArg || theObject, prop, theObject[prop]) === -1) {
141
160
  break;
142
161
  }
143
162
  }
@@ -145,6 +164,7 @@ function objForEachKey(theObject, callbackfn, thisArg) {
145
164
  }
146
165
  }
147
166
 
167
+ /*#__NO_SIDE_EFFECTS__*/
148
168
  function _createKeyValueMap(values, keyType, valueType, completeFn) {
149
169
  var theMap = {};
150
170
  objForEachKey(values, function (key, value) {
@@ -162,15 +182,15 @@ function throwTypeError(message) {
162
182
  }
163
183
 
164
184
  var _objFreeze = ObjClass$1["freeze"];
165
- var _doNothing = function (value) { return value; };
166
- var _getProto = function (value) { return value[__PROTO__] || NULL_VALUE; };
167
- var objAssign = ObjClass$1["assign"];
168
- function objKeys(value) {
169
- if (!isObject(value) || value === NULL_VALUE) {
170
- throwTypeError("objKeys called on non-object");
171
- }
172
- return ObjClass$1.keys(value);
185
+ function _doNothing(value) {
186
+ return value;
173
187
  }
188
+ /*#__NO_SIDE_EFFECTS__*/
189
+ function _getProto(value) {
190
+ return value[__PROTO__] || NULL_VALUE;
191
+ }
192
+ var objAssign = ObjClass$1["assign"];
193
+ var objKeys = ObjClass$1.keys;
174
194
  function objDeepFreeze(value) {
175
195
  if (_objFreeze) {
176
196
  objForEachKey(value, function (key, value) {
@@ -185,12 +205,15 @@ var objFreeze = _objFreeze || _doNothing;
185
205
  var objSeal = ObjClass$1["seal"] || _doNothing;
186
206
  var objGetPrototypeOf = ObjClass$1["getPrototypeOf"] || _getProto;
187
207
 
208
+ /*#__NO_SIDE_EFFECTS__*/
188
209
  function createEnum(values) {
189
210
  return _createKeyValueMap(values, 1 , 0 , objDeepFreeze);
190
211
  }
212
+ /*#__NO_SIDE_EFFECTS__*/
191
213
  function createEnumKeyMap(values) {
192
214
  return _createKeyValueMap(values, 0 , 0 , objDeepFreeze);
193
215
  }
216
+ /*#__NO_SIDE_EFFECTS__*/
194
217
  function createSimpleMap(values) {
195
218
  var mapClass = {};
196
219
  objForEachKey(values, function (key, value) {
@@ -199,11 +222,12 @@ function createSimpleMap(values) {
199
222
  });
200
223
  return objDeepFreeze(mapClass);
201
224
  }
225
+ /*#__NO_SIDE_EFFECTS__*/
202
226
  function createTypeMap(values) {
203
227
  return createSimpleMap(values);
204
228
  }
205
229
 
206
- var _wellKnownSymbolMap = createEnumKeyMap({
230
+ var _wellKnownSymbolMap = /*#__PURE__*/ createEnumKeyMap({
207
231
  asyncIterator: 0 ,
208
232
  hasInstance: 1 ,
209
233
  isConcatSpreadable: 2 ,
@@ -223,6 +247,7 @@ var asString = StrCls;
223
247
 
224
248
  var GLOBAL_CONFIG_KEY = "__tsUtils$gblCfg";
225
249
  var _globalCfg;
250
+ /*#__NO_SIDE_EFFECTS__*/
226
251
  function _getGlobalValue() {
227
252
  var result;
228
253
  if (typeof globalThis !== UNDEFINED) {
@@ -239,60 +264,47 @@ function _getGlobalValue() {
239
264
  }
240
265
  return result;
241
266
  }
267
+ /*#__NO_SIDE_EFFECTS__*/
242
268
  function _getGlobalConfig() {
243
269
  if (!_globalCfg) {
244
- var gbl = _getGlobalValue() || {};
270
+ var gbl = safe(_getGlobalValue).v || {};
245
271
  _globalCfg = gbl[GLOBAL_CONFIG_KEY] = gbl[GLOBAL_CONFIG_KEY] || {};
246
272
  }
247
273
  return _globalCfg;
248
274
  }
249
275
 
276
+ var ERROR_TYPE = "[object Error]";
277
+ /*#__NO_SIDE_EFFECTS__*/
250
278
  function dumpObj(object, format) {
251
279
  var propertyValueDump = EMPTY;
252
- if (isError(object)) {
253
- propertyValueDump = "{ stack: '" + object.stack + "', message: '" + object.message + "', name: '" + object.name + "'";
280
+ var objType = ObjProto[TO_STRING][CALL](object);
281
+ if (objType === ERROR_TYPE) {
282
+ object = { stack: asString(object.stack), message: asString(object.message), name: asString(object.name) };
254
283
  }
255
- else {
256
- try {
257
- propertyValueDump = JSON.stringify(object, NULL_VALUE, format ? (isNumber(format) ? format : 4) : UNDEF_VALUE);
258
- }
259
- catch (e) {
260
- propertyValueDump = " - " + dumpObj(e, format);
261
- }
284
+ try {
285
+ propertyValueDump = JSON.stringify(object, NULL_VALUE, format ? ((typeof format === "number") ? format : 4) : UNDEF_VALUE);
286
+ propertyValueDump = (propertyValueDump && propertyValueDump.replace(/"(\w+)"\s*:\s{0,1}/g, "$1: ")) || asString(object);
287
+ }
288
+ catch (e) {
289
+ propertyValueDump = " - " + dumpObj(e, format);
262
290
  }
263
- return objToString(object) + ": " + propertyValueDump;
291
+ return objType + ": " + propertyValueDump;
264
292
  }
265
293
 
266
- var _arrSlice = ArrProto[SLICE];
267
- var _throwMissingFunction = function (funcName, thisArg) {
268
- throwTypeError("'" + asString(funcName) + "' not defined for " + dumpObj(thisArg));
269
- };
270
- var _unwrapInstFunction = function (funcName) {
271
- return function (thisArg) {
272
- return thisArg[funcName].apply(thisArg, _arrSlice.call(arguments, 1));
273
- };
274
- };
275
- var _unwrapFunction = function (funcName, clsProto) {
276
- var clsFn = clsProto && clsProto[funcName];
277
- return function (thisArg) {
278
- var theFunc = (thisArg && thisArg[funcName]) || clsFn;
279
- if (theFunc) {
280
- return theFunc.apply(thisArg, _arrSlice.call(arguments, 1));
281
- }
282
- _throwMissingFunction(funcName, thisArg);
283
- };
284
- };
285
- var _unwrapFunctionWithPoly = function (funcName, clsProto, polyFunc) {
294
+ var _unwrapFunction = _unwrapFunctionWithPoly;
295
+ /*#__NO_SIDE_EFFECTS__*/
296
+ function _unwrapFunctionWithPoly(funcName, clsProto, polyFunc) {
286
297
  var clsFn = clsProto && clsProto[funcName];
287
298
  return function (thisArg) {
288
299
  var theFunc = (thisArg && thisArg[funcName]) || clsFn;
289
300
  if (theFunc || polyFunc) {
290
301
  var theArgs = arguments;
291
- return (theFunc || polyFunc).apply(thisArg, theFunc ? _arrSlice.call(theArgs, 1) : theArgs);
302
+ return (theFunc || polyFunc).apply(thisArg, theFunc ? ArrSlice[CALL](theArgs, 1) : theArgs);
292
303
  }
293
- _throwMissingFunction(funcName, thisArg);
304
+ throwTypeError("\"" + asString(funcName) + "\" not defined for " + dumpObj(thisArg));
294
305
  };
295
- };
306
+ }
307
+ /*#__NO_SIDE_EFFECTS__*/
296
308
  function _unwrapProp(propName) {
297
309
  return function (thisArg) {
298
310
  return thisArg[propName];
@@ -301,10 +313,11 @@ function _unwrapProp(propName) {
301
313
 
302
314
  var mathMax = MathCls.max;
303
315
 
304
- var strSlice = _unwrapFunction(SLICE, StrProto);
316
+ var strSlice = ( /*#__PURE__*/_unwrapFunction("slice", StrProto));
305
317
 
306
- var strSubstring = _unwrapFunction("substring", StrProto);
307
- var strSubstr = _unwrapFunctionWithPoly("substr", StrProto, polyStrSubstr);
318
+ var strSubstring = ( /*#__PURE__*/_unwrapFunction("substring", StrProto));
319
+ var strSubstr = ( /*#__PURE__*/_unwrapFunctionWithPoly("substr", StrProto, polyStrSubstr));
320
+ /*#__NO_SIDE_EFFECTS__*/
308
321
  function polyStrSubstr(value, start, length) {
309
322
  if (isNullOrUndefined(value)) {
310
323
  throwTypeError("'polyStrSubstr called with invalid " + dumpObj(value));
@@ -321,23 +334,14 @@ function polyStrSubstr(value, start, length) {
321
334
  }
322
335
  return strSlice(value, start, start + length);
323
336
  }
337
+ /*#__NO_SIDE_EFFECTS__*/
324
338
  function strLeft(value, count) {
325
339
  return strSubstring(value, 0, count);
326
340
  }
327
341
 
328
- var strStartsWith = _unwrapFunctionWithPoly("startsWith", StrProto, polyStrStartsWith);
329
- function polyStrStartsWith(value, searchString, position) {
330
- if (!isString(value)) {
331
- throwTypeError("'" + dumpObj(value) + "' is not a string");
332
- }
333
- var searchValue = isString(searchString) ? searchString : asString(searchString);
334
- var chkLen = searchValue[LENGTH];
335
- var pos = position > 0 ? position : 0;
336
- return strSubstring(value, pos, pos + chkLen) === searchValue;
337
- }
338
-
339
342
  var UNIQUE_REGISTRY_ID = "_urid";
340
343
  var _polySymbols;
344
+ /*#__NO_SIDE_EFFECTS__*/
341
345
  function _globalSymbolRegistry() {
342
346
  if (!_polySymbols) {
343
347
  var gblCfg = _getGlobalConfig();
@@ -345,7 +349,8 @@ function _globalSymbolRegistry() {
345
349
  }
346
350
  return _polySymbols;
347
351
  }
348
- var _wellKnownSymbolCache = {};
352
+ var _wellKnownSymbolCache;
353
+ /*#__NO_SIDE_EFFECTS__*/
349
354
  function polyNewSymbol(description) {
350
355
  var theSymbol = {
351
356
  description: asString(description),
@@ -354,18 +359,21 @@ function polyNewSymbol(description) {
354
359
  theSymbol[POLYFILL_TAG] = true;
355
360
  return theSymbol;
356
361
  }
362
+ /*#__NO_SIDE_EFFECTS__*/
357
363
  function polySymbolFor(key) {
358
364
  var registry = _globalSymbolRegistry();
359
365
  if (!objHasOwn(registry.k, key)) {
360
366
  var newSymbol_1 = polyNewSymbol(key);
361
367
  var regId_1 = objKeys(registry.s).length;
362
- newSymbol_1[UNIQUE_REGISTRY_ID] = function () { return regId_1 + "_" + newSymbol_1.toString(); };
368
+ newSymbol_1[UNIQUE_REGISTRY_ID] = function () { return regId_1 + "_" + newSymbol_1[TO_STRING](); };
363
369
  registry.k[key] = newSymbol_1;
364
370
  registry.s[newSymbol_1[UNIQUE_REGISTRY_ID]()] = asString(key);
365
371
  }
366
372
  return registry.k[key];
367
373
  }
374
+ /*#__NO_SIDE_EFFECTS__*/
368
375
  function polyGetKnownSymbol(name) {
376
+ !_wellKnownSymbolCache && (_wellKnownSymbolCache = {});
369
377
  var result;
370
378
  var knownName = _wellKnownSymbolMap[name];
371
379
  if (knownName) {
@@ -377,11 +385,12 @@ function polyGetKnownSymbol(name) {
377
385
  var propMap = {
378
386
  e: "enumerable",
379
387
  c: "configurable",
380
- v: VALUE,
388
+ v: "value",
381
389
  w: "writable",
382
390
  g: "get",
383
391
  s: "set"
384
392
  };
393
+ /*#__NO_SIDE_EFFECTS__*/
385
394
  function _createProp(value) {
386
395
  var prop = {};
387
396
  prop[propMap["c"]] = true;
@@ -419,13 +428,13 @@ function objDefine(target, key, propDesc) {
419
428
  }
420
429
 
421
430
  var _globalLazyTestHooks;
422
- var _fetchLazyTestHooks = function () {
431
+ function _initTestHooks() {
423
432
  _globalLazyTestHooks = _getGlobalConfig();
424
- _fetchLazyTestHooks = NULL_VALUE;
425
- };
433
+ }
434
+ /*#__NO_SIDE_EFFECTS__*/
426
435
  function getLazy(cb) {
427
436
  var lazyValue = {};
428
- _fetchLazyTestHooks && _fetchLazyTestHooks();
437
+ !_globalLazyTestHooks && _initTestHooks();
429
438
  lazyValue.b = _globalLazyTestHooks.lzy;
430
439
  objDefineProp(lazyValue, "v", {
431
440
  configurable: true,
@@ -435,106 +444,128 @@ function getLazy(cb) {
435
444
  objDefineProp(lazyValue, "v", {
436
445
  value: result
437
446
  });
438
- if (lazyValue.b) {
439
- delete lazyValue.b;
440
- }
441
- }
442
- if (_globalLazyTestHooks.lzy && lazyValue.b !== _globalLazyTestHooks.lzy) {
443
- lazyValue.b = _globalLazyTestHooks.lzy;
444
447
  }
448
+ lazyValue.b = _globalLazyTestHooks.lzy;
445
449
  return result;
446
450
  }
447
451
  });
448
452
  return lazyValue;
449
453
  }
450
454
 
455
+ /*#__NO_SIDE_EFFECTS__*/
451
456
  function safeGetLazy(cb, defValue) {
452
- return getLazy(function () { return safeGet(cb, defValue); });
457
+ return getLazy(function () {
458
+ var result = safe(cb);
459
+ return result.e ? defValue : result.v;
460
+ });
461
+ }
462
+
463
+ /*#__NO_SIDE_EFFECTS__*/
464
+ function createCachedValue(value) {
465
+ return objDefineProp({
466
+ toJSON: function () { return value; }
467
+ }, "v", { value: value });
453
468
  }
454
469
 
455
470
  var WINDOW = "window";
456
471
  var _cachedGlobal;
457
- var _cachedWindow;
458
- var _cachedDocument;
459
- var _cachedNavigator;
460
- var _cachedHistory;
461
- var _isNode;
462
- var lazySafeGetInst = function (name) { return safeGetLazy(function () { return getInst(name) || UNDEF_VALUE; }, UNDEF_VALUE); };
463
- var getGlobal = function (useCached) {
464
- (!_cachedGlobal || useCached === false || (_globalLazyTestHooks && _globalLazyTestHooks.lzy && !_cachedGlobal.b)) && (_cachedGlobal = safeGetLazy(_getGlobalValue, NULL_VALUE));
472
+ function _getGlobalInstFn(getFn, theArgs) {
473
+ var cachedValue;
474
+ return function () {
475
+ !_globalLazyTestHooks && _initTestHooks();
476
+ (!cachedValue || _globalLazyTestHooks.lzy) && (cachedValue = createCachedValue(safe(getFn, theArgs).v));
477
+ return cachedValue.v;
478
+ };
479
+ }
480
+ /*#__NO_SIDE_EFFECTS__*/
481
+ function lazySafeGetInst(name) {
482
+ return getLazy(function () { return safe((getInst), [name]).v || UNDEF_VALUE; });
483
+ }
484
+ /*#__NO_SIDE_EFFECTS__*/
485
+ function getGlobal(useCached) {
486
+ !_globalLazyTestHooks && _initTestHooks();
487
+ (!_cachedGlobal || useCached === false || _globalLazyTestHooks.lzy) && (_cachedGlobal = createCachedValue(safe(_getGlobalValue).v || NULL_VALUE));
465
488
  return _cachedGlobal.v;
466
- };
467
- var getInst = function (name, useCached) {
489
+ }
490
+ /*#__NO_SIDE_EFFECTS__*/
491
+ function getInst(name, useCached) {
468
492
  var gbl = (!_cachedGlobal || useCached === false) ? getGlobal(useCached) : _cachedGlobal.v;
469
493
  if (gbl && gbl[name]) {
470
494
  return gbl[name];
471
495
  }
472
- if (name === WINDOW && _cachedWindow) {
473
- return _cachedWindow.v;
496
+ if (name === WINDOW) {
497
+ return getWindow();
474
498
  }
475
499
  return NULL_VALUE;
476
- };
477
- var hasDocument = function () { return !!getDocument(); };
478
- var getDocument = function () {
479
- (!_cachedDocument || (_globalLazyTestHooks && _globalLazyTestHooks.lzy && !_cachedDocument.b)) && (_cachedDocument = lazySafeGetInst("document"));
480
- return _cachedDocument.v;
481
- };
482
- var hasWindow = function () { return !!getWindow(); };
483
- var getWindow = function () {
484
- (!_cachedWindow || (_globalLazyTestHooks && _globalLazyTestHooks.lzy && !_cachedWindow.b)) && (_cachedWindow = lazySafeGetInst(WINDOW));
485
- return _cachedWindow.v;
486
- };
487
- var hasNavigator = function () { return !!getNavigator(); };
488
- var getNavigator = function () {
489
- (!_cachedNavigator || (_globalLazyTestHooks && _globalLazyTestHooks.lzy && !_cachedNavigator.b)) && (_cachedNavigator = lazySafeGetInst("navigator"));
490
- return _cachedNavigator.v;
491
- };
492
- var hasHistory = function () { return !!getHistory(); };
493
- var getHistory = function () {
494
- (!_cachedHistory || (_globalLazyTestHooks && _globalLazyTestHooks.lzy && !_cachedHistory.b)) && (_cachedHistory = lazySafeGetInst("history"));
495
- return _cachedHistory.v;
496
- };
497
- var isNode = function () {
498
- !_isNode && (_isNode = safeGetLazy(function () { return !!(process && (process.versions || {}).node); }, false));
499
- return _isNode.v;
500
- };
500
+ }
501
+ /*#__NO_SIDE_EFFECTS__*/
502
+ function hasDocument() {
503
+ return !!getDocument();
504
+ }
505
+ var getDocument = ( /*#__PURE__*/_getGlobalInstFn(getInst, ["document"]));
506
+ /*#__NO_SIDE_EFFECTS__*/
507
+ function hasWindow() {
508
+ return !!getWindow();
509
+ }
510
+ var getWindow = ( /*#__PURE__*/_getGlobalInstFn(getInst, [WINDOW]));
511
+ /*#__NO_SIDE_EFFECTS__*/
512
+ function hasNavigator() {
513
+ return !!getNavigator();
514
+ }
515
+ var getNavigator = ( /*#__PURE__*/_getGlobalInstFn(getInst, ["navigator"]));
516
+ /*#__NO_SIDE_EFFECTS__*/
517
+ function hasHistory() {
518
+ return !!getHistory();
519
+ }
520
+ var getHistory = ( /*#__PURE__*/_getGlobalInstFn(getInst, ["history"]));
521
+ var isNode = ( /*#__PURE__*/_getGlobalInstFn(function () {
522
+ return !!safe(function () { return (process && (process.versions || {}).node); }).v;
523
+ }));
501
524
 
502
525
  var _symbol;
503
526
  var _symbolFor;
504
- var _symbolKeyFor;
505
- function _getSymbolValue(name) {
506
- return safeGetLazy(function () {
507
- return (_symbol.v ? _symbol.v[name] : UNDEF_VALUE);
508
- }, UNDEF_VALUE);
527
+ function _initSymbol() {
528
+ if (!_symbol || !_symbol.b) {
529
+ _symbol = lazySafeGetInst(SYMBOL);
530
+ _symbolFor = safeGetLazy(function () { return (_symbol.v ? _symbol.v["for"] : UNDEF_VALUE); }, UNDEF_VALUE);
531
+ }
509
532
  }
510
- var isSymbol = _createIs("symbol");
533
+ var isSymbol = ( /*#__PURE__*/_createIs("symbol"));
534
+ /*#__NO_SIDE_EFFECTS__*/
511
535
  function hasSymbol() {
512
536
  return !!getSymbol();
513
537
  }
538
+ /*#__NO_SIDE_EFFECTS__*/
514
539
  function getSymbol() {
515
- var resetCache = !_symbol || (_globalLazyTestHooks && _globalLazyTestHooks.lzy && !_symbol.b);
516
- resetCache && (_symbol = lazySafeGetInst(SYMBOL));
517
- (!_symbolFor || resetCache) && (_symbolFor = _getSymbolValue("for"));
518
- (!_symbolKeyFor || resetCache) && (_symbolKeyFor = _getSymbolValue("keyFor"));
540
+ !_globalLazyTestHooks && _initTestHooks();
541
+ (!_symbol || _globalLazyTestHooks.lzy) && _initSymbol();
519
542
  return _symbol.v;
520
543
  }
544
+ /*#__NO_SIDE_EFFECTS__*/
521
545
  function getKnownSymbol(name, noPoly) {
522
546
  var knownName = _wellKnownSymbolMap[name];
523
- (!_symbol || (_globalLazyTestHooks.lzy && !_symbol.b)) && getSymbol();
547
+ !_globalLazyTestHooks && _initTestHooks();
548
+ (!_symbol || _globalLazyTestHooks.lzy) && _initSymbol();
524
549
  return _symbol.v ? _symbol.v[knownName || name] : (!noPoly ? polyGetKnownSymbol(name) : UNDEF_VALUE);
525
550
  }
551
+ /*#__NO_SIDE_EFFECTS__*/
526
552
  function newSymbol(description, noPoly) {
527
- (!_symbol || (_globalLazyTestHooks.lzy && !_symbol.b)) && getSymbol();
553
+ !_globalLazyTestHooks && _initTestHooks();
554
+ (!_symbol || _globalLazyTestHooks.lzy) && _initSymbol();
528
555
  return _symbol.v ? _symbol.v(description) : (!noPoly ? polyNewSymbol(description) : NULL_VALUE);
529
556
  }
557
+ /*#__NO_SIDE_EFFECTS__*/
530
558
  function symbolFor(key) {
531
- (!_symbolFor || (_globalLazyTestHooks.lzy && !_symbol.b)) && getSymbol();
559
+ !_globalLazyTestHooks && _initTestHooks();
560
+ (!_symbolFor || !_symbol || _globalLazyTestHooks.lzy) && _initSymbol();
532
561
  return (_symbolFor.v || polySymbolFor)(key);
533
562
  }
534
563
 
564
+ /*#__NO_SIDE_EFFECTS__*/
535
565
  function isIterator(value) {
536
566
  return !!value && isFunction(value.next);
537
567
  }
568
+ /*#__NO_SIDE_EFFECTS__*/
538
569
  function isIterable(value) {
539
570
  return !isStrictNullOrUndefined(value) && isFunction(value[getKnownSymbol(3 )]);
540
571
  }
@@ -543,7 +574,7 @@ var _iterSymbol;
543
574
  function iterForOf(iter, callbackfn, thisArg) {
544
575
  if (iter) {
545
576
  if (!isIterator(iter)) {
546
- !_iterSymbol && (_iterSymbol = getLazy(function () { return getKnownSymbol(3 ); }));
577
+ !_iterSymbol && (_iterSymbol = createCachedValue(getKnownSymbol(3 )));
547
578
  iter = iter[_iterSymbol.v] ? iter[_iterSymbol.v]() : null;
548
579
  }
549
580
  if (isIterator(iter)) {
@@ -551,8 +582,8 @@ function iterForOf(iter, callbackfn, thisArg) {
551
582
  var iterResult = void 0;
552
583
  try {
553
584
  var count = 0;
554
- while (!(iterResult = iter.next())[DONE]) {
555
- if (callbackfn.call(thisArg || iter, iterResult[VALUE], count, iter) === -1) {
585
+ while (!(iterResult = iter.next()).done) {
586
+ if (callbackfn[CALL](thisArg || iter, iterResult.value, count, iter) === -1) {
556
587
  break;
557
588
  }
558
589
  count++;
@@ -567,7 +598,7 @@ function iterForOf(iter, callbackfn, thisArg) {
567
598
  }
568
599
  finally {
569
600
  try {
570
- if (iterResult && !iterResult[DONE]) {
601
+ if (iterResult && !iterResult.done) {
571
602
  iter.return && iter.return(iterResult);
572
603
  }
573
604
  }
@@ -581,7 +612,9 @@ function iterForOf(iter, callbackfn, thisArg) {
581
612
  }
582
613
  }
583
614
 
584
- var fnApply = _unwrapInstFunction("apply");
615
+ function fnApply(fn, thisArg, argArray) {
616
+ return fn.apply(thisArg, argArray);
617
+ }
585
618
 
586
619
  function arrAppend(target, elms) {
587
620
  if (!isUndefined(elms) && target) {
@@ -605,7 +638,7 @@ function arrForEach(theArray, callbackfn, thisArg) {
605
638
  var len = theArray[LENGTH] >>> 0;
606
639
  for (var idx = 0; idx < len; idx++) {
607
640
  if (idx in theArray) {
608
- if (callbackfn.call(thisArg || theArray, theArray[idx], idx, theArray) === -1) {
641
+ if (callbackfn[CALL](thisArg || theArray, theArray[idx], idx, theArray) === -1) {
609
642
  break;
610
643
  }
611
644
  }
@@ -613,25 +646,25 @@ function arrForEach(theArray, callbackfn, thisArg) {
613
646
  }
614
647
  }
615
648
 
616
- var arrIndexOf = _unwrapFunction(INDEX_OF, ArrProto);
617
-
618
- var arrMap = _unwrapFunction("map", ArrProto);
649
+ var arrIndexOf = ( /*#__PURE__*/_unwrapFunction("indexOf", ArrProto));
619
650
 
620
- var arrSlice = _unwrapFunction(SLICE, ArrProto);
651
+ var arrMap = ( /*#__PURE__*/_unwrapFunction("map", ArrProto));
621
652
 
622
- var fnCall = _unwrapInstFunction("call");
653
+ function arrSlice(theArray, start, end) {
654
+ return ((theArray && theArray["slice"]) || ArrSlice).apply(theArray, ArrSlice[CALL](arguments, 1));
655
+ }
623
656
 
624
- var arrReduce = _unwrapFunction("reduce", ArrProto);
657
+ var arrReduce = ( /*#__PURE__*/_unwrapFunction("reduce", ArrProto));
625
658
 
626
- var _objCreate = ObjClass$1["create"];
627
- var objCreate = _objCreate || polyObjCreate;
659
+ var objCreate = ObjClass$1["create"] || polyObjCreate;
660
+ /*#__NO_SIDE_EFFECTS__*/
628
661
  function polyObjCreate(obj) {
629
662
  if (!obj) {
630
663
  return {};
631
664
  }
632
665
  var type = typeof obj;
633
666
  if (type !== OBJECT && type !== FUNCTION) {
634
- throw new TypeError("Prototype must be an Object or function: " + dumpObj(obj));
667
+ throwTypeError("Prototype must be an Object or function: " + dumpObj(obj));
635
668
  }
636
669
  function tempFunc() { }
637
670
  tempFunc[PROTOTYPE] = obj;
@@ -651,39 +684,31 @@ function objSetPrototypeOf(obj, proto) {
651
684
  return fn(obj, proto);
652
685
  }
653
686
 
654
- var _createCustomError = function (name, d, b) {
655
- _safeDefineName(d, name);
687
+ /*#__NO_SIDE_EFFECTS__*/
688
+ function _createCustomError(name, d, b) {
689
+ safe(objDefine, [d, NAME, { v: name, c: true, e: false }]);
656
690
  d = objSetPrototypeOf(d, b);
657
691
  function __() {
658
692
  this.constructor = d;
659
- _safeDefineName(this, name);
693
+ safe(objDefine, [this, NAME, { v: name, c: true, e: false }]);
660
694
  }
661
695
  d[PROTOTYPE] = b === NULL_VALUE ? objCreate(b) : (__[PROTOTYPE] = b[PROTOTYPE], new __());
662
696
  return d;
663
- };
664
- var _safeSetName = function (baseClass, name) {
665
- try {
666
- name && (baseClass[NAME] = name);
667
- }
668
- catch (e) {
669
- }
670
- };
671
- var _safeDefineName = function (target, name) {
672
- try {
673
- objDefine(target, NAME, { v: name, c: true, e: false });
674
- }
675
- catch (e) {
676
- }
677
- };
697
+ }
698
+ function _setName(baseClass, name) {
699
+ name && (baseClass[NAME] = name);
700
+ }
701
+ /*#__NO_SIDE_EFFECTS__*/
678
702
  function createCustomError(name, constructCb, errorBase) {
679
703
  var theBaseClass = errorBase || Error;
680
704
  var orgName = theBaseClass[PROTOTYPE][NAME];
681
705
  var captureFn = Error.captureStackTrace;
682
706
  return _createCustomError(name, function () {
683
707
  var _this = this;
708
+ var theArgs = arguments;
684
709
  try {
685
- _safeSetName(theBaseClass, name);
686
- var _self = fnApply(theBaseClass, _this, arrSlice(arguments)) || _this;
710
+ safe(_setName, [theBaseClass, name]);
711
+ var _self = fnApply(theBaseClass, _this, ArrSlice[CALL](theArgs)) || _this;
687
712
  if (_self !== _this) {
688
713
  var orgProto = objGetPrototypeOf(_this);
689
714
  if (orgProto !== objGetPrototypeOf(_self)) {
@@ -691,22 +716,25 @@ function createCustomError(name, constructCb, errorBase) {
691
716
  }
692
717
  }
693
718
  captureFn && captureFn(_self, _this[CONSTRUCTOR]);
694
- constructCb && constructCb(_self, arguments);
719
+ constructCb && constructCb(_self, theArgs);
695
720
  return _self;
696
721
  }
697
722
  finally {
698
- _safeSetName(theBaseClass, orgName);
723
+ safe(_setName, [theBaseClass, orgName]);
699
724
  }
700
725
  }, theBaseClass);
701
726
  }
702
727
 
728
+ /*#__NO_SIDE_EFFECTS__*/
703
729
  function utcNow() {
704
730
  return (Date.now || polyUtcNow)();
705
731
  }
732
+ /*#__NO_SIDE_EFFECTS__*/
706
733
  function polyUtcNow() {
707
734
  return new Date().getTime();
708
735
  }
709
736
 
737
+ /*#__NO_SIDE_EFFECTS__*/
710
738
  function _createTrimFn(exp) {
711
739
  return function _doTrim(value) {
712
740
  if (isNullOrUndefined(value)) {
@@ -718,13 +746,14 @@ function _createTrimFn(exp) {
718
746
  return value;
719
747
  };
720
748
  }
721
- var polyStrTrim = _createTrimFn(/^\s+|(?=\s)\s+$/g);
749
+ var polyStrTrim = ( /*#__PURE__*/_createTrimFn(/^\s+|(?=\s)\s+$/g));
722
750
 
723
- var strTrim = _unwrapFunctionWithPoly("trim", StrProto, polyStrTrim);
751
+ var strTrim = ( /*#__PURE__*/_unwrapFunctionWithPoly("trim", StrProto, polyStrTrim));
724
752
 
725
753
  var _fnToString;
726
754
  var _objCtrFnString;
727
755
  var _gblWindow;
756
+ /*#__NO_SIDE_EFFECTS__*/
728
757
  function isPlainObject(value) {
729
758
  if (!value || typeof value !== OBJECT) {
730
759
  return false;
@@ -735,8 +764,8 @@ function isPlainObject(value) {
735
764
  var result = false;
736
765
  if (value !== _gblWindow) {
737
766
  if (!_objCtrFnString) {
738
- _fnToString = Function[PROTOTYPE].toString;
739
- _objCtrFnString = fnCall(_fnToString, ObjClass$1);
767
+ _fnToString = Function[PROTOTYPE][TO_STRING];
768
+ _objCtrFnString = _fnToString[CALL](ObjClass$1);
740
769
  }
741
770
  try {
742
771
  var proto = objGetPrototypeOf(value);
@@ -745,7 +774,7 @@ function isPlainObject(value) {
745
774
  if (objHasOwnProperty(proto, CONSTRUCTOR)) {
746
775
  proto = proto[CONSTRUCTOR];
747
776
  }
748
- result = proto && typeof proto === FUNCTION && _fnToString.call(proto) === _objCtrFnString;
777
+ result = proto && typeof proto === FUNCTION && _fnToString[CALL](proto) === _objCtrFnString;
749
778
  }
750
779
  }
751
780
  catch (ex) {
@@ -754,16 +783,18 @@ function isPlainObject(value) {
754
783
  return result;
755
784
  }
756
785
 
757
- var _defaultDeepCopyHandler = function (details) {
786
+ /*#__NO_SIDE_EFFECTS__*/
787
+ function _defaultDeepCopyHandler(details) {
758
788
  details.value && plainObjDeepCopyHandler(details);
759
789
  return true;
760
- };
790
+ }
761
791
  var defaultDeepCopyHandlers = [
762
792
  arrayDeepCopyHandler,
763
793
  plainObjDeepCopyHandler,
764
794
  functionDeepCopyHandler,
765
795
  dateDeepCopyHandler
766
796
  ];
797
+ /*#__NO_SIDE_EFFECTS__*/
767
798
  function _getSetVisited(visitMap, source, newPath, cb) {
768
799
  var theEntry;
769
800
  arrForEach(visitMap, function (entry) {
@@ -823,12 +854,12 @@ function _deepCopy(visitMap, value, ctx, key) {
823
854
  });
824
855
  var idx = 0;
825
856
  var handler = userHandler;
826
- while (!fnCall(handler || (idx < defaultDeepCopyHandlers.length ? defaultDeepCopyHandlers[idx++] : _defaultDeepCopyHandler), ctx, details)) {
857
+ while (!(handler || (idx < defaultDeepCopyHandlers.length ? defaultDeepCopyHandlers[idx++] : _defaultDeepCopyHandler))[CALL](ctx, details)) {
827
858
  handler = NULL_VALUE;
828
859
  }
829
860
  });
830
861
  }
831
- if (userHandler && fnCall(userHandler, ctx, details)) {
862
+ if (userHandler && userHandler[CALL](ctx, details)) {
832
863
  return details.result;
833
864
  }
834
865
  return value;
@@ -849,6 +880,7 @@ function objCopyProps(target, source, handler) {
849
880
  };
850
881
  return _copyProps([], target, source, ctx);
851
882
  }
883
+ /*#__NO_SIDE_EFFECTS__*/
852
884
  function objDeepCopy(source, handler) {
853
885
  var ctx = {
854
886
  handler: handler,
@@ -897,16 +929,19 @@ function _doExtend(target, theArgs) {
897
929
  return target;
898
930
  }
899
931
  function deepExtend(target, obj1, obj2, obj3, obj4, obj5, obj6) {
900
- return _doExtend(objDeepCopy(target) || {}, arrSlice(arguments));
932
+ return _doExtend(objDeepCopy(target) || {}, ArrSlice[CALL](arguments));
901
933
  }
902
934
 
903
- var getLength = _unwrapProp(LENGTH);
935
+ var getLength = ( /*#__PURE__*/_unwrapProp(LENGTH));
904
936
 
905
937
  var _perf;
938
+ /*#__NO_SIDE_EFFECTS__*/
906
939
  function getPerformance() {
907
- (!_perf || (!_perf.b && _globalLazyTestHooks && _globalLazyTestHooks.lzy)) && (_perf = lazySafeGetInst("performance"));
940
+ !_globalLazyTestHooks && _initTestHooks();
941
+ (!_perf || (!_perf.b && _globalLazyTestHooks.lzy)) && (_perf = lazySafeGetInst("performance"));
908
942
  return _perf.v;
909
943
  }
944
+ /*#__NO_SIDE_EFFECTS__*/
910
945
  function perfNow() {
911
946
  var perf = getPerformance();
912
947
  if (perf && perf.now) {
@@ -915,70 +950,76 @@ function perfNow() {
915
950
  return utcNow();
916
951
  }
917
952
 
918
- var strEndsWith = _unwrapFunctionWithPoly("endsWith", StrProto, polyStrEndsWith);
953
+ var strEndsWith = ( /*#__PURE__*/_unwrapFunctionWithPoly("endsWith", StrProto, polyStrEndsWith));
954
+ /*#__NO_SIDE_EFFECTS__*/
919
955
  function polyStrEndsWith(value, searchString, length) {
920
956
  if (!isString(value)) {
921
957
  throwTypeError("'" + dumpObj(value) + "' is not a string");
922
958
  }
923
959
  var searchValue = isString(searchString) ? searchString : asString(searchString);
924
- var chkLen = searchValue[LENGTH];
925
- var len = value[LENGTH];
926
- var end = !isUndefined(length) && length < len ? length : len;
927
- return strSubstring(value, end - chkLen, end) === searchValue;
960
+ var end = !isUndefined(length) && length < value[LENGTH] ? length : value[LENGTH];
961
+ return strSubstring(value, end - searchValue[LENGTH], end) === searchValue;
928
962
  }
929
963
 
930
- var strIndexOf = _unwrapFunction(INDEX_OF, StrProto);
964
+ var strIndexOf = ( /*#__PURE__*/_unwrapFunction("indexOf", StrProto));
965
+
966
+ var strStartsWith = ( /*#__PURE__*/_unwrapFunctionWithPoly("startsWith", StrProto, polyStrStartsWith));
967
+ /*#__NO_SIDE_EFFECTS__*/
968
+ function polyStrStartsWith(value, searchString, position) {
969
+ if (!isString(value)) {
970
+ throwTypeError("'" + dumpObj(value) + "' is not a string");
971
+ }
972
+ var searchValue = isString(searchString) ? searchString : asString(searchString);
973
+ var pos = position > 0 ? position : 0;
974
+ return strSubstring(value, pos, pos + searchValue[LENGTH]) === searchValue;
975
+ }
931
976
 
932
977
  var REF = "ref";
933
- var UNREF = "un" + REF;
978
+ var UNREF = "unref";
934
979
  var HAS_REF = "hasRef";
935
980
  var ENABLED = "enabled";
981
+ /*#__NO_SIDE_EFFECTS__*/
936
982
  function _createTimerHandler(startTimer, refreshFn, cancelFn) {
937
- var _a;
938
983
  var ref = true;
939
984
  var timerId = startTimer ? refreshFn(NULL_VALUE) : NULL_VALUE;
940
985
  var theTimerHandler;
941
- var _unref = function () {
986
+ function _unref() {
942
987
  ref = false;
943
988
  timerId && timerId[UNREF] && timerId[UNREF]();
944
989
  return theTimerHandler;
945
- };
946
- var _ref = function () {
947
- ref = true;
948
- timerId && timerId[REF] && timerId[REF]();
990
+ }
991
+ function _cancel() {
992
+ timerId && cancelFn(timerId);
993
+ timerId = NULL_VALUE;
994
+ }
995
+ function _refresh() {
996
+ timerId = refreshFn(timerId);
997
+ if (!ref) {
998
+ _unref();
999
+ }
949
1000
  return theTimerHandler;
1001
+ }
1002
+ function _setEnabled(value) {
1003
+ !value && timerId && _cancel();
1004
+ value && !timerId && _refresh();
1005
+ }
1006
+ theTimerHandler = {
1007
+ cancel: _cancel,
1008
+ refresh: _refresh
950
1009
  };
951
- var _hasRef = function () {
1010
+ theTimerHandler[HAS_REF] = function () {
952
1011
  if (timerId && timerId[HAS_REF]) {
953
1012
  return timerId[HAS_REF]();
954
1013
  }
955
1014
  return ref;
956
1015
  };
957
- var _refresh = function () {
958
- timerId = refreshFn(timerId);
959
- if (!ref) {
960
- _unref();
961
- }
1016
+ theTimerHandler[REF] = function () {
1017
+ ref = true;
1018
+ timerId && timerId[REF] && timerId[REF]();
962
1019
  return theTimerHandler;
963
1020
  };
964
- var _cancel = function () {
965
- timerId && cancelFn(timerId);
966
- timerId = NULL_VALUE;
967
- };
968
- var _setEnabled = function (value) {
969
- !value && timerId && _cancel();
970
- value && !timerId && _refresh();
971
- };
972
- theTimerHandler = (_a = {
973
- cancel: _cancel,
974
- refresh: _refresh
975
- },
976
- _a[HAS_REF] = _hasRef,
977
- _a[REF] = _ref,
978
- _a[UNREF] = _unref,
979
- _a[ENABLED] = false,
980
- _a);
981
- objDefineProp(theTimerHandler, ENABLED, {
1021
+ theTimerHandler[UNREF] = _unref;
1022
+ theTimerHandler = objDefineProp(theTimerHandler, ENABLED, {
982
1023
  get: function () { return !!timerId; },
983
1024
  set: _setEnabled
984
1025
  });
@@ -990,7 +1031,7 @@ function _createTimerHandler(startTimer, refreshFn, cancelFn) {
990
1031
  };
991
1032
  }
992
1033
 
993
- function _createTimeoutWith(self, startTimer, overrideFn, theArgs) {
1034
+ function _createTimeoutWith(startTimer, overrideFn, theArgs) {
994
1035
  var isArr = isArray(overrideFn);
995
1036
  var len = isArr ? overrideFn.length : 0;
996
1037
  var setFn = (len > 0 ? overrideFn[0] : (!isArr ? overrideFn : UNDEF_VALUE)) || setTimeout;
@@ -998,7 +1039,7 @@ function _createTimeoutWith(self, startTimer, overrideFn, theArgs) {
998
1039
  var timerFn = theArgs[0];
999
1040
  theArgs[0] = function () {
1000
1041
  handler.dn();
1001
- fnApply(timerFn, self, arrSlice(arguments));
1042
+ fnApply(timerFn, UNDEF_VALUE, ArrSlice[CALL](arguments));
1002
1043
  };
1003
1044
  var handler = _createTimerHandler(startTimer, function (timerId) {
1004
1045
  if (timerId) {
@@ -1006,19 +1047,19 @@ function _createTimeoutWith(self, startTimer, overrideFn, theArgs) {
1006
1047
  timerId.refresh();
1007
1048
  return timerId;
1008
1049
  }
1009
- fnApply(clearFn, self, [timerId]);
1050
+ fnApply(clearFn, UNDEF_VALUE, [timerId]);
1010
1051
  }
1011
- return fnApply(setFn, self, theArgs);
1052
+ return fnApply(setFn, UNDEF_VALUE, theArgs);
1012
1053
  }, function (timerId) {
1013
- fnApply(clearFn, self, [timerId]);
1054
+ fnApply(clearFn, UNDEF_VALUE, [timerId]);
1014
1055
  });
1015
1056
  return handler.h;
1016
1057
  }
1017
1058
  function scheduleTimeout(callback, timeout) {
1018
- return _createTimeoutWith(this, true, UNDEF_VALUE, arrSlice(arguments));
1059
+ return _createTimeoutWith(true, UNDEF_VALUE, ArrSlice[CALL](arguments));
1019
1060
  }
1020
1061
  function createTimeout(callback, timeout) {
1021
- return _createTimeoutWith(this, false, UNDEF_VALUE, arrSlice(arguments));
1062
+ return _createTimeoutWith(false, UNDEF_VALUE, ArrSlice[CALL](arguments));
1022
1063
  }
1023
1064
 
1024
1065
  var createEnumStyle = createEnum;
@@ -1050,16 +1091,16 @@ var _DYN_HDLR = "hdlr";
1050
1091
  var _DYN_CANCEL = "cancel";
1051
1092
  var _DYN_INITIALIZE = "initialize";
1052
1093
  var _DYN_IDENTIFIER = "identifier";
1094
+ var _DYN_REMOVE_NOTIFICATION_0 = "removeNotificationListener";
1095
+ var _DYN_ADD_NOTIFICATION_LIS1 = "addNotificationListener";
1053
1096
  var _DYN_IS_INITIALIZED = "isInitialized";
1097
+ var _DYN_GET_NOTIFY_MGR = "getNotifyMgr";
1054
1098
  var _DYN_GET_PLUGIN = "getPlugin";
1055
1099
  var _DYN_POLL_INTERNAL_LOGS = "pollInternalLogs";
1056
1100
  var _DYN_NAME = "name";
1057
1101
  var _DYN_TIME = "time";
1058
1102
  var _DYN_PROCESS_NEXT = "processNext";
1059
- var _DYN_GET_PROCESS_TEL_CONT0 = "getProcessTelContext";
1060
- var _DYN_GET_NOTIFY_MGR = "getNotifyMgr";
1061
- var _DYN_ADD_NOTIFICATION_LIS1 = "addNotificationListener";
1062
- var _DYN_REMOVE_NOTIFICATION_2 = "removeNotificationListener";
1103
+ var _DYN_GET_PROCESS_TEL_CONT2 = "getProcessTelContext";
1063
1104
  var _DYN_ENABLED = "enabled";
1064
1105
  var _DYN_STOP_POLLING_INTERNA3 = "stopPollingInternalLogs";
1065
1106
  var _DYN_UNLOAD = "unload";
@@ -1113,8 +1154,6 @@ var strShimUndefined = "undefined";
1113
1154
  var strShimPrototype = "prototype";
1114
1155
  var ObjClass = Object;
1115
1156
 
1116
- (getGlobal() || {})["Symbol"];
1117
- (getGlobal() || {})["Reflect"];
1118
1157
  var strHasOwnProperty = "hasOwnProperty";
1119
1158
  var extendStaticsFn = function (d, b) {
1120
1159
  extendStaticsFn = ObjClass["setPrototypeOf"] ||
@@ -1217,13 +1256,13 @@ function _forEachProp(target, func) {
1217
1256
  }
1218
1257
  }
1219
1258
  function _isDynamicCandidate(target, funcName, skipOwn) {
1220
- return (funcName !== Constructor && typeof target[funcName] === strFunction && (skipOwn || objHasOwnProperty(target, funcName)));
1259
+ return (funcName !== Constructor && typeof target[funcName] === strFunction && (skipOwn || objHasOwnProperty(target, funcName)) && funcName !== str__Proto && funcName !== Prototype);
1221
1260
  }
1222
1261
  function _throwTypeError(message) {
1223
1262
  throwTypeError("DynamicProto: " + message);
1224
1263
  }
1225
1264
  function _getInstanceFuncs(thisTarget) {
1226
- var instFuncs = {};
1265
+ var instFuncs = objCreate(null);
1227
1266
  _forEachProp(thisTarget, function (name) {
1228
1267
  if (!instFuncs[name] && _isDynamicCandidate(thisTarget, name, false)) {
1229
1268
  instFuncs[name] = thisTarget[name];
@@ -1252,7 +1291,7 @@ function _getBaseFuncs(classProto, thisTarget, instFuncs, useBaseInst) {
1252
1291
  return theFunc.apply(target, arguments);
1253
1292
  };
1254
1293
  }
1255
- var baseFuncs = {};
1294
+ var baseFuncs = objCreate(null);
1256
1295
  _forEachProp(instFuncs, function (name) {
1257
1296
  baseFuncs[name] = _instFuncProxy(thisTarget, instFuncs, name);
1258
1297
  });
@@ -1272,8 +1311,8 @@ function _getBaseFuncs(classProto, thisTarget, instFuncs, useBaseInst) {
1272
1311
  function _getInstFunc(target, funcName, proto, currentDynProtoProxy) {
1273
1312
  var instFunc = null;
1274
1313
  if (target && objHasOwnProperty(proto, DynClassName)) {
1275
- var instFuncTable = target[DynInstFuncTable] || {};
1276
- instFunc = (instFuncTable[proto[DynClassName]] || {})[funcName];
1314
+ var instFuncTable = target[DynInstFuncTable] || objCreate(null);
1315
+ instFunc = (instFuncTable[proto[DynClassName]] || objCreate(null))[funcName];
1277
1316
  if (!instFunc) {
1278
1317
  _throwTypeError("Missing [" + funcName + "] " + strFunction);
1279
1318
  }
@@ -1323,20 +1362,24 @@ function _populatePrototype(proto, className, target, baseInstFuncs, setInstance
1323
1362
  return dynProtoProxy;
1324
1363
  }
1325
1364
  if (!_isObjectOrArrayPrototype(proto)) {
1326
- var instFuncTable = target[DynInstFuncTable] = target[DynInstFuncTable] || {};
1327
- var instFuncs_1 = instFuncTable[className] = (instFuncTable[className] || {});
1328
- if (instFuncTable[DynAllowInstChkTag] !== false) {
1329
- instFuncTable[DynAllowInstChkTag] = !!setInstanceFunc;
1330
- }
1331
- _forEachProp(target, function (name) {
1332
- if (_isDynamicCandidate(target, name, false) && target[name] !== baseInstFuncs[name]) {
1333
- instFuncs_1[name] = target[name];
1334
- delete target[name];
1335
- if (!objHasOwnProperty(proto, name) || (proto[name] && !proto[name][DynProxyTag])) {
1336
- proto[name] = _createDynamicPrototype(proto, name);
1337
- }
1365
+ var instFuncTable = target[DynInstFuncTable] = target[DynInstFuncTable] || objCreate(null);
1366
+ if (!_isObjectOrArrayPrototype(instFuncTable)) {
1367
+ var instFuncs_1 = instFuncTable[className] = (instFuncTable[className] || objCreate(null));
1368
+ if (instFuncTable[DynAllowInstChkTag] !== false) {
1369
+ instFuncTable[DynAllowInstChkTag] = !!setInstanceFunc;
1370
+ }
1371
+ if (!_isObjectOrArrayPrototype(instFuncs_1)) {
1372
+ _forEachProp(target, function (name) {
1373
+ if (_isDynamicCandidate(target, name, false) && target[name] !== baseInstFuncs[name]) {
1374
+ instFuncs_1[name] = target[name];
1375
+ delete target[name];
1376
+ if (!objHasOwnProperty(proto, name) || (proto[name] && !proto[name][DynProxyTag])) {
1377
+ proto[name] = _createDynamicPrototype(proto, name);
1378
+ }
1379
+ }
1380
+ });
1338
1381
  }
1339
- });
1382
+ }
1340
1383
  }
1341
1384
  }
1342
1385
  function _checkPrototype(classProto, thisTarget) {
@@ -1395,15 +1438,15 @@ dynamicProto[DynProtoDefaultOptions] = _gblInst.o;
1395
1438
 
1396
1439
  function doAwaitResponse(value, cb) {
1397
1440
  return doAwait(value, function (value) {
1398
- cb && cb({
1441
+ return cb ? cb({
1399
1442
  value: value,
1400
1443
  rejected: false
1401
- });
1444
+ }) : value;
1402
1445
  }, function (reason) {
1403
- cb && cb({
1446
+ return cb ? cb({
1404
1447
  rejected: true,
1405
1448
  reason: reason
1406
- });
1449
+ }) : reason;
1407
1450
  });
1408
1451
  }
1409
1452
  function doAwait(value, resolveFn, rejectFn, finallyFn) {
@@ -1414,10 +1457,12 @@ function doAwait(value, resolveFn, rejectFn, finallyFn) {
1414
1457
  }
1415
1458
  }
1416
1459
  else {
1417
- resolveFn && resolveFn(value);
1460
+ if (resolveFn) {
1461
+ result = resolveFn(value);
1462
+ }
1418
1463
  }
1419
1464
  if (finallyFn) {
1420
- result = doFinally(result, finallyFn);
1465
+ doFinally(result, finallyFn);
1421
1466
  }
1422
1467
  return result;
1423
1468
  }
@@ -2249,7 +2294,7 @@ function newId(maxLength) {
2249
2294
  return result;
2250
2295
  }
2251
2296
 
2252
- var version = '3.0.7';
2297
+ var version = '3.0.9';
2253
2298
  var instanceName = "." + newId(6);
2254
2299
  var _dataUid = 0;
2255
2300
  function _canAcceptData(target) {
@@ -2818,6 +2863,7 @@ function _createAndUseHandler(state, configHandler) {
2818
2863
  configHandler = null;
2819
2864
  }
2820
2865
  };
2866
+ objDefine(handler, "toJSON", { v: function () { return "WatcherHandler" + (handler.fn ? "" : "[X]"); } });
2821
2867
  state.use(handler, configHandler);
2822
2868
  return handler;
2823
2869
  }
@@ -3534,18 +3580,26 @@ function uaDisallowsSameSiteNone(userAgent) {
3534
3580
  var defaultValues$1 = {
3535
3581
  perfEvtsSendAll: false
3536
3582
  };
3537
- function _runListeners(listeners, name, isAsync, callback) {
3583
+ function _runScheduledListeners(asyncNotifications) {
3584
+ asyncNotifications.h = null;
3585
+ var callbacks = asyncNotifications.cb;
3586
+ asyncNotifications.cb = [];
3587
+ arrForEach(callbacks, function (cb) {
3588
+ safe(cb.fn, [cb.arg]);
3589
+ });
3590
+ }
3591
+ function _runListeners(listeners, name, asyncNotifications, callback) {
3538
3592
  arrForEach(listeners, function (listener) {
3539
3593
  if (listener && listener[name]) {
3540
- if (isAsync) {
3541
- scheduleTimeout(function () { return callback(listener); }, 0);
3594
+ if (asyncNotifications) {
3595
+ asyncNotifications.cb[_DYN_PUSH ]({
3596
+ fn: callback,
3597
+ arg: listener
3598
+ });
3599
+ asyncNotifications.h = asyncNotifications.h || scheduleTimeout(_runScheduledListeners, 0, asyncNotifications);
3542
3600
  }
3543
3601
  else {
3544
- try {
3545
- callback(listener);
3546
- }
3547
- catch (e) {
3548
- }
3602
+ safe(callback, [listener]);
3549
3603
  }
3550
3604
  }
3551
3605
  });
@@ -3556,6 +3610,10 @@ var NotificationManager = /** @class */ (function () {
3556
3610
  var perfEvtsSendAll;
3557
3611
  var unloadHandler;
3558
3612
  var _listeners = [];
3613
+ var _asyncNotifications = {
3614
+ h: null,
3615
+ cb: []
3616
+ };
3559
3617
  var cfgHandler = createDynamicConfig(config, defaultValues$1);
3560
3618
  unloadHandler = cfgHandler[_DYN_WATCH ](function (details) {
3561
3619
  perfEvtsSendAll = !!details.cfg.perfEvtsSendAll;
@@ -3567,7 +3625,7 @@ var NotificationManager = /** @class */ (function () {
3567
3625
  _self[_DYN_ADD_NOTIFICATION_LIS1 ] = function (listener) {
3568
3626
  _listeners[_DYN_PUSH ](listener);
3569
3627
  };
3570
- _self[_DYN_REMOVE_NOTIFICATION_2 ] = function (listener) {
3628
+ _self[_DYN_REMOVE_NOTIFICATION_0 ] = function (listener) {
3571
3629
  var index = arrIndexOf(_listeners, listener);
3572
3630
  while (index > -1) {
3573
3631
  _listeners[_DYN_SPLICE ](index, 1);
@@ -3575,24 +3633,24 @@ var NotificationManager = /** @class */ (function () {
3575
3633
  }
3576
3634
  };
3577
3635
  _self[STR_EVENTS_SENT ] = function (events) {
3578
- _runListeners(_listeners, STR_EVENTS_SENT, true, function (listener) {
3636
+ _runListeners(_listeners, STR_EVENTS_SENT, _asyncNotifications, function (listener) {
3579
3637
  listener[STR_EVENTS_SENT ](events);
3580
3638
  });
3581
3639
  };
3582
3640
  _self[STR_EVENTS_DISCARDED ] = function (events, reason) {
3583
- _runListeners(_listeners, STR_EVENTS_DISCARDED, true, function (listener) {
3641
+ _runListeners(_listeners, STR_EVENTS_DISCARDED, _asyncNotifications, function (listener) {
3584
3642
  listener[STR_EVENTS_DISCARDED ](events, reason);
3585
3643
  });
3586
3644
  };
3587
3645
  _self[STR_EVENTS_SEND_REQUEST ] = function (sendReason, isAsync) {
3588
- _runListeners(_listeners, STR_EVENTS_SEND_REQUEST, isAsync, function (listener) {
3646
+ _runListeners(_listeners, STR_EVENTS_SEND_REQUEST, isAsync ? _asyncNotifications : null, function (listener) {
3589
3647
  listener[STR_EVENTS_SEND_REQUEST ](sendReason, isAsync);
3590
3648
  });
3591
3649
  };
3592
3650
  _self[STR_PERF_EVENT ] = function (perfEvent) {
3593
3651
  if (perfEvent) {
3594
3652
  if (perfEvtsSendAll || !perfEvent[_DYN_IS_CHILD_EVT ]()) {
3595
- _runListeners(_listeners, STR_PERF_EVENT, false, function (listener) {
3653
+ _runListeners(_listeners, STR_PERF_EVENT, null, function (listener) {
3596
3654
  if (perfEvent[_DYN_IS_ASYNC ]) {
3597
3655
  scheduleTimeout(function () { return listener[STR_PERF_EVENT ](perfEvent); }, 0);
3598
3656
  }
@@ -3608,9 +3666,12 @@ var NotificationManager = /** @class */ (function () {
3608
3666
  unloadHandler && unloadHandler.rm();
3609
3667
  unloadHandler = null;
3610
3668
  _listeners = [];
3669
+ _asyncNotifications.h && _asyncNotifications.h[_DYN_CANCEL ]();
3670
+ _asyncNotifications.h = null;
3671
+ _asyncNotifications.cb = [];
3611
3672
  };
3612
3673
  var waiting;
3613
- _runListeners(_listeners, "unload", false, function (listener) {
3674
+ _runListeners(_listeners, "unload", null, function (listener) {
3614
3675
  var asyncUnload = listener[_DYN_UNLOAD ](isAsync);
3615
3676
  if (asyncUnload) {
3616
3677
  if (!waiting) {
@@ -4424,6 +4485,12 @@ function createUnloadHandlerContainer() {
4424
4485
  };
4425
4486
  }
4426
4487
 
4488
+ var _maxHooks;
4489
+ var _hookAddMonitor;
4490
+ function _testHookMaxUnloadHooksCb(maxHooks, addMonitor) {
4491
+ _maxHooks = maxHooks;
4492
+ _hookAddMonitor = addMonitor;
4493
+ }
4427
4494
  function createUnloadHookContainer() {
4428
4495
  var _hooks = [];
4429
4496
  function _doUnload(logger) {
@@ -4437,10 +4504,16 @@ function createUnloadHookContainer() {
4437
4504
  _throwInternal(logger, 2 , 73 , "Unloading:" + dumpObj(e));
4438
4505
  }
4439
4506
  });
4507
+ if (_maxHooks && oldHooks[_DYN_LENGTH ] > _maxHooks) {
4508
+ _hookAddMonitor ? _hookAddMonitor("doUnload", oldHooks) : _throwInternal(null, 1 , 48 , "Max unload hooks exceeded. An excessive number of unload hooks has been detected.");
4509
+ }
4440
4510
  }
4441
4511
  function _addHook(hooks) {
4442
4512
  if (hooks) {
4443
4513
  arrAppend(_hooks, hooks);
4514
+ if (_maxHooks && _hooks[_DYN_LENGTH ] > _maxHooks) {
4515
+ _hookAddMonitor ? _hookAddMonitor("Add", _hooks) : _throwInternal(null, 1 , 48 , "Max unload hooks exceeded. An excessive number of unload hooks has been detected.");
4516
+ }
4444
4517
  }
4445
4518
  }
4446
4519
  return {
@@ -4568,7 +4641,7 @@ var BaseTelemetryPlugin = /** @class */ (function () {
4568
4641
  function _setDefaults(config, core, pluginChain) {
4569
4642
  createDynamicConfig(config, defaultValues, safeGetLogger(core));
4570
4643
  if (!pluginChain && core) {
4571
- pluginChain = core[_DYN_GET_PROCESS_TEL_CONT0 ]()[_DYN_GET_NEXT ]();
4644
+ pluginChain = core[_DYN_GET_PROCESS_TEL_CONT2 ]()[_DYN_GET_NEXT ]();
4572
4645
  }
4573
4646
  var nextPlugin = _nextPlugin;
4574
4647
  if (_nextPlugin && _nextPlugin[strGetPlugin]) {
@@ -4772,6 +4845,27 @@ function _registerDelayedCfgListener(config, listeners, logger) {
4772
4845
  };
4773
4846
  });
4774
4847
  }
4848
+ function _initDebugListener(configHandler, unloadContainer, notificationManager, debugListener) {
4849
+ unloadContainer.add(configHandler[_DYN_WATCH ](function (details) {
4850
+ var disableDbgExt = details.cfg.disableDbgExt;
4851
+ if (disableDbgExt === true && debugListener) {
4852
+ notificationManager[_DYN_REMOVE_NOTIFICATION_0 ](debugListener);
4853
+ debugListener = null;
4854
+ }
4855
+ if (notificationManager && !debugListener && disableDbgExt !== true) {
4856
+ debugListener = getDebugListener(details.cfg);
4857
+ notificationManager[_DYN_ADD_NOTIFICATION_LIS1 ](debugListener);
4858
+ }
4859
+ }));
4860
+ return debugListener;
4861
+ }
4862
+ function _createUnloadHook(unloadHook) {
4863
+ return objDefine({
4864
+ rm: function () {
4865
+ unloadHook.rm();
4866
+ }
4867
+ }, "toJSON", { v: function () { return "aicore::onCfgChange<" + JSON.stringify(unloadHook) + ">"; } });
4868
+ }
4775
4869
  var AppInsightsCore = /** @class */ (function () {
4776
4870
  function AppInsightsCore() {
4777
4871
  var _configHandler;
@@ -4828,7 +4922,7 @@ var AppInsightsCore = /** @class */ (function () {
4828
4922
  }
4829
4923
  }));
4830
4924
  _notificationManager = notificationManager;
4831
- _initDebugListener();
4925
+ _debugListener = _initDebugListener(_configHandler, _hookContainer, _notificationManager && _self[_DYN_GET_NOTIFY_MGR ](), _debugListener);
4832
4926
  _initPerfManager();
4833
4927
  _self[_DYN_LOGGER ] = logger;
4834
4928
  var cfgExtensions = config[STR_EXTENSIONS ];
@@ -4881,7 +4975,7 @@ var AppInsightsCore = /** @class */ (function () {
4881
4975
  }
4882
4976
  }, function () { return ({ item: telemetryItem }); }, !(telemetryItem.sync));
4883
4977
  };
4884
- _self[_DYN_GET_PROCESS_TEL_CONT0 ] = _createTelCtx;
4978
+ _self[_DYN_GET_PROCESS_TEL_CONT2 ] = _createTelCtx;
4885
4979
  _self[_DYN_GET_NOTIFY_MGR ] = function () {
4886
4980
  if (!_notificationManager) {
4887
4981
  _notificationManager = new NotificationManager(_configHandler.cfg);
@@ -4890,11 +4984,11 @@ var AppInsightsCore = /** @class */ (function () {
4890
4984
  return _notificationManager;
4891
4985
  };
4892
4986
  _self[_DYN_ADD_NOTIFICATION_LIS1 ] = function (listener) {
4893
- _self[_DYN_GET_NOTIFY_MGR ]()[_DYN_ADD_NOTIFICATION_LIS1 ](listener);
4987
+ _self.getNotifyMgr()[_DYN_ADD_NOTIFICATION_LIS1 ](listener);
4894
4988
  };
4895
- _self[_DYN_REMOVE_NOTIFICATION_2 ] = function (listener) {
4989
+ _self[_DYN_REMOVE_NOTIFICATION_0 ] = function (listener) {
4896
4990
  if (_notificationManager) {
4897
- _notificationManager[_DYN_REMOVE_NOTIFICATION_2 ](listener);
4991
+ _notificationManager[_DYN_REMOVE_NOTIFICATION_0 ](listener);
4898
4992
  }
4899
4993
  };
4900
4994
  _self.getCookieMgr = function () {
@@ -4910,16 +5004,6 @@ var AppInsightsCore = /** @class */ (function () {
4910
5004
  }
4911
5005
  };
4912
5006
  _self[STR_GET_PERF_MGR ] = function () {
4913
- if (!_perfManager && !_cfgPerfManager) {
4914
- _addUnloadHook(_configHandler[_DYN_WATCH ](function (details) {
4915
- if (details.cfg.enablePerfMgr) {
4916
- var createPerfMgr = details.cfg[STR_CREATE_PERF_MGR ];
4917
- if (isFunction(createPerfMgr)) {
4918
- _cfgPerfManager = createPerfMgr(_self, _self[_DYN_GET_NOTIFY_MGR ]());
4919
- }
4920
- }
4921
- }));
4922
- }
4923
5007
  return _perfManager || _cfgPerfManager || getGblPerfMgr();
4924
5008
  };
4925
5009
  _self.setPerfMgr = function (perfMgr) {
@@ -5114,11 +5198,7 @@ var AppInsightsCore = /** @class */ (function () {
5114
5198
  else {
5115
5199
  unloadHook = onConfigChange(_configHandler.cfg, handler, _self[_DYN_LOGGER ]);
5116
5200
  }
5117
- return {
5118
- rm: function () {
5119
- unloadHook.rm();
5120
- }
5121
- };
5201
+ return _createUnloadHook(unloadHook);
5122
5202
  };
5123
5203
  _self.getWParam = function () {
5124
5204
  return (hasDocument() || !!_configHandler.cfg.enableWParam) ? 0 : -1;
@@ -5218,6 +5298,8 @@ var AppInsightsCore = /** @class */ (function () {
5218
5298
  _pluginVersionString = null;
5219
5299
  _pluginVersionStringArr = null;
5220
5300
  _forceStopInternalLogPoller = false;
5301
+ _internalLogPoller = null;
5302
+ _internalLogPollerListening = false;
5221
5303
  }
5222
5304
  function _createTelCtx() {
5223
5305
  var theCtx = createProcessTelemetryContext(_getPluginChain(), _configHandler.cfg, _self);
@@ -5412,28 +5494,27 @@ var AppInsightsCore = /** @class */ (function () {
5412
5494
  doCallback();
5413
5495
  return true;
5414
5496
  }
5415
- function _initDebugListener() {
5416
- !_notificationManager && _self[_DYN_GET_NOTIFY_MGR ]();
5417
- _addUnloadHook(_configHandler[_DYN_WATCH ](function (details) {
5418
- var disableDbgExt = details.cfg.disableDbgExt;
5419
- if (disableDbgExt === true && _debugListener) {
5420
- _notificationManager[_DYN_REMOVE_NOTIFICATION_2 ](_debugListener);
5421
- _debugListener = null;
5422
- }
5423
- if (_notificationManager && !_debugListener && disableDbgExt !== true) {
5424
- _debugListener = getDebugListener(details.cfg);
5425
- _notificationManager[_DYN_ADD_NOTIFICATION_LIS1 ](_debugListener);
5426
- }
5427
- }));
5428
- }
5429
5497
  function _initPerfManager() {
5498
+ var prevCfgPerfMgr;
5430
5499
  _addUnloadHook(_configHandler[_DYN_WATCH ](function (details) {
5431
5500
  var enablePerfMgr = details.cfg.enablePerfMgr;
5432
- if (!enablePerfMgr && _cfgPerfManager) {
5433
- _cfgPerfManager = null;
5434
- }
5435
5501
  if (enablePerfMgr) {
5436
- getSetValue(details.cfg, STR_CREATE_PERF_MGR, _createPerfManager);
5502
+ var createPerfMgr = details.cfg[STR_CREATE_PERF_MGR ];
5503
+ if (prevCfgPerfMgr !== createPerfMgr) {
5504
+ if (!createPerfMgr) {
5505
+ createPerfMgr = _createPerfManager;
5506
+ }
5507
+ getSetValue(details.cfg, STR_CREATE_PERF_MGR, createPerfMgr);
5508
+ prevCfgPerfMgr = createPerfMgr;
5509
+ _cfgPerfManager = null;
5510
+ }
5511
+ if (!_perfManager && !_cfgPerfManager && isFunction(createPerfMgr)) {
5512
+ _cfgPerfManager = createPerfMgr(_self, _self[_DYN_GET_NOTIFY_MGR ]());
5513
+ }
5514
+ }
5515
+ else {
5516
+ _cfgPerfManager = null;
5517
+ prevCfgPerfMgr = null;
5437
5518
  }
5438
5519
  }));
5439
5520
  }
@@ -5983,6 +6064,7 @@ exports.Undefined = Undefined;
5983
6064
  exports._InternalLogMessage = _InternalLogMessage;
5984
6065
  exports.__getRegisteredEvents = __getRegisteredEvents;
5985
6066
  exports._logInternalMessage = _logInternalMessage;
6067
+ exports._testHookMaxUnloadHooksCb = _testHookMaxUnloadHooksCb;
5986
6068
  exports._throwInternal = _throwInternal;
5987
6069
  exports._warnToConsole = _warnToConsole;
5988
6070
  exports.addEventHandler = addEventHandler;