@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,5 +1,5 @@
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) {
@@ -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_0_7", msMod="__ms$mod__";
11
- var mods={}, modDetail=mods[modName]={}, ver="3.0.7";
10
+ var nsKey, key, nm, theExports = {}, modName = "es5_applicationinsights_core_js_3_0_9", msMod="__ms$mod__";
11
+ var mods={}, modDetail=mods[modName]={}, ver="3.0.9";
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,18 @@ 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";
48
+ var CALL = "call";
49
+ var TO_STRING = "toString";
55
50
  var ObjClass$1 = Object;
56
51
  var ObjProto = ObjClass$1[PROTOTYPE];
57
52
  var StrCls = String;
@@ -59,52 +54,71 @@ var StrProto = StrCls[PROTOTYPE];
59
54
  var MathCls = Math;
60
55
  var ArrCls = Array;
61
56
  var ArrProto = ArrCls[PROTOTYPE];
57
+ var ArrSlice = ArrProto["slice"];
62
58
 
63
- function safeGet(cb, defValue) {
64
- var result = defValue;
59
+ function safe(func, argArray) {
65
60
  try {
66
- result = cb();
61
+ return {
62
+ v: func.apply(this, argArray)
63
+ };
67
64
  }
68
65
  catch (e) {
66
+ return { e: e };
69
67
  }
70
- return result;
71
68
  }
72
69
 
73
- var PRIMITIVE_TYPES = [STRING, NUMBER, BOOLEAN, UNDEFINED, "symbol", "bigint"];
70
+ /*#__NO_SIDE_EFFECTS__*/
71
+ function safeGet(cb, defValue) {
72
+ var result = safe(cb);
73
+ return result.e ? defValue : result.v;
74
+ }
75
+
76
+ var _primitiveTypes;
77
+ /*#__NO_SIDE_EFFECTS__*/
74
78
  function _createIs(theType) {
75
79
  return function (value) {
76
80
  return typeof value === theType;
77
81
  };
78
82
  }
83
+ /*#__NO_SIDE_EFFECTS__*/
79
84
  function _createObjIs(theName) {
80
85
  var theType = "[object " + theName + "]";
81
86
  return function (value) {
82
87
  return !!(value && objToString(value) === theType);
83
88
  };
84
89
  }
90
+ /*#__NO_SIDE_EFFECTS__*/
85
91
  function objToString(value) {
86
92
  return ObjProto.toString.call(value);
87
93
  }
94
+ /*#__NO_SIDE_EFFECTS__*/
88
95
  function isTypeof(value, theType) {
89
96
  return typeof value === theType;
90
97
  }
98
+ /*#__NO_SIDE_EFFECTS__*/
91
99
  function isUndefined(value) {
92
100
  return typeof value === UNDEFINED || value === UNDEFINED;
93
101
  }
102
+ /*#__NO_SIDE_EFFECTS__*/
94
103
  function isNullOrUndefined(value) {
95
104
  return value === NULL_VALUE || isUndefined(value);
96
105
  }
106
+ /*#__NO_SIDE_EFFECTS__*/
97
107
  function isStrictNullOrUndefined(value) {
98
108
  return value === NULL_VALUE || !isDefined(value);
99
109
  }
110
+ /*#__NO_SIDE_EFFECTS__*/
100
111
  function isDefined(arg) {
101
112
  return !!arg || arg !== UNDEF_VALUE;
102
113
  }
103
- var isPrimitiveType = function (theType) {
104
- return theType !== OBJECT && PRIMITIVE_TYPES.indexOf(theType) !== -1;
105
- };
106
- var isString = _createIs(STRING);
107
- var isFunction = _createIs(FUNCTION);
114
+ /*#__NO_SIDE_EFFECTS__*/
115
+ function isPrimitiveType(theType) {
116
+ !_primitiveTypes && (_primitiveTypes = ["string", "number", "boolean", UNDEFINED, "symbol", "bigint"]);
117
+ return theType !== OBJECT && _primitiveTypes.indexOf(theType) !== -1;
118
+ }
119
+ var isString = ( /*#__PURE__*/_createIs("string"));
120
+ var isFunction = ( /*#__PURE__*/_createIs(FUNCTION));
121
+ /*#__NO_SIDE_EFFECTS__*/
108
122
  function isObject(value) {
109
123
  if (!value && isNullOrUndefined(value)) {
110
124
  return false;
@@ -112,27 +126,32 @@ function isObject(value) {
112
126
  return !!value && typeof value === OBJECT;
113
127
  }
114
128
  var isArray = ArrCls.isArray;
115
- var isDate = _createObjIs("Date");
116
- var isNumber = _createIs(NUMBER);
117
- var isBoolean = _createIs(BOOLEAN);
118
- var isError = _createObjIs("Error");
129
+ var isDate = ( /*#__PURE__*/_createObjIs("Date"));
130
+ var isNumber = ( /*#__PURE__*/_createIs("number"));
131
+ var isBoolean = ( /*#__PURE__*/_createIs("boolean"));
132
+ var isError = ( /*#__PURE__*/_createObjIs("Error"));
133
+ /*#__NO_SIDE_EFFECTS__*/
119
134
  function isPromiseLike(value) {
120
- return !!value && isFunction(value.then);
135
+ return !!(value && value.then && isFunction(value.then));
121
136
  }
137
+ /*#__NO_SIDE_EFFECTS__*/
122
138
  function isNotTruthy(value) {
123
- return !value || !safeGet(function () { return (value && (0 + value)); }, value);
139
+ return !value || !isTruthy(value);
124
140
  }
141
+ /*#__NO_SIDE_EFFECTS__*/
125
142
  function isTruthy(value) {
126
143
  return !(!value || safeGet(function () { return !(value && (0 + value)); }, !value));
127
144
  }
128
145
 
129
146
  var objGetOwnPropertyDescriptor = ObjClass$1.getOwnPropertyDescriptor;
130
147
 
148
+ /*#__NO_SIDE_EFFECTS__*/
131
149
  function objHasOwnProperty(obj, prop) {
132
- return obj && ObjProto.hasOwnProperty.call(obj, prop);
150
+ return !!obj && ObjProto.hasOwnProperty[CALL](obj, prop);
133
151
  }
134
152
 
135
153
  var objHasOwn = ObjClass$1["hasOwn"] || polyObjHasOwn;
154
+ /*#__NO_SIDE_EFFECTS__*/
136
155
  function polyObjHasOwn(obj, prop) {
137
156
  return objHasOwnProperty(obj, prop) || !!objGetOwnPropertyDescriptor(obj, prop);
138
157
  }
@@ -141,7 +160,7 @@ function objForEachKey(theObject, callbackfn, thisArg) {
141
160
  if (theObject && isObject(theObject)) {
142
161
  for (var prop in theObject) {
143
162
  if (objHasOwn(theObject, prop)) {
144
- if (callbackfn.call(thisArg || theObject, prop, theObject[prop]) === -1) {
163
+ if (callbackfn[CALL](thisArg || theObject, prop, theObject[prop]) === -1) {
145
164
  break;
146
165
  }
147
166
  }
@@ -149,6 +168,7 @@ function objForEachKey(theObject, callbackfn, thisArg) {
149
168
  }
150
169
  }
151
170
 
171
+ /*#__NO_SIDE_EFFECTS__*/
152
172
  function _createKeyValueMap(values, keyType, valueType, completeFn) {
153
173
  var theMap = {};
154
174
  objForEachKey(values, function (key, value) {
@@ -166,15 +186,15 @@ function throwTypeError(message) {
166
186
  }
167
187
 
168
188
  var _objFreeze = ObjClass$1["freeze"];
169
- var _doNothing = function (value) { return value; };
170
- var _getProto = function (value) { return value[__PROTO__] || NULL_VALUE; };
171
- var objAssign = ObjClass$1["assign"];
172
- function objKeys(value) {
173
- if (!isObject(value) || value === NULL_VALUE) {
174
- throwTypeError("objKeys called on non-object");
175
- }
176
- return ObjClass$1.keys(value);
189
+ function _doNothing(value) {
190
+ return value;
177
191
  }
192
+ /*#__NO_SIDE_EFFECTS__*/
193
+ function _getProto(value) {
194
+ return value[__PROTO__] || NULL_VALUE;
195
+ }
196
+ var objAssign = ObjClass$1["assign"];
197
+ var objKeys = ObjClass$1.keys;
178
198
  function objDeepFreeze(value) {
179
199
  if (_objFreeze) {
180
200
  objForEachKey(value, function (key, value) {
@@ -189,12 +209,15 @@ var objFreeze = _objFreeze || _doNothing;
189
209
  var objSeal = ObjClass$1["seal"] || _doNothing;
190
210
  var objGetPrototypeOf = ObjClass$1["getPrototypeOf"] || _getProto;
191
211
 
212
+ /*#__NO_SIDE_EFFECTS__*/
192
213
  function createEnum(values) {
193
214
  return _createKeyValueMap(values, 1 , 0 , objDeepFreeze);
194
215
  }
216
+ /*#__NO_SIDE_EFFECTS__*/
195
217
  function createEnumKeyMap(values) {
196
218
  return _createKeyValueMap(values, 0 , 0 , objDeepFreeze);
197
219
  }
220
+ /*#__NO_SIDE_EFFECTS__*/
198
221
  function createSimpleMap(values) {
199
222
  var mapClass = {};
200
223
  objForEachKey(values, function (key, value) {
@@ -203,11 +226,12 @@ function createSimpleMap(values) {
203
226
  });
204
227
  return objDeepFreeze(mapClass);
205
228
  }
229
+ /*#__NO_SIDE_EFFECTS__*/
206
230
  function createTypeMap(values) {
207
231
  return createSimpleMap(values);
208
232
  }
209
233
 
210
- var _wellKnownSymbolMap = createEnumKeyMap({
234
+ var _wellKnownSymbolMap = /*#__PURE__*/ createEnumKeyMap({
211
235
  asyncIterator: 0 ,
212
236
  hasInstance: 1 ,
213
237
  isConcatSpreadable: 2 ,
@@ -227,6 +251,7 @@ var asString = StrCls;
227
251
 
228
252
  var GLOBAL_CONFIG_KEY = "__tsUtils$gblCfg";
229
253
  var _globalCfg;
254
+ /*#__NO_SIDE_EFFECTS__*/
230
255
  function _getGlobalValue() {
231
256
  var result;
232
257
  if (typeof globalThis !== UNDEFINED) {
@@ -243,60 +268,47 @@ function _getGlobalValue() {
243
268
  }
244
269
  return result;
245
270
  }
271
+ /*#__NO_SIDE_EFFECTS__*/
246
272
  function _getGlobalConfig() {
247
273
  if (!_globalCfg) {
248
- var gbl = _getGlobalValue() || {};
274
+ var gbl = safe(_getGlobalValue).v || {};
249
275
  _globalCfg = gbl[GLOBAL_CONFIG_KEY] = gbl[GLOBAL_CONFIG_KEY] || {};
250
276
  }
251
277
  return _globalCfg;
252
278
  }
253
279
 
280
+ var ERROR_TYPE = "[object Error]";
281
+ /*#__NO_SIDE_EFFECTS__*/
254
282
  function dumpObj(object, format) {
255
283
  var propertyValueDump = EMPTY;
256
- if (isError(object)) {
257
- propertyValueDump = "{ stack: '" + object.stack + "', message: '" + object.message + "', name: '" + object.name + "'";
284
+ var objType = ObjProto[TO_STRING][CALL](object);
285
+ if (objType === ERROR_TYPE) {
286
+ object = { stack: asString(object.stack), message: asString(object.message), name: asString(object.name) };
258
287
  }
259
- else {
260
- try {
261
- propertyValueDump = JSON.stringify(object, NULL_VALUE, format ? (isNumber(format) ? format : 4) : UNDEF_VALUE);
262
- }
263
- catch (e) {
264
- propertyValueDump = " - " + dumpObj(e, format);
265
- }
288
+ try {
289
+ propertyValueDump = JSON.stringify(object, NULL_VALUE, format ? ((typeof format === "number") ? format : 4) : UNDEF_VALUE);
290
+ propertyValueDump = (propertyValueDump && propertyValueDump.replace(/"(\w+)"\s*:\s{0,1}/g, "$1: ")) || asString(object);
291
+ }
292
+ catch (e) {
293
+ propertyValueDump = " - " + dumpObj(e, format);
266
294
  }
267
- return objToString(object) + ": " + propertyValueDump;
295
+ return objType + ": " + propertyValueDump;
268
296
  }
269
297
 
270
- var _arrSlice = ArrProto[SLICE];
271
- var _throwMissingFunction = function (funcName, thisArg) {
272
- throwTypeError("'" + asString(funcName) + "' not defined for " + dumpObj(thisArg));
273
- };
274
- var _unwrapInstFunction = function (funcName) {
275
- return function (thisArg) {
276
- return thisArg[funcName].apply(thisArg, _arrSlice.call(arguments, 1));
277
- };
278
- };
279
- var _unwrapFunction = function (funcName, clsProto) {
280
- var clsFn = clsProto && clsProto[funcName];
281
- return function (thisArg) {
282
- var theFunc = (thisArg && thisArg[funcName]) || clsFn;
283
- if (theFunc) {
284
- return theFunc.apply(thisArg, _arrSlice.call(arguments, 1));
285
- }
286
- _throwMissingFunction(funcName, thisArg);
287
- };
288
- };
289
- var _unwrapFunctionWithPoly = function (funcName, clsProto, polyFunc) {
298
+ var _unwrapFunction = _unwrapFunctionWithPoly;
299
+ /*#__NO_SIDE_EFFECTS__*/
300
+ function _unwrapFunctionWithPoly(funcName, clsProto, polyFunc) {
290
301
  var clsFn = clsProto && clsProto[funcName];
291
302
  return function (thisArg) {
292
303
  var theFunc = (thisArg && thisArg[funcName]) || clsFn;
293
304
  if (theFunc || polyFunc) {
294
305
  var theArgs = arguments;
295
- return (theFunc || polyFunc).apply(thisArg, theFunc ? _arrSlice.call(theArgs, 1) : theArgs);
306
+ return (theFunc || polyFunc).apply(thisArg, theFunc ? ArrSlice[CALL](theArgs, 1) : theArgs);
296
307
  }
297
- _throwMissingFunction(funcName, thisArg);
308
+ throwTypeError("\"" + asString(funcName) + "\" not defined for " + dumpObj(thisArg));
298
309
  };
299
- };
310
+ }
311
+ /*#__NO_SIDE_EFFECTS__*/
300
312
  function _unwrapProp(propName) {
301
313
  return function (thisArg) {
302
314
  return thisArg[propName];
@@ -305,10 +317,11 @@ function _unwrapProp(propName) {
305
317
 
306
318
  var mathMax = MathCls.max;
307
319
 
308
- var strSlice = _unwrapFunction(SLICE, StrProto);
320
+ var strSlice = ( /*#__PURE__*/_unwrapFunction("slice", StrProto));
309
321
 
310
- var strSubstring = _unwrapFunction("substring", StrProto);
311
- var strSubstr = _unwrapFunctionWithPoly("substr", StrProto, polyStrSubstr);
322
+ var strSubstring = ( /*#__PURE__*/_unwrapFunction("substring", StrProto));
323
+ var strSubstr = ( /*#__PURE__*/_unwrapFunctionWithPoly("substr", StrProto, polyStrSubstr));
324
+ /*#__NO_SIDE_EFFECTS__*/
312
325
  function polyStrSubstr(value, start, length) {
313
326
  if (isNullOrUndefined(value)) {
314
327
  throwTypeError("'polyStrSubstr called with invalid " + dumpObj(value));
@@ -325,23 +338,14 @@ function polyStrSubstr(value, start, length) {
325
338
  }
326
339
  return strSlice(value, start, start + length);
327
340
  }
341
+ /*#__NO_SIDE_EFFECTS__*/
328
342
  function strLeft(value, count) {
329
343
  return strSubstring(value, 0, count);
330
344
  }
331
345
 
332
- var strStartsWith = _unwrapFunctionWithPoly("startsWith", StrProto, polyStrStartsWith);
333
- function polyStrStartsWith(value, searchString, position) {
334
- if (!isString(value)) {
335
- throwTypeError("'" + dumpObj(value) + "' is not a string");
336
- }
337
- var searchValue = isString(searchString) ? searchString : asString(searchString);
338
- var chkLen = searchValue[LENGTH];
339
- var pos = position > 0 ? position : 0;
340
- return strSubstring(value, pos, pos + chkLen) === searchValue;
341
- }
342
-
343
346
  var UNIQUE_REGISTRY_ID = "_urid";
344
347
  var _polySymbols;
348
+ /*#__NO_SIDE_EFFECTS__*/
345
349
  function _globalSymbolRegistry() {
346
350
  if (!_polySymbols) {
347
351
  var gblCfg = _getGlobalConfig();
@@ -349,7 +353,8 @@ function _globalSymbolRegistry() {
349
353
  }
350
354
  return _polySymbols;
351
355
  }
352
- var _wellKnownSymbolCache = {};
356
+ var _wellKnownSymbolCache;
357
+ /*#__NO_SIDE_EFFECTS__*/
353
358
  function polyNewSymbol(description) {
354
359
  var theSymbol = {
355
360
  description: asString(description),
@@ -358,18 +363,21 @@ function polyNewSymbol(description) {
358
363
  theSymbol[POLYFILL_TAG] = true;
359
364
  return theSymbol;
360
365
  }
366
+ /*#__NO_SIDE_EFFECTS__*/
361
367
  function polySymbolFor(key) {
362
368
  var registry = _globalSymbolRegistry();
363
369
  if (!objHasOwn(registry.k, key)) {
364
370
  var newSymbol_1 = polyNewSymbol(key);
365
371
  var regId_1 = objKeys(registry.s).length;
366
- newSymbol_1[UNIQUE_REGISTRY_ID] = function () { return regId_1 + "_" + newSymbol_1.toString(); };
372
+ newSymbol_1[UNIQUE_REGISTRY_ID] = function () { return regId_1 + "_" + newSymbol_1[TO_STRING](); };
367
373
  registry.k[key] = newSymbol_1;
368
374
  registry.s[newSymbol_1[UNIQUE_REGISTRY_ID]()] = asString(key);
369
375
  }
370
376
  return registry.k[key];
371
377
  }
378
+ /*#__NO_SIDE_EFFECTS__*/
372
379
  function polyGetKnownSymbol(name) {
380
+ !_wellKnownSymbolCache && (_wellKnownSymbolCache = {});
373
381
  var result;
374
382
  var knownName = _wellKnownSymbolMap[name];
375
383
  if (knownName) {
@@ -381,11 +389,12 @@ function polyGetKnownSymbol(name) {
381
389
  var propMap = {
382
390
  e: "enumerable",
383
391
  c: "configurable",
384
- v: VALUE,
392
+ v: "value",
385
393
  w: "writable",
386
394
  g: "get",
387
395
  s: "set"
388
396
  };
397
+ /*#__NO_SIDE_EFFECTS__*/
389
398
  function _createProp(value) {
390
399
  var prop = {};
391
400
  prop[propMap["c"]] = true;
@@ -423,13 +432,13 @@ function objDefine(target, key, propDesc) {
423
432
  }
424
433
 
425
434
  var _globalLazyTestHooks;
426
- var _fetchLazyTestHooks = function () {
435
+ function _initTestHooks() {
427
436
  _globalLazyTestHooks = _getGlobalConfig();
428
- _fetchLazyTestHooks = NULL_VALUE;
429
- };
437
+ }
438
+ /*#__NO_SIDE_EFFECTS__*/
430
439
  function getLazy(cb) {
431
440
  var lazyValue = {};
432
- _fetchLazyTestHooks && _fetchLazyTestHooks();
441
+ !_globalLazyTestHooks && _initTestHooks();
433
442
  lazyValue.b = _globalLazyTestHooks.lzy;
434
443
  objDefineProp(lazyValue, "v", {
435
444
  configurable: true,
@@ -439,106 +448,128 @@ function getLazy(cb) {
439
448
  objDefineProp(lazyValue, "v", {
440
449
  value: result
441
450
  });
442
- if (lazyValue.b) {
443
- delete lazyValue.b;
444
- }
445
- }
446
- if (_globalLazyTestHooks.lzy && lazyValue.b !== _globalLazyTestHooks.lzy) {
447
- lazyValue.b = _globalLazyTestHooks.lzy;
448
451
  }
452
+ lazyValue.b = _globalLazyTestHooks.lzy;
449
453
  return result;
450
454
  }
451
455
  });
452
456
  return lazyValue;
453
457
  }
454
458
 
459
+ /*#__NO_SIDE_EFFECTS__*/
455
460
  function safeGetLazy(cb, defValue) {
456
- return getLazy(function () { return safeGet(cb, defValue); });
461
+ return getLazy(function () {
462
+ var result = safe(cb);
463
+ return result.e ? defValue : result.v;
464
+ });
465
+ }
466
+
467
+ /*#__NO_SIDE_EFFECTS__*/
468
+ function createCachedValue(value) {
469
+ return objDefineProp({
470
+ toJSON: function () { return value; }
471
+ }, "v", { value: value });
457
472
  }
458
473
 
459
474
  var WINDOW = "window";
460
475
  var _cachedGlobal;
461
- var _cachedWindow;
462
- var _cachedDocument;
463
- var _cachedNavigator;
464
- var _cachedHistory;
465
- var _isNode;
466
- var lazySafeGetInst = function (name) { return safeGetLazy(function () { return getInst(name) || UNDEF_VALUE; }, UNDEF_VALUE); };
467
- var getGlobal = function (useCached) {
468
- (!_cachedGlobal || useCached === false || (_globalLazyTestHooks && _globalLazyTestHooks.lzy && !_cachedGlobal.b)) && (_cachedGlobal = safeGetLazy(_getGlobalValue, NULL_VALUE));
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
+ }
484
+ /*#__NO_SIDE_EFFECTS__*/
485
+ function lazySafeGetInst(name) {
486
+ return getLazy(function () { return safe((getInst), [name]).v || UNDEF_VALUE; });
487
+ }
488
+ /*#__NO_SIDE_EFFECTS__*/
489
+ function getGlobal(useCached) {
490
+ !_globalLazyTestHooks && _initTestHooks();
491
+ (!_cachedGlobal || useCached === false || _globalLazyTestHooks.lzy) && (_cachedGlobal = createCachedValue(safe(_getGlobalValue).v || NULL_VALUE));
469
492
  return _cachedGlobal.v;
470
- };
471
- var getInst = function (name, useCached) {
493
+ }
494
+ /*#__NO_SIDE_EFFECTS__*/
495
+ function getInst(name, useCached) {
472
496
  var gbl = (!_cachedGlobal || useCached === false) ? getGlobal(useCached) : _cachedGlobal.v;
473
497
  if (gbl && gbl[name]) {
474
498
  return gbl[name];
475
499
  }
476
- if (name === WINDOW && _cachedWindow) {
477
- return _cachedWindow.v;
500
+ if (name === WINDOW) {
501
+ return getWindow();
478
502
  }
479
503
  return NULL_VALUE;
480
- };
481
- var hasDocument = function () { return !!getDocument(); };
482
- var getDocument = function () {
483
- (!_cachedDocument || (_globalLazyTestHooks && _globalLazyTestHooks.lzy && !_cachedDocument.b)) && (_cachedDocument = lazySafeGetInst("document"));
484
- return _cachedDocument.v;
485
- };
486
- var hasWindow = function () { return !!getWindow(); };
487
- var getWindow = function () {
488
- (!_cachedWindow || (_globalLazyTestHooks && _globalLazyTestHooks.lzy && !_cachedWindow.b)) && (_cachedWindow = lazySafeGetInst(WINDOW));
489
- return _cachedWindow.v;
490
- };
491
- var hasNavigator = function () { return !!getNavigator(); };
492
- var getNavigator = function () {
493
- (!_cachedNavigator || (_globalLazyTestHooks && _globalLazyTestHooks.lzy && !_cachedNavigator.b)) && (_cachedNavigator = lazySafeGetInst("navigator"));
494
- return _cachedNavigator.v;
495
- };
496
- var hasHistory = function () { return !!getHistory(); };
497
- var getHistory = function () {
498
- (!_cachedHistory || (_globalLazyTestHooks && _globalLazyTestHooks.lzy && !_cachedHistory.b)) && (_cachedHistory = lazySafeGetInst("history"));
499
- return _cachedHistory.v;
500
- };
501
- var isNode = function () {
502
- !_isNode && (_isNode = safeGetLazy(function () { return !!(process && (process.versions || {}).node); }, false));
503
- return _isNode.v;
504
- };
504
+ }
505
+ /*#__NO_SIDE_EFFECTS__*/
506
+ function hasDocument() {
507
+ return !!getDocument();
508
+ }
509
+ var getDocument = ( /*#__PURE__*/_getGlobalInstFn(getInst, ["document"]));
510
+ /*#__NO_SIDE_EFFECTS__*/
511
+ function hasWindow() {
512
+ return !!getWindow();
513
+ }
514
+ var getWindow = ( /*#__PURE__*/_getGlobalInstFn(getInst, [WINDOW]));
515
+ /*#__NO_SIDE_EFFECTS__*/
516
+ function hasNavigator() {
517
+ return !!getNavigator();
518
+ }
519
+ var getNavigator = ( /*#__PURE__*/_getGlobalInstFn(getInst, ["navigator"]));
520
+ /*#__NO_SIDE_EFFECTS__*/
521
+ function hasHistory() {
522
+ return !!getHistory();
523
+ }
524
+ var getHistory = ( /*#__PURE__*/_getGlobalInstFn(getInst, ["history"]));
525
+ var isNode = ( /*#__PURE__*/_getGlobalInstFn(function () {
526
+ return !!safe(function () { return (process && (process.versions || {}).node); }).v;
527
+ }));
505
528
 
506
529
  var _symbol;
507
530
  var _symbolFor;
508
- var _symbolKeyFor;
509
- function _getSymbolValue(name) {
510
- return safeGetLazy(function () {
511
- return (_symbol.v ? _symbol.v[name] : UNDEF_VALUE);
512
- }, UNDEF_VALUE);
531
+ function _initSymbol() {
532
+ if (!_symbol || !_symbol.b) {
533
+ _symbol = lazySafeGetInst(SYMBOL);
534
+ _symbolFor = safeGetLazy(function () { return (_symbol.v ? _symbol.v["for"] : UNDEF_VALUE); }, UNDEF_VALUE);
535
+ }
513
536
  }
514
- var isSymbol = _createIs("symbol");
537
+ var isSymbol = ( /*#__PURE__*/_createIs("symbol"));
538
+ /*#__NO_SIDE_EFFECTS__*/
515
539
  function hasSymbol() {
516
540
  return !!getSymbol();
517
541
  }
542
+ /*#__NO_SIDE_EFFECTS__*/
518
543
  function getSymbol() {
519
- var resetCache = !_symbol || (_globalLazyTestHooks && _globalLazyTestHooks.lzy && !_symbol.b);
520
- resetCache && (_symbol = lazySafeGetInst(SYMBOL));
521
- (!_symbolFor || resetCache) && (_symbolFor = _getSymbolValue("for"));
522
- (!_symbolKeyFor || resetCache) && (_symbolKeyFor = _getSymbolValue("keyFor"));
544
+ !_globalLazyTestHooks && _initTestHooks();
545
+ (!_symbol || _globalLazyTestHooks.lzy) && _initSymbol();
523
546
  return _symbol.v;
524
547
  }
548
+ /*#__NO_SIDE_EFFECTS__*/
525
549
  function getKnownSymbol(name, noPoly) {
526
550
  var knownName = _wellKnownSymbolMap[name];
527
- (!_symbol || (_globalLazyTestHooks.lzy && !_symbol.b)) && getSymbol();
551
+ !_globalLazyTestHooks && _initTestHooks();
552
+ (!_symbol || _globalLazyTestHooks.lzy) && _initSymbol();
528
553
  return _symbol.v ? _symbol.v[knownName || name] : (!noPoly ? polyGetKnownSymbol(name) : UNDEF_VALUE);
529
554
  }
555
+ /*#__NO_SIDE_EFFECTS__*/
530
556
  function newSymbol(description, noPoly) {
531
- (!_symbol || (_globalLazyTestHooks.lzy && !_symbol.b)) && getSymbol();
557
+ !_globalLazyTestHooks && _initTestHooks();
558
+ (!_symbol || _globalLazyTestHooks.lzy) && _initSymbol();
532
559
  return _symbol.v ? _symbol.v(description) : (!noPoly ? polyNewSymbol(description) : NULL_VALUE);
533
560
  }
561
+ /*#__NO_SIDE_EFFECTS__*/
534
562
  function symbolFor(key) {
535
- (!_symbolFor || (_globalLazyTestHooks.lzy && !_symbol.b)) && getSymbol();
563
+ !_globalLazyTestHooks && _initTestHooks();
564
+ (!_symbolFor || !_symbol || _globalLazyTestHooks.lzy) && _initSymbol();
536
565
  return (_symbolFor.v || polySymbolFor)(key);
537
566
  }
538
567
 
568
+ /*#__NO_SIDE_EFFECTS__*/
539
569
  function isIterator(value) {
540
570
  return !!value && isFunction(value.next);
541
571
  }
572
+ /*#__NO_SIDE_EFFECTS__*/
542
573
  function isIterable(value) {
543
574
  return !isStrictNullOrUndefined(value) && isFunction(value[getKnownSymbol(3 )]);
544
575
  }
@@ -547,7 +578,7 @@ var _iterSymbol;
547
578
  function iterForOf(iter, callbackfn, thisArg) {
548
579
  if (iter) {
549
580
  if (!isIterator(iter)) {
550
- !_iterSymbol && (_iterSymbol = getLazy(function () { return getKnownSymbol(3 ); }));
581
+ !_iterSymbol && (_iterSymbol = createCachedValue(getKnownSymbol(3 )));
551
582
  iter = iter[_iterSymbol.v] ? iter[_iterSymbol.v]() : null;
552
583
  }
553
584
  if (isIterator(iter)) {
@@ -555,8 +586,8 @@ function iterForOf(iter, callbackfn, thisArg) {
555
586
  var iterResult = void 0;
556
587
  try {
557
588
  var count = 0;
558
- while (!(iterResult = iter.next())[DONE]) {
559
- 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) {
560
591
  break;
561
592
  }
562
593
  count++;
@@ -571,7 +602,7 @@ function iterForOf(iter, callbackfn, thisArg) {
571
602
  }
572
603
  finally {
573
604
  try {
574
- if (iterResult && !iterResult[DONE]) {
605
+ if (iterResult && !iterResult.done) {
575
606
  iter.return && iter.return(iterResult);
576
607
  }
577
608
  }
@@ -585,7 +616,9 @@ function iterForOf(iter, callbackfn, thisArg) {
585
616
  }
586
617
  }
587
618
 
588
- var fnApply = _unwrapInstFunction("apply");
619
+ function fnApply(fn, thisArg, argArray) {
620
+ return fn.apply(thisArg, argArray);
621
+ }
589
622
 
590
623
  function arrAppend(target, elms) {
591
624
  if (!isUndefined(elms) && target) {
@@ -609,7 +642,7 @@ function arrForEach(theArray, callbackfn, thisArg) {
609
642
  var len = theArray[LENGTH] >>> 0;
610
643
  for (var idx = 0; idx < len; idx++) {
611
644
  if (idx in theArray) {
612
- if (callbackfn.call(thisArg || theArray, theArray[idx], idx, theArray) === -1) {
645
+ if (callbackfn[CALL](thisArg || theArray, theArray[idx], idx, theArray) === -1) {
613
646
  break;
614
647
  }
615
648
  }
@@ -617,25 +650,25 @@ function arrForEach(theArray, callbackfn, thisArg) {
617
650
  }
618
651
  }
619
652
 
620
- var arrIndexOf = _unwrapFunction(INDEX_OF, ArrProto);
621
-
622
- var arrMap = _unwrapFunction("map", ArrProto);
653
+ var arrIndexOf = ( /*#__PURE__*/_unwrapFunction("indexOf", ArrProto));
623
654
 
624
- var arrSlice = _unwrapFunction(SLICE, ArrProto);
655
+ var arrMap = ( /*#__PURE__*/_unwrapFunction("map", ArrProto));
625
656
 
626
- var fnCall = _unwrapInstFunction("call");
657
+ function arrSlice(theArray, start, end) {
658
+ return ((theArray && theArray["slice"]) || ArrSlice).apply(theArray, ArrSlice[CALL](arguments, 1));
659
+ }
627
660
 
628
- var arrReduce = _unwrapFunction("reduce", ArrProto);
661
+ var arrReduce = ( /*#__PURE__*/_unwrapFunction("reduce", ArrProto));
629
662
 
630
- var _objCreate = ObjClass$1["create"];
631
- var objCreate = _objCreate || polyObjCreate;
663
+ var objCreate = ObjClass$1["create"] || polyObjCreate;
664
+ /*#__NO_SIDE_EFFECTS__*/
632
665
  function polyObjCreate(obj) {
633
666
  if (!obj) {
634
667
  return {};
635
668
  }
636
669
  var type = typeof obj;
637
670
  if (type !== OBJECT && type !== FUNCTION) {
638
- throw new TypeError("Prototype must be an Object or function: " + dumpObj(obj));
671
+ throwTypeError("Prototype must be an Object or function: " + dumpObj(obj));
639
672
  }
640
673
  function tempFunc() { }
641
674
  tempFunc[PROTOTYPE] = obj;
@@ -655,39 +688,31 @@ function objSetPrototypeOf(obj, proto) {
655
688
  return fn(obj, proto);
656
689
  }
657
690
 
658
- var _createCustomError = function (name, d, b) {
659
- _safeDefineName(d, name);
691
+ /*#__NO_SIDE_EFFECTS__*/
692
+ function _createCustomError(name, d, b) {
693
+ safe(objDefine, [d, NAME, { v: name, c: true, e: false }]);
660
694
  d = objSetPrototypeOf(d, b);
661
695
  function __() {
662
696
  this.constructor = d;
663
- _safeDefineName(this, name);
697
+ safe(objDefine, [this, NAME, { v: name, c: true, e: false }]);
664
698
  }
665
699
  d[PROTOTYPE] = b === NULL_VALUE ? objCreate(b) : (__[PROTOTYPE] = b[PROTOTYPE], new __());
666
700
  return d;
667
- };
668
- var _safeSetName = function (baseClass, name) {
669
- try {
670
- name && (baseClass[NAME] = name);
671
- }
672
- catch (e) {
673
- }
674
- };
675
- var _safeDefineName = function (target, name) {
676
- try {
677
- objDefine(target, NAME, { v: name, c: true, e: false });
678
- }
679
- catch (e) {
680
- }
681
- };
701
+ }
702
+ function _setName(baseClass, name) {
703
+ name && (baseClass[NAME] = name);
704
+ }
705
+ /*#__NO_SIDE_EFFECTS__*/
682
706
  function createCustomError(name, constructCb, errorBase) {
683
707
  var theBaseClass = errorBase || Error;
684
708
  var orgName = theBaseClass[PROTOTYPE][NAME];
685
709
  var captureFn = Error.captureStackTrace;
686
710
  return _createCustomError(name, function () {
687
711
  var _this = this;
712
+ var theArgs = arguments;
688
713
  try {
689
- _safeSetName(theBaseClass, name);
690
- var _self = fnApply(theBaseClass, _this, arrSlice(arguments)) || _this;
714
+ safe(_setName, [theBaseClass, name]);
715
+ var _self = fnApply(theBaseClass, _this, ArrSlice[CALL](theArgs)) || _this;
691
716
  if (_self !== _this) {
692
717
  var orgProto = objGetPrototypeOf(_this);
693
718
  if (orgProto !== objGetPrototypeOf(_self)) {
@@ -695,22 +720,25 @@ function createCustomError(name, constructCb, errorBase) {
695
720
  }
696
721
  }
697
722
  captureFn && captureFn(_self, _this[CONSTRUCTOR]);
698
- constructCb && constructCb(_self, arguments);
723
+ constructCb && constructCb(_self, theArgs);
699
724
  return _self;
700
725
  }
701
726
  finally {
702
- _safeSetName(theBaseClass, orgName);
727
+ safe(_setName, [theBaseClass, orgName]);
703
728
  }
704
729
  }, theBaseClass);
705
730
  }
706
731
 
732
+ /*#__NO_SIDE_EFFECTS__*/
707
733
  function utcNow() {
708
734
  return (Date.now || polyUtcNow)();
709
735
  }
736
+ /*#__NO_SIDE_EFFECTS__*/
710
737
  function polyUtcNow() {
711
738
  return new Date().getTime();
712
739
  }
713
740
 
741
+ /*#__NO_SIDE_EFFECTS__*/
714
742
  function _createTrimFn(exp) {
715
743
  return function _doTrim(value) {
716
744
  if (isNullOrUndefined(value)) {
@@ -722,13 +750,14 @@ function _createTrimFn(exp) {
722
750
  return value;
723
751
  };
724
752
  }
725
- var polyStrTrim = _createTrimFn(/^\s+|(?=\s)\s+$/g);
753
+ var polyStrTrim = ( /*#__PURE__*/_createTrimFn(/^\s+|(?=\s)\s+$/g));
726
754
 
727
- var strTrim = _unwrapFunctionWithPoly("trim", StrProto, polyStrTrim);
755
+ var strTrim = ( /*#__PURE__*/_unwrapFunctionWithPoly("trim", StrProto, polyStrTrim));
728
756
 
729
757
  var _fnToString;
730
758
  var _objCtrFnString;
731
759
  var _gblWindow;
760
+ /*#__NO_SIDE_EFFECTS__*/
732
761
  function isPlainObject(value) {
733
762
  if (!value || typeof value !== OBJECT) {
734
763
  return false;
@@ -739,8 +768,8 @@ function isPlainObject(value) {
739
768
  var result = false;
740
769
  if (value !== _gblWindow) {
741
770
  if (!_objCtrFnString) {
742
- _fnToString = Function[PROTOTYPE].toString;
743
- _objCtrFnString = fnCall(_fnToString, ObjClass$1);
771
+ _fnToString = Function[PROTOTYPE][TO_STRING];
772
+ _objCtrFnString = _fnToString[CALL](ObjClass$1);
744
773
  }
745
774
  try {
746
775
  var proto = objGetPrototypeOf(value);
@@ -749,7 +778,7 @@ function isPlainObject(value) {
749
778
  if (objHasOwnProperty(proto, CONSTRUCTOR)) {
750
779
  proto = proto[CONSTRUCTOR];
751
780
  }
752
- result = proto && typeof proto === FUNCTION && _fnToString.call(proto) === _objCtrFnString;
781
+ result = proto && typeof proto === FUNCTION && _fnToString[CALL](proto) === _objCtrFnString;
753
782
  }
754
783
  }
755
784
  catch (ex) {
@@ -758,16 +787,18 @@ function isPlainObject(value) {
758
787
  return result;
759
788
  }
760
789
 
761
- var _defaultDeepCopyHandler = function (details) {
790
+ /*#__NO_SIDE_EFFECTS__*/
791
+ function _defaultDeepCopyHandler(details) {
762
792
  details.value && plainObjDeepCopyHandler(details);
763
793
  return true;
764
- };
794
+ }
765
795
  var defaultDeepCopyHandlers = [
766
796
  arrayDeepCopyHandler,
767
797
  plainObjDeepCopyHandler,
768
798
  functionDeepCopyHandler,
769
799
  dateDeepCopyHandler
770
800
  ];
801
+ /*#__NO_SIDE_EFFECTS__*/
771
802
  function _getSetVisited(visitMap, source, newPath, cb) {
772
803
  var theEntry;
773
804
  arrForEach(visitMap, function (entry) {
@@ -827,12 +858,12 @@ function _deepCopy(visitMap, value, ctx, key) {
827
858
  });
828
859
  var idx = 0;
829
860
  var handler = userHandler;
830
- while (!fnCall(handler || (idx < defaultDeepCopyHandlers.length ? defaultDeepCopyHandlers[idx++] : _defaultDeepCopyHandler), ctx, details)) {
861
+ while (!(handler || (idx < defaultDeepCopyHandlers.length ? defaultDeepCopyHandlers[idx++] : _defaultDeepCopyHandler))[CALL](ctx, details)) {
831
862
  handler = NULL_VALUE;
832
863
  }
833
864
  });
834
865
  }
835
- if (userHandler && fnCall(userHandler, ctx, details)) {
866
+ if (userHandler && userHandler[CALL](ctx, details)) {
836
867
  return details.result;
837
868
  }
838
869
  return value;
@@ -853,6 +884,7 @@ function objCopyProps(target, source, handler) {
853
884
  };
854
885
  return _copyProps([], target, source, ctx);
855
886
  }
887
+ /*#__NO_SIDE_EFFECTS__*/
856
888
  function objDeepCopy(source, handler) {
857
889
  var ctx = {
858
890
  handler: handler,
@@ -901,16 +933,19 @@ function _doExtend(target, theArgs) {
901
933
  return target;
902
934
  }
903
935
  function deepExtend(target, obj1, obj2, obj3, obj4, obj5, obj6) {
904
- return _doExtend(objDeepCopy(target) || {}, arrSlice(arguments));
936
+ return _doExtend(objDeepCopy(target) || {}, ArrSlice[CALL](arguments));
905
937
  }
906
938
 
907
- var getLength = _unwrapProp(LENGTH);
939
+ var getLength = ( /*#__PURE__*/_unwrapProp(LENGTH));
908
940
 
909
941
  var _perf;
942
+ /*#__NO_SIDE_EFFECTS__*/
910
943
  function getPerformance() {
911
- (!_perf || (!_perf.b && _globalLazyTestHooks && _globalLazyTestHooks.lzy)) && (_perf = lazySafeGetInst("performance"));
944
+ !_globalLazyTestHooks && _initTestHooks();
945
+ (!_perf || (!_perf.b && _globalLazyTestHooks.lzy)) && (_perf = lazySafeGetInst("performance"));
912
946
  return _perf.v;
913
947
  }
948
+ /*#__NO_SIDE_EFFECTS__*/
914
949
  function perfNow() {
915
950
  var perf = getPerformance();
916
951
  if (perf && perf.now) {
@@ -919,70 +954,76 @@ function perfNow() {
919
954
  return utcNow();
920
955
  }
921
956
 
922
- var strEndsWith = _unwrapFunctionWithPoly("endsWith", StrProto, polyStrEndsWith);
957
+ var strEndsWith = ( /*#__PURE__*/_unwrapFunctionWithPoly("endsWith", StrProto, polyStrEndsWith));
958
+ /*#__NO_SIDE_EFFECTS__*/
923
959
  function polyStrEndsWith(value, searchString, length) {
924
960
  if (!isString(value)) {
925
961
  throwTypeError("'" + dumpObj(value) + "' is not a string");
926
962
  }
927
963
  var searchValue = isString(searchString) ? searchString : asString(searchString);
928
- var chkLen = searchValue[LENGTH];
929
- var len = value[LENGTH];
930
- var end = !isUndefined(length) && length < len ? length : len;
931
- return strSubstring(value, end - chkLen, end) === searchValue;
964
+ var end = !isUndefined(length) && length < value[LENGTH] ? length : value[LENGTH];
965
+ return strSubstring(value, end - searchValue[LENGTH], end) === searchValue;
932
966
  }
933
967
 
934
- var strIndexOf = _unwrapFunction(INDEX_OF, StrProto);
968
+ var strIndexOf = ( /*#__PURE__*/_unwrapFunction("indexOf", StrProto));
969
+
970
+ var strStartsWith = ( /*#__PURE__*/_unwrapFunctionWithPoly("startsWith", StrProto, polyStrStartsWith));
971
+ /*#__NO_SIDE_EFFECTS__*/
972
+ function polyStrStartsWith(value, searchString, position) {
973
+ if (!isString(value)) {
974
+ throwTypeError("'" + dumpObj(value) + "' is not a string");
975
+ }
976
+ var searchValue = isString(searchString) ? searchString : asString(searchString);
977
+ var pos = position > 0 ? position : 0;
978
+ return strSubstring(value, pos, pos + searchValue[LENGTH]) === searchValue;
979
+ }
935
980
 
936
981
  var REF = "ref";
937
- var UNREF = "un" + REF;
982
+ var UNREF = "unref";
938
983
  var HAS_REF = "hasRef";
939
984
  var ENABLED = "enabled";
985
+ /*#__NO_SIDE_EFFECTS__*/
940
986
  function _createTimerHandler(startTimer, refreshFn, cancelFn) {
941
- var _a;
942
987
  var ref = true;
943
988
  var timerId = startTimer ? refreshFn(NULL_VALUE) : NULL_VALUE;
944
989
  var theTimerHandler;
945
- var _unref = function () {
990
+ function _unref() {
946
991
  ref = false;
947
992
  timerId && timerId[UNREF] && timerId[UNREF]();
948
993
  return theTimerHandler;
949
- };
950
- var _ref = function () {
951
- ref = true;
952
- 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
+ }
953
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
954
1013
  };
955
- var _hasRef = function () {
1014
+ theTimerHandler[HAS_REF] = function () {
956
1015
  if (timerId && timerId[HAS_REF]) {
957
1016
  return timerId[HAS_REF]();
958
1017
  }
959
1018
  return ref;
960
1019
  };
961
- var _refresh = function () {
962
- timerId = refreshFn(timerId);
963
- if (!ref) {
964
- _unref();
965
- }
1020
+ theTimerHandler[REF] = function () {
1021
+ ref = true;
1022
+ timerId && timerId[REF] && timerId[REF]();
966
1023
  return theTimerHandler;
967
1024
  };
968
- var _cancel = function () {
969
- timerId && cancelFn(timerId);
970
- timerId = NULL_VALUE;
971
- };
972
- var _setEnabled = function (value) {
973
- !value && timerId && _cancel();
974
- value && !timerId && _refresh();
975
- };
976
- theTimerHandler = (_a = {
977
- cancel: _cancel,
978
- refresh: _refresh
979
- },
980
- _a[HAS_REF] = _hasRef,
981
- _a[REF] = _ref,
982
- _a[UNREF] = _unref,
983
- _a[ENABLED] = false,
984
- _a);
985
- objDefineProp(theTimerHandler, ENABLED, {
1025
+ theTimerHandler[UNREF] = _unref;
1026
+ theTimerHandler = objDefineProp(theTimerHandler, ENABLED, {
986
1027
  get: function () { return !!timerId; },
987
1028
  set: _setEnabled
988
1029
  });
@@ -994,7 +1035,7 @@ function _createTimerHandler(startTimer, refreshFn, cancelFn) {
994
1035
  };
995
1036
  }
996
1037
 
997
- function _createTimeoutWith(self, startTimer, overrideFn, theArgs) {
1038
+ function _createTimeoutWith(startTimer, overrideFn, theArgs) {
998
1039
  var isArr = isArray(overrideFn);
999
1040
  var len = isArr ? overrideFn.length : 0;
1000
1041
  var setFn = (len > 0 ? overrideFn[0] : (!isArr ? overrideFn : UNDEF_VALUE)) || setTimeout;
@@ -1002,7 +1043,7 @@ function _createTimeoutWith(self, startTimer, overrideFn, theArgs) {
1002
1043
  var timerFn = theArgs[0];
1003
1044
  theArgs[0] = function () {
1004
1045
  handler.dn();
1005
- fnApply(timerFn, self, arrSlice(arguments));
1046
+ fnApply(timerFn, UNDEF_VALUE, ArrSlice[CALL](arguments));
1006
1047
  };
1007
1048
  var handler = _createTimerHandler(startTimer, function (timerId) {
1008
1049
  if (timerId) {
@@ -1010,19 +1051,19 @@ function _createTimeoutWith(self, startTimer, overrideFn, theArgs) {
1010
1051
  timerId.refresh();
1011
1052
  return timerId;
1012
1053
  }
1013
- fnApply(clearFn, self, [timerId]);
1054
+ fnApply(clearFn, UNDEF_VALUE, [timerId]);
1014
1055
  }
1015
- return fnApply(setFn, self, theArgs);
1056
+ return fnApply(setFn, UNDEF_VALUE, theArgs);
1016
1057
  }, function (timerId) {
1017
- fnApply(clearFn, self, [timerId]);
1058
+ fnApply(clearFn, UNDEF_VALUE, [timerId]);
1018
1059
  });
1019
1060
  return handler.h;
1020
1061
  }
1021
1062
  function scheduleTimeout(callback, timeout) {
1022
- return _createTimeoutWith(this, true, UNDEF_VALUE, arrSlice(arguments));
1063
+ return _createTimeoutWith(true, UNDEF_VALUE, ArrSlice[CALL](arguments));
1023
1064
  }
1024
1065
  function createTimeout(callback, timeout) {
1025
- return _createTimeoutWith(this, false, UNDEF_VALUE, arrSlice(arguments));
1066
+ return _createTimeoutWith(false, UNDEF_VALUE, ArrSlice[CALL](arguments));
1026
1067
  }
1027
1068
 
1028
1069
  var createEnumStyle = createEnum;
@@ -1054,16 +1095,16 @@ var _DYN_HDLR = "hdlr";
1054
1095
  var _DYN_CANCEL = "cancel";
1055
1096
  var _DYN_INITIALIZE = "initialize";
1056
1097
  var _DYN_IDENTIFIER = "identifier";
1098
+ var _DYN_REMOVE_NOTIFICATION_0 = "removeNotificationListener";
1099
+ var _DYN_ADD_NOTIFICATION_LIS1 = "addNotificationListener";
1057
1100
  var _DYN_IS_INITIALIZED = "isInitialized";
1101
+ var _DYN_GET_NOTIFY_MGR = "getNotifyMgr";
1058
1102
  var _DYN_GET_PLUGIN = "getPlugin";
1059
1103
  var _DYN_POLL_INTERNAL_LOGS = "pollInternalLogs";
1060
1104
  var _DYN_NAME = "name";
1061
1105
  var _DYN_TIME = "time";
1062
1106
  var _DYN_PROCESS_NEXT = "processNext";
1063
- var _DYN_GET_PROCESS_TEL_CONT0 = "getProcessTelContext";
1064
- var _DYN_GET_NOTIFY_MGR = "getNotifyMgr";
1065
- var _DYN_ADD_NOTIFICATION_LIS1 = "addNotificationListener";
1066
- var _DYN_REMOVE_NOTIFICATION_2 = "removeNotificationListener";
1107
+ var _DYN_GET_PROCESS_TEL_CONT2 = "getProcessTelContext";
1067
1108
  var _DYN_ENABLED = "enabled";
1068
1109
  var _DYN_STOP_POLLING_INTERNA3 = "stopPollingInternalLogs";
1069
1110
  var _DYN_UNLOAD = "unload";
@@ -1117,8 +1158,6 @@ var strShimUndefined = "undefined";
1117
1158
  var strShimPrototype = "prototype";
1118
1159
  var ObjClass = Object;
1119
1160
 
1120
- (getGlobal() || {})["Symbol"];
1121
- (getGlobal() || {})["Reflect"];
1122
1161
  var strHasOwnProperty = "hasOwnProperty";
1123
1162
  var extendStaticsFn = function (d, b) {
1124
1163
  extendStaticsFn = ObjClass["setPrototypeOf"] ||
@@ -1221,13 +1260,13 @@ function _forEachProp(target, func) {
1221
1260
  }
1222
1261
  }
1223
1262
  function _isDynamicCandidate(target, funcName, skipOwn) {
1224
- return (funcName !== Constructor && typeof target[funcName] === strFunction && (skipOwn || objHasOwnProperty(target, funcName)));
1263
+ return (funcName !== Constructor && typeof target[funcName] === strFunction && (skipOwn || objHasOwnProperty(target, funcName)) && funcName !== str__Proto && funcName !== Prototype);
1225
1264
  }
1226
1265
  function _throwTypeError(message) {
1227
1266
  throwTypeError("DynamicProto: " + message);
1228
1267
  }
1229
1268
  function _getInstanceFuncs(thisTarget) {
1230
- var instFuncs = {};
1269
+ var instFuncs = objCreate(null);
1231
1270
  _forEachProp(thisTarget, function (name) {
1232
1271
  if (!instFuncs[name] && _isDynamicCandidate(thisTarget, name, false)) {
1233
1272
  instFuncs[name] = thisTarget[name];
@@ -1256,7 +1295,7 @@ function _getBaseFuncs(classProto, thisTarget, instFuncs, useBaseInst) {
1256
1295
  return theFunc.apply(target, arguments);
1257
1296
  };
1258
1297
  }
1259
- var baseFuncs = {};
1298
+ var baseFuncs = objCreate(null);
1260
1299
  _forEachProp(instFuncs, function (name) {
1261
1300
  baseFuncs[name] = _instFuncProxy(thisTarget, instFuncs, name);
1262
1301
  });
@@ -1276,8 +1315,8 @@ function _getBaseFuncs(classProto, thisTarget, instFuncs, useBaseInst) {
1276
1315
  function _getInstFunc(target, funcName, proto, currentDynProtoProxy) {
1277
1316
  var instFunc = null;
1278
1317
  if (target && objHasOwnProperty(proto, DynClassName)) {
1279
- var instFuncTable = target[DynInstFuncTable] || {};
1280
- instFunc = (instFuncTable[proto[DynClassName]] || {})[funcName];
1318
+ var instFuncTable = target[DynInstFuncTable] || objCreate(null);
1319
+ instFunc = (instFuncTable[proto[DynClassName]] || objCreate(null))[funcName];
1281
1320
  if (!instFunc) {
1282
1321
  _throwTypeError("Missing [" + funcName + "] " + strFunction);
1283
1322
  }
@@ -1327,20 +1366,24 @@ function _populatePrototype(proto, className, target, baseInstFuncs, setInstance
1327
1366
  return dynProtoProxy;
1328
1367
  }
1329
1368
  if (!_isObjectOrArrayPrototype(proto)) {
1330
- var instFuncTable = target[DynInstFuncTable] = target[DynInstFuncTable] || {};
1331
- var instFuncs_1 = instFuncTable[className] = (instFuncTable[className] || {});
1332
- if (instFuncTable[DynAllowInstChkTag] !== false) {
1333
- instFuncTable[DynAllowInstChkTag] = !!setInstanceFunc;
1334
- }
1335
- _forEachProp(target, function (name) {
1336
- if (_isDynamicCandidate(target, name, false) && target[name] !== baseInstFuncs[name]) {
1337
- instFuncs_1[name] = target[name];
1338
- delete target[name];
1339
- if (!objHasOwnProperty(proto, name) || (proto[name] && !proto[name][DynProxyTag])) {
1340
- proto[name] = _createDynamicPrototype(proto, name);
1341
- }
1369
+ var instFuncTable = target[DynInstFuncTable] = target[DynInstFuncTable] || objCreate(null);
1370
+ if (!_isObjectOrArrayPrototype(instFuncTable)) {
1371
+ var instFuncs_1 = instFuncTable[className] = (instFuncTable[className] || objCreate(null));
1372
+ if (instFuncTable[DynAllowInstChkTag] !== false) {
1373
+ instFuncTable[DynAllowInstChkTag] = !!setInstanceFunc;
1374
+ }
1375
+ if (!_isObjectOrArrayPrototype(instFuncs_1)) {
1376
+ _forEachProp(target, function (name) {
1377
+ if (_isDynamicCandidate(target, name, false) && target[name] !== baseInstFuncs[name]) {
1378
+ instFuncs_1[name] = target[name];
1379
+ delete target[name];
1380
+ if (!objHasOwnProperty(proto, name) || (proto[name] && !proto[name][DynProxyTag])) {
1381
+ proto[name] = _createDynamicPrototype(proto, name);
1382
+ }
1383
+ }
1384
+ });
1342
1385
  }
1343
- });
1386
+ }
1344
1387
  }
1345
1388
  }
1346
1389
  function _checkPrototype(classProto, thisTarget) {
@@ -1399,15 +1442,15 @@ dynamicProto[DynProtoDefaultOptions] = _gblInst.o;
1399
1442
 
1400
1443
  function doAwaitResponse(value, cb) {
1401
1444
  return doAwait(value, function (value) {
1402
- cb && cb({
1445
+ return cb ? cb({
1403
1446
  value: value,
1404
1447
  rejected: false
1405
- });
1448
+ }) : value;
1406
1449
  }, function (reason) {
1407
- cb && cb({
1450
+ return cb ? cb({
1408
1451
  rejected: true,
1409
1452
  reason: reason
1410
- });
1453
+ }) : reason;
1411
1454
  });
1412
1455
  }
1413
1456
  function doAwait(value, resolveFn, rejectFn, finallyFn) {
@@ -1418,10 +1461,12 @@ function doAwait(value, resolveFn, rejectFn, finallyFn) {
1418
1461
  }
1419
1462
  }
1420
1463
  else {
1421
- resolveFn && resolveFn(value);
1464
+ if (resolveFn) {
1465
+ result = resolveFn(value);
1466
+ }
1422
1467
  }
1423
1468
  if (finallyFn) {
1424
- result = doFinally(result, finallyFn);
1469
+ doFinally(result, finallyFn);
1425
1470
  }
1426
1471
  return result;
1427
1472
  }
@@ -2253,7 +2298,7 @@ function newId(maxLength) {
2253
2298
  return result;
2254
2299
  }
2255
2300
 
2256
- var version = '3.0.7';
2301
+ var version = '3.0.9';
2257
2302
  var instanceName = "." + newId(6);
2258
2303
  var _dataUid = 0;
2259
2304
  function _canAcceptData(target) {
@@ -2822,6 +2867,7 @@ function _createAndUseHandler(state, configHandler) {
2822
2867
  configHandler = null;
2823
2868
  }
2824
2869
  };
2870
+ objDefine(handler, "toJSON", { v: function () { return "WatcherHandler" + (handler.fn ? "" : "[X]"); } });
2825
2871
  state.use(handler, configHandler);
2826
2872
  return handler;
2827
2873
  }
@@ -3538,18 +3584,26 @@ function uaDisallowsSameSiteNone(userAgent) {
3538
3584
  var defaultValues$1 = {
3539
3585
  perfEvtsSendAll: false
3540
3586
  };
3541
- function _runListeners(listeners, name, isAsync, callback) {
3587
+ function _runScheduledListeners(asyncNotifications) {
3588
+ asyncNotifications.h = null;
3589
+ var callbacks = asyncNotifications.cb;
3590
+ asyncNotifications.cb = [];
3591
+ arrForEach(callbacks, function (cb) {
3592
+ safe(cb.fn, [cb.arg]);
3593
+ });
3594
+ }
3595
+ function _runListeners(listeners, name, asyncNotifications, callback) {
3542
3596
  arrForEach(listeners, function (listener) {
3543
3597
  if (listener && listener[name]) {
3544
- if (isAsync) {
3545
- scheduleTimeout(function () { return callback(listener); }, 0);
3598
+ if (asyncNotifications) {
3599
+ asyncNotifications.cb[_DYN_PUSH ]({
3600
+ fn: callback,
3601
+ arg: listener
3602
+ });
3603
+ asyncNotifications.h = asyncNotifications.h || scheduleTimeout(_runScheduledListeners, 0, asyncNotifications);
3546
3604
  }
3547
3605
  else {
3548
- try {
3549
- callback(listener);
3550
- }
3551
- catch (e) {
3552
- }
3606
+ safe(callback, [listener]);
3553
3607
  }
3554
3608
  }
3555
3609
  });
@@ -3560,6 +3614,10 @@ var NotificationManager = /** @class */ (function () {
3560
3614
  var perfEvtsSendAll;
3561
3615
  var unloadHandler;
3562
3616
  var _listeners = [];
3617
+ var _asyncNotifications = {
3618
+ h: null,
3619
+ cb: []
3620
+ };
3563
3621
  var cfgHandler = createDynamicConfig(config, defaultValues$1);
3564
3622
  unloadHandler = cfgHandler[_DYN_WATCH ](function (details) {
3565
3623
  perfEvtsSendAll = !!details.cfg.perfEvtsSendAll;
@@ -3571,7 +3629,7 @@ var NotificationManager = /** @class */ (function () {
3571
3629
  _self[_DYN_ADD_NOTIFICATION_LIS1 ] = function (listener) {
3572
3630
  _listeners[_DYN_PUSH ](listener);
3573
3631
  };
3574
- _self[_DYN_REMOVE_NOTIFICATION_2 ] = function (listener) {
3632
+ _self[_DYN_REMOVE_NOTIFICATION_0 ] = function (listener) {
3575
3633
  var index = arrIndexOf(_listeners, listener);
3576
3634
  while (index > -1) {
3577
3635
  _listeners[_DYN_SPLICE ](index, 1);
@@ -3579,24 +3637,24 @@ var NotificationManager = /** @class */ (function () {
3579
3637
  }
3580
3638
  };
3581
3639
  _self[STR_EVENTS_SENT ] = function (events) {
3582
- _runListeners(_listeners, STR_EVENTS_SENT, true, function (listener) {
3640
+ _runListeners(_listeners, STR_EVENTS_SENT, _asyncNotifications, function (listener) {
3583
3641
  listener[STR_EVENTS_SENT ](events);
3584
3642
  });
3585
3643
  };
3586
3644
  _self[STR_EVENTS_DISCARDED ] = function (events, reason) {
3587
- _runListeners(_listeners, STR_EVENTS_DISCARDED, true, function (listener) {
3645
+ _runListeners(_listeners, STR_EVENTS_DISCARDED, _asyncNotifications, function (listener) {
3588
3646
  listener[STR_EVENTS_DISCARDED ](events, reason);
3589
3647
  });
3590
3648
  };
3591
3649
  _self[STR_EVENTS_SEND_REQUEST ] = function (sendReason, isAsync) {
3592
- _runListeners(_listeners, STR_EVENTS_SEND_REQUEST, isAsync, function (listener) {
3650
+ _runListeners(_listeners, STR_EVENTS_SEND_REQUEST, isAsync ? _asyncNotifications : null, function (listener) {
3593
3651
  listener[STR_EVENTS_SEND_REQUEST ](sendReason, isAsync);
3594
3652
  });
3595
3653
  };
3596
3654
  _self[STR_PERF_EVENT ] = function (perfEvent) {
3597
3655
  if (perfEvent) {
3598
3656
  if (perfEvtsSendAll || !perfEvent[_DYN_IS_CHILD_EVT ]()) {
3599
- _runListeners(_listeners, STR_PERF_EVENT, false, function (listener) {
3657
+ _runListeners(_listeners, STR_PERF_EVENT, null, function (listener) {
3600
3658
  if (perfEvent[_DYN_IS_ASYNC ]) {
3601
3659
  scheduleTimeout(function () { return listener[STR_PERF_EVENT ](perfEvent); }, 0);
3602
3660
  }
@@ -3612,9 +3670,12 @@ var NotificationManager = /** @class */ (function () {
3612
3670
  unloadHandler && unloadHandler.rm();
3613
3671
  unloadHandler = null;
3614
3672
  _listeners = [];
3673
+ _asyncNotifications.h && _asyncNotifications.h[_DYN_CANCEL ]();
3674
+ _asyncNotifications.h = null;
3675
+ _asyncNotifications.cb = [];
3615
3676
  };
3616
3677
  var waiting;
3617
- _runListeners(_listeners, "unload", false, function (listener) {
3678
+ _runListeners(_listeners, "unload", null, function (listener) {
3618
3679
  var asyncUnload = listener[_DYN_UNLOAD ](isAsync);
3619
3680
  if (asyncUnload) {
3620
3681
  if (!waiting) {
@@ -4428,6 +4489,12 @@ function createUnloadHandlerContainer() {
4428
4489
  };
4429
4490
  }
4430
4491
 
4492
+ var _maxHooks;
4493
+ var _hookAddMonitor;
4494
+ function _testHookMaxUnloadHooksCb(maxHooks, addMonitor) {
4495
+ _maxHooks = maxHooks;
4496
+ _hookAddMonitor = addMonitor;
4497
+ }
4431
4498
  function createUnloadHookContainer() {
4432
4499
  var _hooks = [];
4433
4500
  function _doUnload(logger) {
@@ -4441,10 +4508,16 @@ function createUnloadHookContainer() {
4441
4508
  _throwInternal(logger, 2 , 73 , "Unloading:" + dumpObj(e));
4442
4509
  }
4443
4510
  });
4511
+ if (_maxHooks && oldHooks[_DYN_LENGTH ] > _maxHooks) {
4512
+ _hookAddMonitor ? _hookAddMonitor("doUnload", oldHooks) : _throwInternal(null, 1 , 48 , "Max unload hooks exceeded. An excessive number of unload hooks has been detected.");
4513
+ }
4444
4514
  }
4445
4515
  function _addHook(hooks) {
4446
4516
  if (hooks) {
4447
4517
  arrAppend(_hooks, hooks);
4518
+ if (_maxHooks && _hooks[_DYN_LENGTH ] > _maxHooks) {
4519
+ _hookAddMonitor ? _hookAddMonitor("Add", _hooks) : _throwInternal(null, 1 , 48 , "Max unload hooks exceeded. An excessive number of unload hooks has been detected.");
4520
+ }
4448
4521
  }
4449
4522
  }
4450
4523
  return {
@@ -4572,7 +4645,7 @@ var BaseTelemetryPlugin = /** @class */ (function () {
4572
4645
  function _setDefaults(config, core, pluginChain) {
4573
4646
  createDynamicConfig(config, defaultValues, safeGetLogger(core));
4574
4647
  if (!pluginChain && core) {
4575
- pluginChain = core[_DYN_GET_PROCESS_TEL_CONT0 ]()[_DYN_GET_NEXT ]();
4648
+ pluginChain = core[_DYN_GET_PROCESS_TEL_CONT2 ]()[_DYN_GET_NEXT ]();
4576
4649
  }
4577
4650
  var nextPlugin = _nextPlugin;
4578
4651
  if (_nextPlugin && _nextPlugin[strGetPlugin]) {
@@ -4776,6 +4849,27 @@ function _registerDelayedCfgListener(config, listeners, logger) {
4776
4849
  };
4777
4850
  });
4778
4851
  }
4852
+ function _initDebugListener(configHandler, unloadContainer, notificationManager, debugListener) {
4853
+ unloadContainer.add(configHandler[_DYN_WATCH ](function (details) {
4854
+ var disableDbgExt = details.cfg.disableDbgExt;
4855
+ if (disableDbgExt === true && debugListener) {
4856
+ notificationManager[_DYN_REMOVE_NOTIFICATION_0 ](debugListener);
4857
+ debugListener = null;
4858
+ }
4859
+ if (notificationManager && !debugListener && disableDbgExt !== true) {
4860
+ debugListener = getDebugListener(details.cfg);
4861
+ notificationManager[_DYN_ADD_NOTIFICATION_LIS1 ](debugListener);
4862
+ }
4863
+ }));
4864
+ return debugListener;
4865
+ }
4866
+ function _createUnloadHook(unloadHook) {
4867
+ return objDefine({
4868
+ rm: function () {
4869
+ unloadHook.rm();
4870
+ }
4871
+ }, "toJSON", { v: function () { return "aicore::onCfgChange<" + JSON.stringify(unloadHook) + ">"; } });
4872
+ }
4779
4873
  var AppInsightsCore = /** @class */ (function () {
4780
4874
  function AppInsightsCore() {
4781
4875
  var _configHandler;
@@ -4832,7 +4926,7 @@ var AppInsightsCore = /** @class */ (function () {
4832
4926
  }
4833
4927
  }));
4834
4928
  _notificationManager = notificationManager;
4835
- _initDebugListener();
4929
+ _debugListener = _initDebugListener(_configHandler, _hookContainer, _notificationManager && _self[_DYN_GET_NOTIFY_MGR ](), _debugListener);
4836
4930
  _initPerfManager();
4837
4931
  _self[_DYN_LOGGER ] = logger;
4838
4932
  var cfgExtensions = config[STR_EXTENSIONS ];
@@ -4885,7 +4979,7 @@ var AppInsightsCore = /** @class */ (function () {
4885
4979
  }
4886
4980
  }, function () { return ({ item: telemetryItem }); }, !(telemetryItem.sync));
4887
4981
  };
4888
- _self[_DYN_GET_PROCESS_TEL_CONT0 ] = _createTelCtx;
4982
+ _self[_DYN_GET_PROCESS_TEL_CONT2 ] = _createTelCtx;
4889
4983
  _self[_DYN_GET_NOTIFY_MGR ] = function () {
4890
4984
  if (!_notificationManager) {
4891
4985
  _notificationManager = new NotificationManager(_configHandler.cfg);
@@ -4894,11 +4988,11 @@ var AppInsightsCore = /** @class */ (function () {
4894
4988
  return _notificationManager;
4895
4989
  };
4896
4990
  _self[_DYN_ADD_NOTIFICATION_LIS1 ] = function (listener) {
4897
- _self[_DYN_GET_NOTIFY_MGR ]()[_DYN_ADD_NOTIFICATION_LIS1 ](listener);
4991
+ _self.getNotifyMgr()[_DYN_ADD_NOTIFICATION_LIS1 ](listener);
4898
4992
  };
4899
- _self[_DYN_REMOVE_NOTIFICATION_2 ] = function (listener) {
4993
+ _self[_DYN_REMOVE_NOTIFICATION_0 ] = function (listener) {
4900
4994
  if (_notificationManager) {
4901
- _notificationManager[_DYN_REMOVE_NOTIFICATION_2 ](listener);
4995
+ _notificationManager[_DYN_REMOVE_NOTIFICATION_0 ](listener);
4902
4996
  }
4903
4997
  };
4904
4998
  _self.getCookieMgr = function () {
@@ -4914,16 +5008,6 @@ var AppInsightsCore = /** @class */ (function () {
4914
5008
  }
4915
5009
  };
4916
5010
  _self[STR_GET_PERF_MGR ] = function () {
4917
- if (!_perfManager && !_cfgPerfManager) {
4918
- _addUnloadHook(_configHandler[_DYN_WATCH ](function (details) {
4919
- if (details.cfg.enablePerfMgr) {
4920
- var createPerfMgr = details.cfg[STR_CREATE_PERF_MGR ];
4921
- if (isFunction(createPerfMgr)) {
4922
- _cfgPerfManager = createPerfMgr(_self, _self[_DYN_GET_NOTIFY_MGR ]());
4923
- }
4924
- }
4925
- }));
4926
- }
4927
5011
  return _perfManager || _cfgPerfManager || getGblPerfMgr();
4928
5012
  };
4929
5013
  _self.setPerfMgr = function (perfMgr) {
@@ -5118,11 +5202,7 @@ var AppInsightsCore = /** @class */ (function () {
5118
5202
  else {
5119
5203
  unloadHook = onConfigChange(_configHandler.cfg, handler, _self[_DYN_LOGGER ]);
5120
5204
  }
5121
- return {
5122
- rm: function () {
5123
- unloadHook.rm();
5124
- }
5125
- };
5205
+ return _createUnloadHook(unloadHook);
5126
5206
  };
5127
5207
  _self.getWParam = function () {
5128
5208
  return (hasDocument() || !!_configHandler.cfg.enableWParam) ? 0 : -1;
@@ -5222,6 +5302,8 @@ var AppInsightsCore = /** @class */ (function () {
5222
5302
  _pluginVersionString = null;
5223
5303
  _pluginVersionStringArr = null;
5224
5304
  _forceStopInternalLogPoller = false;
5305
+ _internalLogPoller = null;
5306
+ _internalLogPollerListening = false;
5225
5307
  }
5226
5308
  function _createTelCtx() {
5227
5309
  var theCtx = createProcessTelemetryContext(_getPluginChain(), _configHandler.cfg, _self);
@@ -5416,28 +5498,27 @@ var AppInsightsCore = /** @class */ (function () {
5416
5498
  doCallback();
5417
5499
  return true;
5418
5500
  }
5419
- function _initDebugListener() {
5420
- !_notificationManager && _self[_DYN_GET_NOTIFY_MGR ]();
5421
- _addUnloadHook(_configHandler[_DYN_WATCH ](function (details) {
5422
- var disableDbgExt = details.cfg.disableDbgExt;
5423
- if (disableDbgExt === true && _debugListener) {
5424
- _notificationManager[_DYN_REMOVE_NOTIFICATION_2 ](_debugListener);
5425
- _debugListener = null;
5426
- }
5427
- if (_notificationManager && !_debugListener && disableDbgExt !== true) {
5428
- _debugListener = getDebugListener(details.cfg);
5429
- _notificationManager[_DYN_ADD_NOTIFICATION_LIS1 ](_debugListener);
5430
- }
5431
- }));
5432
- }
5433
5501
  function _initPerfManager() {
5502
+ var prevCfgPerfMgr;
5434
5503
  _addUnloadHook(_configHandler[_DYN_WATCH ](function (details) {
5435
5504
  var enablePerfMgr = details.cfg.enablePerfMgr;
5436
- if (!enablePerfMgr && _cfgPerfManager) {
5437
- _cfgPerfManager = null;
5438
- }
5439
5505
  if (enablePerfMgr) {
5440
- getSetValue(details.cfg, STR_CREATE_PERF_MGR, _createPerfManager);
5506
+ var createPerfMgr = details.cfg[STR_CREATE_PERF_MGR ];
5507
+ if (prevCfgPerfMgr !== createPerfMgr) {
5508
+ if (!createPerfMgr) {
5509
+ createPerfMgr = _createPerfManager;
5510
+ }
5511
+ getSetValue(details.cfg, STR_CREATE_PERF_MGR, createPerfMgr);
5512
+ prevCfgPerfMgr = createPerfMgr;
5513
+ _cfgPerfManager = null;
5514
+ }
5515
+ if (!_perfManager && !_cfgPerfManager && isFunction(createPerfMgr)) {
5516
+ _cfgPerfManager = createPerfMgr(_self, _self[_DYN_GET_NOTIFY_MGR ]());
5517
+ }
5518
+ }
5519
+ else {
5520
+ _cfgPerfManager = null;
5521
+ prevCfgPerfMgr = null;
5441
5522
  }
5442
5523
  }));
5443
5524
  }
@@ -5987,6 +6068,7 @@ exports.Undefined = Undefined;
5987
6068
  exports._InternalLogMessage = _InternalLogMessage;
5988
6069
  exports.__getRegisteredEvents = __getRegisteredEvents;
5989
6070
  exports._logInternalMessage = _logInternalMessage;
6071
+ exports._testHookMaxUnloadHooksCb = _testHookMaxUnloadHooksCb;
5990
6072
  exports._throwInternal = _throwInternal;
5991
6073
  exports._warnToConsole = _warnToConsole;
5992
6074
  exports.addEventHandler = addEventHandler;