@microsoft/applicationinsights-core-js 3.0.0-beta.2208-03 → 3.0.0-beta.2208-16

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 (121) hide show
  1. package/README.md +7 -0
  2. package/browser/applicationinsights-core-js.integrity.json +9 -9
  3. package/browser/applicationinsights-core-js.js +2040 -2155
  4. package/browser/applicationinsights-core-js.js.map +1 -1
  5. package/browser/applicationinsights-core-js.min.js +2 -2
  6. package/browser/applicationinsights-core-js.min.js.map +1 -1
  7. package/dist/applicationinsights-core-js.api.json +6998 -10817
  8. package/dist/applicationinsights-core-js.api.md +88 -177
  9. package/dist/applicationinsights-core-js.d.ts +94 -494
  10. package/dist/applicationinsights-core-js.js +2040 -2155
  11. package/dist/applicationinsights-core-js.js.map +1 -1
  12. package/dist/applicationinsights-core-js.min.js +2 -2
  13. package/dist/applicationinsights-core-js.min.js.map +1 -1
  14. package/dist/applicationinsights-core-js.rollup.d.ts +94 -494
  15. package/dist-esm/JavaScriptSDK/AppInsightsCore.js +2 -2
  16. package/dist-esm/JavaScriptSDK/AppInsightsCore.js.map +1 -1
  17. package/dist-esm/JavaScriptSDK/BaseCore.js +11 -12
  18. package/dist-esm/JavaScriptSDK/BaseCore.js.map +1 -1
  19. package/dist-esm/JavaScriptSDK/BaseTelemetryPlugin.js +3 -2
  20. package/dist-esm/JavaScriptSDK/BaseTelemetryPlugin.js.map +1 -1
  21. package/dist-esm/JavaScriptSDK/ChannelController.js +2 -2
  22. package/dist-esm/JavaScriptSDK/ChannelController.js.map +1 -1
  23. package/dist-esm/JavaScriptSDK/CookieMgr.js +27 -26
  24. package/dist-esm/JavaScriptSDK/CookieMgr.js.map +1 -1
  25. package/dist-esm/JavaScriptSDK/CoreUtils.js +8 -140
  26. package/dist-esm/JavaScriptSDK/CoreUtils.js.map +1 -1
  27. package/dist-esm/JavaScriptSDK/DataCacheHelper.js +2 -2
  28. package/dist-esm/JavaScriptSDK/DataCacheHelper.js.map +1 -1
  29. package/dist-esm/JavaScriptSDK/DbgExtensionUtils.js +3 -3
  30. package/dist-esm/JavaScriptSDK/DbgExtensionUtils.js.map +1 -1
  31. package/dist-esm/JavaScriptSDK/DiagnosticLogger.js +4 -3
  32. package/dist-esm/JavaScriptSDK/DiagnosticLogger.js.map +1 -1
  33. package/dist-esm/JavaScriptSDK/EnvUtils.js +132 -136
  34. package/dist-esm/JavaScriptSDK/EnvUtils.js.map +1 -1
  35. package/dist-esm/JavaScriptSDK/EventHelpers.js +2 -3
  36. package/dist-esm/JavaScriptSDK/EventHelpers.js.map +1 -1
  37. package/dist-esm/JavaScriptSDK/HelperFuncs.js +23 -470
  38. package/dist-esm/JavaScriptSDK/HelperFuncs.js.map +1 -1
  39. package/dist-esm/JavaScriptSDK/InstrumentHooks.js +5 -5
  40. package/dist-esm/JavaScriptSDK/InstrumentHooks.js.map +1 -1
  41. package/dist-esm/JavaScriptSDK/InternalConstants.js +4 -4
  42. package/dist-esm/JavaScriptSDK/InternalConstants.js.map +1 -1
  43. package/dist-esm/JavaScriptSDK/NotificationManager.js +2 -2
  44. package/dist-esm/JavaScriptSDK/NotificationManager.js.map +1 -1
  45. package/dist-esm/JavaScriptSDK/PerfManager.js +4 -8
  46. package/dist-esm/JavaScriptSDK/PerfManager.js.map +1 -1
  47. package/dist-esm/JavaScriptSDK/ProcessTelemetryContext.js +3 -3
  48. package/dist-esm/JavaScriptSDK/ProcessTelemetryContext.js.map +1 -1
  49. package/dist-esm/JavaScriptSDK/RandomHelper.js +1 -1
  50. package/dist-esm/JavaScriptSDK/TelemetryHelpers.js +2 -2
  51. package/dist-esm/JavaScriptSDK/TelemetryHelpers.js.map +1 -1
  52. package/dist-esm/JavaScriptSDK/TelemetryInitializerPlugin.js +3 -3
  53. package/dist-esm/JavaScriptSDK/TelemetryInitializerPlugin.js.map +1 -1
  54. package/dist-esm/JavaScriptSDK/UnloadHandlerContainer.js +2 -3
  55. package/dist-esm/JavaScriptSDK/UnloadHandlerContainer.js.map +1 -1
  56. package/dist-esm/JavaScriptSDK/W3cTraceParent.js +2 -2
  57. package/dist-esm/JavaScriptSDK/W3cTraceParent.js.map +1 -1
  58. package/dist-esm/JavaScriptSDK.Enums/EnumHelperFuncs.js +5 -31
  59. package/dist-esm/JavaScriptSDK.Enums/EnumHelperFuncs.js.map +1 -1
  60. package/dist-esm/JavaScriptSDK.Enums/EventsDiscardedReason.js +1 -1
  61. package/dist-esm/JavaScriptSDK.Enums/LoggingEnums.js +1 -1
  62. package/dist-esm/JavaScriptSDK.Enums/SendRequestReason.js +1 -1
  63. package/dist-esm/JavaScriptSDK.Enums/TelemetryUnloadReason.js +1 -1
  64. package/dist-esm/JavaScriptSDK.Enums/TelemetryUpdateReason.js +1 -1
  65. package/dist-esm/JavaScriptSDK.Interfaces/IAppInsightsCore.js +1 -1
  66. package/dist-esm/JavaScriptSDK.Interfaces/IChannelControls.js +1 -1
  67. package/dist-esm/JavaScriptSDK.Interfaces/IConfiguration.js +1 -1
  68. package/dist-esm/JavaScriptSDK.Interfaces/ICookieMgr.js +1 -1
  69. package/dist-esm/JavaScriptSDK.Interfaces/IDbgExtension.js +1 -1
  70. package/dist-esm/JavaScriptSDK.Interfaces/IDiagnosticLogger.js +1 -1
  71. package/dist-esm/JavaScriptSDK.Interfaces/IDistributedTraceContext.js +1 -1
  72. package/dist-esm/JavaScriptSDK.Interfaces/IInstrumentHooks.js +1 -1
  73. package/dist-esm/JavaScriptSDK.Interfaces/INotificationListener.js +1 -1
  74. package/dist-esm/JavaScriptSDK.Interfaces/INotificationManager.js +1 -1
  75. package/dist-esm/JavaScriptSDK.Interfaces/IPerfEvent.js +1 -1
  76. package/dist-esm/JavaScriptSDK.Interfaces/IPerfManager.js +1 -1
  77. package/dist-esm/JavaScriptSDK.Interfaces/IProcessTelemetryContext.js +1 -1
  78. package/dist-esm/JavaScriptSDK.Interfaces/ITelemetryInitializers.js +1 -1
  79. package/dist-esm/JavaScriptSDK.Interfaces/ITelemetryItem.js +1 -1
  80. package/dist-esm/JavaScriptSDK.Interfaces/ITelemetryPlugin.js +1 -1
  81. package/dist-esm/JavaScriptSDK.Interfaces/ITelemetryPluginChain.js +1 -1
  82. package/dist-esm/JavaScriptSDK.Interfaces/ITelemetryUnloadState.js +1 -1
  83. package/dist-esm/JavaScriptSDK.Interfaces/ITelemetryUpdateState.js +1 -1
  84. package/dist-esm/JavaScriptSDK.Interfaces/ITraceParent.js +1 -1
  85. package/dist-esm/JavaScriptSDK.Interfaces/IUnloadableComponent.js +1 -1
  86. package/dist-esm/__DynamicConstants.js +11 -13
  87. package/dist-esm/__DynamicConstants.js.map +1 -1
  88. package/dist-esm/applicationinsights-core-js.js +6 -5
  89. package/dist-esm/applicationinsights-core-js.js.map +1 -1
  90. package/package.json +4 -3
  91. package/src/JavaScriptSDK/AppInsightsCore.ts +1 -1
  92. package/src/JavaScriptSDK/BaseCore.ts +2 -4
  93. package/src/JavaScriptSDK/BaseTelemetryPlugin.ts +2 -1
  94. package/src/JavaScriptSDK/ChannelController.ts +1 -1
  95. package/src/JavaScriptSDK/CookieMgr.ts +6 -5
  96. package/src/JavaScriptSDK/CoreUtils.ts +7 -423
  97. package/src/JavaScriptSDK/DbgExtensionUtils.ts +2 -2
  98. package/src/JavaScriptSDK/DiagnosticLogger.ts +3 -2
  99. package/src/JavaScriptSDK/EnvUtils.ts +145 -148
  100. package/src/JavaScriptSDK/EventHelpers.ts +1 -2
  101. package/src/JavaScriptSDK/HelperFuncs.ts +22 -536
  102. package/src/JavaScriptSDK/InstrumentHooks.ts +4 -4
  103. package/src/JavaScriptSDK/InternalConstants.ts +3 -3
  104. package/src/JavaScriptSDK/NotificationManager.ts +1 -1
  105. package/src/JavaScriptSDK/PerfManager.ts +3 -7
  106. package/src/JavaScriptSDK/ProcessTelemetryContext.ts +4 -4
  107. package/src/JavaScriptSDK/TelemetryHelpers.ts +1 -1
  108. package/src/JavaScriptSDK/TelemetryInitializerPlugin.ts +2 -2
  109. package/src/JavaScriptSDK/UnloadHandlerContainer.ts +1 -2
  110. package/src/JavaScriptSDK/W3cTraceParent.ts +1 -1
  111. package/src/JavaScriptSDK.Enums/EnumHelperFuncs.ts +5 -36
  112. package/src/JavaScriptSDK.Interfaces/ITelemetryPlugin.ts +7 -0
  113. package/tsconfig.json +1 -1
  114. package/types/JavaScriptSDK/CoreUtils.d.ts +0 -270
  115. package/types/JavaScriptSDK/EnvUtils.d.ts +0 -65
  116. package/types/JavaScriptSDK/HelperFuncs.d.ts +3 -154
  117. package/types/JavaScriptSDK.Enums/EnumHelperFuncs.d.ts +6 -18
  118. package/types/JavaScriptSDK.Interfaces/ITelemetryPlugin.d.ts +6 -0
  119. package/types/__DynamicConstants.d.ts +2 -4
  120. package/types/applicationinsights-core-js.d.ts +5 -4
  121. package/types/tsdoc-metadata.json +1 -1
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Application Insights JavaScript SDK - Core, 3.0.0-beta.2208-03
2
+ * Application Insights JavaScript SDK - Core, 3.0.0-beta.2208-16
3
3
  * Copyright (c) Microsoft and contributors. All rights reserved.
4
4
  */
5
5
  (function (global, factory) {
@@ -10,6 +10,398 @@
10
10
 
11
11
  var MinChannelPriorty = 100;
12
12
 
13
+ var UNDEF_VALUE = undefined;
14
+ var EMPTY = "";
15
+ var BOOLEAN = "boolean";
16
+ var FUNCTION = "function";
17
+ var NUMBER = "number";
18
+ var OBJECT = "object";
19
+ var PROTOTYPE = "prototype";
20
+ var STRING = "string";
21
+ var UNDEFINED = "undefined";
22
+ var HAS_OWN_PROPERTY = "hasOwnProperty";
23
+ var SYMBOL = "Symbol";
24
+ var INDEX_OF = "indexOf";
25
+ var LENGTH = "length";
26
+ var ObjClass$1 = Object;
27
+ var ObjProto$1 = ObjClass$1[PROTOTYPE];
28
+ var StrCls = String;
29
+ var StrProto = StrCls[PROTOTYPE];
30
+ var ArrCls = Array;
31
+
32
+ function _safeCheck(cb, defValue) {
33
+ var result = defValue;
34
+ try {
35
+ result = cb();
36
+ }
37
+ catch (e) {
38
+ }
39
+ return result;
40
+ }
41
+
42
+ function _createIs(theType) {
43
+ return function (value) {
44
+ return typeof value === theType;
45
+ };
46
+ }
47
+ function _createObjIs(theType) {
48
+ return function (value) {
49
+ return !!(value && objToString(value) === theType);
50
+ };
51
+ }
52
+ function objToString(value) {
53
+ return ObjProto$1.toString.call(value);
54
+ }
55
+ function isTypeof(value, theType) {
56
+ return typeof value === theType;
57
+ }
58
+ function isUndefined(value) {
59
+ return typeof value === UNDEFINED || value === UNDEFINED;
60
+ }
61
+ function isNullOrUndefined(value) {
62
+ return value === null || isUndefined(value);
63
+ }
64
+ function isDefined(arg) {
65
+ return !!arg || arg !== UNDEF_VALUE;
66
+ }
67
+ var isString = _createIs(STRING);
68
+ var isFunction = _createIs(FUNCTION);
69
+ function isObject(value) {
70
+ if (isNullOrUndefined(value)) {
71
+ return false;
72
+ }
73
+ return !!value && typeof value === OBJECT;
74
+ }
75
+ var isArray = ArrCls.isArray;
76
+ var isDate = _createObjIs("[object Date]");
77
+ var isNumber = _createIs(NUMBER);
78
+ var isBoolean = _createIs(BOOLEAN);
79
+ var isError = _createObjIs("[object Error]");
80
+ function isNotTruthy(value) {
81
+ return !value || !_safeCheck(function () { return (value && (0 + value)); }, value);
82
+ }
83
+ function isTruthy(value) {
84
+ return !(!value || _safeCheck(function () { return !(value && (0 + value)); }, !value));
85
+ }
86
+
87
+ var DOCUMENT = "document";
88
+ var HISTORY = "history";
89
+ var NAVIGATOR = "navigator";
90
+ var WINDOW = "window";
91
+ var _cachedGlobal$1 = null;
92
+ var _hasWindow = _safeCheck(function () { return isDefined(window); }, false);
93
+ var _hasDocument = _safeCheck(function () { return isDefined(document); }, false);
94
+ var _hasNavigator = _safeCheck(function () { return isDefined(navigator); }, false);
95
+ var _hasHistory = _safeCheck(function () { return isDefined(history); }, false);
96
+ _safeCheck(function () { return !!(self && self instanceof WorkerGlobalScope); }, false);
97
+ _safeCheck(function () { return !!(process && (process.versions || {}).node); }, false);
98
+ function getGlobal$1(useCached) {
99
+ var result = useCached === false ? null : _cachedGlobal$1;
100
+ if (!result) {
101
+ if (!result && typeof globalThis !== UNDEFINED) {
102
+ result = globalThis;
103
+ }
104
+ if (!result && typeof self !== UNDEFINED) {
105
+ result = self;
106
+ }
107
+ if (!result && typeof window !== UNDEFINED) {
108
+ result = window;
109
+ }
110
+ if (!result && typeof global !== UNDEFINED) {
111
+ result = global;
112
+ }
113
+ _cachedGlobal$1 = result;
114
+ }
115
+ return result;
116
+ }
117
+ function getInst(name, useCached) {
118
+ var gbl = getGlobal$1(useCached);
119
+ if (gbl && gbl[name]) {
120
+ return gbl[name];
121
+ }
122
+ if (name === WINDOW && _hasWindow) {
123
+ return window;
124
+ }
125
+ return null;
126
+ }
127
+ function hasDocument() {
128
+ return !!getDocument();
129
+ }
130
+ function getDocument() {
131
+ return _hasDocument ? document : getInst(DOCUMENT);
132
+ }
133
+ function hasWindow() {
134
+ return !!getWindow();
135
+ }
136
+ function getWindow() {
137
+ return _hasWindow ? window : getInst(WINDOW);
138
+ }
139
+ function hasNavigator() {
140
+ return !!getNavigator();
141
+ }
142
+ function getNavigator() {
143
+ return _hasNavigator ? navigator : getInst(NAVIGATOR);
144
+ }
145
+ function hasHistory() {
146
+ return !!getHistory();
147
+ }
148
+ function getHistory() {
149
+ return _hasHistory ? history : getInst(HISTORY);
150
+ }
151
+
152
+ function objHasOwnProperty(obj, prop) {
153
+ return obj && ObjProto$1[HAS_OWN_PROPERTY].call(obj, prop);
154
+ }
155
+
156
+ function objForEachKey(theObject, callbackfn, thisArg) {
157
+ if (theObject && isObject(theObject)) {
158
+ for (var prop in theObject) {
159
+ if (objHasOwnProperty(theObject, prop)) {
160
+ if (callbackfn.call(thisArg || theObject, prop, theObject[prop]) === -1) {
161
+ break;
162
+ }
163
+ }
164
+ }
165
+ }
166
+ }
167
+
168
+ function arrForEach(arr, callbackfn, thisArg) {
169
+ if (arr) {
170
+ var len = arr[LENGTH];
171
+ for (var idx = 0; idx < len; idx++) {
172
+ if (idx in arr) {
173
+ if (callbackfn.call(thisArg || arr, arr[idx], idx, arr) === -1) {
174
+ break;
175
+ }
176
+ }
177
+ }
178
+ }
179
+ }
180
+
181
+ function throwError(message) {
182
+ throw new Error(message);
183
+ }
184
+ function throwTypeError$1(message) {
185
+ throw new TypeError(message);
186
+ }
187
+
188
+ var _objFreeze = ObjClass$1["freeze"];
189
+ function _doNothing(value) {
190
+ return value;
191
+ }
192
+ function objKeys(value) {
193
+ if (!isObject(value) || value === null) {
194
+ throwTypeError$1("objKeys called on non-object");
195
+ }
196
+ return ObjClass$1.keys(value);
197
+ }
198
+ function objDeepFreeze(value) {
199
+ if (_objFreeze) {
200
+ objForEachKey(value, function (key, value) {
201
+ if (isArray(value) || isObject(value)) {
202
+ _objFreeze(value);
203
+ }
204
+ });
205
+ }
206
+ return objFreeze(value);
207
+ }
208
+ var objFreeze = _objFreeze || _doNothing;
209
+ var objSeal = ObjClass$1["seal"] || _doNothing;
210
+
211
+ function createEnum(values) {
212
+ var theEnum = {};
213
+ objForEachKey(values, function (field, value) {
214
+ theEnum[field] = value;
215
+ theEnum[value] = field;
216
+ });
217
+ return objDeepFreeze(theEnum);
218
+ }
219
+ function createSimpleMap(values) {
220
+ var mapClass = {};
221
+ objForEachKey(values, function (field, value) {
222
+ mapClass[field] = value[1];
223
+ mapClass[value[0]] = value[1];
224
+ });
225
+ return objDeepFreeze(mapClass);
226
+ }
227
+ function createTypeMap(values) {
228
+ return createSimpleMap(values);
229
+ }
230
+
231
+ _safeCheck(function () { return isDefined(Symbol); }, false);
232
+ var _symbol = getInst(SYMBOL);
233
+ _symbol && _safeCheck(function () { return _symbol["for"]; }, null);
234
+ _symbol && _safeCheck(function () { return _symbol["keyFor"]; }, null);
235
+ var isSymbol = _createIs("symbol");
236
+
237
+ function dumpObj(object, format) {
238
+ var objectTypeDump = objToString(object);
239
+ var propertyValueDump = "";
240
+ if (objectTypeDump === "[object Error]") {
241
+ propertyValueDump = "{ stack: '" + object.stack + "', message: '" + object.message + "', name: '" + object.name + "'";
242
+ }
243
+ else {
244
+ if (format) {
245
+ if (isNumber(format)) {
246
+ propertyValueDump = JSON.stringify(object, null, format);
247
+ }
248
+ else {
249
+ propertyValueDump = JSON.stringify(object, null, format ? 4 : 0);
250
+ }
251
+ }
252
+ else {
253
+ propertyValueDump = JSON.stringify(object);
254
+ }
255
+ }
256
+ return objectTypeDump + ": " + propertyValueDump;
257
+ }
258
+
259
+ function _unwrapFunction(funcName) {
260
+ return function (thisArg) {
261
+ var args = [];
262
+ for (var _i = 1; _i < arguments.length; _i++) {
263
+ args[_i - 1] = arguments[_i];
264
+ }
265
+ if ((thisArg || thisArg === EMPTY) && thisArg[funcName]) {
266
+ return thisArg[funcName].apply(thisArg, args);
267
+ }
268
+ throwTypeError$1("'" + funcName + "' not defined for " + dumpObj(thisArg));
269
+ };
270
+ }
271
+
272
+ var arrIndexOf = _unwrapFunction(INDEX_OF);
273
+
274
+ var arrMap = _unwrapFunction("map");
275
+
276
+ var arrReduce = _unwrapFunction("reduce");
277
+
278
+ function objSetPrototypeOf(obj, proto) {
279
+ var fn = ObjClass$1["setPrototypeOf"] ||
280
+ ({ __proto__: [] } instanceof Array && function (d, b) {
281
+ d.__proto__ = b;
282
+ }) ||
283
+ function (d, b) {
284
+ objForEachKey(b, function (key, value) {
285
+ d[key] = value;
286
+ });
287
+ };
288
+ return fn(obj, proto);
289
+ }
290
+
291
+ function _createCustomError(name, d, b) {
292
+ objSetPrototypeOf(d, b);
293
+ function __() {
294
+ this.constructor = d;
295
+ }
296
+ __[PROTOTYPE] = b[PROTOTYPE];
297
+ __[PROTOTYPE].name = name;
298
+ d[PROTOTYPE] = new __();
299
+ return d;
300
+ }
301
+ function createCustomError(name, constructCb) {
302
+ var baseClass = Error;
303
+ var customError = _createCustomError(name, function () {
304
+ var _this = this;
305
+ _this = baseClass.apply(_this, arguments) || _this;
306
+ constructCb && constructCb(_this, arguments);
307
+ return _this;
308
+ }, baseClass);
309
+ return customError;
310
+ }
311
+ var _unsupportedError;
312
+ function throwUnsupported(message) {
313
+ if (!_unsupportedError) {
314
+ _unsupportedError = createCustomError("UnsupportedError");
315
+ }
316
+ throw new _unsupportedError(message);
317
+ }
318
+
319
+ var _objDefineProperty$1 = ObjClass$1["defineProperty"];
320
+ function objDefineProp(target, key, descriptor) {
321
+ if (_objDefineProperty$1) {
322
+ _objDefineProperty$1(target, key, descriptor);
323
+ return target;
324
+ }
325
+ throwUnsupported("Unable to define property [" + objToString(key) + "] on " + dumpObj(target));
326
+ }
327
+ function objDefineAccessors(target, prop, getProp, setProp, configurable) {
328
+ if (_objDefineProperty$1) {
329
+ try {
330
+ var descriptor = {
331
+ enumerable: true,
332
+ configurable: isUndefined(configurable) ? true : configurable
333
+ };
334
+ if (getProp) {
335
+ descriptor.get = getProp;
336
+ }
337
+ if (setProp) {
338
+ descriptor.set = setProp;
339
+ }
340
+ return objDefineProp(target, prop, descriptor);
341
+ }
342
+ catch (e) {
343
+ throwUnsupported("Unable to define accessors for [" + objToString(prop) + "] on " + dumpObj(target));
344
+ }
345
+ }
346
+ }
347
+
348
+ var strSubstring = _unwrapFunction("substring");
349
+
350
+ var ENDS_WITH = "endsWith";
351
+ var strEndsWith = StrProto[ENDS_WITH] ? _unwrapFunction(ENDS_WITH) : polyStrEndsWith;
352
+ function polyStrEndsWith(value, searchString, length) {
353
+ if (!isString(value)) {
354
+ throwTypeError$1("'" + dumpObj(value) + "' is not a string");
355
+ }
356
+ var searchValue = isString(searchString) ? searchString : "" + searchString;
357
+ var chkLen = searchValue[LENGTH];
358
+ var len = value[LENGTH];
359
+ var end = !isUndefined(length) && length < len ? length : len;
360
+ return strSubstring(value, end - chkLen, end) === searchValue;
361
+ }
362
+
363
+ var strIndexOf = _unwrapFunction(INDEX_OF);
364
+
365
+ var STARTS_WITH = "startsWith";
366
+ var strStartsWith = StrProto[STARTS_WITH] ? _unwrapFunction(STARTS_WITH) : polyStrStartsWith;
367
+ function polyStrStartsWith(value, searchString, position) {
368
+ if (!isString(value)) {
369
+ throwTypeError$1("'" + dumpObj(value) + "' is not a string");
370
+ }
371
+ var searchValue = isString(searchString) ? searchString : "" + searchString;
372
+ var chkLen = searchValue[LENGTH];
373
+ var pos = position > 0 ? position : 0;
374
+ return strSubstring(value, pos, pos + chkLen) === searchValue;
375
+ }
376
+
377
+ function _createTrimFn(exp) {
378
+ return function _doTrim(value) {
379
+ if (isNullOrUndefined(value)) {
380
+ throwTypeError$1("strTrim called [" + dumpObj(value) + "]");
381
+ }
382
+ if (value && value.replace) {
383
+ value = value.replace(exp, "");
384
+ }
385
+ return value;
386
+ };
387
+ }
388
+ var polyStrTrim = _createTrimFn(/^\s+|(?=\s)\s+$/g);
389
+
390
+ var TRIM = "trim";
391
+ var strTrim = StrProto[TRIM] ? _unwrapFunction(TRIM) : polyStrTrim;
392
+
393
+ var createEnumStyle = createEnum;
394
+ var createValueMap = createTypeMap;
395
+
396
+ var EventsDiscardedReason = createEnumStyle({
397
+ Unknown: 0 ,
398
+ NonRetryableStatus: 1 ,
399
+ InvalidEvent: 2 ,
400
+ SizeLimitExceeded: 3 ,
401
+ KillSwitch: 4 ,
402
+ QueueFull: 5
403
+ });
404
+
13
405
  var strShimFunction = "function";
14
406
  var strShimObject = "object";
15
407
  var strShimUndefined = "undefined";
@@ -94,436 +486,428 @@
94
486
  return to;
95
487
  }
96
488
 
97
- var _DYN_INITIALIZE = "initialize";
98
- var _DYN_NAME = "name";
99
- var _DYN_GET_NOTIFY_MGR = "getNotifyMgr";
100
- var _DYN_IDENTIFIER = "identifier";
101
- var _DYN_PUSH = "push";
102
- var _DYN_IS_INITIALIZED = "isInitialized";
103
- var _DYN_CONFIG = "config";
104
- var _DYN_INSTRUMENTATION_KEY = "instrumentationKey";
105
- var _DYN_LOGGER = "logger";
106
- var _DYN_LENGTH = "length";
107
- var _DYN_TIME = "time";
108
- var _DYN_PROCESS_NEXT = "processNext";
109
- var _DYN_GET_PROCESS_TEL_CONT0 = "getProcessTelContext";
110
- var _DYN_ADD_NOTIFICATION_LIS1 = "addNotificationListener";
111
- var _DYN_REMOVE_NOTIFICATION_2 = "removeNotificationListener";
112
- var _DYN_STOP_POLLING_INTERNA3 = "stopPollingInternalLogs";
113
- var _DYN_ON_COMPLETE = "onComplete";
114
- var _DYN_GET_PLUGIN = "getPlugin";
115
- var _DYN_FLUSH = "flush";
116
- var _DYN__EXTENSIONS = "_extensions";
117
- var _DYN_SPLICE = "splice";
118
- var _DYN_TEARDOWN = "teardown";
119
- var _DYN_MESSAGE_ID = "messageId";
120
- var _DYN_MESSAGE = "message";
121
- var _DYN_IS_ASYNC = "isAsync";
122
- var _DYN__DO_TEARDOWN = "_doTeardown";
123
- var _DYN_UPDATE = "update";
124
- var _DYN_GET_NEXT = "getNext";
125
- var _DYN_DIAG_LOG = "diagLog";
126
- var _DYN_SET_NEXT_PLUGIN = "setNextPlugin";
127
- var _DYN_CREATE_NEW = "createNew";
128
- var _DYN_COOKIE_CFG = "cookieCfg";
129
- var _DYN_INDEX_OF = "indexOf";
130
- var _DYN_SUBSTRING = "substring";
131
- var _DYN_USER_AGENT = "userAgent";
132
- var _DYN_SPLIT = "split";
133
- var _DYN_SET_ENABLED = "setEnabled";
134
- var _DYN_REPLACE = "replace";
135
- var _DYN_SUBSTR = "substr";
136
- var _DYN_NODE_TYPE = "nodeType";
137
- var _DYN_APPLY = "apply";
138
- var _DYN_ENABLE_DEBUG_EXCEPTI4 = "enableDebugExceptions";
139
- var _DYN_LOG_INTERNAL_MESSAGE = "logInternalMessage";
140
- var _DYN_TO_LOWER_CASE = "toLowerCase";
141
- var _DYN_CALL = "call";
142
- var _DYN_TYPE = "type";
143
- var _DYN_HANDLER = "handler";
144
- var _DYN_LISTENERS = "listeners";
145
- var _DYN_IS_CHILD_EVT = "isChildEvt";
146
- var _DYN_GET_CTX = "getCtx";
147
- var _DYN_SET_CTX = "setCtx";
148
- var _DYN_COMPLETE = "complete";
149
- var _DYN_TRACE_ID = "traceId";
150
- var _DYN_SPAN_ID = "spanId";
151
- var _DYN_TRACE_FLAGS = "traceFlags";
152
- var _DYN_VERSION = "version";
153
-
154
- var STR_EMPTY = "";
155
- var STR_CHANNELS = "channels";
156
- var STR_CORE = "core";
157
- var STR_CREATE_PERF_MGR = "createPerfMgr";
158
- var STR_DISABLED = "disabled";
159
- var STR_EXTENSION_CONFIG = "extensionConfig";
160
- var STR_EXTENSIONS = "extensions";
161
- var STR_PROCESS_TELEMETRY = "processTelemetry";
162
- var STR_PRIORITY = "priority";
163
- var STR_EVENTS_SENT = "eventsSent";
164
- var STR_EVENTS_DISCARDED = "eventsDiscarded";
165
- var STR_EVENTS_SEND_REQUEST = "eventsSendRequest";
166
- var STR_PERF_EVENT = "perfEvent";
167
- var STR_ERROR_TO_CONSOLE = "errorToConsole";
168
- var STR_WARN_TO_CONSOLE = "warnToConsole";
169
- var STR_GET_PERF_MGR = "getPerfMgr";
170
-
171
- var strToISOString = "toISOString";
172
- var cStrEndsWith = "endsWith";
173
- var cStrStartsWith = "startsWith";
174
- var strIndexOf = "indexOf";
175
- var strMap = "map";
176
- var strReduce = "reduce";
177
- var cStrTrim = "trim";
178
- var strToString = "toString";
179
- var str__Proto$1 = "__proto__";
180
- var strConstructor = "constructor";
181
- var _objDefineProperty$1 = ObjDefineProperty;
182
- var _objFreeze = ObjClass.freeze;
183
- var _objSeal = ObjClass.seal;
184
- var _objKeys = ObjClass.keys;
185
- var StringProto = String[strShimPrototype];
186
- var _strTrim = StringProto[cStrTrim];
187
- var _strEndsWith = StringProto[cStrEndsWith];
188
- var _strStartsWith = StringProto[cStrStartsWith];
189
- var DateProto = Date[strShimPrototype];
190
- var _dataToISOString = DateProto[strToISOString];
191
- var _isArray = Array.isArray;
192
- var _objToString = ObjProto[strToString];
193
- var _fnToString = ObjHasOwnProperty[strToString];
194
- var _objFunctionString = _fnToString[_DYN_CALL ](ObjClass);
195
- var rCamelCase = /-([a-z])/g;
196
- var rNormalizeInvalid = /([^\w\d_$])/g;
197
- var rLeadingNumeric = /^(\d+[\w\d_$])/;
198
- var _objGetPrototypeOf$1 = Object["getPrototypeOf"];
199
- function _getObjProto$1(target) {
200
- if (target) {
201
- if (_objGetPrototypeOf$1) {
202
- return _objGetPrototypeOf$1(target);
203
- }
204
- var newProto = target[str__Proto$1] || target[strShimPrototype] || target[strConstructor];
205
- if (newProto) {
206
- return newProto;
207
- }
208
- }
209
- return null;
210
- }
211
- function objToString(obj) {
212
- return _objToString[_DYN_CALL ](obj);
213
- }
214
- function isTypeof(value, theType) {
215
- return typeof value === theType;
216
- }
217
- function isUndefined(value) {
218
- return value === undefined || typeof value === strShimUndefined;
219
- }
220
- function isNotUndefined(value) {
221
- return !isUndefined(value);
222
- }
223
- function isNullOrUndefined(value) {
224
- return (value === null || isUndefined(value));
225
- }
226
- function isNotNullOrUndefined(value) {
227
- return !isNullOrUndefined(value);
228
- }
229
- function hasOwnProperty(obj, prop) {
230
- return !!(obj && ObjHasOwnProperty[_DYN_CALL ](obj, prop));
231
- }
232
- function isObject(value) {
233
- return !!(value && typeof value === strShimObject);
489
+ /*!
490
+ * Microsoft Dynamic Proto Utility, 1.1.6
491
+ * Copyright (c) Microsoft and contributors. All rights reserved.
492
+ */
493
+ var Constructor = 'constructor';
494
+ var Prototype = 'prototype';
495
+ var strFunction = 'function';
496
+ var DynInstFuncTable = '_dynInstFuncs';
497
+ var DynProxyTag = '_isDynProxy';
498
+ var DynClassName = '_dynClass';
499
+ var DynClassNamePrefix = '_dynCls$';
500
+ var DynInstChkTag = '_dynInstChk';
501
+ var DynAllowInstChkTag = DynInstChkTag;
502
+ var DynProtoDefaultOptions = '_dfOpts';
503
+ var UnknownValue = '_unknown_';
504
+ var str__Proto = "__proto__";
505
+ var DynProtoBaseProto = "_dyn" + str__Proto;
506
+ var DynProtoCurrent = "_dynInstProto";
507
+ var strUseBaseInst = 'useBaseInst';
508
+ var strSetInstFuncs = 'setInstFuncs';
509
+ var Obj = Object;
510
+ var _objGetPrototypeOf = Obj["getPrototypeOf"];
511
+ var _objGetOwnProps = Obj["getOwnPropertyNames"];
512
+ var _dynamicNames = 0;
513
+ function _hasOwnProperty(obj, prop) {
514
+ return obj && Obj[Prototype].hasOwnProperty.call(obj, prop);
234
515
  }
235
- function isFunction(value) {
236
- return !!(value && typeof value === strShimFunction);
516
+ function _isObjectOrArrayPrototype(target) {
517
+ return target && (target === Obj[Prototype] || target === Array[Prototype]);
237
518
  }
238
- function normalizeJsName(name) {
239
- var value = name;
240
- if (value && isString(value)) {
241
- value = value[_DYN_REPLACE ](rCamelCase, function (_all, letter) {
242
- return letter.toUpperCase();
243
- });
244
- value = value[_DYN_REPLACE ](rNormalizeInvalid, "_");
245
- value = value[_DYN_REPLACE ](rLeadingNumeric, function (_all, match) {
246
- return "_" + match;
247
- });
248
- }
249
- return value;
519
+ function _isObjectArrayOrFunctionPrototype(target) {
520
+ return _isObjectOrArrayPrototype(target) || target === Function[Prototype];
250
521
  }
251
- function objForEachKey(target, callbackfn) {
522
+ function _getObjProto$1(target) {
523
+ var newProto;
252
524
  if (target) {
253
- for (var prop in target) {
254
- if (ObjHasOwnProperty[_DYN_CALL ](target, prop)) {
255
- callbackfn[_DYN_CALL ](target, prop, target[prop]);
256
- }
525
+ if (_objGetPrototypeOf) {
526
+ return _objGetPrototypeOf(target);
257
527
  }
258
- }
259
- }
260
- function strEndsWith(value, search) {
261
- var result = false;
262
- if (value && search && !(result = value === search)) {
263
- result = _strEndsWith ? value[cStrEndsWith](search) : _strEndsWithPoly(value, search);
264
- }
265
- return result;
266
- }
267
- function _strEndsWithPoly(value, search) {
268
- var result = false;
269
- var searchLen = search ? search[_DYN_LENGTH ] : 0;
270
- var valLen = value ? value[_DYN_LENGTH ] : 0;
271
- if (searchLen && valLen && valLen >= searchLen && !(result = value === search)) {
272
- var pos = valLen - 1;
273
- for (var lp = searchLen - 1; lp >= 0; lp--) {
274
- if (value[pos] != search[lp]) {
275
- return false;
276
- }
277
- pos--;
528
+ var curProto = target[str__Proto] || target[Prototype] || (target[Constructor] ? target[Constructor][Prototype] : null);
529
+ newProto = target[DynProtoBaseProto] || curProto;
530
+ if (!_hasOwnProperty(target, DynProtoBaseProto)) {
531
+ delete target[DynProtoCurrent];
532
+ newProto = target[DynProtoBaseProto] = target[DynProtoCurrent] || target[DynProtoBaseProto];
533
+ target[DynProtoCurrent] = curProto;
278
534
  }
279
- result = true;
280
535
  }
281
- return result;
536
+ return newProto;
282
537
  }
283
- function strStartsWith(value, checkValue) {
284
- var result = false;
285
- if (value && checkValue && !(result = value === checkValue)) {
286
- result = _strStartsWith ? value[cStrStartsWith](checkValue) : _strStartsWithPoly(value, checkValue);
538
+ function _forEachProp(target, func) {
539
+ var props = [];
540
+ if (_objGetOwnProps) {
541
+ props = _objGetOwnProps(target);
287
542
  }
288
- return result;
289
- }
290
- function _strStartsWithPoly(value, checkValue) {
291
- var result = false;
292
- var chkLen = checkValue ? checkValue[_DYN_LENGTH ] : 0;
293
- if (value && chkLen && value[_DYN_LENGTH ] >= chkLen && !(result = value === checkValue)) {
294
- for (var lp = 0; lp < chkLen; lp++) {
295
- if (value[lp] !== checkValue[lp]) {
296
- return false;
543
+ else {
544
+ for (var name_1 in target) {
545
+ if (typeof name_1 === "string" && _hasOwnProperty(target, name_1)) {
546
+ props.push(name_1);
297
547
  }
298
548
  }
299
- result = true;
300
549
  }
301
- return result;
302
- }
303
- function strContains(value, search) {
304
- if (value && search) {
305
- return value[_DYN_INDEX_OF ](search) !== -1;
550
+ if (props && props.length > 0) {
551
+ for (var lp = 0; lp < props.length; lp++) {
552
+ func(props[lp]);
553
+ }
306
554
  }
307
- return false;
308
- }
309
- function isDate(obj) {
310
- return !!(obj && _objToString[_DYN_CALL ](obj) === "[object Date]");
311
- }
312
- var isArray = _isArray || _isArrayPoly;
313
- function _isArrayPoly(obj) {
314
- return !!(obj && _objToString[_DYN_CALL ](obj) === "[object Array]");
315
- }
316
- function isError(obj) {
317
- return !!(obj && _objToString[_DYN_CALL ](obj) === "[object Error]");
318
- }
319
- function isString(value) {
320
- return typeof value === "string";
321
- }
322
- function isNumber(value) {
323
- return typeof value === "number";
324
555
  }
325
- function isBoolean(value) {
326
- return typeof value === "boolean";
556
+ function _isDynamicCandidate(target, funcName, skipOwn) {
557
+ return (funcName !== Constructor && typeof target[funcName] === strFunction && (skipOwn || _hasOwnProperty(target, funcName)));
327
558
  }
328
- function isSymbol(value) {
329
- return typeof value === "symbol";
559
+ function _throwTypeError(message) {
560
+ throw new TypeError("DynamicProto: " + message);
330
561
  }
331
- function isPlainObject(value) {
332
- var result = false;
333
- if (value && typeof value === "object") {
334
- var proto = _objGetPrototypeOf$1 ? _objGetPrototypeOf$1(value) : _getObjProto$1(value);
335
- if (!proto) {
336
- result = true;
337
- }
338
- else {
339
- if (proto[strConstructor] && ObjHasOwnProperty[_DYN_CALL ](proto, strConstructor)) {
340
- proto = proto[strConstructor];
341
- }
342
- result = typeof proto === strShimFunction && _fnToString[_DYN_CALL ](proto) === _objFunctionString;
562
+ function _getInstanceFuncs(thisTarget) {
563
+ var instFuncs = {};
564
+ _forEachProp(thisTarget, function (name) {
565
+ if (!instFuncs[name] && _isDynamicCandidate(thisTarget, name, false)) {
566
+ instFuncs[name] = thisTarget[name];
343
567
  }
344
- }
345
- return result;
568
+ });
569
+ return instFuncs;
346
570
  }
347
- function toISOString(date) {
348
- if (date) {
349
- return _dataToISOString ? date[strToISOString]() : _toISOStringPoly(date);
571
+ function _hasVisited(values, value) {
572
+ for (var lp = values.length - 1; lp >= 0; lp--) {
573
+ if (values[lp] === value) {
574
+ return true;
575
+ }
350
576
  }
577
+ return false;
351
578
  }
352
- function _toISOStringPoly(date) {
353
- if (date && date.getUTCFullYear) {
354
- var pad = function (num) {
355
- var r = String(num);
356
- if (r[_DYN_LENGTH ] === 1) {
357
- r = "0" + r;
579
+ function _getBaseFuncs(classProto, thisTarget, instFuncs, useBaseInst) {
580
+ function _instFuncProxy(target, funcHost, funcName) {
581
+ var theFunc = funcHost[funcName];
582
+ if (theFunc[DynProxyTag] && useBaseInst) {
583
+ var instFuncTable = target[DynInstFuncTable] || {};
584
+ if (instFuncTable[DynAllowInstChkTag] !== false) {
585
+ theFunc = (instFuncTable[funcHost[DynClassName]] || {})[funcName] || theFunc;
358
586
  }
359
- return r;
587
+ }
588
+ return function () {
589
+ return theFunc.apply(target, arguments);
360
590
  };
361
- return date.getUTCFullYear()
362
- + "-" + pad(date.getUTCMonth() + 1)
363
- + "-" + pad(date.getUTCDate())
364
- + "T" + pad(date.getUTCHours())
365
- + ":" + pad(date.getUTCMinutes())
366
- + ":" + pad(date.getUTCSeconds())
367
- + "." + String((date.getUTCMilliseconds() / 1000).toFixed(3)).slice(2, 5)
368
- + "Z";
369
591
  }
370
- }
371
- function arrForEach(arr, callbackfn, thisArg) {
372
- var len = arr[_DYN_LENGTH ];
373
- try {
374
- for (var idx = 0; idx < len; idx++) {
375
- if (idx in arr) {
376
- if (callbackfn[_DYN_CALL ](thisArg || arr, arr[idx], idx, arr) === -1) {
377
- break;
378
- }
592
+ var baseFuncs = {};
593
+ _forEachProp(instFuncs, function (name) {
594
+ baseFuncs[name] = _instFuncProxy(thisTarget, instFuncs, name);
595
+ });
596
+ var baseProto = _getObjProto$1(classProto);
597
+ var visited = [];
598
+ while (baseProto && !_isObjectArrayOrFunctionPrototype(baseProto) && !_hasVisited(visited, baseProto)) {
599
+ _forEachProp(baseProto, function (name) {
600
+ if (!baseFuncs[name] && _isDynamicCandidate(baseProto, name, !_objGetPrototypeOf)) {
601
+ baseFuncs[name] = _instFuncProxy(thisTarget, baseProto, name);
379
602
  }
380
- }
381
- }
382
- catch (e) {
603
+ });
604
+ visited.push(baseProto);
605
+ baseProto = _getObjProto$1(baseProto);
383
606
  }
607
+ return baseFuncs;
384
608
  }
385
- function arrIndexOf(arr, searchElement, fromIndex) {
386
- if (arr) {
387
- if (arr[strIndexOf]) {
388
- return arr[strIndexOf](searchElement, fromIndex);
609
+ function _getInstFunc(target, funcName, proto, currentDynProtoProxy) {
610
+ var instFunc = null;
611
+ if (target && _hasOwnProperty(proto, DynClassName)) {
612
+ var instFuncTable = target[DynInstFuncTable] || {};
613
+ instFunc = (instFuncTable[proto[DynClassName]] || {})[funcName];
614
+ if (!instFunc) {
615
+ _throwTypeError("Missing [" + funcName + "] " + strFunction);
389
616
  }
390
- var len = arr[_DYN_LENGTH ];
391
- var from = fromIndex || 0;
392
- try {
393
- for (var lp = Math.max(from >= 0 ? from : len - Math.abs(from), 0); lp < len; lp++) {
394
- if (lp in arr && arr[lp] === searchElement) {
395
- return lp;
617
+ if (!instFunc[DynInstChkTag] && instFuncTable[DynAllowInstChkTag] !== false) {
618
+ var canAddInst = !_hasOwnProperty(target, funcName);
619
+ var objProto = _getObjProto$1(target);
620
+ var visited = [];
621
+ while (canAddInst && objProto && !_isObjectArrayOrFunctionPrototype(objProto) && !_hasVisited(visited, objProto)) {
622
+ var protoFunc = objProto[funcName];
623
+ if (protoFunc) {
624
+ canAddInst = (protoFunc === currentDynProtoProxy);
625
+ break;
396
626
  }
627
+ visited.push(objProto);
628
+ objProto = _getObjProto$1(objProto);
397
629
  }
398
- }
399
- catch (e) {
400
- }
401
- }
402
- return -1;
403
- }
404
- function arrMap(arr, callbackfn, thisArg) {
405
- var results;
406
- if (arr) {
407
- if (arr[strMap]) {
408
- return arr[strMap](callbackfn, thisArg);
409
- }
410
- var len = arr[_DYN_LENGTH ];
411
- var _this = thisArg || arr;
412
- results = new Array(len);
413
- try {
414
- for (var lp = 0; lp < len; lp++) {
415
- if (lp in arr) {
416
- results[lp] = callbackfn[_DYN_CALL ](_this, arr[lp], arr);
630
+ try {
631
+ if (canAddInst) {
632
+ target[funcName] = instFunc;
417
633
  }
634
+ instFunc[DynInstChkTag] = 1;
418
635
  }
419
- }
420
- catch (e) {
421
- }
422
- }
423
- return results;
424
- }
425
- function arrReduce(arr, callbackfn, initialValue) {
426
- var value;
427
- if (arr) {
428
- if (arr[strReduce]) {
429
- return arr[strReduce](callbackfn, initialValue);
430
- }
431
- var len = arr[_DYN_LENGTH ];
432
- var lp = 0;
433
- if (arguments[_DYN_LENGTH ] >= 3) {
434
- value = arguments[2];
435
- }
436
- else {
437
- while (lp < len && !(lp in arr)) {
438
- lp++;
439
- }
440
- value = arr[lp++];
441
- }
442
- while (lp < len) {
443
- if (lp in arr) {
444
- value = callbackfn(value, arr[lp], lp, arr);
636
+ catch (e) {
637
+ instFuncTable[DynAllowInstChkTag] = false;
445
638
  }
446
- lp++;
447
639
  }
448
640
  }
449
- return value;
641
+ return instFunc;
450
642
  }
451
- function strTrim(str) {
452
- if (str) {
453
- str = (_strTrim && str[cStrTrim]) ? str[cStrTrim]() : (str[_DYN_REPLACE ] ? str[_DYN_REPLACE ](/^\s+|\s+$/g, STR_EMPTY) : str);
454
- }
455
- return str;
456
- }
457
- var _objKeysHasDontEnumBug = !({ toString: null }).propertyIsEnumerable("toString");
458
- var _objKeysDontEnums = [
459
- "toString",
460
- "toLocaleString",
461
- "valueOf",
462
- "hasOwnProperty",
463
- "isPrototypeOf",
464
- "propertyIsEnumerable",
465
- "constructor"
466
- ];
467
- function objKeys(obj) {
468
- var objType = typeof obj;
469
- if (objType !== strShimFunction && (objType !== strShimObject || obj === null)) {
470
- throwTypeError("objKeys called on non-object");
471
- }
472
- if (!_objKeysHasDontEnumBug && _objKeys) {
473
- return _objKeys(obj);
474
- }
475
- var result = [];
476
- for (var prop in obj) {
477
- if (obj && ObjHasOwnProperty[_DYN_CALL ](obj, prop)) {
478
- result[_DYN_PUSH ](prop);
479
- }
643
+ function _getProtoFunc(funcName, proto, currentDynProtoProxy) {
644
+ var protoFunc = proto[funcName];
645
+ if (protoFunc === currentDynProtoProxy) {
646
+ protoFunc = _getObjProto$1(proto)[funcName];
480
647
  }
481
- if (_objKeysHasDontEnumBug) {
482
- var dontEnumsLength = _objKeysDontEnums[_DYN_LENGTH ];
483
- for (var lp = 0; lp < dontEnumsLength; lp++) {
484
- if (obj && ObjHasOwnProperty[_DYN_CALL ](obj, _objKeysDontEnums[lp])) {
485
- result[_DYN_PUSH ](_objKeysDontEnums[lp]);
486
- }
487
- }
648
+ if (typeof protoFunc !== strFunction) {
649
+ _throwTypeError("[" + funcName + "] is not a " + strFunction);
488
650
  }
489
- return result;
651
+ return protoFunc;
490
652
  }
491
- function objDefineAccessors(target, prop, getProp, setProp) {
492
- if (_objDefineProperty$1) {
493
- try {
494
- var descriptor = {
495
- enumerable: true,
496
- configurable: true
497
- };
498
- if (getProp) {
499
- descriptor.get = getProp;
653
+ function _populatePrototype(proto, className, target, baseInstFuncs, setInstanceFunc) {
654
+ function _createDynamicPrototype(proto, funcName) {
655
+ var dynProtoProxy = function () {
656
+ var instFunc = _getInstFunc(this, funcName, proto, dynProtoProxy) || _getProtoFunc(funcName, proto, dynProtoProxy);
657
+ return instFunc.apply(this, arguments);
658
+ };
659
+ dynProtoProxy[DynProxyTag] = 1;
660
+ return dynProtoProxy;
661
+ }
662
+ if (!_isObjectOrArrayPrototype(proto)) {
663
+ var instFuncTable = target[DynInstFuncTable] = target[DynInstFuncTable] || {};
664
+ var instFuncs_1 = instFuncTable[className] = (instFuncTable[className] || {});
665
+ if (instFuncTable[DynAllowInstChkTag] !== false) {
666
+ instFuncTable[DynAllowInstChkTag] = !!setInstanceFunc;
667
+ }
668
+ _forEachProp(target, function (name) {
669
+ if (_isDynamicCandidate(target, name, false) && target[name] !== baseInstFuncs[name]) {
670
+ instFuncs_1[name] = target[name];
671
+ delete target[name];
672
+ if (!_hasOwnProperty(proto, name) || (proto[name] && !proto[name][DynProxyTag])) {
673
+ proto[name] = _createDynamicPrototype(proto, name);
674
+ }
500
675
  }
501
- if (setProp) {
502
- descriptor.set = setProp;
676
+ });
677
+ }
678
+ }
679
+ function _checkPrototype(classProto, thisTarget) {
680
+ if (_objGetPrototypeOf) {
681
+ var visited = [];
682
+ var thisProto = _getObjProto$1(thisTarget);
683
+ while (thisProto && !_isObjectArrayOrFunctionPrototype(thisProto) && !_hasVisited(visited, thisProto)) {
684
+ if (thisProto === classProto) {
685
+ return true;
503
686
  }
504
- _objDefineProperty$1(target, prop, descriptor);
505
- return true;
687
+ visited.push(thisProto);
688
+ thisProto = _getObjProto$1(thisProto);
506
689
  }
507
- catch (e) {
690
+ return false;
691
+ }
692
+ return true;
693
+ }
694
+ function _getObjName(target, unknownValue) {
695
+ if (_hasOwnProperty(target, Prototype)) {
696
+ return target.name || unknownValue || UnknownValue;
697
+ }
698
+ return (((target || {})[Constructor]) || {}).name || unknownValue || UnknownValue;
699
+ }
700
+ function dynamicProto(theClass, target, delegateFunc, options) {
701
+ if (!_hasOwnProperty(theClass, Prototype)) {
702
+ _throwTypeError("theClass is an invalid class definition.");
703
+ }
704
+ var classProto = theClass[Prototype];
705
+ if (!_checkPrototype(classProto, target)) {
706
+ _throwTypeError("[" + _getObjName(theClass) + "] is not in class hierarchy of [" + _getObjName(target) + "]");
707
+ }
708
+ var className = null;
709
+ if (_hasOwnProperty(classProto, DynClassName)) {
710
+ className = classProto[DynClassName];
711
+ }
712
+ else {
713
+ className = DynClassNamePrefix + _getObjName(theClass, "_") + "$" + _dynamicNames;
714
+ _dynamicNames++;
715
+ classProto[DynClassName] = className;
716
+ }
717
+ var perfOptions = dynamicProto[DynProtoDefaultOptions];
718
+ var useBaseInst = !!perfOptions[strUseBaseInst];
719
+ if (useBaseInst && options && options[strUseBaseInst] !== undefined) {
720
+ useBaseInst = !!options[strUseBaseInst];
721
+ }
722
+ var instFuncs = _getInstanceFuncs(target);
723
+ var baseFuncs = _getBaseFuncs(classProto, target, instFuncs, useBaseInst);
724
+ delegateFunc(target, baseFuncs);
725
+ var setInstanceFunc = !!_objGetPrototypeOf && !!perfOptions[strSetInstFuncs];
726
+ if (setInstanceFunc && options) {
727
+ setInstanceFunc = !!options[strSetInstFuncs];
728
+ }
729
+ _populatePrototype(classProto, className, target, instFuncs, setInstanceFunc !== false);
730
+ }
731
+ var perfDefaults = {
732
+ setInstFuncs: true,
733
+ useBaseInst: true
734
+ };
735
+ dynamicProto[DynProtoDefaultOptions] = perfDefaults;
736
+
737
+ var _DYN_INITIALIZE = "initialize";
738
+ var _DYN_NAME = "name";
739
+ var _DYN_GET_NOTIFY_MGR = "getNotifyMgr";
740
+ var _DYN_IDENTIFIER = "identifier";
741
+ var _DYN_PUSH = "push";
742
+ var _DYN_IS_INITIALIZED = "isInitialized";
743
+ var _DYN_CONFIG = "config";
744
+ var _DYN_INSTRUMENTATION_KEY = "instrumentationKey";
745
+ var _DYN_LOGGER = "logger";
746
+ var _DYN_LENGTH = "length";
747
+ var _DYN_TIME = "time";
748
+ var _DYN_PROCESS_NEXT = "processNext";
749
+ var _DYN_GET_PROCESS_TEL_CONT0 = "getProcessTelContext";
750
+ var _DYN_ADD_NOTIFICATION_LIS1 = "addNotificationListener";
751
+ var _DYN_REMOVE_NOTIFICATION_2 = "removeNotificationListener";
752
+ var _DYN_STOP_POLLING_INTERNA3 = "stopPollingInternalLogs";
753
+ var _DYN_ON_COMPLETE = "onComplete";
754
+ var _DYN_GET_PLUGIN = "getPlugin";
755
+ var _DYN_FLUSH = "flush";
756
+ var _DYN__EXTENSIONS = "_extensions";
757
+ var _DYN_SPLICE = "splice";
758
+ var _DYN_TEARDOWN = "teardown";
759
+ var _DYN_MESSAGE_ID = "messageId";
760
+ var _DYN_MESSAGE = "message";
761
+ var _DYN_IS_ASYNC = "isAsync";
762
+ var _DYN__DO_TEARDOWN = "_doTeardown";
763
+ var _DYN_UPDATE = "update";
764
+ var _DYN_GET_NEXT = "getNext";
765
+ var _DYN_DIAG_LOG = "diagLog";
766
+ var _DYN_SET_NEXT_PLUGIN = "setNextPlugin";
767
+ var _DYN_CREATE_NEW = "createNew";
768
+ var _DYN_COOKIE_CFG = "cookieCfg";
769
+ var _DYN_SUBSTRING = "substring";
770
+ var _DYN_USER_AGENT = "userAgent";
771
+ var _DYN_SPLIT = "split";
772
+ var _DYN_SUBSTR = "substr";
773
+ var _DYN_NODE_TYPE = "nodeType";
774
+ var _DYN_APPLY = "apply";
775
+ var _DYN_REPLACE = "replace";
776
+ var _DYN_ENABLE_DEBUG_EXCEPTI4 = "enableDebugExceptions";
777
+ var _DYN_LOG_INTERNAL_MESSAGE = "logInternalMessage";
778
+ var _DYN_TO_LOWER_CASE = "toLowerCase";
779
+ var _DYN_TYPE = "type";
780
+ var _DYN_HANDLER = "handler";
781
+ var _DYN_CALL = "call";
782
+ var _DYN_LISTENERS = "listeners";
783
+ var _DYN_IS_CHILD_EVT = "isChildEvt";
784
+ var _DYN_GET_CTX = "getCtx";
785
+ var _DYN_SET_CTX = "setCtx";
786
+ var _DYN_COMPLETE = "complete";
787
+ var _DYN_TRACE_ID = "traceId";
788
+ var _DYN_SPAN_ID = "spanId";
789
+ var _DYN_TRACE_FLAGS = "traceFlags";
790
+ var _DYN_VERSION = "version";
791
+
792
+ var STR_EMPTY = "";
793
+ var STR_CHANNELS = "channels";
794
+ var STR_CORE = "core";
795
+ var STR_CREATE_PERF_MGR = "createPerfMgr";
796
+ var STR_DISABLED = "disabled";
797
+ var STR_EXTENSION_CONFIG = "extensionConfig";
798
+ var STR_EXTENSIONS = "extensions";
799
+ var STR_PROCESS_TELEMETRY = "processTelemetry";
800
+ var STR_PRIORITY = "priority";
801
+ var STR_EVENTS_SENT = "eventsSent";
802
+ var STR_EVENTS_DISCARDED = "eventsDiscarded";
803
+ var STR_EVENTS_SEND_REQUEST = "eventsSendRequest";
804
+ var STR_PERF_EVENT = "perfEvent";
805
+ var STR_ERROR_TO_CONSOLE = "errorToConsole";
806
+ var STR_WARN_TO_CONSOLE = "warnToConsole";
807
+ var STR_GET_PERF_MGR = "getPerfMgr";
808
+
809
+ var listenerFuncs = ["eventsSent", "eventsDiscarded", "eventsSendRequest", "perfEvent"];
810
+ var _aiNamespace = null;
811
+ var _debugListener;
812
+ function _listenerProxyFunc(name, config) {
813
+ return function () {
814
+ var args = arguments;
815
+ var dbgExt = getDebugExt(config);
816
+ if (dbgExt) {
817
+ var listener = dbgExt.listener;
818
+ if (listener && listener[name]) {
819
+ listener[name][_DYN_APPLY ](listener, args);
820
+ }
508
821
  }
822
+ };
823
+ }
824
+ function _getExtensionNamespace() {
825
+ var target = getInst("Microsoft");
826
+ if (target) {
827
+ _aiNamespace = target["ApplicationInsights"];
509
828
  }
510
- return false;
829
+ return _aiNamespace;
511
830
  }
512
- function _doNothing(value) {
831
+ function getDebugExt(config) {
832
+ var ns = _aiNamespace;
833
+ if (!ns && config.disableDbgExt !== true) {
834
+ ns = _aiNamespace || _getExtensionNamespace();
835
+ }
836
+ return ns ? ns["ChromeDbgExt"] : null;
837
+ }
838
+ function getDebugListener(config) {
839
+ if (!_debugListener) {
840
+ _debugListener = {};
841
+ for (var lp = 0; lp < listenerFuncs[_DYN_LENGTH ]; lp++) {
842
+ _debugListener[listenerFuncs[lp]] = _listenerProxyFunc(listenerFuncs[lp], config);
843
+ }
844
+ }
845
+ return _debugListener;
846
+ }
847
+
848
+ var cString = "String";
849
+ var cObject = "Object";
850
+ var strToISOString = "toISOString";
851
+ var strToString = "toString";
852
+ var strGetPrototypeOf = "getPrototypeOf";
853
+ var strConstructor = "constructor";
854
+ var DateProto = Date[strShimPrototype];
855
+ var _dateToISOString = DateProto[strToISOString] || _polyfillRequired("Date", strToISOString);
856
+ var _fnToString = ObjHasOwnProperty[strToString] || _polyfillRequired(cString, strToString);
857
+ var _objFunctionString = _fnToString[_DYN_CALL ](ObjClass);
858
+ var rCamelCase = /-([a-z])/g;
859
+ var rNormalizeInvalid = /([^\w\d_$])/g;
860
+ var rLeadingNumeric = /^(\d+[\w\d_$])/;
861
+ function _polyfillRequired(object, name) {
862
+ return function () {
863
+ throwUnsupported("Polyfill required for [" + name + "]");
864
+ };
865
+ }
866
+ var _getObjProto = Object[strGetPrototypeOf] || _polyfillRequired(cObject, strGetPrototypeOf);
867
+ function isNotUndefined(value) {
868
+ return !isUndefined(value);
869
+ }
870
+ function isNotNullOrUndefined(value) {
871
+ return !isNullOrUndefined(value);
872
+ }
873
+ function normalizeJsName(name) {
874
+ var value = name;
875
+ if (value && isString(value)) {
876
+ value = value[_DYN_REPLACE ](rCamelCase, function (_all, letter) {
877
+ return letter.toUpperCase();
878
+ });
879
+ value = value[_DYN_REPLACE ](rNormalizeInvalid, "_");
880
+ value = value[_DYN_REPLACE ](rLeadingNumeric, function (_all, match) {
881
+ return "_" + match;
882
+ });
883
+ }
513
884
  return value;
514
885
  }
515
- function deepFreeze(obj) {
516
- if (_objFreeze) {
517
- objForEachKey(obj, function (name, value) {
518
- if (isArray(value) || isObject(value)) {
519
- _objFreeze(value);
886
+ function strContains(value, search) {
887
+ if (value && search) {
888
+ return strIndexOf(value, search) !== -1;
889
+ }
890
+ return false;
891
+ }
892
+ function isPlainObject(value) {
893
+ var result = false;
894
+ if (value && typeof value === "object") {
895
+ var proto = _getObjProto(value);
896
+ if (!proto) {
897
+ result = true;
898
+ }
899
+ else {
900
+ if (proto[strConstructor] && ObjHasOwnProperty[_DYN_CALL ](proto, strConstructor)) {
901
+ proto = proto[strConstructor];
520
902
  }
521
- });
903
+ result = typeof proto === strShimFunction && _fnToString[_DYN_CALL ](proto) === _objFunctionString;
904
+ }
522
905
  }
523
- return objFreeze(obj);
906
+ return result;
907
+ }
908
+ function toISOString(date) {
909
+ return _dateToISOString[_DYN_CALL ](date);
524
910
  }
525
- var objFreeze = _objFreeze || _doNothing;
526
- var objSeal = _objSeal || _doNothing;
527
911
  function dateNow() {
528
912
  var dt = Date;
529
913
  return dt.now ? dt.now() : new dt().getTime();
@@ -562,15 +946,6 @@
562
946
  function getCfgValue(theValue, defaultValue) {
563
947
  return !isNullOrUndefined(theValue) ? theValue : defaultValue;
564
948
  }
565
- function isNotTruthy(value) {
566
- return !value;
567
- }
568
- function isTruthy(value) {
569
- return !!value;
570
- }
571
- function throwError(message) {
572
- throw new Error(message);
573
- }
574
949
  function _createProxyFunction(source, funcName) {
575
950
  var srcFunc = null;
576
951
  var src = null;
@@ -601,7 +976,7 @@
601
976
  }
602
977
  }
603
978
  else if (!chkSet || chkSet(field, false, source, target)) {
604
- if (hasOwnProperty(target, field)) {
979
+ if (objHasOwnProperty(target, field)) {
605
980
  delete target[field];
606
981
  }
607
982
  if (!objDefineAccessors(target, field, function () {
@@ -640,10 +1015,10 @@
640
1015
  function createClassFromInterface(defaults) {
641
1016
  return /** @class */ (function () {
642
1017
  function class_1() {
643
- var _this_1 = this;
1018
+ var _this = this;
644
1019
  if (defaults) {
645
1020
  objForEachKey(defaults, function (field, value) {
646
- _this_1[field] = value;
1021
+ _this[field] = value;
647
1022
  });
648
1023
  }
649
1024
  }
@@ -701,1738 +1076,704 @@
701
1076
  return extended;
702
1077
  }
703
1078
 
704
- function createEnumStyle(values) {
705
- var enumClass = {};
706
- objForEachKey(values, function (field, value) {
707
- enumClass[field] = value;
708
- enumClass[value] = field;
709
- });
710
- return deepFreeze(enumClass);
711
- }
712
- function createEnumMap(values) {
713
- var mapClass = {};
714
- objForEachKey(values, function (field, value) {
715
- mapClass[field] = field;
716
- mapClass[value] = field;
717
- });
718
- return deepFreeze(mapClass);
1079
+ var strDocumentMode = "documentMode";
1080
+ var strLocation = "location";
1081
+ var strConsole = "console";
1082
+ var strPerformance = "performance";
1083
+ var strJSON = "JSON";
1084
+ var strCrypto = "crypto";
1085
+ var strMsCrypto = "msCrypto";
1086
+ var strReactNative = "ReactNative";
1087
+ var strMsie = "msie";
1088
+ var strTrident = "trident/";
1089
+ var strXMLHttpRequest = "XMLHttpRequest";
1090
+ var _isTrident = null;
1091
+ var _navUserAgentCheck = null;
1092
+ var _enableMocks = false;
1093
+ var _useXDomainRequest = null;
1094
+ var _beaconsSupported = null;
1095
+ function _hasProperty(theClass, property) {
1096
+ var supported = false;
1097
+ if (theClass) {
1098
+ try {
1099
+ supported = property in theClass;
1100
+ if (!supported) {
1101
+ var proto = theClass[strShimPrototype];
1102
+ if (proto) {
1103
+ supported = property in proto;
1104
+ }
1105
+ }
1106
+ }
1107
+ catch (e) {
1108
+ }
1109
+ if (!supported) {
1110
+ try {
1111
+ var tmp = new theClass();
1112
+ supported = !isUndefined(tmp[property]);
1113
+ }
1114
+ catch (e) {
1115
+ }
1116
+ }
1117
+ }
1118
+ return supported;
719
1119
  }
720
- function createValueMap(values) {
721
- var mapClass = {};
722
- objForEachKey(values, function (field, value) {
723
- mapClass[field] = value[1];
724
- mapClass[value[0]] = value[1];
725
- });
726
- return deepFreeze(mapClass);
1120
+ function setEnableEnvMocks(enabled) {
1121
+ _enableMocks = enabled;
727
1122
  }
728
-
729
- var EventsDiscardedReason = createEnumStyle({
730
- Unknown: 0 ,
731
- NonRetryableStatus: 1 ,
732
- InvalidEvent: 2 ,
733
- SizeLimitExceeded: 3 ,
734
- KillSwitch: 4 ,
735
- QueueFull: 5
736
- });
737
-
738
- /*!
739
- * Microsoft Dynamic Proto Utility, 1.1.6
740
- * Copyright (c) Microsoft and contributors. All rights reserved.
741
- */
742
- var Constructor = 'constructor';
743
- var Prototype = 'prototype';
744
- var strFunction = 'function';
745
- var DynInstFuncTable = '_dynInstFuncs';
746
- var DynProxyTag = '_isDynProxy';
747
- var DynClassName = '_dynClass';
748
- var DynClassNamePrefix = '_dynCls$';
749
- var DynInstChkTag = '_dynInstChk';
750
- var DynAllowInstChkTag = DynInstChkTag;
751
- var DynProtoDefaultOptions = '_dfOpts';
752
- var UnknownValue = '_unknown_';
753
- var str__Proto = "__proto__";
754
- var DynProtoBaseProto = "_dyn" + str__Proto;
755
- var DynProtoCurrent = "_dynInstProto";
756
- var strUseBaseInst = 'useBaseInst';
757
- var strSetInstFuncs = 'setInstFuncs';
758
- var Obj = Object;
759
- var _objGetPrototypeOf = Obj["getPrototypeOf"];
760
- var _objGetOwnProps = Obj["getOwnPropertyNames"];
761
- var _dynamicNames = 0;
762
- function _hasOwnProperty(obj, prop) {
763
- return obj && Obj[Prototype].hasOwnProperty.call(obj, prop);
1123
+ function getLocation(checkForMock) {
1124
+ if (checkForMock && _enableMocks) {
1125
+ var mockLocation = getInst("__mockLocation");
1126
+ if (mockLocation) {
1127
+ return mockLocation;
1128
+ }
1129
+ }
1130
+ if (typeof location === strShimObject && location) {
1131
+ return location;
1132
+ }
1133
+ return getInst(strLocation);
764
1134
  }
765
- function _isObjectOrArrayPrototype(target) {
766
- return target && (target === Obj[Prototype] || target === Array[Prototype]);
1135
+ function getConsole() {
1136
+ if (typeof console !== strShimUndefined) {
1137
+ return console;
1138
+ }
1139
+ return getInst(strConsole);
767
1140
  }
768
- function _isObjectArrayOrFunctionPrototype(target) {
769
- return _isObjectOrArrayPrototype(target) || target === Function[Prototype];
1141
+ function getPerformance() {
1142
+ return getInst(strPerformance);
770
1143
  }
771
- function _getObjProto(target) {
772
- var newProto;
773
- if (target) {
774
- if (_objGetPrototypeOf) {
775
- return _objGetPrototypeOf(target);
776
- }
777
- var curProto = target[str__Proto] || target[Prototype] || (target[Constructor] ? target[Constructor][Prototype] : null);
778
- newProto = target[DynProtoBaseProto] || curProto;
779
- if (!_hasOwnProperty(target, DynProtoBaseProto)) {
780
- delete target[DynProtoCurrent];
781
- newProto = target[DynProtoBaseProto] = target[DynProtoCurrent] || target[DynProtoBaseProto];
782
- target[DynProtoCurrent] = curProto;
783
- }
1144
+ function hasJSON() {
1145
+ return Boolean((typeof JSON === strShimObject && JSON) || getInst(strJSON) !== null);
1146
+ }
1147
+ function getJSON() {
1148
+ if (hasJSON()) {
1149
+ return JSON || getInst(strJSON);
784
1150
  }
785
- return newProto;
1151
+ return null;
786
1152
  }
787
- function _forEachProp(target, func) {
788
- var props = [];
789
- if (_objGetOwnProps) {
790
- props = _objGetOwnProps(target);
1153
+ function getCrypto() {
1154
+ return getInst(strCrypto);
1155
+ }
1156
+ function getMsCrypto() {
1157
+ return getInst(strMsCrypto);
1158
+ }
1159
+ function isReactNative() {
1160
+ var nav = getNavigator();
1161
+ if (nav && nav.product) {
1162
+ return nav.product === strReactNative;
791
1163
  }
792
- else {
793
- for (var name_1 in target) {
794
- if (typeof name_1 === "string" && _hasOwnProperty(target, name_1)) {
795
- props.push(name_1);
796
- }
797
- }
1164
+ return false;
1165
+ }
1166
+ function isIE() {
1167
+ var nav = getNavigator();
1168
+ if (nav && (nav[_DYN_USER_AGENT ] !== _navUserAgentCheck || _isTrident === null)) {
1169
+ _navUserAgentCheck = nav[_DYN_USER_AGENT ];
1170
+ var userAgent = (_navUserAgentCheck || STR_EMPTY)[_DYN_TO_LOWER_CASE ]();
1171
+ _isTrident = (strContains(userAgent, strMsie) || strContains(userAgent, strTrident));
798
1172
  }
799
- if (props && props.length > 0) {
800
- for (var lp = 0; lp < props.length; lp++) {
801
- func(props[lp]);
1173
+ return _isTrident;
1174
+ }
1175
+ function getIEVersion(userAgentStr) {
1176
+ if (userAgentStr === void 0) { userAgentStr = null; }
1177
+ if (!userAgentStr) {
1178
+ var navigator_1 = getNavigator() || {};
1179
+ userAgentStr = navigator_1 ? (navigator_1[_DYN_USER_AGENT ] || STR_EMPTY)[_DYN_TO_LOWER_CASE ]() : STR_EMPTY;
1180
+ }
1181
+ var ua = (userAgentStr || STR_EMPTY)[_DYN_TO_LOWER_CASE ]();
1182
+ if (strContains(ua, strMsie)) {
1183
+ var doc = getDocument() || {};
1184
+ return Math.max(parseInt(ua[_DYN_SPLIT ](strMsie)[1]), (doc[strDocumentMode] || 0));
1185
+ }
1186
+ else if (strContains(ua, strTrident)) {
1187
+ var tridentVer = parseInt(ua[_DYN_SPLIT ](strTrident)[1]);
1188
+ if (tridentVer) {
1189
+ return tridentVer + 4;
802
1190
  }
803
1191
  }
1192
+ return null;
804
1193
  }
805
- function _isDynamicCandidate(target, funcName, skipOwn) {
806
- return (funcName !== Constructor && typeof target[funcName] === strFunction && (skipOwn || _hasOwnProperty(target, funcName)));
1194
+ function isSafari(userAgentStr) {
1195
+ if (!userAgentStr || !isString(userAgentStr)) {
1196
+ var navigator_2 = getNavigator() || {};
1197
+ userAgentStr = navigator_2 ? (navigator_2[_DYN_USER_AGENT ] || STR_EMPTY)[_DYN_TO_LOWER_CASE ]() : STR_EMPTY;
1198
+ }
1199
+ var ua = (userAgentStr || STR_EMPTY)[_DYN_TO_LOWER_CASE ]();
1200
+ return (ua.indexOf("safari") >= 0);
807
1201
  }
808
- function _throwTypeError(message) {
809
- throw new TypeError("DynamicProto: " + message);
1202
+ function isBeaconsSupported() {
1203
+ if (_beaconsSupported === null) {
1204
+ _beaconsSupported = hasNavigator() && Boolean(getNavigator().sendBeacon);
1205
+ }
1206
+ return _beaconsSupported;
810
1207
  }
811
- function _getInstanceFuncs(thisTarget) {
812
- var instFuncs = {};
813
- _forEachProp(thisTarget, function (name) {
814
- if (!instFuncs[name] && _isDynamicCandidate(thisTarget, name, false)) {
815
- instFuncs[name] = thisTarget[name];
1208
+ function isFetchSupported(withKeepAlive) {
1209
+ var isSupported = false;
1210
+ try {
1211
+ isSupported = !!getInst("fetch");
1212
+ var request = getInst("Request");
1213
+ if (isSupported && withKeepAlive && request) {
1214
+ isSupported = _hasProperty(request, "keepalive");
816
1215
  }
817
- });
818
- return instFuncs;
1216
+ }
1217
+ catch (e) {
1218
+ }
1219
+ return isSupported;
819
1220
  }
820
- function _hasVisited(values, value) {
821
- for (var lp = values.length - 1; lp >= 0; lp--) {
822
- if (values[lp] === value) {
823
- return true;
1221
+ function useXDomainRequest() {
1222
+ if (_useXDomainRequest === null) {
1223
+ _useXDomainRequest = (typeof XDomainRequest !== strShimUndefined);
1224
+ if (_useXDomainRequest && isXhrSupported()) {
1225
+ _useXDomainRequest = _useXDomainRequest && !_hasProperty(getInst(strXMLHttpRequest), "withCredentials");
824
1226
  }
825
1227
  }
826
- return false;
1228
+ return _useXDomainRequest;
827
1229
  }
828
- function _getBaseFuncs(classProto, thisTarget, instFuncs, useBaseInst) {
829
- function _instFuncProxy(target, funcHost, funcName) {
830
- var theFunc = funcHost[funcName];
831
- if (theFunc[DynProxyTag] && useBaseInst) {
832
- var instFuncTable = target[DynInstFuncTable] || {};
833
- if (instFuncTable[DynAllowInstChkTag] !== false) {
834
- theFunc = (instFuncTable[funcHost[DynClassName]] || {})[funcName] || theFunc;
835
- }
836
- }
837
- return function () {
838
- return theFunc.apply(target, arguments);
839
- };
1230
+ function isXhrSupported() {
1231
+ var isSupported = false;
1232
+ try {
1233
+ var xmlHttpRequest = getInst(strXMLHttpRequest);
1234
+ isSupported = !!xmlHttpRequest;
840
1235
  }
841
- var baseFuncs = {};
842
- _forEachProp(instFuncs, function (name) {
843
- baseFuncs[name] = _instFuncProxy(thisTarget, instFuncs, name);
844
- });
845
- var baseProto = _getObjProto(classProto);
846
- var visited = [];
847
- while (baseProto && !_isObjectArrayOrFunctionPrototype(baseProto) && !_hasVisited(visited, baseProto)) {
848
- _forEachProp(baseProto, function (name) {
849
- if (!baseFuncs[name] && _isDynamicCandidate(baseProto, name, !_objGetPrototypeOf)) {
850
- baseFuncs[name] = _instFuncProxy(thisTarget, baseProto, name);
1236
+ catch (e) {
1237
+ }
1238
+ return isSupported;
1239
+ }
1240
+ function _getNamedValue(values, name) {
1241
+ if (values) {
1242
+ for (var i = 0; i < values[_DYN_LENGTH ]; i++) {
1243
+ var value = values[i];
1244
+ if (value[_DYN_NAME ]) {
1245
+ if (value[_DYN_NAME ] === name) {
1246
+ return value;
1247
+ }
851
1248
  }
852
- });
853
- visited.push(baseProto);
854
- baseProto = _getObjProto(baseProto);
1249
+ }
855
1250
  }
856
- return baseFuncs;
1251
+ return {};
857
1252
  }
858
- function _getInstFunc(target, funcName, proto, currentDynProtoProxy) {
859
- var instFunc = null;
860
- if (target && _hasOwnProperty(proto, DynClassName)) {
861
- var instFuncTable = target[DynInstFuncTable] || {};
862
- instFunc = (instFuncTable[proto[DynClassName]] || {})[funcName];
863
- if (!instFunc) {
864
- _throwTypeError("Missing [" + funcName + "] " + strFunction);
865
- }
866
- if (!instFunc[DynInstChkTag] && instFuncTable[DynAllowInstChkTag] !== false) {
867
- var canAddInst = !_hasOwnProperty(target, funcName);
868
- var objProto = _getObjProto(target);
869
- var visited = [];
870
- while (canAddInst && objProto && !_isObjectArrayOrFunctionPrototype(objProto) && !_hasVisited(visited, objProto)) {
871
- var protoFunc = objProto[funcName];
872
- if (protoFunc) {
873
- canAddInst = (protoFunc === currentDynProtoProxy);
874
- break;
875
- }
876
- visited.push(objProto);
877
- objProto = _getObjProto(objProto);
878
- }
879
- try {
880
- if (canAddInst) {
881
- target[funcName] = instFunc;
882
- }
883
- instFunc[DynInstChkTag] = 1;
884
- }
885
- catch (e) {
886
- instFuncTable[DynAllowInstChkTag] = false;
887
- }
888
- }
1253
+ function findMetaTag(name) {
1254
+ var doc = getDocument();
1255
+ if (doc && name) {
1256
+ return _getNamedValue(doc.querySelectorAll("meta"), name).content;
889
1257
  }
890
- return instFunc;
1258
+ return null;
891
1259
  }
892
- function _getProtoFunc(funcName, proto, currentDynProtoProxy) {
893
- var protoFunc = proto[funcName];
894
- if (protoFunc === currentDynProtoProxy) {
895
- protoFunc = _getObjProto(proto)[funcName];
1260
+ function findNamedServerTiming(name) {
1261
+ var value;
1262
+ var perf = getPerformance();
1263
+ if (perf) {
1264
+ var navPerf = perf.getEntriesByType("navigation") || [];
1265
+ value = _getNamedValue((navPerf[_DYN_LENGTH ] > 0 ? navPerf[0] : {}).serverTiming, name).description;
896
1266
  }
897
- if (typeof protoFunc !== strFunction) {
898
- _throwTypeError("[" + funcName + "] is not a " + strFunction);
1267
+ return value;
1268
+ }
1269
+
1270
+ var AiNonUserActionablePrefix = "AI (Internal): ";
1271
+ var AiUserActionablePrefix = "AI: ";
1272
+ var AIInternalMessagePrefix = "AITR_";
1273
+ function _sanitizeDiagnosticText(text) {
1274
+ if (text) {
1275
+ return "\"" + text[_DYN_REPLACE ](/\"/g, STR_EMPTY) + "\"";
899
1276
  }
900
- return protoFunc;
1277
+ return STR_EMPTY;
901
1278
  }
902
- function _populatePrototype(proto, className, target, baseInstFuncs, setInstanceFunc) {
903
- function _createDynamicPrototype(proto, funcName) {
904
- var dynProtoProxy = function () {
905
- var instFunc = _getInstFunc(this, funcName, proto, dynProtoProxy) || _getProtoFunc(funcName, proto, dynProtoProxy);
906
- return instFunc.apply(this, arguments);
907
- };
908
- dynProtoProxy[DynProxyTag] = 1;
909
- return dynProtoProxy;
1279
+ function _logToConsole(func, message) {
1280
+ var theConsole = getConsole();
1281
+ if (!!theConsole) {
1282
+ var logFunc = "log";
1283
+ if (theConsole[func]) {
1284
+ logFunc = func;
1285
+ }
1286
+ if (isFunction(theConsole[logFunc])) {
1287
+ theConsole[logFunc](message);
1288
+ }
910
1289
  }
911
- if (!_isObjectOrArrayPrototype(proto)) {
912
- var instFuncTable = target[DynInstFuncTable] = target[DynInstFuncTable] || {};
913
- var instFuncs_1 = instFuncTable[className] = (instFuncTable[className] || {});
914
- if (instFuncTable[DynAllowInstChkTag] !== false) {
915
- instFuncTable[DynAllowInstChkTag] = !!setInstanceFunc;
1290
+ }
1291
+ var _InternalLogMessage = /** @class */ (function () {
1292
+ function _InternalLogMessage(msgId, msg, isUserAct, properties) {
1293
+ if (isUserAct === void 0) { isUserAct = false; }
1294
+ var _self = this;
1295
+ _self[_DYN_MESSAGE_ID ] = msgId;
1296
+ _self[_DYN_MESSAGE ] =
1297
+ (isUserAct ? AiUserActionablePrefix : AiNonUserActionablePrefix) +
1298
+ msgId;
1299
+ var strProps = STR_EMPTY;
1300
+ if (hasJSON()) {
1301
+ strProps = getJSON().stringify(properties);
916
1302
  }
917
- _forEachProp(target, function (name) {
918
- if (_isDynamicCandidate(target, name, false) && target[name] !== baseInstFuncs[name]) {
919
- instFuncs_1[name] = target[name];
920
- delete target[name];
921
- if (!_hasOwnProperty(proto, name) || (proto[name] && !proto[name][DynProxyTag])) {
922
- proto[name] = _createDynamicPrototype(proto, name);
1303
+ var diagnosticText = (msg ? " message:" + _sanitizeDiagnosticText(msg) : STR_EMPTY) +
1304
+ (properties ? " props:" + _sanitizeDiagnosticText(strProps) : STR_EMPTY);
1305
+ _self[_DYN_MESSAGE ] += diagnosticText;
1306
+ }
1307
+ _InternalLogMessage.dataType = "MessageData";
1308
+ return _InternalLogMessage;
1309
+ }());
1310
+ function safeGetLogger(core, config) {
1311
+ return (core || {})[_DYN_LOGGER ] || new DiagnosticLogger(config);
1312
+ }
1313
+ var DiagnosticLogger = /** @class */ (function () {
1314
+ function DiagnosticLogger(config) {
1315
+ this.identifier = "DiagnosticLogger";
1316
+ this.queue = [];
1317
+ var _messageCount = 0;
1318
+ var _messageLogged = {};
1319
+ var _loggingLevelConsole;
1320
+ var _loggingLevelTelemetry;
1321
+ var _maxInternalMessageLimit;
1322
+ var _enableDebugExceptions;
1323
+ dynamicProto(DiagnosticLogger, this, function (_self) {
1324
+ _setDefaultsFromConfig(config || {});
1325
+ _self.consoleLoggingLevel = function () { return _loggingLevelConsole; };
1326
+ _self.telemetryLoggingLevel = function () { return _loggingLevelTelemetry; };
1327
+ _self.maxInternalMessageLimit = function () { return _maxInternalMessageLimit; };
1328
+ _self[_DYN_ENABLE_DEBUG_EXCEPTI4 ] = function () { return _enableDebugExceptions; };
1329
+ _self.throwInternal = function (severity, msgId, msg, properties, isUserAct) {
1330
+ if (isUserAct === void 0) { isUserAct = false; }
1331
+ var message = new _InternalLogMessage(msgId, msg, isUserAct, properties);
1332
+ if (_enableDebugExceptions) {
1333
+ throw dumpObj(message);
1334
+ }
1335
+ else {
1336
+ var logFunc = severity === 1 ? STR_ERROR_TO_CONSOLE : STR_WARN_TO_CONSOLE;
1337
+ if (!isUndefined(message[_DYN_MESSAGE ])) {
1338
+ if (isUserAct) {
1339
+ var messageKey = +message[_DYN_MESSAGE_ID ];
1340
+ if (!_messageLogged[messageKey] && _loggingLevelConsole >= severity) {
1341
+ _self[logFunc](message[_DYN_MESSAGE ]);
1342
+ _messageLogged[messageKey] = true;
1343
+ }
1344
+ }
1345
+ else {
1346
+ if (_loggingLevelConsole >= severity) {
1347
+ _self[logFunc](message[_DYN_MESSAGE ]);
1348
+ }
1349
+ }
1350
+ _logInternalMessage(severity, message);
1351
+ }
1352
+ else {
1353
+ _debugExtMsg("throw" + (severity === 1 ? "Critical" : "Warning"), message);
1354
+ }
1355
+ }
1356
+ };
1357
+ _self[STR_WARN_TO_CONSOLE ] = function (message) {
1358
+ _logToConsole("warn", message);
1359
+ _debugExtMsg("warning", message);
1360
+ };
1361
+ _self[STR_ERROR_TO_CONSOLE ] = function (message) {
1362
+ _logToConsole("error", message);
1363
+ _debugExtMsg("error", message);
1364
+ };
1365
+ _self.resetInternalMessageCount = function () {
1366
+ _messageCount = 0;
1367
+ _messageLogged = {};
1368
+ };
1369
+ _self[_DYN_LOG_INTERNAL_MESSAGE ] = _logInternalMessage;
1370
+ function _logInternalMessage(severity, message) {
1371
+ if (_areInternalMessagesThrottled()) {
1372
+ return;
1373
+ }
1374
+ var logMessage = true;
1375
+ var messageKey = AIInternalMessagePrefix + message[_DYN_MESSAGE_ID ];
1376
+ if (_messageLogged[messageKey]) {
1377
+ logMessage = false;
1378
+ }
1379
+ else {
1380
+ _messageLogged[messageKey] = true;
1381
+ }
1382
+ if (logMessage) {
1383
+ if (severity <= _loggingLevelTelemetry) {
1384
+ _self.queue[_DYN_PUSH ](message);
1385
+ _messageCount++;
1386
+ _debugExtMsg((severity === 1 ? "error" : "warn"), message);
1387
+ }
1388
+ if (_messageCount === _maxInternalMessageLimit) {
1389
+ var throttleLimitMessage = "Internal events throttle limit per PageView reached for this app.";
1390
+ var throttleMessage = new _InternalLogMessage(23 , throttleLimitMessage, false);
1391
+ _self.queue[_DYN_PUSH ](throttleMessage);
1392
+ if (severity === 1 ) {
1393
+ _self[STR_ERROR_TO_CONSOLE ](throttleLimitMessage);
1394
+ }
1395
+ else {
1396
+ _self[STR_WARN_TO_CONSOLE ](throttleLimitMessage);
1397
+ }
1398
+ }
1399
+ }
1400
+ }
1401
+ function _setDefaultsFromConfig(config) {
1402
+ _loggingLevelConsole = getCfgValue(config.loggingLevelConsole, 0);
1403
+ _loggingLevelTelemetry = getCfgValue(config.loggingLevelTelemetry, 1);
1404
+ _maxInternalMessageLimit = getCfgValue(config.maxMessageLimit, 25);
1405
+ _enableDebugExceptions = getCfgValue(config[_DYN_ENABLE_DEBUG_EXCEPTI4 ], false);
1406
+ }
1407
+ function _areInternalMessagesThrottled() {
1408
+ return _messageCount >= _maxInternalMessageLimit;
1409
+ }
1410
+ function _debugExtMsg(name, data) {
1411
+ var dbgExt = getDebugExt(config || {});
1412
+ if (dbgExt && dbgExt[_DYN_DIAG_LOG ]) {
1413
+ dbgExt[_DYN_DIAG_LOG ](name, data);
923
1414
  }
924
1415
  }
925
1416
  });
926
1417
  }
1418
+ DiagnosticLogger.__ieDyn=1;
1419
+ return DiagnosticLogger;
1420
+ }());
1421
+ function _getLogger(logger) {
1422
+ return (logger || new DiagnosticLogger());
927
1423
  }
928
- function _checkPrototype(classProto, thisTarget) {
929
- if (_objGetPrototypeOf) {
930
- var visited = [];
931
- var thisProto = _getObjProto(thisTarget);
932
- while (thisProto && !_isObjectArrayOrFunctionPrototype(thisProto) && !_hasVisited(visited, thisProto)) {
933
- if (thisProto === classProto) {
934
- return true;
935
- }
936
- visited.push(thisProto);
937
- thisProto = _getObjProto(thisProto);
938
- }
939
- return false;
940
- }
941
- return true;
1424
+ function _throwInternal(logger, severity, msgId, msg, properties, isUserAct) {
1425
+ if (isUserAct === void 0) { isUserAct = false; }
1426
+ _getLogger(logger).throwInternal(severity, msgId, msg, properties, isUserAct);
942
1427
  }
943
- function _getObjName(target, unknownValue) {
944
- if (_hasOwnProperty(target, Prototype)) {
945
- return target.name || unknownValue || UnknownValue;
946
- }
947
- return (((target || {})[Constructor]) || {}).name || unknownValue || UnknownValue;
1428
+ function _warnToConsole(logger, message) {
1429
+ _getLogger(logger)[STR_WARN_TO_CONSOLE ](message);
948
1430
  }
949
- function dynamicProto(theClass, target, delegateFunc, options) {
950
- if (!_hasOwnProperty(theClass, Prototype)) {
951
- _throwTypeError("theClass is an invalid class definition.");
952
- }
953
- var classProto = theClass[Prototype];
954
- if (!_checkPrototype(classProto, target)) {
955
- _throwTypeError("[" + _getObjName(theClass) + "] is not in class hierarchy of [" + _getObjName(target) + "]");
956
- }
957
- var className = null;
958
- if (_hasOwnProperty(classProto, DynClassName)) {
959
- className = classProto[DynClassName];
960
- }
961
- else {
962
- className = DynClassNamePrefix + _getObjName(theClass, "_") + "$" + _dynamicNames;
963
- _dynamicNames++;
964
- classProto[DynClassName] = className;
965
- }
966
- var perfOptions = dynamicProto[DynProtoDefaultOptions];
967
- var useBaseInst = !!perfOptions[strUseBaseInst];
968
- if (useBaseInst && options && options[strUseBaseInst] !== undefined) {
969
- useBaseInst = !!options[strUseBaseInst];
970
- }
971
- var instFuncs = _getInstanceFuncs(target);
972
- var baseFuncs = _getBaseFuncs(classProto, target, instFuncs, useBaseInst);
973
- delegateFunc(target, baseFuncs);
974
- var setInstanceFunc = !!_objGetPrototypeOf && !!perfOptions[strSetInstFuncs];
975
- if (setInstanceFunc && options) {
976
- setInstanceFunc = !!options[strSetInstFuncs];
977
- }
978
- _populatePrototype(classProto, className, target, instFuncs, setInstanceFunc !== false);
1431
+ function _logInternalMessage(logger, severity, message) {
1432
+ _getLogger(logger)[_DYN_LOG_INTERNAL_MESSAGE ](severity, message);
979
1433
  }
980
- var perfDefaults = {
981
- setInstFuncs: true,
982
- useBaseInst: true
983
- };
984
- dynamicProto[DynProtoDefaultOptions] = perfDefaults;
985
1434
 
986
- var strWindow = "window";
987
- var strDocument = "document";
988
- var strDocumentMode = "documentMode";
989
- var strNavigator = "navigator";
990
- var strHistory = "history";
991
- var strLocation = "location";
992
- var strConsole = "console";
993
- var strPerformance = "performance";
994
- var strJSON = "JSON";
995
- var strCrypto = "crypto";
996
- var strMsCrypto = "msCrypto";
997
- var strReactNative = "ReactNative";
998
- var strMsie = "msie";
999
- var strTrident = "trident/";
1000
- var strXMLHttpRequest = "XMLHttpRequest";
1001
- var _isTrident = null;
1002
- var _navUserAgentCheck = null;
1003
- var _enableMocks = false;
1004
- var _useXDomainRequest = null;
1005
- var _beaconsSupported = null;
1006
- function _hasProperty(theClass, property) {
1007
- var supported = false;
1008
- if (theClass) {
1009
- try {
1010
- supported = property in theClass;
1011
- if (!supported) {
1012
- var proto = theClass[strShimPrototype];
1013
- if (proto) {
1014
- supported = property in proto;
1435
+ var strExecutionContextKey = "ctx";
1436
+ var strParentContextKey = "ParentContextKey";
1437
+ var strChildrenContextKey = "ChildrenContextKey";
1438
+ var _defaultPerfManager = null;
1439
+ var PerfEvent = /** @class */ (function () {
1440
+ function PerfEvent(name, payloadDetails, isAsync) {
1441
+ var _self = this;
1442
+ _self.start = dateNow();
1443
+ _self[_DYN_NAME ] = name;
1444
+ _self[_DYN_IS_ASYNC ] = isAsync;
1445
+ _self[_DYN_IS_CHILD_EVT ] = function () { return false; };
1446
+ if (isFunction(payloadDetails)) {
1447
+ var theDetails_1;
1448
+ objDefineAccessors(_self, "payload", function () {
1449
+ if (!theDetails_1 && isFunction(payloadDetails)) {
1450
+ theDetails_1 = payloadDetails();
1451
+ payloadDetails = null;
1015
1452
  }
1016
- }
1453
+ return theDetails_1;
1454
+ });
1017
1455
  }
1018
- catch (e) {
1456
+ _self[_DYN_GET_CTX ] = function (key) {
1457
+ if (key) {
1458
+ if (key === PerfEvent[strParentContextKey] || key === PerfEvent[strChildrenContextKey]) {
1459
+ return _self[key];
1460
+ }
1461
+ return (_self[strExecutionContextKey] || {})[key];
1462
+ }
1463
+ return null;
1464
+ };
1465
+ _self[_DYN_SET_CTX ] = function (key, value) {
1466
+ if (key) {
1467
+ if (key === PerfEvent[strParentContextKey]) {
1468
+ if (!_self[key]) {
1469
+ _self[_DYN_IS_CHILD_EVT ] = function () { return true; };
1470
+ }
1471
+ _self[key] = value;
1472
+ }
1473
+ else if (key === PerfEvent[strChildrenContextKey]) {
1474
+ _self[key] = value;
1475
+ }
1476
+ else {
1477
+ var ctx = _self[strExecutionContextKey] = _self[strExecutionContextKey] || {};
1478
+ ctx[key] = value;
1479
+ }
1480
+ }
1481
+ };
1482
+ _self[_DYN_COMPLETE ] = function () {
1483
+ var childTime = 0;
1484
+ var childEvts = _self[_DYN_GET_CTX ](PerfEvent[strChildrenContextKey]);
1485
+ if (isArray(childEvts)) {
1486
+ for (var lp = 0; lp < childEvts[_DYN_LENGTH ]; lp++) {
1487
+ var childEvt = childEvts[lp];
1488
+ if (childEvt) {
1489
+ childTime += childEvt[_DYN_TIME ];
1490
+ }
1491
+ }
1492
+ }
1493
+ _self[_DYN_TIME ] = dateNow() - _self.start;
1494
+ _self.exTime = _self[_DYN_TIME ] - childTime;
1495
+ _self[_DYN_COMPLETE ] = function () { };
1496
+ };
1497
+ }
1498
+ PerfEvent.ParentContextKey = "parent";
1499
+ PerfEvent.ChildrenContextKey = "childEvts";
1500
+ return PerfEvent;
1501
+ }());
1502
+ var PerfManager = /** @class */ (function () {
1503
+ function PerfManager(manager) {
1504
+ this.ctx = {};
1505
+ dynamicProto(PerfManager, this, function (_self) {
1506
+ _self.create = function (src, payloadDetails, isAsync) {
1507
+ return new PerfEvent(src, payloadDetails, isAsync);
1508
+ };
1509
+ _self.fire = function (perfEvent) {
1510
+ if (perfEvent) {
1511
+ perfEvent[_DYN_COMPLETE ]();
1512
+ if (manager && isFunction(manager[STR_PERF_EVENT ])) {
1513
+ manager[STR_PERF_EVENT ](perfEvent);
1514
+ }
1515
+ }
1516
+ };
1517
+ _self[_DYN_SET_CTX ] = function (key, value) {
1518
+ if (key) {
1519
+ var ctx = _self[strExecutionContextKey] = _self[strExecutionContextKey] || {};
1520
+ ctx[key] = value;
1521
+ }
1522
+ };
1523
+ _self[_DYN_GET_CTX ] = function (key) {
1524
+ return (_self[strExecutionContextKey] || {})[key];
1525
+ };
1526
+ });
1527
+ }
1528
+ PerfManager.__ieDyn=1;
1529
+ return PerfManager;
1530
+ }());
1531
+ var doPerfActiveKey = "CoreUtils.doPerf";
1532
+ function doPerf(mgrSource, getSource, func, details, isAsync) {
1533
+ if (mgrSource) {
1534
+ var perfMgr = mgrSource;
1535
+ if (perfMgr[STR_GET_PERF_MGR]) {
1536
+ perfMgr = perfMgr[STR_GET_PERF_MGR]();
1019
1537
  }
1020
- if (!supported) {
1538
+ if (perfMgr) {
1539
+ var perfEvt = void 0;
1540
+ var currentActive = perfMgr[_DYN_GET_CTX ](doPerfActiveKey);
1021
1541
  try {
1022
- var tmp = new theClass();
1023
- supported = !isUndefined(tmp[property]);
1542
+ perfEvt = perfMgr.create(getSource(), details, isAsync);
1543
+ if (perfEvt) {
1544
+ if (currentActive && perfEvt[_DYN_SET_CTX ]) {
1545
+ perfEvt[_DYN_SET_CTX ](PerfEvent[strParentContextKey], currentActive);
1546
+ if (currentActive[_DYN_GET_CTX ] && currentActive[_DYN_SET_CTX ]) {
1547
+ var children = currentActive[_DYN_GET_CTX ](PerfEvent[strChildrenContextKey]);
1548
+ if (!children) {
1549
+ children = [];
1550
+ currentActive[_DYN_SET_CTX ](PerfEvent[strChildrenContextKey], children);
1551
+ }
1552
+ children[_DYN_PUSH ](perfEvt);
1553
+ }
1554
+ }
1555
+ perfMgr[_DYN_SET_CTX ](doPerfActiveKey, perfEvt);
1556
+ return func(perfEvt);
1557
+ }
1024
1558
  }
1025
- catch (e) {
1559
+ catch (ex) {
1560
+ if (perfEvt && perfEvt[_DYN_SET_CTX ]) {
1561
+ perfEvt[_DYN_SET_CTX ]("exception", ex);
1562
+ }
1563
+ }
1564
+ finally {
1565
+ if (perfEvt) {
1566
+ perfMgr.fire(perfEvt);
1567
+ }
1568
+ perfMgr[_DYN_SET_CTX ](doPerfActiveKey, currentActive);
1026
1569
  }
1027
1570
  }
1028
1571
  }
1029
- return supported;
1030
- }
1031
- function setEnableEnvMocks(enabled) {
1032
- _enableMocks = enabled;
1572
+ return func();
1033
1573
  }
1034
- function getGlobalInst(name) {
1035
- var gbl = getGlobal();
1036
- if (gbl && gbl[name]) {
1037
- return gbl[name];
1038
- }
1039
- if (name === strWindow && hasWindow()) {
1040
- return window;
1041
- }
1042
- return null;
1574
+ function setGblPerfMgr(perfManager) {
1575
+ _defaultPerfManager = perfManager;
1043
1576
  }
1044
- function hasWindow() {
1045
- return Boolean(typeof window === strShimObject && window);
1577
+ function getGblPerfMgr() {
1578
+ return _defaultPerfManager;
1046
1579
  }
1047
- function getWindow() {
1048
- if (hasWindow()) {
1049
- return window;
1580
+
1581
+ var UInt32Mask = 0x100000000;
1582
+ var MaxUInt32 = 0xffffffff;
1583
+ var _mwcSeeded = false;
1584
+ var _mwcW = 123456789;
1585
+ var _mwcZ = 987654321;
1586
+ function _mwcSeed(seedValue) {
1587
+ if (seedValue < 0) {
1588
+ seedValue >>>= 0;
1050
1589
  }
1051
- return getGlobalInst(strWindow);
1052
- }
1053
- function hasDocument() {
1054
- return Boolean(typeof document === strShimObject && document);
1590
+ _mwcW = (123456789 + seedValue) & MaxUInt32;
1591
+ _mwcZ = (987654321 - seedValue) & MaxUInt32;
1592
+ _mwcSeeded = true;
1055
1593
  }
1056
- function getDocument() {
1057
- if (hasDocument()) {
1058
- return document;
1594
+ function _autoSeedMwc() {
1595
+ try {
1596
+ var now = dateNow() & 0x7fffffff;
1597
+ _mwcSeed(((Math.random() * UInt32Mask) ^ now) + now);
1059
1598
  }
1060
- return getGlobalInst(strDocument);
1061
- }
1062
- function hasNavigator() {
1063
- return Boolean(typeof navigator === strShimObject && navigator);
1064
- }
1065
- function getNavigator() {
1066
- if (hasNavigator()) {
1067
- return navigator;
1599
+ catch (e) {
1068
1600
  }
1069
- return getGlobalInst(strNavigator);
1070
- }
1071
- function hasHistory() {
1072
- return Boolean(typeof history === strShimObject && history);
1073
1601
  }
1074
- function getHistory() {
1075
- if (hasHistory()) {
1076
- return history;
1602
+ function randomValue(maxValue) {
1603
+ if (maxValue > 0) {
1604
+ return Math.floor((random32() / MaxUInt32) * (maxValue + 1)) >>> 0;
1077
1605
  }
1078
- return getGlobalInst(strHistory);
1606
+ return 0;
1079
1607
  }
1080
- function getLocation(checkForMock) {
1081
- if (checkForMock && _enableMocks) {
1082
- var mockLocation = getGlobalInst("__mockLocation");
1083
- if (mockLocation) {
1084
- return mockLocation;
1608
+ function random32(signed) {
1609
+ var value = 0;
1610
+ var c = getCrypto() || getMsCrypto();
1611
+ if (c && c.getRandomValues) {
1612
+ value = c.getRandomValues(new Uint32Array(1))[0] & MaxUInt32;
1613
+ }
1614
+ if (value === 0 && isIE()) {
1615
+ if (!_mwcSeeded) {
1616
+ _autoSeedMwc();
1085
1617
  }
1618
+ value = mwcRandom32() & MaxUInt32;
1086
1619
  }
1087
- if (typeof location === strShimObject && location) {
1088
- return location;
1620
+ if (value === 0) {
1621
+ value = Math.floor((UInt32Mask * Math.random()) | 0);
1089
1622
  }
1090
- return getGlobalInst(strLocation);
1091
- }
1092
- function getConsole() {
1093
- if (typeof console !== strShimUndefined) {
1094
- return console;
1623
+ if (!signed) {
1624
+ value >>>= 0;
1095
1625
  }
1096
- return getGlobalInst(strConsole);
1097
- }
1098
- function getPerformance() {
1099
- return getGlobalInst(strPerformance);
1100
- }
1101
- function hasJSON() {
1102
- return Boolean((typeof JSON === strShimObject && JSON) || getGlobalInst(strJSON) !== null);
1626
+ return value;
1103
1627
  }
1104
- function getJSON() {
1105
- if (hasJSON()) {
1106
- return JSON || getGlobalInst(strJSON);
1628
+ function mwcRandomSeed(value) {
1629
+ if (!value) {
1630
+ _autoSeedMwc();
1107
1631
  }
1108
- return null;
1109
- }
1110
- function getCrypto() {
1111
- return getGlobalInst(strCrypto);
1112
- }
1113
- function getMsCrypto() {
1114
- return getGlobalInst(strMsCrypto);
1115
- }
1116
- function isReactNative() {
1117
- var nav = getNavigator();
1118
- if (nav && nav.product) {
1119
- return nav.product === strReactNative;
1632
+ else {
1633
+ _mwcSeed(value);
1120
1634
  }
1121
- return false;
1122
1635
  }
1123
- function isIE() {
1124
- var nav = getNavigator();
1125
- if (nav && (nav[_DYN_USER_AGENT ] !== _navUserAgentCheck || _isTrident === null)) {
1126
- _navUserAgentCheck = nav[_DYN_USER_AGENT ];
1127
- var userAgent = (_navUserAgentCheck || STR_EMPTY)[_DYN_TO_LOWER_CASE ]();
1128
- _isTrident = (strContains(userAgent, strMsie) || strContains(userAgent, strTrident));
1636
+ function mwcRandom32(signed) {
1637
+ _mwcZ = (36969 * (_mwcZ & 0xFFFF) + (_mwcZ >> 16)) & MaxUInt32;
1638
+ _mwcW = (18000 * (_mwcW & 0xFFFF) + (_mwcW >> 16)) & MaxUInt32;
1639
+ var value = (((_mwcZ << 16) + (_mwcW & 0xFFFF)) >>> 0) & MaxUInt32 | 0;
1640
+ if (!signed) {
1641
+ value >>>= 0;
1129
1642
  }
1130
- return _isTrident;
1643
+ return value;
1131
1644
  }
1132
- function getIEVersion(userAgentStr) {
1133
- if (userAgentStr === void 0) { userAgentStr = null; }
1134
- if (!userAgentStr) {
1135
- var navigator_1 = getNavigator() || {};
1136
- userAgentStr = navigator_1 ? (navigator_1[_DYN_USER_AGENT ] || STR_EMPTY)[_DYN_TO_LOWER_CASE ]() : STR_EMPTY;
1137
- }
1138
- var ua = (userAgentStr || STR_EMPTY)[_DYN_TO_LOWER_CASE ]();
1139
- if (strContains(ua, strMsie)) {
1140
- var doc = getDocument() || {};
1141
- return Math.max(parseInt(ua[_DYN_SPLIT ](strMsie)[1]), (doc[strDocumentMode] || 0));
1142
- }
1143
- else if (strContains(ua, strTrident)) {
1144
- var tridentVer = parseInt(ua[_DYN_SPLIT ](strTrident)[1]);
1145
- if (tridentVer) {
1146
- return tridentVer + 4;
1645
+ function newId(maxLength) {
1646
+ if (maxLength === void 0) { maxLength = 22; }
1647
+ var base64chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
1648
+ var number = random32() >>> 0;
1649
+ var chars = 0;
1650
+ var result = STR_EMPTY;
1651
+ while (result[_DYN_LENGTH ] < maxLength) {
1652
+ chars++;
1653
+ result += base64chars.charAt(number & 0x3F);
1654
+ number >>>= 6;
1655
+ if (chars === 5) {
1656
+ number = (((random32() << 2) & 0xFFFFFFFF) | (number & 0x03)) >>> 0;
1657
+ chars = 0;
1147
1658
  }
1148
1659
  }
1149
- return null;
1150
- }
1151
- function dumpObj(object) {
1152
- var objectTypeDump = Object[strShimPrototype].toString[_DYN_CALL ](object);
1153
- var propertyValueDump = STR_EMPTY;
1154
- if (objectTypeDump === "[object Error]") {
1155
- propertyValueDump = "{ stack: '" + object.stack + "', message: '" + object.message + "', name: '" + object[_DYN_NAME ] + "'";
1156
- }
1157
- else if (hasJSON()) {
1158
- propertyValueDump = getJSON().stringify(object);
1159
- }
1160
- return objectTypeDump + propertyValueDump;
1161
- }
1162
- function isSafari(userAgentStr) {
1163
- if (!userAgentStr || !isString(userAgentStr)) {
1164
- var navigator_2 = getNavigator() || {};
1165
- userAgentStr = navigator_2 ? (navigator_2[_DYN_USER_AGENT ] || STR_EMPTY)[_DYN_TO_LOWER_CASE ]() : STR_EMPTY;
1166
- }
1167
- var ua = (userAgentStr || STR_EMPTY)[_DYN_TO_LOWER_CASE ]();
1168
- return (ua[_DYN_INDEX_OF ]("safari") >= 0);
1169
- }
1170
- function isBeaconsSupported() {
1171
- if (_beaconsSupported === null) {
1172
- _beaconsSupported = hasNavigator() && Boolean(getNavigator().sendBeacon);
1173
- }
1174
- return _beaconsSupported;
1660
+ return result;
1175
1661
  }
1176
- function isFetchSupported(withKeepAlive) {
1177
- var isSupported = false;
1178
- try {
1179
- isSupported = !!getGlobalInst("fetch");
1180
- var request = getGlobalInst("Request");
1181
- if (isSupported && withKeepAlive && request) {
1182
- isSupported = _hasProperty(request, "keepalive");
1662
+
1663
+ var _objDefineProperty = ObjDefineProperty;
1664
+ var version = "3.0.0-beta.2208-16";
1665
+ var instanceName = "." + newId(6);
1666
+ var _dataUid = 0;
1667
+ function _createAccessor(target, prop, value) {
1668
+ if (_objDefineProperty) {
1669
+ try {
1670
+ _objDefineProperty(target, prop, {
1671
+ value: value,
1672
+ enumerable: false,
1673
+ configurable: true
1674
+ });
1675
+ return true;
1183
1676
  }
1184
- }
1185
- catch (e) {
1186
- }
1187
- return isSupported;
1188
- }
1189
- function useXDomainRequest() {
1190
- if (_useXDomainRequest === null) {
1191
- _useXDomainRequest = (typeof XDomainRequest !== strShimUndefined);
1192
- if (_useXDomainRequest && isXhrSupported()) {
1193
- _useXDomainRequest = _useXDomainRequest && !_hasProperty(getGlobalInst(strXMLHttpRequest), "withCredentials");
1677
+ catch (e) {
1194
1678
  }
1195
1679
  }
1196
- return _useXDomainRequest;
1680
+ return false;
1197
1681
  }
1198
- function isXhrSupported() {
1199
- var isSupported = false;
1200
- try {
1201
- var xmlHttpRequest = getGlobalInst(strXMLHttpRequest);
1202
- isSupported = !!xmlHttpRequest;
1203
- }
1204
- catch (e) {
1205
- }
1206
- return isSupported;
1682
+ function _canAcceptData(target) {
1683
+ return target[_DYN_NODE_TYPE ] === 1 || target[_DYN_NODE_TYPE ] === 9 || !(+target[_DYN_NODE_TYPE ]);
1207
1684
  }
1208
- function _getNamedValue(values, name) {
1209
- if (values) {
1210
- for (var i = 0; i < values[_DYN_LENGTH ]; i++) {
1211
- var value = values[i];
1212
- if (value[_DYN_NAME ]) {
1213
- if (value[_DYN_NAME ] === name) {
1214
- return value;
1685
+ function _getCache(data, target) {
1686
+ var theCache = target[data.id];
1687
+ if (!theCache) {
1688
+ theCache = {};
1689
+ try {
1690
+ if (_canAcceptData(target)) {
1691
+ if (!_createAccessor(target, data.id, theCache)) {
1692
+ target[data.id] = theCache;
1215
1693
  }
1216
1694
  }
1217
1695
  }
1696
+ catch (e) {
1697
+ }
1218
1698
  }
1219
- return {};
1220
- }
1221
- function findMetaTag(name) {
1222
- var doc = getDocument();
1223
- if (doc && name) {
1224
- return _getNamedValue(doc.querySelectorAll("meta"), name).content;
1225
- }
1226
- return null;
1699
+ return theCache;
1227
1700
  }
1228
- function findNamedServerTiming(name) {
1229
- var value;
1230
- var perf = getPerformance();
1231
- if (perf) {
1232
- var navPerf = perf.getEntriesByType("navigation") || [];
1233
- value = _getNamedValue((navPerf[_DYN_LENGTH ] > 0 ? navPerf[0] : {}).serverTiming, name).description;
1234
- }
1235
- return value;
1701
+ function createUniqueNamespace(name, includeVersion) {
1702
+ if (includeVersion === void 0) { includeVersion = false; }
1703
+ return normalizeJsName(name + (_dataUid++) + (includeVersion ? "." + version : STR_EMPTY) + instanceName);
1236
1704
  }
1237
-
1238
- var listenerFuncs = ["eventsSent", "eventsDiscarded", "eventsSendRequest", "perfEvent"];
1239
- var _aiNamespace = null;
1240
- var _debugListener;
1241
- function _listenerProxyFunc(name, config) {
1242
- return function () {
1243
- var args = arguments;
1244
- var dbgExt = getDebugExt(config);
1245
- if (dbgExt) {
1246
- var listener = dbgExt.listener;
1247
- if (listener && listener[name]) {
1248
- listener[name][_DYN_APPLY ](listener, args);
1705
+ function createElmNodeData(name) {
1706
+ var data = {
1707
+ id: createUniqueNamespace("_aiData-" + (name || STR_EMPTY) + "." + version),
1708
+ accept: function (target) {
1709
+ return _canAcceptData(target);
1710
+ },
1711
+ get: function (target, name, defValue, addDefault) {
1712
+ var theCache = target[data.id];
1713
+ if (!theCache) {
1714
+ if (addDefault) {
1715
+ theCache = _getCache(data, target);
1716
+ theCache[normalizeJsName(name)] = defValue;
1717
+ }
1718
+ return defValue;
1719
+ }
1720
+ return theCache[normalizeJsName(name)];
1721
+ },
1722
+ kill: function (target, name) {
1723
+ if (target && target[name]) {
1724
+ try {
1725
+ delete target[name];
1726
+ }
1727
+ catch (e) {
1728
+ }
1249
1729
  }
1250
1730
  }
1251
1731
  };
1732
+ return data;
1252
1733
  }
1253
- function _getExtensionNamespace() {
1254
- var target = getGlobalInst("Microsoft");
1255
- if (target) {
1256
- _aiNamespace = target["ApplicationInsights"];
1257
- }
1258
- return _aiNamespace;
1734
+
1735
+ var Undefined = strShimUndefined;
1736
+ function newGuid() {
1737
+ var uuid = generateW3CId();
1738
+ return uuid[_DYN_SUBSTRING ](0, 8) + "-" + uuid[_DYN_SUBSTRING ](8, 12) + "-" + uuid[_DYN_SUBSTRING ](12, 16) + "-" + uuid[_DYN_SUBSTRING ](16, 20) + "-" + uuid[_DYN_SUBSTRING ](20);
1259
1739
  }
1260
- function getDebugExt(config) {
1261
- var ns = _aiNamespace;
1262
- if (!ns && config.disableDbgExt !== true) {
1263
- ns = _aiNamespace || _getExtensionNamespace();
1740
+ function perfNow() {
1741
+ var perf = getPerformance();
1742
+ if (perf && perf.now) {
1743
+ return perf.now();
1264
1744
  }
1265
- return ns ? ns["ChromeDbgExt"] : null;
1745
+ return dateNow();
1266
1746
  }
1267
- function getDebugListener(config) {
1268
- if (!_debugListener) {
1269
- _debugListener = {};
1270
- for (var lp = 0; lp < listenerFuncs[_DYN_LENGTH ]; lp++) {
1271
- _debugListener[listenerFuncs[lp]] = _listenerProxyFunc(listenerFuncs[lp], config);
1272
- }
1747
+ function generateW3CId() {
1748
+ var hexValues = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f"];
1749
+ var oct = STR_EMPTY, tmp;
1750
+ for (var a = 0; a < 4; a++) {
1751
+ tmp = random32();
1752
+ oct +=
1753
+ hexValues[tmp & 0xF] +
1754
+ hexValues[tmp >> 4 & 0xF] +
1755
+ hexValues[tmp >> 8 & 0xF] +
1756
+ hexValues[tmp >> 12 & 0xF] +
1757
+ hexValues[tmp >> 16 & 0xF] +
1758
+ hexValues[tmp >> 20 & 0xF] +
1759
+ hexValues[tmp >> 24 & 0xF] +
1760
+ hexValues[tmp >> 28 & 0xF];
1273
1761
  }
1274
- return _debugListener;
1762
+ var clockSequenceHi = hexValues[8 + (random32() & 0x03) | 0];
1763
+ return oct[_DYN_SUBSTR ](0, 8) + oct[_DYN_SUBSTR ](9, 4) + "4" + oct[_DYN_SUBSTR ](13, 3) + clockSequenceHi + oct[_DYN_SUBSTR ](16, 3) + oct[_DYN_SUBSTR ](19, 12);
1275
1764
  }
1276
1765
 
1277
- var AiNonUserActionablePrefix = "AI (Internal): ";
1278
- var AiUserActionablePrefix = "AI: ";
1279
- var AIInternalMessagePrefix = "AITR_";
1280
- function _sanitizeDiagnosticText(text) {
1281
- if (text) {
1282
- return "\"" + text[_DYN_REPLACE ](/\"/g, STR_EMPTY) + "\"";
1766
+ var TRACE_PARENT_REGEX = /^([\da-f]{2})-([\da-f]{32})-([\da-f]{16})-([\da-f]{2})(-[^\s]*)?$/;
1767
+ var DEFAULT_VERSION = "00";
1768
+ var INVALID_VERSION = "ff";
1769
+ var INVALID_TRACE_ID = "00000000000000000000000000000000";
1770
+ var INVALID_SPAN_ID = "0000000000000000";
1771
+ var SAMPLED_FLAG = 0x01;
1772
+ function _isValid(value, len, invalidValue) {
1773
+ if (value && value[_DYN_LENGTH ] === len && value !== invalidValue) {
1774
+ return !!value.match(/^[\da-f]*$/);
1283
1775
  }
1284
- return STR_EMPTY;
1285
- }
1286
- function _logToConsole(func, message) {
1287
- var theConsole = getConsole();
1288
- if (!!theConsole) {
1289
- var logFunc = "log";
1290
- if (theConsole[func]) {
1291
- logFunc = func;
1292
- }
1293
- if (isFunction(theConsole[logFunc])) {
1294
- theConsole[logFunc](message);
1295
- }
1296
- }
1297
- }
1298
- var _InternalLogMessage = /** @class */ (function () {
1299
- function _InternalLogMessage(msgId, msg, isUserAct, properties) {
1300
- if (isUserAct === void 0) { isUserAct = false; }
1301
- var _self = this;
1302
- _self[_DYN_MESSAGE_ID ] = msgId;
1303
- _self[_DYN_MESSAGE ] =
1304
- (isUserAct ? AiUserActionablePrefix : AiNonUserActionablePrefix) +
1305
- msgId;
1306
- var strProps = STR_EMPTY;
1307
- if (hasJSON()) {
1308
- strProps = getJSON().stringify(properties);
1309
- }
1310
- var diagnosticText = (msg ? " message:" + _sanitizeDiagnosticText(msg) : STR_EMPTY) +
1311
- (properties ? " props:" + _sanitizeDiagnosticText(strProps) : STR_EMPTY);
1312
- _self[_DYN_MESSAGE ] += diagnosticText;
1313
- }
1314
- _InternalLogMessage.dataType = "MessageData";
1315
- return _InternalLogMessage;
1316
- }());
1317
- function safeGetLogger(core, config) {
1318
- return (core || {})[_DYN_LOGGER ] || new DiagnosticLogger(config);
1319
- }
1320
- var DiagnosticLogger = /** @class */ (function () {
1321
- function DiagnosticLogger(config) {
1322
- this.identifier = "DiagnosticLogger";
1323
- this.queue = [];
1324
- var _messageCount = 0;
1325
- var _messageLogged = {};
1326
- var _loggingLevelConsole;
1327
- var _loggingLevelTelemetry;
1328
- var _maxInternalMessageLimit;
1329
- var _enableDebugExceptions;
1330
- dynamicProto(DiagnosticLogger, this, function (_self) {
1331
- _setDefaultsFromConfig(config || {});
1332
- _self.consoleLoggingLevel = function () { return _loggingLevelConsole; };
1333
- _self.telemetryLoggingLevel = function () { return _loggingLevelTelemetry; };
1334
- _self.maxInternalMessageLimit = function () { return _maxInternalMessageLimit; };
1335
- _self[_DYN_ENABLE_DEBUG_EXCEPTI4 ] = function () { return _enableDebugExceptions; };
1336
- _self.throwInternal = function (severity, msgId, msg, properties, isUserAct) {
1337
- if (isUserAct === void 0) { isUserAct = false; }
1338
- var message = new _InternalLogMessage(msgId, msg, isUserAct, properties);
1339
- if (_enableDebugExceptions) {
1340
- throw dumpObj(message);
1341
- }
1342
- else {
1343
- var logFunc = severity === 1 ? STR_ERROR_TO_CONSOLE : STR_WARN_TO_CONSOLE;
1344
- if (!isUndefined(message[_DYN_MESSAGE ])) {
1345
- if (isUserAct) {
1346
- var messageKey = +message[_DYN_MESSAGE_ID ];
1347
- if (!_messageLogged[messageKey] && _loggingLevelConsole >= severity) {
1348
- _self[logFunc](message[_DYN_MESSAGE ]);
1349
- _messageLogged[messageKey] = true;
1350
- }
1351
- }
1352
- else {
1353
- if (_loggingLevelConsole >= severity) {
1354
- _self[logFunc](message[_DYN_MESSAGE ]);
1355
- }
1356
- }
1357
- _logInternalMessage(severity, message);
1358
- }
1359
- else {
1360
- _debugExtMsg("throw" + (severity === 1 ? "Critical" : "Warning"), message);
1361
- }
1362
- }
1363
- };
1364
- _self[STR_WARN_TO_CONSOLE ] = function (message) {
1365
- _logToConsole("warn", message);
1366
- _debugExtMsg("warning", message);
1367
- };
1368
- _self[STR_ERROR_TO_CONSOLE ] = function (message) {
1369
- _logToConsole("error", message);
1370
- _debugExtMsg("error", message);
1371
- };
1372
- _self.resetInternalMessageCount = function () {
1373
- _messageCount = 0;
1374
- _messageLogged = {};
1375
- };
1376
- _self[_DYN_LOG_INTERNAL_MESSAGE ] = _logInternalMessage;
1377
- function _logInternalMessage(severity, message) {
1378
- if (_areInternalMessagesThrottled()) {
1379
- return;
1380
- }
1381
- var logMessage = true;
1382
- var messageKey = AIInternalMessagePrefix + message[_DYN_MESSAGE_ID ];
1383
- if (_messageLogged[messageKey]) {
1384
- logMessage = false;
1385
- }
1386
- else {
1387
- _messageLogged[messageKey] = true;
1388
- }
1389
- if (logMessage) {
1390
- if (severity <= _loggingLevelTelemetry) {
1391
- _self.queue[_DYN_PUSH ](message);
1392
- _messageCount++;
1393
- _debugExtMsg((severity === 1 ? "error" : "warn"), message);
1394
- }
1395
- if (_messageCount === _maxInternalMessageLimit) {
1396
- var throttleLimitMessage = "Internal events throttle limit per PageView reached for this app.";
1397
- var throttleMessage = new _InternalLogMessage(23 , throttleLimitMessage, false);
1398
- _self.queue[_DYN_PUSH ](throttleMessage);
1399
- if (severity === 1 ) {
1400
- _self[STR_ERROR_TO_CONSOLE ](throttleLimitMessage);
1401
- }
1402
- else {
1403
- _self[STR_WARN_TO_CONSOLE ](throttleLimitMessage);
1404
- }
1405
- }
1406
- }
1407
- }
1408
- function _setDefaultsFromConfig(config) {
1409
- _loggingLevelConsole = getCfgValue(config.loggingLevelConsole, 0);
1410
- _loggingLevelTelemetry = getCfgValue(config.loggingLevelTelemetry, 1);
1411
- _maxInternalMessageLimit = getCfgValue(config.maxMessageLimit, 25);
1412
- _enableDebugExceptions = getCfgValue(config[_DYN_ENABLE_DEBUG_EXCEPTI4 ], false);
1413
- }
1414
- function _areInternalMessagesThrottled() {
1415
- return _messageCount >= _maxInternalMessageLimit;
1416
- }
1417
- function _debugExtMsg(name, data) {
1418
- var dbgExt = getDebugExt(config || {});
1419
- if (dbgExt && dbgExt[_DYN_DIAG_LOG ]) {
1420
- dbgExt[_DYN_DIAG_LOG ](name, data);
1421
- }
1422
- }
1423
- });
1424
- }
1425
- DiagnosticLogger.__ieDyn=1;
1426
- return DiagnosticLogger;
1427
- }());
1428
- function _getLogger(logger) {
1429
- return (logger || new DiagnosticLogger());
1430
- }
1431
- function _throwInternal(logger, severity, msgId, msg, properties, isUserAct) {
1432
- if (isUserAct === void 0) { isUserAct = false; }
1433
- _getLogger(logger).throwInternal(severity, msgId, msg, properties, isUserAct);
1434
- }
1435
- function _warnToConsole(logger, message) {
1436
- _getLogger(logger)[STR_WARN_TO_CONSOLE ](message);
1437
- }
1438
- function _logInternalMessage(logger, severity, message) {
1439
- _getLogger(logger)[_DYN_LOG_INTERNAL_MESSAGE ](severity, message);
1440
- }
1441
-
1442
- var strExecutionContextKey = "ctx";
1443
- var strParentContextKey = "ParentContextKey";
1444
- var strChildrenContextKey = "ChildrenContextKey";
1445
- var _defaultPerfManager = null;
1446
- var PerfEvent = /** @class */ (function () {
1447
- function PerfEvent(name, payloadDetails, isAsync) {
1448
- var _self = this;
1449
- var accessorDefined = false;
1450
- _self.start = dateNow();
1451
- _self[_DYN_NAME ] = name;
1452
- _self[_DYN_IS_ASYNC ] = isAsync;
1453
- _self[_DYN_IS_CHILD_EVT ] = function () { return false; };
1454
- if (isFunction(payloadDetails)) {
1455
- var theDetails_1;
1456
- accessorDefined = objDefineAccessors(_self, "payload", function () {
1457
- if (!theDetails_1 && isFunction(payloadDetails)) {
1458
- theDetails_1 = payloadDetails();
1459
- payloadDetails = null;
1460
- }
1461
- return theDetails_1;
1462
- });
1463
- }
1464
- _self[_DYN_GET_CTX ] = function (key) {
1465
- if (key) {
1466
- if (key === PerfEvent[strParentContextKey] || key === PerfEvent[strChildrenContextKey]) {
1467
- return _self[key];
1468
- }
1469
- return (_self[strExecutionContextKey] || {})[key];
1470
- }
1471
- return null;
1472
- };
1473
- _self[_DYN_SET_CTX ] = function (key, value) {
1474
- if (key) {
1475
- if (key === PerfEvent[strParentContextKey]) {
1476
- if (!_self[key]) {
1477
- _self[_DYN_IS_CHILD_EVT ] = function () { return true; };
1478
- }
1479
- _self[key] = value;
1480
- }
1481
- else if (key === PerfEvent[strChildrenContextKey]) {
1482
- _self[key] = value;
1483
- }
1484
- else {
1485
- var ctx = _self[strExecutionContextKey] = _self[strExecutionContextKey] || {};
1486
- ctx[key] = value;
1487
- }
1488
- }
1489
- };
1490
- _self[_DYN_COMPLETE ] = function () {
1491
- var childTime = 0;
1492
- var childEvts = _self[_DYN_GET_CTX ](PerfEvent[strChildrenContextKey]);
1493
- if (isArray(childEvts)) {
1494
- for (var lp = 0; lp < childEvts[_DYN_LENGTH ]; lp++) {
1495
- var childEvt = childEvts[lp];
1496
- if (childEvt) {
1497
- childTime += childEvt[_DYN_TIME ];
1498
- }
1499
- }
1500
- }
1501
- _self[_DYN_TIME ] = dateNow() - _self.start;
1502
- _self.exTime = _self[_DYN_TIME ] - childTime;
1503
- _self[_DYN_COMPLETE ] = function () { };
1504
- if (!accessorDefined && isFunction(payloadDetails)) {
1505
- _self.payload = payloadDetails();
1506
- }
1507
- };
1508
- }
1509
- PerfEvent.ParentContextKey = "parent";
1510
- PerfEvent.ChildrenContextKey = "childEvts";
1511
- return PerfEvent;
1512
- }());
1513
- var PerfManager = /** @class */ (function () {
1514
- function PerfManager(manager) {
1515
- this.ctx = {};
1516
- dynamicProto(PerfManager, this, function (_self) {
1517
- _self.create = function (src, payloadDetails, isAsync) {
1518
- return new PerfEvent(src, payloadDetails, isAsync);
1519
- };
1520
- _self.fire = function (perfEvent) {
1521
- if (perfEvent) {
1522
- perfEvent[_DYN_COMPLETE ]();
1523
- if (manager && isFunction(manager[STR_PERF_EVENT ])) {
1524
- manager[STR_PERF_EVENT ](perfEvent);
1525
- }
1526
- }
1527
- };
1528
- _self[_DYN_SET_CTX ] = function (key, value) {
1529
- if (key) {
1530
- var ctx = _self[strExecutionContextKey] = _self[strExecutionContextKey] || {};
1531
- ctx[key] = value;
1532
- }
1533
- };
1534
- _self[_DYN_GET_CTX ] = function (key) {
1535
- return (_self[strExecutionContextKey] || {})[key];
1536
- };
1537
- });
1538
- }
1539
- PerfManager.__ieDyn=1;
1540
- return PerfManager;
1541
- }());
1542
- var doPerfActiveKey = "CoreUtils.doPerf";
1543
- function doPerf(mgrSource, getSource, func, details, isAsync) {
1544
- if (mgrSource) {
1545
- var perfMgr = mgrSource;
1546
- if (perfMgr[STR_GET_PERF_MGR]) {
1547
- perfMgr = perfMgr[STR_GET_PERF_MGR]();
1548
- }
1549
- if (perfMgr) {
1550
- var perfEvt = void 0;
1551
- var currentActive = perfMgr[_DYN_GET_CTX ](doPerfActiveKey);
1552
- try {
1553
- perfEvt = perfMgr.create(getSource(), details, isAsync);
1554
- if (perfEvt) {
1555
- if (currentActive && perfEvt[_DYN_SET_CTX ]) {
1556
- perfEvt[_DYN_SET_CTX ](PerfEvent[strParentContextKey], currentActive);
1557
- if (currentActive[_DYN_GET_CTX ] && currentActive[_DYN_SET_CTX ]) {
1558
- var children = currentActive[_DYN_GET_CTX ](PerfEvent[strChildrenContextKey]);
1559
- if (!children) {
1560
- children = [];
1561
- currentActive[_DYN_SET_CTX ](PerfEvent[strChildrenContextKey], children);
1562
- }
1563
- children[_DYN_PUSH ](perfEvt);
1564
- }
1565
- }
1566
- perfMgr[_DYN_SET_CTX ](doPerfActiveKey, perfEvt);
1567
- return func(perfEvt);
1568
- }
1569
- }
1570
- catch (ex) {
1571
- if (perfEvt && perfEvt[_DYN_SET_CTX ]) {
1572
- perfEvt[_DYN_SET_CTX ]("exception", ex);
1573
- }
1574
- }
1575
- finally {
1576
- if (perfEvt) {
1577
- perfMgr.fire(perfEvt);
1578
- }
1579
- perfMgr[_DYN_SET_CTX ](doPerfActiveKey, currentActive);
1580
- }
1581
- }
1582
- }
1583
- return func();
1584
- }
1585
- function setGblPerfMgr(perfManager) {
1586
- _defaultPerfManager = perfManager;
1587
- }
1588
- function getGblPerfMgr() {
1589
- return _defaultPerfManager;
1590
- }
1591
-
1592
- var UInt32Mask = 0x100000000;
1593
- var MaxUInt32 = 0xffffffff;
1594
- var _mwcSeeded = false;
1595
- var _mwcW = 123456789;
1596
- var _mwcZ = 987654321;
1597
- function _mwcSeed(seedValue) {
1598
- if (seedValue < 0) {
1599
- seedValue >>>= 0;
1600
- }
1601
- _mwcW = (123456789 + seedValue) & MaxUInt32;
1602
- _mwcZ = (987654321 - seedValue) & MaxUInt32;
1603
- _mwcSeeded = true;
1604
- }
1605
- function _autoSeedMwc() {
1606
- try {
1607
- var now = dateNow() & 0x7fffffff;
1608
- _mwcSeed(((Math.random() * UInt32Mask) ^ now) + now);
1609
- }
1610
- catch (e) {
1611
- }
1612
- }
1613
- function randomValue(maxValue) {
1614
- if (maxValue > 0) {
1615
- return Math.floor((random32() / MaxUInt32) * (maxValue + 1)) >>> 0;
1616
- }
1617
- return 0;
1618
- }
1619
- function random32(signed) {
1620
- var value = 0;
1621
- var c = getCrypto() || getMsCrypto();
1622
- if (c && c.getRandomValues) {
1623
- value = c.getRandomValues(new Uint32Array(1))[0] & MaxUInt32;
1624
- }
1625
- if (value === 0 && isIE()) {
1626
- if (!_mwcSeeded) {
1627
- _autoSeedMwc();
1628
- }
1629
- value = mwcRandom32() & MaxUInt32;
1630
- }
1631
- if (value === 0) {
1632
- value = Math.floor((UInt32Mask * Math.random()) | 0);
1633
- }
1634
- if (!signed) {
1635
- value >>>= 0;
1636
- }
1637
- return value;
1638
- }
1639
- function mwcRandomSeed(value) {
1640
- if (!value) {
1641
- _autoSeedMwc();
1642
- }
1643
- else {
1644
- _mwcSeed(value);
1645
- }
1646
- }
1647
- function mwcRandom32(signed) {
1648
- _mwcZ = (36969 * (_mwcZ & 0xFFFF) + (_mwcZ >> 16)) & MaxUInt32;
1649
- _mwcW = (18000 * (_mwcW & 0xFFFF) + (_mwcW >> 16)) & MaxUInt32;
1650
- var value = (((_mwcZ << 16) + (_mwcW & 0xFFFF)) >>> 0) & MaxUInt32 | 0;
1651
- if (!signed) {
1652
- value >>>= 0;
1653
- }
1654
- return value;
1655
- }
1656
- function newId(maxLength) {
1657
- if (maxLength === void 0) { maxLength = 22; }
1658
- var base64chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
1659
- var number = random32() >>> 0;
1660
- var chars = 0;
1661
- var result = STR_EMPTY;
1662
- while (result[_DYN_LENGTH ] < maxLength) {
1663
- chars++;
1664
- result += base64chars.charAt(number & 0x3F);
1665
- number >>>= 6;
1666
- if (chars === 5) {
1667
- number = (((random32() << 2) & 0xFFFFFFFF) | (number & 0x03)) >>> 0;
1668
- chars = 0;
1669
- }
1670
- }
1671
- return result;
1672
- }
1673
-
1674
- var _objDefineProperty = ObjDefineProperty;
1675
- var version = "3.0.0-beta.2208-03";
1676
- var instanceName = "." + newId(6);
1677
- var _dataUid = 0;
1678
- function _createAccessor(target, prop, value) {
1679
- if (_objDefineProperty) {
1680
- try {
1681
- _objDefineProperty(target, prop, {
1682
- value: value,
1683
- enumerable: false,
1684
- configurable: true
1685
- });
1686
- return true;
1687
- }
1688
- catch (e) {
1689
- }
1690
- }
1691
- return false;
1692
- }
1693
- function _canAcceptData(target) {
1694
- return target[_DYN_NODE_TYPE ] === 1 || target[_DYN_NODE_TYPE ] === 9 || !(+target[_DYN_NODE_TYPE ]);
1695
- }
1696
- function _getCache(data, target) {
1697
- var theCache = target[data.id];
1698
- if (!theCache) {
1699
- theCache = {};
1700
- try {
1701
- if (_canAcceptData(target)) {
1702
- if (!_createAccessor(target, data.id, theCache)) {
1703
- target[data.id] = theCache;
1704
- }
1705
- }
1706
- }
1707
- catch (e) {
1708
- }
1709
- }
1710
- return theCache;
1711
- }
1712
- function createUniqueNamespace(name, includeVersion) {
1713
- if (includeVersion === void 0) { includeVersion = false; }
1714
- return normalizeJsName(name + (_dataUid++) + (includeVersion ? "." + version : STR_EMPTY) + instanceName);
1715
- }
1716
- function createElmNodeData(name) {
1717
- var data = {
1718
- id: createUniqueNamespace("_aiData-" + (name || STR_EMPTY) + "." + version),
1719
- accept: function (target) {
1720
- return _canAcceptData(target);
1721
- },
1722
- get: function (target, name, defValue, addDefault) {
1723
- var theCache = target[data.id];
1724
- if (!theCache) {
1725
- if (addDefault) {
1726
- theCache = _getCache(data, target);
1727
- theCache[normalizeJsName(name)] = defValue;
1728
- }
1729
- return defValue;
1730
- }
1731
- return theCache[normalizeJsName(name)];
1732
- },
1733
- kill: function (target, name) {
1734
- if (target && target[name]) {
1735
- try {
1736
- delete target[name];
1737
- }
1738
- catch (e) {
1739
- }
1740
- }
1741
- }
1742
- };
1743
- return data;
1744
- }
1745
-
1746
- var strToGMTString = "toGMTString";
1747
- var strToUTCString = "toUTCString";
1748
- var strCookie = "cookie";
1749
- var strExpires = "expires";
1750
- var strEnabled = "enabled";
1751
- var strIsCookieUseDisabled = "isCookieUseDisabled";
1752
- var strDisableCookiesUsage = "disableCookiesUsage";
1753
- var strConfigCookieMgr = "_ckMgr";
1754
- var _supportsCookies = null;
1755
- var _allowUaSameSite = null;
1756
- var _parsedCookieValue = null;
1757
- var _doc = getDocument();
1758
- var _cookieCache = {};
1759
- var _globalCookieConfig = {};
1760
- function _gblCookieMgr(config, logger) {
1761
- var inst = createCookieMgr[strConfigCookieMgr] || _globalCookieConfig[strConfigCookieMgr];
1762
- if (!inst) {
1763
- inst = createCookieMgr[strConfigCookieMgr] = createCookieMgr(config, logger);
1764
- _globalCookieConfig[strConfigCookieMgr] = inst;
1765
- }
1766
- return inst;
1767
- }
1768
- function _isMgrEnabled(cookieMgr) {
1769
- if (cookieMgr) {
1770
- return cookieMgr.isEnabled();
1771
- }
1772
- return true;
1773
- }
1774
- function _createCookieMgrConfig(rootConfig) {
1775
- var cookieMgrCfg = rootConfig[_DYN_COOKIE_CFG ] = rootConfig[_DYN_COOKIE_CFG ] || {};
1776
- setValue(cookieMgrCfg, "domain", rootConfig.cookieDomain, isNotNullOrUndefined, isNullOrUndefined);
1777
- setValue(cookieMgrCfg, "path", rootConfig.cookiePath || "/", null, isNullOrUndefined);
1778
- if (isNullOrUndefined(cookieMgrCfg[strEnabled])) {
1779
- var cookieEnabled = void 0;
1780
- if (!isUndefined(rootConfig[strIsCookieUseDisabled])) {
1781
- cookieEnabled = !rootConfig[strIsCookieUseDisabled];
1782
- }
1783
- if (!isUndefined(rootConfig[strDisableCookiesUsage])) {
1784
- cookieEnabled = !rootConfig[strDisableCookiesUsage];
1785
- }
1786
- cookieMgrCfg[strEnabled] = cookieEnabled;
1787
- }
1788
- return cookieMgrCfg;
1789
- }
1790
- function safeGetCookieMgr(core, config) {
1791
- var cookieMgr;
1792
- if (core) {
1793
- cookieMgr = core.getCookieMgr();
1794
- }
1795
- else if (config) {
1796
- var cookieCfg = config[_DYN_COOKIE_CFG ];
1797
- if (cookieCfg[strConfigCookieMgr]) {
1798
- cookieMgr = cookieCfg[strConfigCookieMgr];
1799
- }
1800
- else {
1801
- cookieMgr = createCookieMgr(config);
1802
- }
1803
- }
1804
- if (!cookieMgr) {
1805
- cookieMgr = _gblCookieMgr(config, (core || {})[_DYN_LOGGER ]);
1806
- }
1807
- return cookieMgr;
1808
- }
1809
- function createCookieMgr(rootConfig, logger) {
1810
- var _a;
1811
- var cookieMgrConfig = _createCookieMgrConfig(rootConfig || _globalCookieConfig);
1812
- var _path = cookieMgrConfig.path || "/";
1813
- var _domain = cookieMgrConfig.domain;
1814
- var _enabled = cookieMgrConfig[strEnabled] !== false;
1815
- var cookieMgr = (_a = {
1816
- isEnabled: function () {
1817
- var enabled = _enabled && areCookiesSupported(logger);
1818
- var gblManager = _globalCookieConfig[strConfigCookieMgr];
1819
- if (enabled && gblManager && cookieMgr !== gblManager) {
1820
- enabled = _isMgrEnabled(gblManager);
1821
- }
1822
- return enabled;
1823
- }
1824
- },
1825
- _a[_DYN_SET_ENABLED ] = function (value) {
1826
- _enabled = value !== false;
1827
- },
1828
- _a.set = function (name, value, maxAgeSec, domain, path) {
1829
- var result = false;
1830
- if (_isMgrEnabled(cookieMgr)) {
1831
- var values = {};
1832
- var theValue = strTrim(value || STR_EMPTY);
1833
- var idx = theValue[_DYN_INDEX_OF ](";");
1834
- if (idx !== -1) {
1835
- theValue = strTrim(value[_DYN_SUBSTRING ](0, idx));
1836
- values = _extractParts(value[_DYN_SUBSTRING ](idx + 1));
1837
- }
1838
- setValue(values, "domain", domain || _domain, isTruthy, isUndefined);
1839
- if (!isNullOrUndefined(maxAgeSec)) {
1840
- var _isIE = isIE();
1841
- if (isUndefined(values[strExpires])) {
1842
- var nowMs = dateNow();
1843
- var expireMs = nowMs + (maxAgeSec * 1000);
1844
- if (expireMs > 0) {
1845
- var expiry = new Date();
1846
- expiry.setTime(expireMs);
1847
- setValue(values, strExpires, _formatDate(expiry, !_isIE ? strToUTCString : strToGMTString) || _formatDate(expiry, _isIE ? strToGMTString : strToUTCString) || STR_EMPTY, isTruthy);
1848
- }
1849
- }
1850
- if (!_isIE) {
1851
- setValue(values, "max-age", STR_EMPTY + maxAgeSec, null, isUndefined);
1852
- }
1853
- }
1854
- var location_1 = getLocation();
1855
- if (location_1 && location_1.protocol === "https:") {
1856
- setValue(values, "secure", null, null, isUndefined);
1857
- if (_allowUaSameSite === null) {
1858
- _allowUaSameSite = !uaDisallowsSameSiteNone((getNavigator() || {})[_DYN_USER_AGENT ]);
1859
- }
1860
- if (_allowUaSameSite) {
1861
- setValue(values, "SameSite", "None", null, isUndefined);
1862
- }
1863
- }
1864
- setValue(values, "path", path || _path, null, isUndefined);
1865
- var setCookieFn = cookieMgrConfig.setCookie || _setCookieValue;
1866
- setCookieFn(name, _formatCookieValue(theValue, values));
1867
- result = true;
1868
- }
1869
- return result;
1870
- },
1871
- _a.get = function (name) {
1872
- var value = STR_EMPTY;
1873
- if (_isMgrEnabled(cookieMgr)) {
1874
- value = (cookieMgrConfig.getCookie || _getCookieValue)(name);
1875
- }
1876
- return value;
1877
- },
1878
- _a.del = function (name, path) {
1879
- var result = false;
1880
- if (_isMgrEnabled(cookieMgr)) {
1881
- result = cookieMgr.purge(name, path);
1882
- }
1883
- return result;
1884
- },
1885
- _a.purge = function (name, path) {
1886
- var _a;
1887
- var result = false;
1888
- if (areCookiesSupported(logger)) {
1889
- var values = (_a = {},
1890
- _a["path"] = path ? path : "/",
1891
- _a[strExpires] = "Thu, 01 Jan 1970 00:00:01 GMT",
1892
- _a);
1893
- if (!isIE()) {
1894
- values["max-age"] = "0";
1895
- }
1896
- var delCookie = cookieMgrConfig.delCookie || _setCookieValue;
1897
- delCookie(name, _formatCookieValue(STR_EMPTY, values));
1898
- result = true;
1899
- }
1900
- return result;
1901
- },
1902
- _a);
1903
- cookieMgr[strConfigCookieMgr] = cookieMgr;
1904
- return cookieMgr;
1905
- }
1906
- function areCookiesSupported(logger) {
1907
- if (_supportsCookies === null) {
1908
- _supportsCookies = false;
1909
- try {
1910
- var doc = _doc || {};
1911
- _supportsCookies = doc[strCookie] !== undefined;
1912
- }
1913
- catch (e) {
1914
- _throwInternal(logger, 2 , 68 , "Cannot access document.cookie - " + getExceptionName(e), { exception: dumpObj(e) });
1915
- }
1916
- }
1917
- return _supportsCookies;
1918
- }
1919
- function _extractParts(theValue) {
1920
- var values = {};
1921
- if (theValue && theValue[_DYN_LENGTH ]) {
1922
- var parts = strTrim(theValue)[_DYN_SPLIT ](";");
1923
- arrForEach(parts, function (thePart) {
1924
- thePart = strTrim(thePart || STR_EMPTY);
1925
- if (thePart) {
1926
- var idx = thePart[_DYN_INDEX_OF ]("=");
1927
- if (idx === -1) {
1928
- values[thePart] = null;
1929
- }
1930
- else {
1931
- values[strTrim(thePart[_DYN_SUBSTRING ](0, idx))] = strTrim(thePart[_DYN_SUBSTRING ](idx + 1));
1932
- }
1933
- }
1934
- });
1935
- }
1936
- return values;
1937
- }
1938
- function _formatDate(theDate, func) {
1939
- if (isFunction(theDate[func])) {
1940
- return theDate[func]();
1941
- }
1942
- return null;
1943
- }
1944
- function _formatCookieValue(value, values) {
1945
- var cookieValue = value || STR_EMPTY;
1946
- objForEachKey(values, function (name, theValue) {
1947
- cookieValue += "; " + name + (!isNullOrUndefined(theValue) ? "=" + theValue : STR_EMPTY);
1948
- });
1949
- return cookieValue;
1950
- }
1951
- function _getCookieValue(name) {
1952
- var cookieValue = STR_EMPTY;
1953
- if (_doc) {
1954
- var theCookie = _doc[strCookie] || STR_EMPTY;
1955
- if (_parsedCookieValue !== theCookie) {
1956
- _cookieCache = _extractParts(theCookie);
1957
- _parsedCookieValue = theCookie;
1958
- }
1959
- cookieValue = strTrim(_cookieCache[name] || STR_EMPTY);
1960
- }
1961
- return cookieValue;
1962
- }
1963
- function _setCookieValue(name, cookieValue) {
1964
- if (_doc) {
1965
- _doc[strCookie] = name + "=" + cookieValue;
1966
- }
1967
- }
1968
- function uaDisallowsSameSiteNone(userAgent) {
1969
- if (!isString(userAgent)) {
1970
- return false;
1971
- }
1972
- if (strContains(userAgent, "CPU iPhone OS 12") || strContains(userAgent, "iPad; CPU OS 12")) {
1973
- return true;
1974
- }
1975
- if (strContains(userAgent, "Macintosh; Intel Mac OS X 10_14") && strContains(userAgent, "Version/") && strContains(userAgent, "Safari")) {
1976
- return true;
1977
- }
1978
- if (strContains(userAgent, "Macintosh; Intel Mac OS X 10_14") && strEndsWith(userAgent, "AppleWebKit/605.1.15 (KHTML, like Gecko)")) {
1979
- return true;
1980
- }
1981
- if (strContains(userAgent, "Chrome/5") || strContains(userAgent, "Chrome/6")) {
1982
- return true;
1983
- }
1984
- if (strContains(userAgent, "UnrealEngine") && !strContains(userAgent, "Chrome")) {
1985
- return true;
1986
- }
1987
- if (strContains(userAgent, "UCBrowser/12") || strContains(userAgent, "UCBrowser/11")) {
1988
- return true;
1989
- }
1990
- return false;
1991
- }
1992
-
1993
- var strOnPrefix = "on";
1994
- var strAttachEvent = "attachEvent";
1995
- var strAddEventHelper = "addEventListener";
1996
- var strDetachEvent = "detachEvent";
1997
- var strRemoveEventListener = "removeEventListener";
1998
- var strEvents = "events";
1999
- var strVisibilityChangeEvt = "visibilitychange";
2000
- var strPageHide = "pagehide";
2001
- var strPageShow = "pageshow";
2002
- var strUnload = "unload";
2003
- var strBeforeUnload = "beforeunload";
2004
- var strPageHideNamespace = createUniqueNamespace("aiEvtPageHide");
2005
- var strPageShowNamespace = createUniqueNamespace("aiEvtPageShow");
2006
- var rRemoveEmptyNs = /\.[\.]+/g;
2007
- var rRemoveTrailingEmptyNs = /[\.]+$/;
2008
- var _guid = 1;
2009
- var elmNodeData = createElmNodeData("events");
2010
- var eventNamespace = /^([^.]*)(?:\.(.+)|)/;
2011
- function _normalizeNamespace(name) {
2012
- if (name && name[_DYN_REPLACE ]) {
2013
- return name.replace(/^\s*\.*|\.*\s*$/g, STR_EMPTY);
2014
- }
2015
- return name;
2016
- }
2017
- function _getEvtNamespace(eventName, evtNamespace) {
2018
- var _a;
2019
- if (evtNamespace) {
2020
- var theNamespace_1 = STR_EMPTY;
2021
- if (isArray(evtNamespace)) {
2022
- theNamespace_1 = STR_EMPTY;
2023
- arrForEach(evtNamespace, function (name) {
2024
- name = _normalizeNamespace(name);
2025
- if (name) {
2026
- if (name[0] !== ".") {
2027
- name = "." + name;
2028
- }
2029
- theNamespace_1 += name;
2030
- }
2031
- });
2032
- }
2033
- else {
2034
- theNamespace_1 = _normalizeNamespace(evtNamespace);
2035
- }
2036
- if (theNamespace_1) {
2037
- if (theNamespace_1[0] !== ".") {
2038
- theNamespace_1 = "." + theNamespace_1;
2039
- }
2040
- eventName = (eventName || STR_EMPTY) + theNamespace_1;
2041
- }
2042
- }
2043
- var parsedEvent = (eventNamespace.exec(eventName || STR_EMPTY) || []);
2044
- return _a = {},
2045
- _a[_DYN_TYPE ] = parsedEvent[1],
2046
- _a.ns = ((parsedEvent[2] || STR_EMPTY).replace(rRemoveEmptyNs, ".").replace(rRemoveTrailingEmptyNs, STR_EMPTY)[_DYN_SPLIT ](".").sort()).join("."),
2047
- _a;
2048
- }
2049
- function __getRegisteredEvents(target, eventName, evtNamespace) {
2050
- var theEvents = [];
2051
- var eventCache = elmNodeData.get(target, strEvents, {}, false);
2052
- var evtName = _getEvtNamespace(eventName, evtNamespace);
2053
- objForEachKey(eventCache, function (evtType, registeredEvents) {
2054
- arrForEach(registeredEvents, function (value) {
2055
- var _a;
2056
- if (!evtName[_DYN_TYPE ] || evtName[_DYN_TYPE ] === value.evtName[_DYN_TYPE ]) {
2057
- if (!evtName.ns || evtName.ns === evtName.ns) {
2058
- theEvents[_DYN_PUSH ]((_a = {},
2059
- _a[_DYN_NAME ] = value.evtName[_DYN_TYPE ] + (value.evtName.ns ? "." + value.evtName.ns : STR_EMPTY),
2060
- _a.handler = value[_DYN_HANDLER ],
2061
- _a));
2062
- }
2063
- }
2064
- });
2065
- });
2066
- return theEvents;
2067
- }
2068
- function _getRegisteredEvents(target, evtName, addDefault) {
2069
- if (addDefault === void 0) { addDefault = true; }
2070
- var aiEvts = elmNodeData.get(target, strEvents, {}, addDefault);
2071
- var registeredEvents = aiEvts[evtName];
2072
- if (!registeredEvents) {
2073
- registeredEvents = aiEvts[evtName] = [];
2074
- }
2075
- return registeredEvents;
2076
- }
2077
- function _doDetach(obj, evtName, handlerRef, useCapture) {
2078
- if (obj && evtName && evtName[_DYN_TYPE ]) {
2079
- if (obj[strRemoveEventListener]) {
2080
- obj[strRemoveEventListener](evtName[_DYN_TYPE ], handlerRef, useCapture);
2081
- }
2082
- else if (obj[strDetachEvent]) {
2083
- obj[strDetachEvent](strOnPrefix + evtName[_DYN_TYPE ], handlerRef);
2084
- }
2085
- }
2086
- }
2087
- function _doAttach(obj, evtName, handlerRef, useCapture) {
2088
- var result = false;
2089
- if (obj && evtName && evtName[_DYN_TYPE ] && handlerRef) {
2090
- if (obj[strAddEventHelper]) {
2091
- obj[strAddEventHelper](evtName[_DYN_TYPE ], handlerRef, useCapture);
2092
- result = true;
2093
- }
2094
- else if (obj[strAttachEvent]) {
2095
- obj[strAttachEvent](strOnPrefix + evtName[_DYN_TYPE ], handlerRef);
2096
- result = true;
2097
- }
2098
- }
2099
- return result;
2100
- }
2101
- function _doUnregister(target, events, evtName, unRegFn) {
2102
- var idx = events[_DYN_LENGTH ];
2103
- while (idx--) {
2104
- var theEvent = events[idx];
2105
- if (theEvent) {
2106
- if (!evtName.ns || evtName.ns === theEvent.evtName.ns) {
2107
- if (!unRegFn || unRegFn(theEvent)) {
2108
- _doDetach(target, theEvent.evtName, theEvent[_DYN_HANDLER ], theEvent.capture);
2109
- events[_DYN_SPLICE ](idx, 1);
2110
- }
2111
- }
2112
- }
2113
- }
2114
- }
2115
- function _unregisterEvents(target, evtName, unRegFn) {
2116
- if (evtName[_DYN_TYPE ]) {
2117
- _doUnregister(target, _getRegisteredEvents(target, evtName[_DYN_TYPE ]), evtName, unRegFn);
2118
- }
2119
- else {
2120
- var eventCache = elmNodeData.get(target, strEvents, {});
2121
- objForEachKey(eventCache, function (evtType, events) {
2122
- _doUnregister(target, events, evtName, unRegFn);
2123
- });
2124
- if (objKeys(eventCache)[_DYN_LENGTH ] === 0) {
2125
- elmNodeData.kill(target, strEvents);
2126
- }
2127
- }
2128
- }
2129
- function mergeEvtNamespace(theNamespace, namespaces) {
2130
- var newNamespaces;
2131
- if (namespaces) {
2132
- if (isArray(namespaces)) {
2133
- newNamespaces = [theNamespace].concat(namespaces);
2134
- }
2135
- else {
2136
- newNamespaces = [theNamespace, namespaces];
2137
- }
2138
- newNamespaces = (_getEvtNamespace("xx", newNamespaces).ns)[_DYN_SPLIT ](".");
2139
- }
2140
- else {
2141
- newNamespaces = theNamespace;
2142
- }
2143
- return newNamespaces;
2144
- }
2145
- function eventOn(target, eventName, handlerRef, evtNamespace, useCapture) {
2146
- var _a;
2147
- if (useCapture === void 0) { useCapture = false; }
2148
- var result = false;
2149
- if (target) {
2150
- try {
2151
- var evtName = _getEvtNamespace(eventName, evtNamespace);
2152
- result = _doAttach(target, evtName, handlerRef, useCapture);
2153
- if (result && elmNodeData.accept(target)) {
2154
- var registeredEvent = (_a = {
2155
- guid: _guid++,
2156
- evtName: evtName
2157
- },
2158
- _a[_DYN_HANDLER ] = handlerRef,
2159
- _a.capture = useCapture,
2160
- _a);
2161
- _getRegisteredEvents(target, evtName.type)[_DYN_PUSH ](registeredEvent);
2162
- }
2163
- }
2164
- catch (e) {
2165
- }
2166
- }
2167
- return result;
2168
- }
2169
- function eventOff(target, eventName, handlerRef, evtNamespace, useCapture) {
2170
- if (useCapture === void 0) { useCapture = false; }
2171
- if (target) {
2172
- try {
2173
- var evtName_1 = _getEvtNamespace(eventName, evtNamespace);
2174
- var found_1 = false;
2175
- _unregisterEvents(target, evtName_1, function (regEvent) {
2176
- if ((evtName_1.ns && !handlerRef) || regEvent[_DYN_HANDLER ] === handlerRef) {
2177
- found_1 = true;
2178
- return true;
2179
- }
2180
- return false;
2181
- });
2182
- if (!found_1) {
2183
- _doDetach(target, evtName_1, handlerRef, useCapture);
2184
- }
2185
- }
2186
- catch (e) {
2187
- }
2188
- }
2189
- }
2190
- function attachEvent(obj, eventNameWithoutOn, handlerRef, useCapture) {
2191
- if (useCapture === void 0) { useCapture = false; }
2192
- return eventOn(obj, eventNameWithoutOn, handlerRef, null, useCapture);
2193
- }
2194
- function detachEvent(obj, eventNameWithoutOn, handlerRef, useCapture) {
2195
- if (useCapture === void 0) { useCapture = false; }
2196
- eventOff(obj, eventNameWithoutOn, handlerRef, null, useCapture);
2197
- }
2198
- function addEventHandler(eventName, callback, evtNamespace) {
2199
- var result = false;
2200
- var w = getWindow();
2201
- if (w) {
2202
- result = eventOn(w, eventName, callback, evtNamespace);
2203
- result = eventOn(w["body"], eventName, callback, evtNamespace) || result;
2204
- }
2205
- var doc = getDocument();
2206
- if (doc) {
2207
- result = eventOn(doc, eventName, callback, evtNamespace) || result;
2208
- }
2209
- return result;
2210
- }
2211
- function removeEventHandler(eventName, callback, evtNamespace) {
2212
- var w = getWindow();
2213
- if (w) {
2214
- eventOff(w, eventName, callback, evtNamespace);
2215
- eventOff(w["body"], eventName, callback, evtNamespace);
2216
- }
2217
- var doc = getDocument();
2218
- if (doc) {
2219
- eventOff(doc, eventName, callback, evtNamespace);
2220
- }
2221
- }
2222
- function _addEventListeners(events, listener, excludeEvents, evtNamespace) {
2223
- var added = false;
2224
- if (listener && events && events[_DYN_LENGTH ] > 0) {
2225
- arrForEach(events, function (name) {
2226
- if (name) {
2227
- if (!excludeEvents || arrIndexOf(excludeEvents, name) === -1) {
2228
- added = addEventHandler(name, listener, evtNamespace) || added;
2229
- }
2230
- }
2231
- });
2232
- }
2233
- return added;
2234
- }
2235
- function addEventListeners(events, listener, excludeEvents, evtNamespace) {
2236
- var added = false;
2237
- if (listener && events && isArray(events)) {
2238
- added = _addEventListeners(events, listener, excludeEvents, evtNamespace);
2239
- if (!added && excludeEvents && excludeEvents[_DYN_LENGTH ] > 0) {
2240
- added = _addEventListeners(events, listener, null, evtNamespace);
2241
- }
2242
- }
2243
- return added;
2244
- }
2245
- function removeEventListeners(events, listener, evtNamespace) {
2246
- if (events && isArray(events)) {
2247
- arrForEach(events, function (name) {
2248
- if (name) {
2249
- removeEventHandler(name, listener, evtNamespace);
2250
- }
2251
- });
2252
- }
2253
- }
2254
- function addPageUnloadEventListener(listener, excludeEvents, evtNamespace) {
2255
- return addEventListeners([strBeforeUnload, strUnload, strPageHide], listener, excludeEvents, evtNamespace);
2256
- }
2257
- function removePageUnloadEventListener(listener, evtNamespace) {
2258
- removeEventListeners([strBeforeUnload, strUnload, strPageHide], listener, evtNamespace);
2259
- }
2260
- function addPageHideEventListener(listener, excludeEvents, evtNamespace) {
2261
- function _handlePageVisibility(evt) {
2262
- var doc = getDocument();
2263
- if (listener && doc && doc.visibilityState === "hidden") {
2264
- listener(evt);
2265
- }
2266
- }
2267
- var newNamespaces = mergeEvtNamespace(strPageHideNamespace, evtNamespace);
2268
- var pageUnloadAdded = _addEventListeners([strPageHide], listener, excludeEvents, newNamespaces);
2269
- if (!excludeEvents || arrIndexOf(excludeEvents, strVisibilityChangeEvt) === -1) {
2270
- pageUnloadAdded = _addEventListeners([strVisibilityChangeEvt], _handlePageVisibility, excludeEvents, newNamespaces) || pageUnloadAdded;
2271
- }
2272
- if (!pageUnloadAdded && excludeEvents) {
2273
- pageUnloadAdded = addPageHideEventListener(listener, null, evtNamespace);
2274
- }
2275
- return pageUnloadAdded;
2276
- }
2277
- function removePageHideEventListener(listener, evtNamespace) {
2278
- var newNamespaces = mergeEvtNamespace(strPageHideNamespace, evtNamespace);
2279
- removeEventListeners([strPageHide], listener, newNamespaces);
2280
- removeEventListeners([strVisibilityChangeEvt], null, newNamespaces);
2281
- }
2282
- function addPageShowEventListener(listener, excludeEvents, evtNamespace) {
2283
- function _handlePageVisibility(evt) {
2284
- var doc = getDocument();
2285
- if (listener && doc && doc.visibilityState === "visible") {
2286
- listener(evt);
2287
- }
2288
- }
2289
- var newNamespaces = mergeEvtNamespace(strPageShowNamespace, evtNamespace);
2290
- var pageShowAdded = _addEventListeners([strPageShow], listener, excludeEvents, newNamespaces);
2291
- pageShowAdded = _addEventListeners([strVisibilityChangeEvt], _handlePageVisibility, excludeEvents, newNamespaces) || pageShowAdded;
2292
- if (!pageShowAdded && excludeEvents) {
2293
- pageShowAdded = addPageShowEventListener(listener, null, evtNamespace);
2294
- }
2295
- return pageShowAdded;
2296
- }
2297
- function removePageShowEventListener(listener, evtNamespace) {
2298
- var newNamespaces = mergeEvtNamespace(strPageShowNamespace, evtNamespace);
2299
- removeEventListeners([strPageShow], listener, newNamespaces);
2300
- removeEventListeners([strVisibilityChangeEvt], null, newNamespaces);
2301
- }
2302
-
2303
- var _cookieMgrs = null;
2304
- var _canUseCookies;
2305
- var Undefined = strShimUndefined;
2306
- function newGuid() {
2307
- function randomHexDigit() {
2308
- return randomValue(15);
2309
- }
2310
- return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx"[_DYN_REPLACE ](GuidRegex, function (c) {
2311
- var r = (randomHexDigit() | 0), v = (c === "x" ? r : r & 0x3 | 0x8);
2312
- return v.toString(16);
2313
- });
2314
- }
2315
- function perfNow() {
2316
- var perf = getPerformance();
2317
- if (perf && perf.now) {
2318
- return perf.now();
2319
- }
2320
- return dateNow();
2321
- }
2322
- function generateW3CId() {
2323
- var hexValues = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f"];
2324
- var oct = STR_EMPTY, tmp;
2325
- for (var a = 0; a < 4; a++) {
2326
- tmp = random32();
2327
- oct +=
2328
- hexValues[tmp & 0xF] +
2329
- hexValues[tmp >> 4 & 0xF] +
2330
- hexValues[tmp >> 8 & 0xF] +
2331
- hexValues[tmp >> 12 & 0xF] +
2332
- hexValues[tmp >> 16 & 0xF] +
2333
- hexValues[tmp >> 20 & 0xF] +
2334
- hexValues[tmp >> 24 & 0xF] +
2335
- hexValues[tmp >> 28 & 0xF];
2336
- }
2337
- var clockSequenceHi = hexValues[8 + (random32() & 0x03) | 0];
2338
- return oct[_DYN_SUBSTR ](0, 8) + oct[_DYN_SUBSTR ](9, 4) + "4" + oct[_DYN_SUBSTR ](13, 3) + clockSequenceHi + oct[_DYN_SUBSTR ](16, 3) + oct[_DYN_SUBSTR ](19, 12);
2339
- }
2340
- var CoreUtils = {
2341
- _canUseCookies: undefined,
2342
- isTypeof: isTypeof,
2343
- isUndefined: isUndefined,
2344
- isNullOrUndefined: isNullOrUndefined,
2345
- hasOwnProperty: hasOwnProperty,
2346
- isFunction: isFunction,
2347
- isObject: isObject,
2348
- isDate: isDate,
2349
- isArray: isArray,
2350
- isError: isError,
2351
- isString: isString,
2352
- isNumber: isNumber,
2353
- isBoolean: isBoolean,
2354
- toISOString: toISOString,
2355
- arrForEach: arrForEach,
2356
- arrIndexOf: arrIndexOf,
2357
- arrMap: arrMap,
2358
- arrReduce: arrReduce,
2359
- strTrim: strTrim,
2360
- objCreate: objCreateFn,
2361
- objKeys: objKeys,
2362
- objDefineAccessors: objDefineAccessors,
2363
- addEventHandler: addEventHandler,
2364
- dateNow: dateNow,
2365
- isIE: isIE,
2366
- disableCookies: disableCookies,
2367
- newGuid: newGuid,
2368
- perfNow: perfNow,
2369
- newId: newId,
2370
- randomValue: randomValue,
2371
- random32: random32,
2372
- mwcRandomSeed: mwcRandomSeed,
2373
- mwcRandom32: mwcRandom32,
2374
- generateW3CId: generateW3CId
2375
- };
2376
- var GuidRegex = /[xy]/g;
2377
- var EventHelper = {
2378
- Attach: attachEvent,
2379
- AttachEvent: attachEvent,
2380
- Detach: detachEvent,
2381
- DetachEvent: detachEvent
2382
- };
2383
- function _legacyCookieMgr(config, logger) {
2384
- var cookieMgr = _gblCookieMgr(config, logger);
2385
- var legacyCanUseCookies = CoreUtils._canUseCookies;
2386
- if (_cookieMgrs === null) {
2387
- _cookieMgrs = [];
2388
- _canUseCookies = legacyCanUseCookies;
2389
- objDefineAccessors(CoreUtils, "_canUseCookies", function () {
2390
- return _canUseCookies;
2391
- }, function (value) {
2392
- _canUseCookies = value;
2393
- arrForEach(_cookieMgrs, function (mgr) {
2394
- mgr[_DYN_SET_ENABLED ](value);
2395
- });
2396
- });
2397
- }
2398
- if (arrIndexOf(_cookieMgrs, cookieMgr) === -1) {
2399
- _cookieMgrs[_DYN_PUSH ](cookieMgr);
2400
- }
2401
- if (isBoolean(legacyCanUseCookies)) {
2402
- cookieMgr[_DYN_SET_ENABLED ](legacyCanUseCookies);
2403
- }
2404
- if (isBoolean(_canUseCookies)) {
2405
- cookieMgr[_DYN_SET_ENABLED ](_canUseCookies);
2406
- }
2407
- return cookieMgr;
2408
- }
2409
- function disableCookies() {
2410
- _legacyCookieMgr()[_DYN_SET_ENABLED ](false);
2411
- }
2412
- function canUseCookies(logger) {
2413
- return _legacyCookieMgr(null, logger).isEnabled();
2414
- }
2415
- function getCookie(logger, name) {
2416
- return _legacyCookieMgr(null, logger).get(name);
2417
- }
2418
- function setCookie(logger, name, value, domain) {
2419
- _legacyCookieMgr(null, logger).set(name, value, null, domain);
2420
- }
2421
- function deleteCookie(logger, name) {
2422
- return _legacyCookieMgr(null, logger).del(name);
2423
- }
2424
-
2425
- var TRACE_PARENT_REGEX = /^([\da-f]{2})-([\da-f]{32})-([\da-f]{16})-([\da-f]{2})(-[^\s]*)?$/;
2426
- var DEFAULT_VERSION = "00";
2427
- var INVALID_VERSION = "ff";
2428
- var INVALID_TRACE_ID = "00000000000000000000000000000000";
2429
- var INVALID_SPAN_ID = "0000000000000000";
2430
- var SAMPLED_FLAG = 0x01;
2431
- function _isValid(value, len, invalidValue) {
2432
- if (value && value[_DYN_LENGTH ] === len && value !== invalidValue) {
2433
- return !!value.match(/^[\da-f]*$/);
2434
- }
2435
- return false;
1776
+ return false;
2436
1777
  }
2437
1778
  function _formatValue(value, len, defValue) {
2438
1779
  if (_isValid(value, len)) {
@@ -3194,7 +2535,252 @@
3194
2535
  });
3195
2536
  _addChannelQueue(channelQueue, extensionQueue_1, core);
3196
2537
  }
3197
- return channelQueue;
2538
+ return channelQueue;
2539
+ }
2540
+
2541
+ var strToGMTString = "toGMTString";
2542
+ var strToUTCString = "toUTCString";
2543
+ var strCookie = "cookie";
2544
+ var strExpires = "expires";
2545
+ var strEnabled = "enabled";
2546
+ var strIsCookieUseDisabled = "isCookieUseDisabled";
2547
+ var strDisableCookiesUsage = "disableCookiesUsage";
2548
+ var strConfigCookieMgr = "_ckMgr";
2549
+ var _supportsCookies = null;
2550
+ var _allowUaSameSite = null;
2551
+ var _parsedCookieValue = null;
2552
+ var _doc = getDocument();
2553
+ var _cookieCache = {};
2554
+ var _globalCookieConfig = {};
2555
+ function _gblCookieMgr(config, logger) {
2556
+ var inst = createCookieMgr[strConfigCookieMgr] || _globalCookieConfig[strConfigCookieMgr];
2557
+ if (!inst) {
2558
+ inst = createCookieMgr[strConfigCookieMgr] = createCookieMgr(config, logger);
2559
+ _globalCookieConfig[strConfigCookieMgr] = inst;
2560
+ }
2561
+ return inst;
2562
+ }
2563
+ function _isMgrEnabled(cookieMgr) {
2564
+ if (cookieMgr) {
2565
+ return cookieMgr.isEnabled();
2566
+ }
2567
+ return true;
2568
+ }
2569
+ function _createCookieMgrConfig(rootConfig) {
2570
+ var cookieMgrCfg = rootConfig[_DYN_COOKIE_CFG ] = rootConfig[_DYN_COOKIE_CFG ] || {};
2571
+ setValue(cookieMgrCfg, "domain", rootConfig.cookieDomain, isNotNullOrUndefined, isNullOrUndefined);
2572
+ setValue(cookieMgrCfg, "path", rootConfig.cookiePath || "/", null, isNullOrUndefined);
2573
+ if (isNullOrUndefined(cookieMgrCfg[strEnabled])) {
2574
+ var cookieEnabled = void 0;
2575
+ if (!isUndefined(rootConfig[strIsCookieUseDisabled])) {
2576
+ cookieEnabled = !rootConfig[strIsCookieUseDisabled];
2577
+ }
2578
+ if (!isUndefined(rootConfig[strDisableCookiesUsage])) {
2579
+ cookieEnabled = !rootConfig[strDisableCookiesUsage];
2580
+ }
2581
+ cookieMgrCfg[strEnabled] = cookieEnabled;
2582
+ }
2583
+ return cookieMgrCfg;
2584
+ }
2585
+ function safeGetCookieMgr(core, config) {
2586
+ var cookieMgr;
2587
+ if (core) {
2588
+ cookieMgr = core.getCookieMgr();
2589
+ }
2590
+ else if (config) {
2591
+ var cookieCfg = config[_DYN_COOKIE_CFG ];
2592
+ if (cookieCfg[strConfigCookieMgr]) {
2593
+ cookieMgr = cookieCfg[strConfigCookieMgr];
2594
+ }
2595
+ else {
2596
+ cookieMgr = createCookieMgr(config);
2597
+ }
2598
+ }
2599
+ if (!cookieMgr) {
2600
+ cookieMgr = _gblCookieMgr(config, (core || {})[_DYN_LOGGER ]);
2601
+ }
2602
+ return cookieMgr;
2603
+ }
2604
+ function createCookieMgr(rootConfig, logger) {
2605
+ var cookieMgrConfig = _createCookieMgrConfig(rootConfig || _globalCookieConfig);
2606
+ var _path = cookieMgrConfig.path || "/";
2607
+ var _domain = cookieMgrConfig.domain;
2608
+ var _enabled = cookieMgrConfig[strEnabled] !== false;
2609
+ var cookieMgr = {
2610
+ isEnabled: function () {
2611
+ var enabled = _enabled && areCookiesSupported(logger);
2612
+ var gblManager = _globalCookieConfig[strConfigCookieMgr];
2613
+ if (enabled && gblManager && cookieMgr !== gblManager) {
2614
+ enabled = _isMgrEnabled(gblManager);
2615
+ }
2616
+ return enabled;
2617
+ },
2618
+ setEnabled: function (value) {
2619
+ _enabled = value !== false;
2620
+ },
2621
+ set: function (name, value, maxAgeSec, domain, path) {
2622
+ var result = false;
2623
+ if (_isMgrEnabled(cookieMgr)) {
2624
+ var values = {};
2625
+ var theValue = strTrim(value || STR_EMPTY);
2626
+ var idx = theValue.indexOf(";");
2627
+ if (idx !== -1) {
2628
+ theValue = strTrim(value[_DYN_SUBSTRING ](0, idx));
2629
+ values = _extractParts(value[_DYN_SUBSTRING ](idx + 1));
2630
+ }
2631
+ setValue(values, "domain", domain || _domain, isTruthy, isUndefined);
2632
+ if (!isNullOrUndefined(maxAgeSec)) {
2633
+ var _isIE = isIE();
2634
+ if (isUndefined(values[strExpires])) {
2635
+ var nowMs = dateNow();
2636
+ var expireMs = nowMs + (maxAgeSec * 1000);
2637
+ if (expireMs > 0) {
2638
+ var expiry = new Date();
2639
+ expiry.setTime(expireMs);
2640
+ setValue(values, strExpires, _formatDate(expiry, !_isIE ? strToUTCString : strToGMTString) || _formatDate(expiry, _isIE ? strToGMTString : strToUTCString) || STR_EMPTY, isTruthy);
2641
+ }
2642
+ }
2643
+ if (!_isIE) {
2644
+ setValue(values, "max-age", STR_EMPTY + maxAgeSec, null, isUndefined);
2645
+ }
2646
+ }
2647
+ var location_1 = getLocation();
2648
+ if (location_1 && location_1.protocol === "https:") {
2649
+ setValue(values, "secure", null, null, isUndefined);
2650
+ if (_allowUaSameSite === null) {
2651
+ _allowUaSameSite = !uaDisallowsSameSiteNone((getNavigator() || {})[_DYN_USER_AGENT ]);
2652
+ }
2653
+ if (_allowUaSameSite) {
2654
+ setValue(values, "SameSite", "None", null, isUndefined);
2655
+ }
2656
+ }
2657
+ setValue(values, "path", path || _path, null, isUndefined);
2658
+ var setCookieFn = cookieMgrConfig.setCookie || _setCookieValue;
2659
+ setCookieFn(name, _formatCookieValue(theValue, values));
2660
+ result = true;
2661
+ }
2662
+ return result;
2663
+ },
2664
+ get: function (name) {
2665
+ var value = STR_EMPTY;
2666
+ if (_isMgrEnabled(cookieMgr)) {
2667
+ value = (cookieMgrConfig.getCookie || _getCookieValue)(name);
2668
+ }
2669
+ return value;
2670
+ },
2671
+ del: function (name, path) {
2672
+ var result = false;
2673
+ if (_isMgrEnabled(cookieMgr)) {
2674
+ result = cookieMgr.purge(name, path);
2675
+ }
2676
+ return result;
2677
+ },
2678
+ purge: function (name, path) {
2679
+ var _a;
2680
+ var result = false;
2681
+ if (areCookiesSupported(logger)) {
2682
+ var values = (_a = {},
2683
+ _a["path"] = path ? path : "/",
2684
+ _a[strExpires] = "Thu, 01 Jan 1970 00:00:01 GMT",
2685
+ _a);
2686
+ if (!isIE()) {
2687
+ values["max-age"] = "0";
2688
+ }
2689
+ var delCookie = cookieMgrConfig.delCookie || _setCookieValue;
2690
+ delCookie(name, _formatCookieValue(STR_EMPTY, values));
2691
+ result = true;
2692
+ }
2693
+ return result;
2694
+ }
2695
+ };
2696
+ cookieMgr[strConfigCookieMgr] = cookieMgr;
2697
+ return cookieMgr;
2698
+ }
2699
+ function areCookiesSupported(logger) {
2700
+ if (_supportsCookies === null) {
2701
+ _supportsCookies = false;
2702
+ try {
2703
+ var doc = _doc || {};
2704
+ _supportsCookies = doc[strCookie] !== undefined;
2705
+ }
2706
+ catch (e) {
2707
+ _throwInternal(logger, 2 , 68 , "Cannot access document.cookie - " + getExceptionName(e), { exception: dumpObj(e) });
2708
+ }
2709
+ }
2710
+ return _supportsCookies;
2711
+ }
2712
+ function _extractParts(theValue) {
2713
+ var values = {};
2714
+ if (theValue && theValue[_DYN_LENGTH ]) {
2715
+ var parts = strTrim(theValue)[_DYN_SPLIT ](";");
2716
+ arrForEach(parts, function (thePart) {
2717
+ thePart = strTrim(thePart || STR_EMPTY);
2718
+ if (thePart) {
2719
+ var idx = thePart.indexOf("=");
2720
+ if (idx === -1) {
2721
+ values[thePart] = null;
2722
+ }
2723
+ else {
2724
+ values[strTrim(thePart[_DYN_SUBSTRING ](0, idx))] = strTrim(thePart[_DYN_SUBSTRING ](idx + 1));
2725
+ }
2726
+ }
2727
+ });
2728
+ }
2729
+ return values;
2730
+ }
2731
+ function _formatDate(theDate, func) {
2732
+ if (isFunction(theDate[func])) {
2733
+ return theDate[func]();
2734
+ }
2735
+ return null;
2736
+ }
2737
+ function _formatCookieValue(value, values) {
2738
+ var cookieValue = value || STR_EMPTY;
2739
+ objForEachKey(values, function (name, theValue) {
2740
+ cookieValue += "; " + name + (!isNullOrUndefined(theValue) ? "=" + theValue : STR_EMPTY);
2741
+ });
2742
+ return cookieValue;
2743
+ }
2744
+ function _getCookieValue(name) {
2745
+ var cookieValue = STR_EMPTY;
2746
+ if (_doc) {
2747
+ var theCookie = _doc[strCookie] || STR_EMPTY;
2748
+ if (_parsedCookieValue !== theCookie) {
2749
+ _cookieCache = _extractParts(theCookie);
2750
+ _parsedCookieValue = theCookie;
2751
+ }
2752
+ cookieValue = strTrim(_cookieCache[name] || STR_EMPTY);
2753
+ }
2754
+ return cookieValue;
2755
+ }
2756
+ function _setCookieValue(name, cookieValue) {
2757
+ if (_doc) {
2758
+ _doc[strCookie] = name + "=" + cookieValue;
2759
+ }
2760
+ }
2761
+ function uaDisallowsSameSiteNone(userAgent) {
2762
+ if (!isString(userAgent)) {
2763
+ return false;
2764
+ }
2765
+ if (strContains(userAgent, "CPU iPhone OS 12") || strContains(userAgent, "iPad; CPU OS 12")) {
2766
+ return true;
2767
+ }
2768
+ if (strContains(userAgent, "Macintosh; Intel Mac OS X 10_14") && strContains(userAgent, "Version/") && strContains(userAgent, "Safari")) {
2769
+ return true;
2770
+ }
2771
+ if (strContains(userAgent, "Macintosh; Intel Mac OS X 10_14") && strEndsWith(userAgent, "AppleWebKit/605.1.15 (KHTML, like Gecko)")) {
2772
+ return true;
2773
+ }
2774
+ if (strContains(userAgent, "Chrome/5") || strContains(userAgent, "Chrome/6")) {
2775
+ return true;
2776
+ }
2777
+ if (strContains(userAgent, "UnrealEngine") && !strContains(userAgent, "Chrome")) {
2778
+ return true;
2779
+ }
2780
+ if (strContains(userAgent, "UCBrowser/12") || strContains(userAgent, "UCBrowser/11")) {
2781
+ return true;
2782
+ }
2783
+ return false;
3198
2784
  }
3199
2785
 
3200
2786
  function createUnloadHandlerContainer() {
@@ -3791,7 +3377,6 @@
3791
3377
  }
3792
3378
  }
3793
3379
  function _getPlugin(pluginIdentifier) {
3794
- var _a;
3795
3380
  var theExt = null;
3796
3381
  var thePlugin = null;
3797
3382
  arrForEach(_self[_DYN__EXTENSIONS ], function (ext) {
@@ -3804,17 +3389,16 @@
3804
3389
  thePlugin = _channelControl.getChannel(pluginIdentifier);
3805
3390
  }
3806
3391
  if (thePlugin) {
3807
- theExt = (_a = {
3808
- plugin: thePlugin
3809
- },
3810
- _a[_DYN_SET_ENABLED ] = function (enabled) {
3392
+ theExt = {
3393
+ plugin: thePlugin,
3394
+ setEnabled: function (enabled) {
3811
3395
  _getPluginState(thePlugin)[STR_DISABLED] = !enabled;
3812
3396
  },
3813
- _a.isEnabled = function () {
3397
+ isEnabled: function () {
3814
3398
  var pluginState = _getPluginState(thePlugin);
3815
3399
  return !pluginState[_DYN_TEARDOWN ] && !pluginState[STR_DISABLED];
3816
3400
  },
3817
- _a.remove = function (isAsync, removeCb) {
3401
+ remove: function (isAsync, removeCb) {
3818
3402
  var _a;
3819
3403
  if (isAsync === void 0) { isAsync = true; }
3820
3404
  var pluginsToRemove = [thePlugin];
@@ -3832,8 +3416,8 @@
3832
3416
  }
3833
3417
  removeCb && removeCb(removed);
3834
3418
  });
3835
- },
3836
- _a);
3419
+ }
3420
+ };
3837
3421
  }
3838
3422
  return theExt;
3839
3423
  }
@@ -3952,112 +3536,422 @@
3952
3536
  }
3953
3537
  });
3954
3538
  }
3955
- BaseCore.__ieDyn=1;
3956
- return BaseCore;
3957
- }());
3958
-
3959
- function _runListeners(listeners, name, isAsync, callback) {
3960
- arrForEach(listeners, function (listener) {
3961
- if (listener && listener[name]) {
3962
- if (isAsync) {
3963
- setTimeout(function () { return callback(listener); }, 0);
3539
+ BaseCore.__ieDyn=1;
3540
+ return BaseCore;
3541
+ }());
3542
+
3543
+ function _runListeners(listeners, name, isAsync, callback) {
3544
+ arrForEach(listeners, function (listener) {
3545
+ if (listener && listener[name]) {
3546
+ if (isAsync) {
3547
+ setTimeout(function () { return callback(listener); }, 0);
3548
+ }
3549
+ else {
3550
+ try {
3551
+ callback(listener);
3552
+ }
3553
+ catch (e) {
3554
+ }
3555
+ }
3556
+ }
3557
+ });
3558
+ }
3559
+ var NotificationManager = /** @class */ (function () {
3560
+ function NotificationManager(config) {
3561
+ this.listeners = [];
3562
+ var perfEvtsSendAll = !!(config || {}).perfEvtsSendAll;
3563
+ dynamicProto(NotificationManager, this, function (_self) {
3564
+ _self[_DYN_ADD_NOTIFICATION_LIS1 ] = function (listener) {
3565
+ _self.listeners[_DYN_PUSH ](listener);
3566
+ };
3567
+ _self[_DYN_REMOVE_NOTIFICATION_2 ] = function (listener) {
3568
+ var index = arrIndexOf(_self[_DYN_LISTENERS ], listener);
3569
+ while (index > -1) {
3570
+ _self.listeners[_DYN_SPLICE ](index, 1);
3571
+ index = arrIndexOf(_self[_DYN_LISTENERS ], listener);
3572
+ }
3573
+ };
3574
+ _self[STR_EVENTS_SENT ] = function (events) {
3575
+ _runListeners(_self[_DYN_LISTENERS ], STR_EVENTS_SENT, true, function (listener) {
3576
+ listener[STR_EVENTS_SENT ](events);
3577
+ });
3578
+ };
3579
+ _self[STR_EVENTS_DISCARDED ] = function (events, reason) {
3580
+ _runListeners(_self[_DYN_LISTENERS ], STR_EVENTS_DISCARDED, true, function (listener) {
3581
+ listener[STR_EVENTS_DISCARDED ](events, reason);
3582
+ });
3583
+ };
3584
+ _self[STR_EVENTS_SEND_REQUEST ] = function (sendReason, isAsync) {
3585
+ _runListeners(_self[_DYN_LISTENERS ], STR_EVENTS_SEND_REQUEST, isAsync, function (listener) {
3586
+ listener[STR_EVENTS_SEND_REQUEST ](sendReason, isAsync);
3587
+ });
3588
+ };
3589
+ _self[STR_PERF_EVENT ] = function (perfEvent) {
3590
+ if (perfEvent) {
3591
+ if (perfEvtsSendAll || !perfEvent[_DYN_IS_CHILD_EVT ]()) {
3592
+ _runListeners(_self[_DYN_LISTENERS ], STR_PERF_EVENT, false, function (listener) {
3593
+ if (perfEvent[_DYN_IS_ASYNC ]) {
3594
+ setTimeout(function () { return listener[STR_PERF_EVENT ](perfEvent); }, 0);
3595
+ }
3596
+ else {
3597
+ listener[STR_PERF_EVENT ](perfEvent);
3598
+ }
3599
+ });
3600
+ }
3601
+ }
3602
+ };
3603
+ });
3604
+ }
3605
+ NotificationManager.__ieDyn=1;
3606
+ return NotificationManager;
3607
+ }());
3608
+
3609
+ var AppInsightsCore = /** @class */ (function (_super) {
3610
+ __extendsFn(AppInsightsCore, _super);
3611
+ function AppInsightsCore() {
3612
+ var _this = _super.call(this) || this;
3613
+ dynamicProto(AppInsightsCore, _this, function (_self, _base) {
3614
+ _self[_DYN_INITIALIZE ] = function (config, extensions, logger, notificationManager) {
3615
+ _base[_DYN_INITIALIZE ](config, extensions, logger || new DiagnosticLogger(config), notificationManager || new NotificationManager(config));
3616
+ };
3617
+ _self.track = function (telemetryItem) {
3618
+ doPerf(_self[STR_GET_PERF_MGR ](), function () { return "AppInsightsCore:track"; }, function () {
3619
+ if (telemetryItem === null) {
3620
+ _notifyInvalidEvent(telemetryItem);
3621
+ throwError("Invalid telemetry item");
3622
+ }
3623
+ _validateTelemetryItem(telemetryItem);
3624
+ _base.track(telemetryItem);
3625
+ }, function () { return ({ item: telemetryItem }); }, !(telemetryItem.sync));
3626
+ };
3627
+ function _validateTelemetryItem(telemetryItem) {
3628
+ if (isNullOrUndefined(telemetryItem[_DYN_NAME ])) {
3629
+ _notifyInvalidEvent(telemetryItem);
3630
+ throwError("telemetry name required");
3631
+ }
3632
+ }
3633
+ function _notifyInvalidEvent(telemetryItem) {
3634
+ var manager = _self[_DYN_GET_NOTIFY_MGR ]();
3635
+ if (manager) {
3636
+ manager[STR_EVENTS_DISCARDED ]([telemetryItem], 2 );
3637
+ }
3638
+ }
3639
+ });
3640
+ return _this;
3641
+ }
3642
+ AppInsightsCore.__ieDyn=1;
3643
+ return AppInsightsCore;
3644
+ }(BaseCore));
3645
+
3646
+ var strOnPrefix = "on";
3647
+ var strAttachEvent = "attachEvent";
3648
+ var strAddEventHelper = "addEventListener";
3649
+ var strDetachEvent = "detachEvent";
3650
+ var strRemoveEventListener = "removeEventListener";
3651
+ var strEvents = "events";
3652
+ var strVisibilityChangeEvt = "visibilitychange";
3653
+ var strPageHide = "pagehide";
3654
+ var strPageShow = "pageshow";
3655
+ var strUnload = "unload";
3656
+ var strBeforeUnload = "beforeunload";
3657
+ var strPageHideNamespace = createUniqueNamespace("aiEvtPageHide");
3658
+ var strPageShowNamespace = createUniqueNamespace("aiEvtPageShow");
3659
+ var rRemoveEmptyNs = /\.[\.]+/g;
3660
+ var rRemoveTrailingEmptyNs = /[\.]+$/;
3661
+ var _guid = 1;
3662
+ var elmNodeData = createElmNodeData("events");
3663
+ var eventNamespace = /^([^.]*)(?:\.(.+)|)/;
3664
+ function _normalizeNamespace(name) {
3665
+ if (name && name[_DYN_REPLACE ]) {
3666
+ return name.replace(/^\s*\.*|\.*\s*$/g, STR_EMPTY);
3667
+ }
3668
+ return name;
3669
+ }
3670
+ function _getEvtNamespace(eventName, evtNamespace) {
3671
+ var _a;
3672
+ if (evtNamespace) {
3673
+ var theNamespace_1 = STR_EMPTY;
3674
+ if (isArray(evtNamespace)) {
3675
+ theNamespace_1 = STR_EMPTY;
3676
+ arrForEach(evtNamespace, function (name) {
3677
+ name = _normalizeNamespace(name);
3678
+ if (name) {
3679
+ if (name[0] !== ".") {
3680
+ name = "." + name;
3681
+ }
3682
+ theNamespace_1 += name;
3683
+ }
3684
+ });
3685
+ }
3686
+ else {
3687
+ theNamespace_1 = _normalizeNamespace(evtNamespace);
3688
+ }
3689
+ if (theNamespace_1) {
3690
+ if (theNamespace_1[0] !== ".") {
3691
+ theNamespace_1 = "." + theNamespace_1;
3692
+ }
3693
+ eventName = (eventName || STR_EMPTY) + theNamespace_1;
3694
+ }
3695
+ }
3696
+ var parsedEvent = (eventNamespace.exec(eventName || STR_EMPTY) || []);
3697
+ return _a = {},
3698
+ _a[_DYN_TYPE ] = parsedEvent[1],
3699
+ _a.ns = ((parsedEvent[2] || STR_EMPTY).replace(rRemoveEmptyNs, ".").replace(rRemoveTrailingEmptyNs, STR_EMPTY)[_DYN_SPLIT ](".").sort()).join("."),
3700
+ _a;
3701
+ }
3702
+ function __getRegisteredEvents(target, eventName, evtNamespace) {
3703
+ var theEvents = [];
3704
+ var eventCache = elmNodeData.get(target, strEvents, {}, false);
3705
+ var evtName = _getEvtNamespace(eventName, evtNamespace);
3706
+ objForEachKey(eventCache, function (evtType, registeredEvents) {
3707
+ arrForEach(registeredEvents, function (value) {
3708
+ var _a;
3709
+ if (!evtName[_DYN_TYPE ] || evtName[_DYN_TYPE ] === value.evtName[_DYN_TYPE ]) {
3710
+ if (!evtName.ns || evtName.ns === evtName.ns) {
3711
+ theEvents[_DYN_PUSH ]((_a = {},
3712
+ _a[_DYN_NAME ] = value.evtName[_DYN_TYPE ] + (value.evtName.ns ? "." + value.evtName.ns : STR_EMPTY),
3713
+ _a.handler = value[_DYN_HANDLER ],
3714
+ _a));
3715
+ }
3716
+ }
3717
+ });
3718
+ });
3719
+ return theEvents;
3720
+ }
3721
+ function _getRegisteredEvents(target, evtName, addDefault) {
3722
+ if (addDefault === void 0) { addDefault = true; }
3723
+ var aiEvts = elmNodeData.get(target, strEvents, {}, addDefault);
3724
+ var registeredEvents = aiEvts[evtName];
3725
+ if (!registeredEvents) {
3726
+ registeredEvents = aiEvts[evtName] = [];
3727
+ }
3728
+ return registeredEvents;
3729
+ }
3730
+ function _doDetach(obj, evtName, handlerRef, useCapture) {
3731
+ if (obj && evtName && evtName[_DYN_TYPE ]) {
3732
+ if (obj[strRemoveEventListener]) {
3733
+ obj[strRemoveEventListener](evtName[_DYN_TYPE ], handlerRef, useCapture);
3734
+ }
3735
+ else if (obj[strDetachEvent]) {
3736
+ obj[strDetachEvent](strOnPrefix + evtName[_DYN_TYPE ], handlerRef);
3737
+ }
3738
+ }
3739
+ }
3740
+ function _doAttach(obj, evtName, handlerRef, useCapture) {
3741
+ var result = false;
3742
+ if (obj && evtName && evtName[_DYN_TYPE ] && handlerRef) {
3743
+ if (obj[strAddEventHelper]) {
3744
+ obj[strAddEventHelper](evtName[_DYN_TYPE ], handlerRef, useCapture);
3745
+ result = true;
3746
+ }
3747
+ else if (obj[strAttachEvent]) {
3748
+ obj[strAttachEvent](strOnPrefix + evtName[_DYN_TYPE ], handlerRef);
3749
+ result = true;
3750
+ }
3751
+ }
3752
+ return result;
3753
+ }
3754
+ function _doUnregister(target, events, evtName, unRegFn) {
3755
+ var idx = events[_DYN_LENGTH ];
3756
+ while (idx--) {
3757
+ var theEvent = events[idx];
3758
+ if (theEvent) {
3759
+ if (!evtName.ns || evtName.ns === theEvent.evtName.ns) {
3760
+ if (!unRegFn || unRegFn(theEvent)) {
3761
+ _doDetach(target, theEvent.evtName, theEvent[_DYN_HANDLER ], theEvent.capture);
3762
+ events[_DYN_SPLICE ](idx, 1);
3763
+ }
3764
+ }
3765
+ }
3766
+ }
3767
+ }
3768
+ function _unregisterEvents(target, evtName, unRegFn) {
3769
+ if (evtName[_DYN_TYPE ]) {
3770
+ _doUnregister(target, _getRegisteredEvents(target, evtName[_DYN_TYPE ]), evtName, unRegFn);
3771
+ }
3772
+ else {
3773
+ var eventCache = elmNodeData.get(target, strEvents, {});
3774
+ objForEachKey(eventCache, function (evtType, events) {
3775
+ _doUnregister(target, events, evtName, unRegFn);
3776
+ });
3777
+ if (objKeys(eventCache)[_DYN_LENGTH ] === 0) {
3778
+ elmNodeData.kill(target, strEvents);
3779
+ }
3780
+ }
3781
+ }
3782
+ function mergeEvtNamespace(theNamespace, namespaces) {
3783
+ var newNamespaces;
3784
+ if (namespaces) {
3785
+ if (isArray(namespaces)) {
3786
+ newNamespaces = [theNamespace].concat(namespaces);
3787
+ }
3788
+ else {
3789
+ newNamespaces = [theNamespace, namespaces];
3790
+ }
3791
+ newNamespaces = (_getEvtNamespace("xx", newNamespaces).ns)[_DYN_SPLIT ](".");
3792
+ }
3793
+ else {
3794
+ newNamespaces = theNamespace;
3795
+ }
3796
+ return newNamespaces;
3797
+ }
3798
+ function eventOn(target, eventName, handlerRef, evtNamespace, useCapture) {
3799
+ var _a;
3800
+ if (useCapture === void 0) { useCapture = false; }
3801
+ var result = false;
3802
+ if (target) {
3803
+ try {
3804
+ var evtName = _getEvtNamespace(eventName, evtNamespace);
3805
+ result = _doAttach(target, evtName, handlerRef, useCapture);
3806
+ if (result && elmNodeData.accept(target)) {
3807
+ var registeredEvent = (_a = {
3808
+ guid: _guid++,
3809
+ evtName: evtName
3810
+ },
3811
+ _a[_DYN_HANDLER ] = handlerRef,
3812
+ _a.capture = useCapture,
3813
+ _a);
3814
+ _getRegisteredEvents(target, evtName.type)[_DYN_PUSH ](registeredEvent);
3964
3815
  }
3965
- else {
3966
- try {
3967
- callback(listener);
3968
- }
3969
- catch (e) {
3816
+ }
3817
+ catch (e) {
3818
+ }
3819
+ }
3820
+ return result;
3821
+ }
3822
+ function eventOff(target, eventName, handlerRef, evtNamespace, useCapture) {
3823
+ if (useCapture === void 0) { useCapture = false; }
3824
+ if (target) {
3825
+ try {
3826
+ var evtName_1 = _getEvtNamespace(eventName, evtNamespace);
3827
+ var found_1 = false;
3828
+ _unregisterEvents(target, evtName_1, function (regEvent) {
3829
+ if ((evtName_1.ns && !handlerRef) || regEvent[_DYN_HANDLER ] === handlerRef) {
3830
+ found_1 = true;
3831
+ return true;
3970
3832
  }
3833
+ return false;
3834
+ });
3835
+ if (!found_1) {
3836
+ _doDetach(target, evtName_1, handlerRef, useCapture);
3971
3837
  }
3972
3838
  }
3973
- });
3839
+ catch (e) {
3840
+ }
3841
+ }
3974
3842
  }
3975
- var NotificationManager = /** @class */ (function () {
3976
- function NotificationManager(config) {
3977
- this.listeners = [];
3978
- var perfEvtsSendAll = !!(config || {}).perfEvtsSendAll;
3979
- dynamicProto(NotificationManager, this, function (_self) {
3980
- _self[_DYN_ADD_NOTIFICATION_LIS1 ] = function (listener) {
3981
- _self.listeners[_DYN_PUSH ](listener);
3982
- };
3983
- _self[_DYN_REMOVE_NOTIFICATION_2 ] = function (listener) {
3984
- var index = arrIndexOf(_self[_DYN_LISTENERS ], listener);
3985
- while (index > -1) {
3986
- _self.listeners[_DYN_SPLICE ](index, 1);
3987
- index = arrIndexOf(_self[_DYN_LISTENERS ], listener);
3988
- }
3989
- };
3990
- _self[STR_EVENTS_SENT ] = function (events) {
3991
- _runListeners(_self[_DYN_LISTENERS ], STR_EVENTS_SENT, true, function (listener) {
3992
- listener[STR_EVENTS_SENT ](events);
3993
- });
3994
- };
3995
- _self[STR_EVENTS_DISCARDED ] = function (events, reason) {
3996
- _runListeners(_self[_DYN_LISTENERS ], STR_EVENTS_DISCARDED, true, function (listener) {
3997
- listener[STR_EVENTS_DISCARDED ](events, reason);
3998
- });
3999
- };
4000
- _self[STR_EVENTS_SEND_REQUEST ] = function (sendReason, isAsync) {
4001
- _runListeners(_self[_DYN_LISTENERS ], STR_EVENTS_SEND_REQUEST, isAsync, function (listener) {
4002
- listener[STR_EVENTS_SEND_REQUEST ](sendReason, isAsync);
4003
- });
4004
- };
4005
- _self[STR_PERF_EVENT ] = function (perfEvent) {
4006
- if (perfEvent) {
4007
- if (perfEvtsSendAll || !perfEvent[_DYN_IS_CHILD_EVT ]()) {
4008
- _runListeners(_self[_DYN_LISTENERS ], STR_PERF_EVENT, false, function (listener) {
4009
- if (perfEvent[_DYN_IS_ASYNC ]) {
4010
- setTimeout(function () { return listener[STR_PERF_EVENT ](perfEvent); }, 0);
4011
- }
4012
- else {
4013
- listener[STR_PERF_EVENT ](perfEvent);
4014
- }
4015
- });
4016
- }
4017
- }
4018
- };
4019
- });
3843
+ function attachEvent(obj, eventNameWithoutOn, handlerRef, useCapture) {
3844
+ if (useCapture === void 0) { useCapture = false; }
3845
+ return eventOn(obj, eventNameWithoutOn, handlerRef, null, useCapture);
3846
+ }
3847
+ function detachEvent(obj, eventNameWithoutOn, handlerRef, useCapture) {
3848
+ if (useCapture === void 0) { useCapture = false; }
3849
+ eventOff(obj, eventNameWithoutOn, handlerRef, null, useCapture);
3850
+ }
3851
+ function addEventHandler(eventName, callback, evtNamespace) {
3852
+ var result = false;
3853
+ var w = getWindow();
3854
+ if (w) {
3855
+ result = eventOn(w, eventName, callback, evtNamespace);
3856
+ result = eventOn(w["body"], eventName, callback, evtNamespace) || result;
4020
3857
  }
4021
- NotificationManager.__ieDyn=1;
4022
- return NotificationManager;
4023
- }());
4024
-
4025
- var AppInsightsCore = /** @class */ (function (_super) {
4026
- __extendsFn(AppInsightsCore, _super);
4027
- function AppInsightsCore() {
4028
- var _this = _super.call(this) || this;
4029
- dynamicProto(AppInsightsCore, _this, function (_self, _base) {
4030
- _self[_DYN_INITIALIZE ] = function (config, extensions, logger, notificationManager) {
4031
- _base[_DYN_INITIALIZE ](config, extensions, logger || new DiagnosticLogger(config), notificationManager || new NotificationManager(config));
4032
- };
4033
- _self.track = function (telemetryItem) {
4034
- doPerf(_self[STR_GET_PERF_MGR ](), function () { return "AppInsightsCore:track"; }, function () {
4035
- if (telemetryItem === null) {
4036
- _notifyInvalidEvent(telemetryItem);
4037
- throwError("Invalid telemetry item");
4038
- }
4039
- _validateTelemetryItem(telemetryItem);
4040
- _base.track(telemetryItem);
4041
- }, function () { return ({ item: telemetryItem }); }, !(telemetryItem.sync));
4042
- };
4043
- function _validateTelemetryItem(telemetryItem) {
4044
- if (isNullOrUndefined(telemetryItem[_DYN_NAME ])) {
4045
- _notifyInvalidEvent(telemetryItem);
4046
- throwError("telemetry name required");
3858
+ var doc = getDocument();
3859
+ if (doc) {
3860
+ result = eventOn(doc, eventName, callback, evtNamespace) || result;
3861
+ }
3862
+ return result;
3863
+ }
3864
+ function removeEventHandler(eventName, callback, evtNamespace) {
3865
+ var w = getWindow();
3866
+ if (w) {
3867
+ eventOff(w, eventName, callback, evtNamespace);
3868
+ eventOff(w["body"], eventName, callback, evtNamespace);
3869
+ }
3870
+ var doc = getDocument();
3871
+ if (doc) {
3872
+ eventOff(doc, eventName, callback, evtNamespace);
3873
+ }
3874
+ }
3875
+ function _addEventListeners(events, listener, excludeEvents, evtNamespace) {
3876
+ var added = false;
3877
+ if (listener && events && events[_DYN_LENGTH ] > 0) {
3878
+ arrForEach(events, function (name) {
3879
+ if (name) {
3880
+ if (!excludeEvents || arrIndexOf(excludeEvents, name) === -1) {
3881
+ added = addEventHandler(name, listener, evtNamespace) || added;
4047
3882
  }
4048
3883
  }
4049
- function _notifyInvalidEvent(telemetryItem) {
4050
- var manager = _self[_DYN_GET_NOTIFY_MGR ]();
4051
- if (manager) {
4052
- manager[STR_EVENTS_DISCARDED ]([telemetryItem], 2 );
4053
- }
3884
+ });
3885
+ }
3886
+ return added;
3887
+ }
3888
+ function addEventListeners(events, listener, excludeEvents, evtNamespace) {
3889
+ var added = false;
3890
+ if (listener && events && isArray(events)) {
3891
+ added = _addEventListeners(events, listener, excludeEvents, evtNamespace);
3892
+ if (!added && excludeEvents && excludeEvents[_DYN_LENGTH ] > 0) {
3893
+ added = _addEventListeners(events, listener, null, evtNamespace);
3894
+ }
3895
+ }
3896
+ return added;
3897
+ }
3898
+ function removeEventListeners(events, listener, evtNamespace) {
3899
+ if (events && isArray(events)) {
3900
+ arrForEach(events, function (name) {
3901
+ if (name) {
3902
+ removeEventHandler(name, listener, evtNamespace);
4054
3903
  }
4055
3904
  });
4056
- return _this;
4057
3905
  }
4058
- AppInsightsCore.__ieDyn=1;
4059
- return AppInsightsCore;
4060
- }(BaseCore));
3906
+ }
3907
+ function addPageUnloadEventListener(listener, excludeEvents, evtNamespace) {
3908
+ return addEventListeners([strBeforeUnload, strUnload, strPageHide], listener, excludeEvents, evtNamespace);
3909
+ }
3910
+ function removePageUnloadEventListener(listener, evtNamespace) {
3911
+ removeEventListeners([strBeforeUnload, strUnload, strPageHide], listener, evtNamespace);
3912
+ }
3913
+ function addPageHideEventListener(listener, excludeEvents, evtNamespace) {
3914
+ function _handlePageVisibility(evt) {
3915
+ var doc = getDocument();
3916
+ if (listener && doc && doc.visibilityState === "hidden") {
3917
+ listener(evt);
3918
+ }
3919
+ }
3920
+ var newNamespaces = mergeEvtNamespace(strPageHideNamespace, evtNamespace);
3921
+ var pageUnloadAdded = _addEventListeners([strPageHide], listener, excludeEvents, newNamespaces);
3922
+ if (!excludeEvents || arrIndexOf(excludeEvents, strVisibilityChangeEvt) === -1) {
3923
+ pageUnloadAdded = _addEventListeners([strVisibilityChangeEvt], _handlePageVisibility, excludeEvents, newNamespaces) || pageUnloadAdded;
3924
+ }
3925
+ if (!pageUnloadAdded && excludeEvents) {
3926
+ pageUnloadAdded = addPageHideEventListener(listener, null, evtNamespace);
3927
+ }
3928
+ return pageUnloadAdded;
3929
+ }
3930
+ function removePageHideEventListener(listener, evtNamespace) {
3931
+ var newNamespaces = mergeEvtNamespace(strPageHideNamespace, evtNamespace);
3932
+ removeEventListeners([strPageHide], listener, newNamespaces);
3933
+ removeEventListeners([strVisibilityChangeEvt], null, newNamespaces);
3934
+ }
3935
+ function addPageShowEventListener(listener, excludeEvents, evtNamespace) {
3936
+ function _handlePageVisibility(evt) {
3937
+ var doc = getDocument();
3938
+ if (listener && doc && doc.visibilityState === "visible") {
3939
+ listener(evt);
3940
+ }
3941
+ }
3942
+ var newNamespaces = mergeEvtNamespace(strPageShowNamespace, evtNamespace);
3943
+ var pageShowAdded = _addEventListeners([strPageShow], listener, excludeEvents, newNamespaces);
3944
+ pageShowAdded = _addEventListeners([strVisibilityChangeEvt], _handlePageVisibility, excludeEvents, newNamespaces) || pageShowAdded;
3945
+ if (!pageShowAdded && excludeEvents) {
3946
+ pageShowAdded = addPageShowEventListener(listener, null, evtNamespace);
3947
+ }
3948
+ return pageShowAdded;
3949
+ }
3950
+ function removePageShowEventListener(listener, evtNamespace) {
3951
+ var newNamespaces = mergeEvtNamespace(strPageShowNamespace, evtNamespace);
3952
+ removeEventListeners([strPageShow], listener, newNamespaces);
3953
+ removeEventListeners([strVisibilityChangeEvt], null, newNamespaces);
3954
+ }
4061
3955
 
4062
3956
  var _a;
4063
3957
  var FAILED = "Failed";
@@ -4224,7 +4118,7 @@
4224
4118
  _a);
4225
4119
  var hookCtx = [];
4226
4120
  var cbArgs = _createArgs([funcArgs], orgArgs);
4227
- funcArgs.evt = getGlobalInst("event");
4121
+ funcArgs.evt = getInst("event");
4228
4122
  function _createArgs(target, theArgs) {
4229
4123
  _arrLoop(theArgs, function (arg) {
4230
4124
  target[_DYN_PUSH ](arg);
@@ -4255,11 +4149,11 @@
4255
4149
  function _getOwner(target, name, checkPrototype) {
4256
4150
  var owner = null;
4257
4151
  if (target) {
4258
- if (hasOwnProperty(target, name)) {
4152
+ if (objHasOwnProperty(target, name)) {
4259
4153
  owner = target;
4260
4154
  }
4261
4155
  else if (checkPrototype) {
4262
- owner = _getOwner(_getObjProto$1(target), name, false);
4156
+ owner = _getOwner(_getObjProto(target), name, false);
4263
4157
  }
4264
4158
  }
4265
4159
  return owner;
@@ -4346,9 +4240,7 @@
4346
4240
  exports.AppInsightsCore = AppInsightsCore;
4347
4241
  exports.BaseCore = BaseCore;
4348
4242
  exports.BaseTelemetryPlugin = BaseTelemetryPlugin;
4349
- exports.CoreUtils = CoreUtils;
4350
4243
  exports.DiagnosticLogger = DiagnosticLogger;
4351
- exports.EventHelper = EventHelper;
4352
4244
  exports.EventsDiscardedReason = EventsDiscardedReason;
4353
4245
  exports.InstrumentEvent = InstrumentEvent;
4354
4246
  exports.InstrumentFunc = InstrumentFunc;
@@ -4365,7 +4257,6 @@
4365
4257
  exports._InternalLogMessage = _InternalLogMessage;
4366
4258
  exports._InternalMessageId = _InternalMessageId;
4367
4259
  exports.__getRegisteredEvents = __getRegisteredEvents;
4368
- exports._legacyCookieMgr = _legacyCookieMgr;
4369
4260
  exports._logInternalMessage = _logInternalMessage;
4370
4261
  exports._throwInternal = _throwInternal;
4371
4262
  exports._warnToConsole = _warnToConsole;
@@ -4380,10 +4271,8 @@
4380
4271
  exports.arrMap = arrMap;
4381
4272
  exports.arrReduce = arrReduce;
4382
4273
  exports.attachEvent = attachEvent;
4383
- exports.canUseCookies = canUseCookies;
4384
4274
  exports.createClassFromInterface = createClassFromInterface;
4385
4275
  exports.createCookieMgr = createCookieMgr;
4386
- exports.createEnumMap = createEnumMap;
4387
4276
  exports.createEnumStyle = createEnumStyle;
4388
4277
  exports.createProcessTelemetryContext = createProcessTelemetryContext;
4389
4278
  exports.createTraceParent = createTraceParent;
@@ -4391,10 +4280,8 @@
4391
4280
  exports.createUnloadHandlerContainer = createUnloadHandlerContainer;
4392
4281
  exports.createValueMap = createValueMap;
4393
4282
  exports.dateNow = dateNow;
4394
- exports.deepFreeze = deepFreeze;
4395
- exports.deleteCookie = deleteCookie;
4283
+ exports.deepFreeze = objDeepFreeze;
4396
4284
  exports.detachEvent = detachEvent;
4397
- exports.disableCookies = disableCookies;
4398
4285
  exports.doPerf = doPerf;
4399
4286
  exports.dumpObj = dumpObj;
4400
4287
  exports.eventOff = eventOff;
@@ -4405,7 +4292,6 @@
4405
4292
  exports.formatTraceParent = formatTraceParent;
4406
4293
  exports.generateW3CId = generateW3CId;
4407
4294
  exports.getConsole = getConsole;
4408
- exports.getCookie = getCookie;
4409
4295
  exports.getCrypto = getCrypto;
4410
4296
  exports.getDebugExt = getDebugExt;
4411
4297
  exports.getDebugListener = getDebugListener;
@@ -4413,7 +4299,7 @@
4413
4299
  exports.getExceptionName = getExceptionName;
4414
4300
  exports.getGblPerfMgr = getGblPerfMgr;
4415
4301
  exports.getGlobal = getGlobal;
4416
- exports.getGlobalInst = getGlobalInst;
4302
+ exports.getGlobalInst = getInst;
4417
4303
  exports.getHistory = getHistory;
4418
4304
  exports.getIEVersion = getIEVersion;
4419
4305
  exports.getJSON = getJSON;
@@ -4427,7 +4313,7 @@
4427
4313
  exports.hasHistory = hasHistory;
4428
4314
  exports.hasJSON = hasJSON;
4429
4315
  exports.hasNavigator = hasNavigator;
4430
- exports.hasOwnProperty = hasOwnProperty;
4316
+ exports.hasOwnProperty = objHasOwnProperty;
4431
4317
  exports.hasWindow = hasWindow;
4432
4318
  exports.initializePlugins = initializePlugins;
4433
4319
  exports.isArray = isArray;
@@ -4485,7 +4371,6 @@
4485
4371
  exports.removePageUnloadEventListener = removePageUnloadEventListener;
4486
4372
  exports.safeGetCookieMgr = safeGetCookieMgr;
4487
4373
  exports.safeGetLogger = safeGetLogger;
4488
- exports.setCookie = setCookie;
4489
4374
  exports.setEnableEnvMocks = setEnableEnvMocks;
4490
4375
  exports.setGblPerfMgr = setGblPerfMgr;
4491
4376
  exports.setValue = setValue;
@@ -4504,7 +4389,7 @@
4504
4389
  exports.unloadComponents = unloadComponents;
4505
4390
  exports.useXDomainRequest = useXDomainRequest;
4506
4391
 
4507
- (function(obj, prop, descriptor) { /* ai_es3_polyfil defineProperty */ var func = Object["defineProperty"]; if (func) { try { return func(obj, prop, descriptor); } catch(e) { /* IE8 defines defineProperty, but will throw */ } } if (descriptor && typeof descriptor.value !== undefined) { obj[prop] = descriptor.value; } return obj; })(exports, '__esModule', { value: true });
4392
+ Object.defineProperty(exports, '__esModule', { value: true });
4508
4393
 
4509
4394
  }));
4510
4395
  //# sourceMappingURL=applicationinsights-core-js.js.map