@microsoft/1ds-core-js 3.2.1 → 3.2.4

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 (68) hide show
  1. package/README.md +1 -1
  2. package/bundle/{ms.core-3.2.1.gbl.js → ms.core-3.2.4.gbl.js} +1745 -1435
  3. package/bundle/ms.core-3.2.4.gbl.js.map +1 -0
  4. package/bundle/ms.core-3.2.4.gbl.min.js +7 -0
  5. package/bundle/ms.core-3.2.4.gbl.min.js.map +1 -0
  6. package/bundle/ms.core-3.2.4.integrity.json +46 -0
  7. package/bundle/{ms.core-3.2.1.js → ms.core-3.2.4.js} +1745 -1435
  8. package/bundle/ms.core-3.2.4.js.map +1 -0
  9. package/bundle/ms.core-3.2.4.min.js +7 -0
  10. package/bundle/ms.core-3.2.4.min.js.map +1 -0
  11. package/bundle/ms.core.gbl.js +1744 -1434
  12. package/bundle/ms.core.gbl.js.map +1 -1
  13. package/bundle/ms.core.gbl.min.js +2 -2
  14. package/bundle/ms.core.gbl.min.js.map +1 -1
  15. package/bundle/ms.core.integrity.json +17 -17
  16. package/bundle/ms.core.js +1744 -1434
  17. package/bundle/ms.core.js.map +1 -1
  18. package/bundle/ms.core.min.js +2 -2
  19. package/bundle/ms.core.min.js.map +1 -1
  20. package/dist/ms.core.js +42 -33
  21. package/dist/ms.core.js.map +1 -1
  22. package/dist/ms.core.min.js +2 -2
  23. package/dist/ms.core.min.js.map +1 -1
  24. package/dist-esm/src/AppInsightsCore.d.ts +2 -7
  25. package/dist-esm/src/AppInsightsCore.js +26 -28
  26. package/dist-esm/src/AppInsightsCore.js.map +1 -1
  27. package/dist-esm/src/BaseCore.d.ts +2 -2
  28. package/dist-esm/src/BaseCore.js +17 -11
  29. package/dist-esm/src/BaseCore.js.map +1 -1
  30. package/dist-esm/src/DataModels.js +1 -1
  31. package/dist-esm/src/ESPromise.d.ts +5 -5
  32. package/dist-esm/src/ESPromise.js +15 -15
  33. package/dist-esm/src/ESPromise.js.map +1 -1
  34. package/dist-esm/src/ESPromiseScheduler.d.ts +4 -4
  35. package/dist-esm/src/ESPromiseScheduler.js +8 -8
  36. package/dist-esm/src/ESPromiseScheduler.js.map +1 -1
  37. package/dist-esm/src/Enums.d.ts +6 -5
  38. package/dist-esm/src/Enums.js +61 -61
  39. package/dist-esm/src/Enums.js.map +1 -1
  40. package/dist-esm/src/Index.d.ts +1 -2
  41. package/dist-esm/src/Index.js +3 -3
  42. package/dist-esm/src/Index.js.map +1 -1
  43. package/dist-esm/src/InternalConstants.d.ts +6 -0
  44. package/dist-esm/src/InternalConstants.js +19 -0
  45. package/dist-esm/src/InternalConstants.js.map +1 -0
  46. package/dist-esm/src/Utils.d.ts +9 -3
  47. package/dist-esm/src/Utils.js +40 -39
  48. package/dist-esm/src/Utils.js.map +1 -1
  49. package/dist-esm/src/ValueSanitizer.d.ts +1 -1
  50. package/dist-esm/src/ValueSanitizer.js +19 -18
  51. package/dist-esm/src/ValueSanitizer.js.map +1 -1
  52. package/package.json +5 -4
  53. package/src/AppInsightsCore.ts +28 -30
  54. package/src/BaseCore.ts +13 -10
  55. package/src/ESPromise.ts +6 -6
  56. package/src/ESPromiseScheduler.ts +8 -8
  57. package/src/Enums.ts +5 -5
  58. package/src/Index.ts +3 -3
  59. package/src/InternalConstants.ts +16 -0
  60. package/src/Utils.ts +24 -24
  61. package/src/ValueSanitizer.ts +5 -4
  62. package/bundle/ms.core-3.2.1.gbl.js.map +0 -1
  63. package/bundle/ms.core-3.2.1.gbl.min.js +0 -7
  64. package/bundle/ms.core-3.2.1.gbl.min.js.map +0 -1
  65. package/bundle/ms.core-3.2.1.integrity.json +0 -46
  66. package/bundle/ms.core-3.2.1.js.map +0 -1
  67. package/bundle/ms.core-3.2.1.min.js +0 -7
  68. package/bundle/ms.core-3.2.1.min.js.map +0 -1
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * 1DS JS SDK Core, 3.2.1
2
+ * 1DS JS SDK Core, 3.2.4
3
3
  * Copyright (c) Microsoft and contributors. All rights reserved.
4
4
  * (Microsoft Internal Only)
5
5
  */
@@ -100,26 +100,79 @@
100
100
 
101
101
  var MinChannelPriorty = 100;
102
102
 
103
- var strEmpty = "";
104
- var strProcessTelemetry = "processTelemetry";
105
- var strPriority = "priority";
106
- var strSetNextPlugin = "setNextPlugin";
107
- var strIsInitialized = "isInitialized";
108
- var strTeardown = "teardown";
109
- var strCore = "core";
110
- var strUpdate = "update";
111
- var strDisabled = "disabled";
112
- var strDoTeardown = "_doTeardown";
113
- var strProcessNext = "processNext";
114
- var strResume = "resume";
115
- var strPause = "pause";
116
- var strNotificationListener = "NotificationListener";
117
- var strAddNotificationListener = "add" + strNotificationListener;
118
- var strRemoveNotificationListener = "remove" + strNotificationListener;
119
- var strEventsSent = "eventsSent";
120
- var strEventsDiscarded = "eventsDiscarded";
121
- var strEventsSendRequest = "eventsSendRequest";
122
- var strPerfEvent = "perfEvent";
103
+ var _DYN_INITIALIZE = "initialize";
104
+ var _DYN_NAME = "name";
105
+ var _DYN_GET_NOTIFY_MGR = "getNotifyMgr";
106
+ var _DYN_IDENTIFIER = "identifier";
107
+ var _DYN_PUSH = "push";
108
+ var _DYN_IS_INITIALIZED = "isInitialized";
109
+ var _DYN_CONFIG = "config";
110
+ var _DYN_INSTRUMENTATION_KEY = "instrumentationKey";
111
+ var _DYN_LOGGER = "logger";
112
+ var _DYN_LENGTH = "length";
113
+ var _DYN_TIME = "time";
114
+ var _DYN_PROCESS_NEXT = "processNext";
115
+ var _DYN_GET_PROCESS_TEL_CONT0 = "getProcessTelContext";
116
+ var _DYN_ADD_NOTIFICATION_LIS1 = "addNotificationListener";
117
+ var _DYN_REMOVE_NOTIFICATION_2 = "removeNotificationListener";
118
+ var _DYN_STOP_POLLING_INTERNA3 = "stopPollingInternalLogs";
119
+ var _DYN_ON_COMPLETE = "onComplete";
120
+ var _DYN_GET_PLUGIN = "getPlugin";
121
+ var _DYN_FLUSH = "flush";
122
+ var _DYN__EXTENSIONS = "_extensions";
123
+ var _DYN_SPLICE = "splice";
124
+ var _DYN_TEARDOWN = "teardown";
125
+ var _DYN_MESSAGE_ID = "messageId";
126
+ var _DYN_MESSAGE = "message";
127
+ var _DYN_IS_ASYNC = "isAsync";
128
+ var _DYN__DO_TEARDOWN = "_doTeardown";
129
+ var _DYN_UPDATE = "update";
130
+ var _DYN_GET_NEXT = "getNext";
131
+ var _DYN_DIAG_LOG = "diagLog";
132
+ var _DYN_SET_NEXT_PLUGIN = "setNextPlugin";
133
+ var _DYN_CREATE_NEW = "createNew";
134
+ var _DYN_COOKIE_CFG = "cookieCfg";
135
+ var _DYN_INDEX_OF = "indexOf";
136
+ var _DYN_SUBSTRING = "substring";
137
+ var _DYN_USER_AGENT = "userAgent";
138
+ var _DYN_SPLIT = "split";
139
+ var _DYN_SET_ENABLED = "setEnabled";
140
+ var _DYN_REPLACE = "replace";
141
+ var _DYN_SUBSTR = "substr";
142
+ var _DYN_NODE_TYPE = "nodeType";
143
+ var _DYN_APPLY = "apply";
144
+ var _DYN_ENABLE_DEBUG_EXCEPTI4 = "enableDebugExceptions";
145
+ var _DYN_LOG_INTERNAL_MESSAGE = "logInternalMessage";
146
+ var _DYN_TO_LOWER_CASE = "toLowerCase";
147
+ var _DYN_CALL = "call";
148
+ var _DYN_TYPE = "type";
149
+ var _DYN_HANDLER = "handler";
150
+ var _DYN_LISTENERS = "listeners";
151
+ var _DYN_IS_CHILD_EVT = "isChildEvt";
152
+ var _DYN_GET_CTX = "getCtx";
153
+ var _DYN_SET_CTX = "setCtx";
154
+ var _DYN_COMPLETE = "complete";
155
+ var _DYN_TRACE_ID = "traceId";
156
+ var _DYN_SPAN_ID = "spanId";
157
+ var _DYN_TRACE_FLAGS = "traceFlags";
158
+ var _DYN_VERSION = "version";
159
+
160
+ var STR_EMPTY$1 = "";
161
+ var STR_CHANNELS = "channels";
162
+ var STR_CORE = "core";
163
+ var STR_CREATE_PERF_MGR = "createPerfMgr";
164
+ var STR_DISABLED = "disabled";
165
+ var STR_EXTENSION_CONFIG = "extensionConfig";
166
+ var STR_EXTENSIONS = "extensions";
167
+ var STR_PROCESS_TELEMETRY = "processTelemetry";
168
+ var STR_PRIORITY = "priority";
169
+ var STR_EVENTS_SENT = "eventsSent";
170
+ var STR_EVENTS_DISCARDED = "eventsDiscarded";
171
+ var STR_EVENTS_SEND_REQUEST = "eventsSendRequest";
172
+ var STR_PERF_EVENT = "perfEvent";
173
+ var STR_ERROR_TO_CONSOLE = "errorToConsole";
174
+ var STR_WARN_TO_CONSOLE = "warnToConsole";
175
+ var STR_GET_PERF_MGR = "getPerfMgr";
123
176
 
124
177
  var strToISOString = "toISOString";
125
178
  var cStrEndsWith = "endsWith";
@@ -144,7 +197,7 @@
144
197
  var _isArray = Array.isArray;
145
198
  var _objToString = ObjProto[strToString];
146
199
  var _fnToString = ObjHasOwnProperty[strToString];
147
- var _objFunctionString = _fnToString.call(ObjClass);
200
+ var _objFunctionString = _fnToString[_DYN_CALL ](ObjClass);
148
201
  var rCamelCase = /-([a-z])/g;
149
202
  var rNormalizeInvalid = /([^\w\d_$])/g;
150
203
  var rLeadingNumeric = /^(\d+[\w\d_$])/;
@@ -174,7 +227,7 @@
174
227
  return !isNullOrUndefined(value);
175
228
  }
176
229
  function hasOwnProperty(obj, prop) {
177
- return !!(obj && ObjHasOwnProperty.call(obj, prop));
230
+ return !!(obj && ObjHasOwnProperty[_DYN_CALL ](obj, prop));
178
231
  }
179
232
  function isObject(value) {
180
233
  return !!(value && typeof value === strShimObject);
@@ -185,11 +238,11 @@
185
238
  function normalizeJsName(name) {
186
239
  var value = name;
187
240
  if (value && isString(value)) {
188
- value = value.replace(rCamelCase, function (_all, letter) {
241
+ value = value[_DYN_REPLACE ](rCamelCase, function (_all, letter) {
189
242
  return letter.toUpperCase();
190
243
  });
191
- value = value.replace(rNormalizeInvalid, "_");
192
- value = value.replace(rLeadingNumeric, function (_all, match) {
244
+ value = value[_DYN_REPLACE ](rNormalizeInvalid, "_");
245
+ value = value[_DYN_REPLACE ](rLeadingNumeric, function (_all, match) {
193
246
  return "_" + match;
194
247
  });
195
248
  }
@@ -198,8 +251,8 @@
198
251
  function objForEachKey(target, callbackfn) {
199
252
  if (target) {
200
253
  for (var prop in target) {
201
- if (ObjHasOwnProperty.call(target, prop)) {
202
- callbackfn.call(target, prop, target[prop]);
254
+ if (ObjHasOwnProperty[_DYN_CALL ](target, prop)) {
255
+ callbackfn[_DYN_CALL ](target, prop, target[prop]);
203
256
  }
204
257
  }
205
258
  }
@@ -213,8 +266,8 @@
213
266
  }
214
267
  function _strEndsWithPoly(value, search) {
215
268
  var result = false;
216
- var searchLen = search ? search.length : 0;
217
- var valLen = value ? value.length : 0;
269
+ var searchLen = search ? search[_DYN_LENGTH ] : 0;
270
+ var valLen = value ? value[_DYN_LENGTH ] : 0;
218
271
  if (searchLen && valLen && valLen >= searchLen && !(result = value === search)) {
219
272
  var pos = valLen - 1;
220
273
  for (var lp = searchLen - 1; lp >= 0; lp--) {
@@ -236,8 +289,8 @@
236
289
  }
237
290
  function _strStartsWithPoly(value, checkValue) {
238
291
  var result = false;
239
- var chkLen = checkValue ? checkValue.length : 0;
240
- if (value && chkLen && value.length >= chkLen && !(result = value === checkValue)) {
292
+ var chkLen = checkValue ? checkValue[_DYN_LENGTH ] : 0;
293
+ if (value && chkLen && value[_DYN_LENGTH ] >= chkLen && !(result = value === checkValue)) {
241
294
  for (var lp = 0; lp < chkLen; lp++) {
242
295
  if (value[lp] !== checkValue[lp]) {
243
296
  return false;
@@ -249,19 +302,19 @@
249
302
  }
250
303
  function strContains(value, search) {
251
304
  if (value && search) {
252
- return value.indexOf(search) !== -1;
305
+ return value[_DYN_INDEX_OF ](search) !== -1;
253
306
  }
254
307
  return false;
255
308
  }
256
309
  function isDate(obj) {
257
- return !!(obj && _objToString.call(obj) === "[object Date]");
310
+ return !!(obj && _objToString[_DYN_CALL ](obj) === "[object Date]");
258
311
  }
259
312
  var isArray = _isArray || _isArrayPoly;
260
313
  function _isArrayPoly(obj) {
261
- return !!(obj && _objToString.call(obj) === "[object Array]");
314
+ return !!(obj && _objToString[_DYN_CALL ](obj) === "[object Array]");
262
315
  }
263
316
  function isError(obj) {
264
- return !!(obj && _objToString.call(obj) === "[object Error]");
317
+ return !!(obj && _objToString[_DYN_CALL ](obj) === "[object Error]");
265
318
  }
266
319
  function isString(value) {
267
320
  return typeof value === "string";
@@ -280,10 +333,10 @@
280
333
  result = true;
281
334
  }
282
335
  else {
283
- if (proto[strConstructor] && ObjHasOwnProperty.call(proto, strConstructor)) {
336
+ if (proto[strConstructor] && ObjHasOwnProperty[_DYN_CALL ](proto, strConstructor)) {
284
337
  proto = proto[strConstructor];
285
338
  }
286
- result = typeof proto === strShimFunction && _fnToString.call(proto) === _objFunctionString;
339
+ result = typeof proto === strShimFunction && _fnToString[_DYN_CALL ](proto) === _objFunctionString;
287
340
  }
288
341
  }
289
342
  return result;
@@ -297,7 +350,7 @@
297
350
  if (date && date.getUTCFullYear) {
298
351
  var pad = function (num) {
299
352
  var r = String(num);
300
- if (r.length === 1) {
353
+ if (r[_DYN_LENGTH ] === 1) {
301
354
  r = "0" + r;
302
355
  }
303
356
  return r;
@@ -313,11 +366,11 @@
313
366
  }
314
367
  }
315
368
  function arrForEach(arr, callbackfn, thisArg) {
316
- var len = arr.length;
369
+ var len = arr[_DYN_LENGTH ];
317
370
  try {
318
371
  for (var idx = 0; idx < len; idx++) {
319
372
  if (idx in arr) {
320
- if (callbackfn.call(thisArg || arr, arr[idx], idx, arr) === -1) {
373
+ if (callbackfn[_DYN_CALL ](thisArg || arr, arr[idx], idx, arr) === -1) {
321
374
  break;
322
375
  }
323
376
  }
@@ -331,7 +384,7 @@
331
384
  if (arr[strIndexOf]) {
332
385
  return arr[strIndexOf](searchElement, fromIndex);
333
386
  }
334
- var len = arr.length;
387
+ var len = arr[_DYN_LENGTH ];
335
388
  var from = fromIndex || 0;
336
389
  try {
337
390
  for (var lp = Math.max(from >= 0 ? from : len - Math.abs(from), 0); lp < len; lp++) {
@@ -351,13 +404,13 @@
351
404
  if (arr[strMap]) {
352
405
  return arr[strMap](callbackfn, thisArg);
353
406
  }
354
- var len = arr.length;
407
+ var len = arr[_DYN_LENGTH ];
355
408
  var _this = thisArg || arr;
356
409
  results = new Array(len);
357
410
  try {
358
411
  for (var lp = 0; lp < len; lp++) {
359
412
  if (lp in arr) {
360
- results[lp] = callbackfn.call(_this, arr[lp], arr);
413
+ results[lp] = callbackfn[_DYN_CALL ](_this, arr[lp], arr);
361
414
  }
362
415
  }
363
416
  }
@@ -372,9 +425,9 @@
372
425
  if (arr[strReduce]) {
373
426
  return arr[strReduce](callbackfn, initialValue);
374
427
  }
375
- var len = arr.length;
428
+ var len = arr[_DYN_LENGTH ];
376
429
  var lp = 0;
377
- if (arguments.length >= 3) {
430
+ if (arguments[_DYN_LENGTH ] >= 3) {
378
431
  value = arguments[2];
379
432
  }
380
433
  else {
@@ -394,7 +447,7 @@
394
447
  }
395
448
  function strTrim(str) {
396
449
  if (str) {
397
- str = (_strTrim && str[cStrTrim]) ? str[cStrTrim]() : (str.replace ? str.replace(/^\s+|\s+$/g, "") : str);
450
+ str = (_strTrim && str[cStrTrim]) ? str[cStrTrim]() : (str[_DYN_REPLACE ] ? str[_DYN_REPLACE ](/^\s+|\s+$/g, STR_EMPTY$1) : str);
398
451
  }
399
452
  return str;
400
453
  }
@@ -418,15 +471,15 @@
418
471
  }
419
472
  var result = [];
420
473
  for (var prop in obj) {
421
- if (obj && ObjHasOwnProperty.call(obj, prop)) {
422
- result.push(prop);
474
+ if (obj && ObjHasOwnProperty[_DYN_CALL ](obj, prop)) {
475
+ result[_DYN_PUSH ](prop);
423
476
  }
424
477
  }
425
478
  if (_objKeysHasDontEnumBug) {
426
- var dontEnumsLength = _objKeysDontEnums.length;
479
+ var dontEnumsLength = _objKeysDontEnums[_DYN_LENGTH ];
427
480
  for (var lp = 0; lp < dontEnumsLength; lp++) {
428
- if (obj && ObjHasOwnProperty.call(obj, _objKeysDontEnums[lp])) {
429
- result.push(_objKeysDontEnums[lp]);
481
+ if (obj && ObjHasOwnProperty[_DYN_CALL ](obj, _objKeysDontEnums[lp])) {
482
+ result[_DYN_PUSH ](_objKeysDontEnums[lp]);
430
483
  }
431
484
  }
432
485
  }
@@ -474,9 +527,9 @@
474
527
  }
475
528
  function getExceptionName(object) {
476
529
  if (isError(object)) {
477
- return object.name;
530
+ return object[_DYN_NAME ];
478
531
  }
479
- return strEmpty;
532
+ return STR_EMPTY$1;
480
533
  }
481
534
  function setValue(target, field, value, valChk, srcChk) {
482
535
  var theValue = value;
@@ -503,6 +556,9 @@
503
556
  }
504
557
  return theValue;
505
558
  }
559
+ function getCfgValue(theValue, defaultValue) {
560
+ return !isNullOrUndefined(theValue) ? theValue : defaultValue;
561
+ }
506
562
  function isNotTruthy(value) {
507
563
  return !value;
508
564
  }
@@ -527,7 +583,7 @@
527
583
  src = srcFunc();
528
584
  }
529
585
  if (src) {
530
- return src[funcName].apply(src, originalArguments);
586
+ return src[funcName][_DYN_APPLY ](src, originalArguments);
531
587
  }
532
588
  };
533
589
  }
@@ -587,7 +643,7 @@
587
643
  function objExtend(obj1, obj2, obj3, obj4, obj5, obj6) {
588
644
  var theArgs = arguments;
589
645
  var extended = theArgs[0] || {};
590
- var argLen = theArgs.length;
646
+ var argLen = theArgs[_DYN_LENGTH ];
591
647
  var deep = false;
592
648
  var idx = 1;
593
649
  if (argLen > 0 && isBoolean(extended)) {
@@ -603,7 +659,7 @@
603
659
  var isArgArray = isArray(arg);
604
660
  var isArgObj = isObject(arg);
605
661
  for (var prop in arg) {
606
- var propOk = (isArgArray && (prop in arg)) || (isArgObj && (ObjHasOwnProperty.call(arg, prop)));
662
+ var propOk = (isArgArray && (prop in arg)) || (isArgObj && (ObjHasOwnProperty[_DYN_CALL ](arg, prop)));
607
663
  if (!propOk) {
608
664
  continue;
609
665
  }
@@ -648,7 +704,7 @@
648
704
  });
649
705
 
650
706
  /*!
651
- * Microsoft Dynamic Proto Utility, 1.1.4
707
+ * Microsoft Dynamic Proto Utility, 1.1.6
652
708
  * Copyright (c) Microsoft and contributors. All rights reserved.
653
709
  */
654
710
  var Constructor = 'constructor';
@@ -663,10 +719,13 @@
663
719
  var DynProtoDefaultOptions = '_dfOpts';
664
720
  var UnknownValue = '_unknown_';
665
721
  var str__Proto = "__proto__";
722
+ var DynProtoBaseProto = "_dyn" + str__Proto;
723
+ var DynProtoCurrent = "_dynInstProto";
666
724
  var strUseBaseInst = 'useBaseInst';
667
725
  var strSetInstFuncs = 'setInstFuncs';
668
726
  var Obj = Object;
669
727
  var _objGetPrototypeOf = Obj["getPrototypeOf"];
728
+ var _objGetOwnProps = Obj["getOwnPropertyNames"];
670
729
  var _dynamicNames = 0;
671
730
  function _hasOwnProperty(obj, prop) {
672
731
  return obj && Obj[Prototype].hasOwnProperty.call(obj, prop);
@@ -678,22 +737,25 @@
678
737
  return _isObjectOrArrayPrototype(target) || target === Function[Prototype];
679
738
  }
680
739
  function _getObjProto(target) {
740
+ var newProto;
681
741
  if (target) {
682
742
  if (_objGetPrototypeOf) {
683
743
  return _objGetPrototypeOf(target);
684
744
  }
685
- var newProto = target[str__Proto] || target[Prototype] || (target[Constructor] ? target[Constructor][Prototype] : null);
686
- if (newProto) {
687
- return newProto;
745
+ var curProto = target[str__Proto] || target[Prototype] || (target[Constructor] ? target[Constructor][Prototype] : null);
746
+ newProto = target[DynProtoBaseProto] || curProto;
747
+ if (!_hasOwnProperty(target, DynProtoBaseProto)) {
748
+ delete target[DynProtoCurrent];
749
+ newProto = target[DynProtoBaseProto] = target[DynProtoCurrent] || target[DynProtoBaseProto];
750
+ target[DynProtoCurrent] = curProto;
688
751
  }
689
752
  }
690
- return null;
753
+ return newProto;
691
754
  }
692
755
  function _forEachProp(target, func) {
693
756
  var props = [];
694
- var getOwnProps = Obj["getOwnPropertyNames"];
695
- if (getOwnProps) {
696
- props = getOwnProps(target);
757
+ if (_objGetOwnProps) {
758
+ props = _objGetOwnProps(target);
697
759
  }
698
760
  else {
699
761
  for (var name_1 in target) {
@@ -842,8 +904,9 @@
842
904
  visited.push(thisProto);
843
905
  thisProto = _getObjProto(thisProto);
844
906
  }
907
+ return false;
845
908
  }
846
- return false;
909
+ return true;
847
910
  }
848
911
  function _getObjName(target, unknownValue) {
849
912
  if (_hasOwnProperty(target, Prototype)) {
@@ -1027,9 +1090,9 @@
1027
1090
  }
1028
1091
  function isIE() {
1029
1092
  var nav = getNavigator();
1030
- if (nav && (nav.userAgent !== _navUserAgentCheck || _isTrident === null)) {
1031
- _navUserAgentCheck = nav.userAgent;
1032
- var userAgent = (_navUserAgentCheck || strEmpty).toLowerCase();
1093
+ if (nav && (nav[_DYN_USER_AGENT ] !== _navUserAgentCheck || _isTrident === null)) {
1094
+ _navUserAgentCheck = nav[_DYN_USER_AGENT ];
1095
+ var userAgent = (_navUserAgentCheck || STR_EMPTY$1)[_DYN_TO_LOWER_CASE ]();
1033
1096
  _isTrident = (strContains(userAgent, strMsie) || strContains(userAgent, strTrident));
1034
1097
  }
1035
1098
  return _isTrident;
@@ -1038,15 +1101,15 @@
1038
1101
  if (userAgentStr === void 0) { userAgentStr = null; }
1039
1102
  if (!userAgentStr) {
1040
1103
  var navigator_1 = getNavigator() || {};
1041
- userAgentStr = navigator_1 ? (navigator_1.userAgent || strEmpty).toLowerCase() : strEmpty;
1104
+ userAgentStr = navigator_1 ? (navigator_1[_DYN_USER_AGENT ] || STR_EMPTY$1)[_DYN_TO_LOWER_CASE ]() : STR_EMPTY$1;
1042
1105
  }
1043
- var ua = (userAgentStr || strEmpty).toLowerCase();
1106
+ var ua = (userAgentStr || STR_EMPTY$1)[_DYN_TO_LOWER_CASE ]();
1044
1107
  if (strContains(ua, strMsie)) {
1045
1108
  var doc = getDocument() || {};
1046
- return Math.max(parseInt(ua.split(strMsie)[1]), (doc[strDocumentMode] || 0));
1109
+ return Math.max(parseInt(ua[_DYN_SPLIT ](strMsie)[1]), (doc[strDocumentMode] || 0));
1047
1110
  }
1048
1111
  else if (strContains(ua, strTrident)) {
1049
- var tridentVer = parseInt(ua.split(strTrident)[1]);
1112
+ var tridentVer = parseInt(ua[_DYN_SPLIT ](strTrident)[1]);
1050
1113
  if (tridentVer) {
1051
1114
  return tridentVer + 4;
1052
1115
  }
@@ -1054,10 +1117,10 @@
1054
1117
  return null;
1055
1118
  }
1056
1119
  function dumpObj(object) {
1057
- var objectTypeDump = Object[strShimPrototype].toString.call(object);
1058
- var propertyValueDump = strEmpty;
1120
+ var objectTypeDump = Object[strShimPrototype].toString[_DYN_CALL ](object);
1121
+ var propertyValueDump = STR_EMPTY$1;
1059
1122
  if (objectTypeDump === "[object Error]") {
1060
- propertyValueDump = "{ stack: '" + object.stack + "', message: '" + object.message + "', name: '" + object.name + "'";
1123
+ propertyValueDump = "{ stack: '" + object.stack + "', message: '" + object.message + "', name: '" + object[_DYN_NAME ] + "'";
1061
1124
  }
1062
1125
  else if (hasJSON()) {
1063
1126
  propertyValueDump = getJSON().stringify(object);
@@ -1102,6 +1165,35 @@
1102
1165
  }
1103
1166
  return isSupported;
1104
1167
  }
1168
+ function _getNamedValue(values, name) {
1169
+ if (values) {
1170
+ for (var i = 0; i < values[_DYN_LENGTH ]; i++) {
1171
+ var value = values[i];
1172
+ if (value[_DYN_NAME ]) {
1173
+ if (value[_DYN_NAME ] === name) {
1174
+ return value;
1175
+ }
1176
+ }
1177
+ }
1178
+ }
1179
+ return {};
1180
+ }
1181
+ function findMetaTag(name) {
1182
+ var doc = getDocument();
1183
+ if (doc && name) {
1184
+ return _getNamedValue(doc.querySelectorAll("meta"), name).content;
1185
+ }
1186
+ return null;
1187
+ }
1188
+ function findNamedServerTiming(name) {
1189
+ var value;
1190
+ var perf = getPerformance();
1191
+ if (perf) {
1192
+ var navPerf = perf.getEntriesByType("navigation") || [];
1193
+ value = _getNamedValue((navPerf[_DYN_LENGTH ] > 0 ? navPerf[0] : {}).serverTiming, name).description;
1194
+ }
1195
+ return value;
1196
+ }
1105
1197
 
1106
1198
  var listenerFuncs = ["eventsSent", "eventsDiscarded", "eventsSendRequest", "perfEvent"];
1107
1199
  var _aiNamespace = null;
@@ -1113,7 +1205,7 @@
1113
1205
  if (dbgExt) {
1114
1206
  var listener = dbgExt.listener;
1115
1207
  if (listener && listener[name]) {
1116
- listener[name].apply(listener, args);
1208
+ listener[name][_DYN_APPLY ](listener, args);
1117
1209
  }
1118
1210
  }
1119
1211
  };
@@ -1135,7 +1227,7 @@
1135
1227
  function getDebugListener(config) {
1136
1228
  if (!_debugListener) {
1137
1229
  _debugListener = {};
1138
- for (var lp = 0; lp < listenerFuncs.length; lp++) {
1230
+ for (var lp = 0; lp < listenerFuncs[_DYN_LENGTH ]; lp++) {
1139
1231
  _debugListener[listenerFuncs[lp]] = _listenerProxyFunc(listenerFuncs[lp], config);
1140
1232
  }
1141
1233
  }
@@ -1145,13 +1237,11 @@
1145
1237
  var AiNonUserActionablePrefix = "AI (Internal): ";
1146
1238
  var AiUserActionablePrefix = "AI: ";
1147
1239
  var AIInternalMessagePrefix = "AITR_";
1148
- var strErrorToConsole = "errorToConsole";
1149
- var strWarnToConsole = "warnToConsole";
1150
1240
  function _sanitizeDiagnosticText(text) {
1151
1241
  if (text) {
1152
- return "\"" + text.replace(/\"/g, strEmpty) + "\"";
1242
+ return "\"" + text[_DYN_REPLACE ](/\"/g, STR_EMPTY$1) + "\"";
1153
1243
  }
1154
- return strEmpty;
1244
+ return STR_EMPTY$1;
1155
1245
  }
1156
1246
  function _logToConsole(func, message) {
1157
1247
  var theConsole = getConsole();
@@ -1169,23 +1259,23 @@
1169
1259
  function _InternalLogMessage(msgId, msg, isUserAct, properties) {
1170
1260
  if (isUserAct === void 0) { isUserAct = false; }
1171
1261
  var _self = this;
1172
- _self.messageId = msgId;
1173
- _self.message =
1262
+ _self[_DYN_MESSAGE_ID ] = msgId;
1263
+ _self[_DYN_MESSAGE ] =
1174
1264
  (isUserAct ? AiUserActionablePrefix : AiNonUserActionablePrefix) +
1175
1265
  msgId;
1176
- var strProps = strEmpty;
1266
+ var strProps = STR_EMPTY$1;
1177
1267
  if (hasJSON()) {
1178
1268
  strProps = getJSON().stringify(properties);
1179
1269
  }
1180
- var diagnosticText = (msg ? " message:" + _sanitizeDiagnosticText(msg) : strEmpty) +
1181
- (properties ? " props:" + _sanitizeDiagnosticText(strProps) : strEmpty);
1182
- _self.message += diagnosticText;
1270
+ var diagnosticText = (msg ? " message:" + _sanitizeDiagnosticText(msg) : STR_EMPTY$1) +
1271
+ (properties ? " props:" + _sanitizeDiagnosticText(strProps) : STR_EMPTY$1);
1272
+ _self[_DYN_MESSAGE ] += diagnosticText;
1183
1273
  }
1184
1274
  _InternalLogMessage.dataType = "MessageData";
1185
1275
  return _InternalLogMessage;
1186
1276
  }());
1187
1277
  function safeGetLogger(core, config) {
1188
- return (core || {}).logger || new DiagnosticLogger(config);
1278
+ return (core || {})[_DYN_LOGGER ] || new DiagnosticLogger(config);
1189
1279
  }
1190
1280
  var DiagnosticLogger = /** @class */ (function () {
1191
1281
  function DiagnosticLogger(config) {
@@ -1193,48 +1283,49 @@
1193
1283
  this.queue = [];
1194
1284
  var _messageCount = 0;
1195
1285
  var _messageLogged = {};
1286
+ var _loggingLevelConsole;
1287
+ var _loggingLevelTelemetry;
1288
+ var _maxInternalMessageLimit;
1289
+ var _enableDebugExceptions;
1196
1290
  dynamicProto(DiagnosticLogger, this, function (_self) {
1197
- if (isNullOrUndefined(config)) {
1198
- config = {};
1199
- }
1200
- _self.consoleLoggingLevel = function () { return _getConfigValue("loggingLevelConsole", 0); };
1201
- _self.telemetryLoggingLevel = function () { return _getConfigValue("loggingLevelTelemetry", 1); };
1202
- _self.maxInternalMessageLimit = function () { return _getConfigValue("maxMessageLimit", 25); };
1203
- _self.enableDebugExceptions = function () { return _getConfigValue("enableDebugExceptions", false); };
1291
+ _setDefaultsFromConfig(config || {});
1292
+ _self.consoleLoggingLevel = function () { return _loggingLevelConsole; };
1293
+ _self.telemetryLoggingLevel = function () { return _loggingLevelTelemetry; };
1294
+ _self.maxInternalMessageLimit = function () { return _maxInternalMessageLimit; };
1295
+ _self[_DYN_ENABLE_DEBUG_EXCEPTI4 ] = function () { return _enableDebugExceptions; };
1204
1296
  _self.throwInternal = function (severity, msgId, msg, properties, isUserAct) {
1205
1297
  if (isUserAct === void 0) { isUserAct = false; }
1206
1298
  var message = new _InternalLogMessage(msgId, msg, isUserAct, properties);
1207
- if (_self.enableDebugExceptions()) {
1208
- throw message;
1299
+ if (_enableDebugExceptions) {
1300
+ throw dumpObj(message);
1209
1301
  }
1210
1302
  else {
1211
- var logFunc = severity === 1 ? strErrorToConsole : strWarnToConsole;
1212
- if (!isUndefined(message.message)) {
1213
- var logLevel = _self.consoleLoggingLevel();
1303
+ var logFunc = severity === 1 ? STR_ERROR_TO_CONSOLE : STR_WARN_TO_CONSOLE;
1304
+ if (!isUndefined(message[_DYN_MESSAGE ])) {
1214
1305
  if (isUserAct) {
1215
- var messageKey = +message.messageId;
1216
- if (!_messageLogged[messageKey] && logLevel >= severity) {
1217
- _self[logFunc](message.message);
1306
+ var messageKey = +message[_DYN_MESSAGE_ID ];
1307
+ if (!_messageLogged[messageKey] && _loggingLevelConsole >= severity) {
1308
+ _self[logFunc](message[_DYN_MESSAGE ]);
1218
1309
  _messageLogged[messageKey] = true;
1219
1310
  }
1220
1311
  }
1221
1312
  else {
1222
- if (logLevel >= severity) {
1223
- _self[logFunc](message.message);
1313
+ if (_loggingLevelConsole >= severity) {
1314
+ _self[logFunc](message[_DYN_MESSAGE ]);
1224
1315
  }
1225
1316
  }
1226
- _self.logInternalMessage(severity, message);
1317
+ _logInternalMessage(severity, message);
1227
1318
  }
1228
1319
  else {
1229
1320
  _debugExtMsg("throw" + (severity === 1 ? "Critical" : "Warning"), message);
1230
1321
  }
1231
1322
  }
1232
1323
  };
1233
- _self.warnToConsole = function (message) {
1324
+ _self[STR_WARN_TO_CONSOLE ] = function (message) {
1234
1325
  _logToConsole("warn", message);
1235
1326
  _debugExtMsg("warning", message);
1236
1327
  };
1237
- _self.errorToConsole = function (message) {
1328
+ _self[STR_ERROR_TO_CONSOLE ] = function (message) {
1238
1329
  _logToConsole("error", message);
1239
1330
  _debugExtMsg("error", message);
1240
1331
  };
@@ -1242,12 +1333,13 @@
1242
1333
  _messageCount = 0;
1243
1334
  _messageLogged = {};
1244
1335
  };
1245
- _self.logInternalMessage = function (severity, message) {
1336
+ _self[_DYN_LOG_INTERNAL_MESSAGE ] = _logInternalMessage;
1337
+ function _logInternalMessage(severity, message) {
1246
1338
  if (_areInternalMessagesThrottled()) {
1247
1339
  return;
1248
1340
  }
1249
1341
  var logMessage = true;
1250
- var messageKey = AIInternalMessagePrefix + message.messageId;
1342
+ var messageKey = AIInternalMessagePrefix + message[_DYN_MESSAGE_ID ];
1251
1343
  if (_messageLogged[messageKey]) {
1252
1344
  logMessage = false;
1253
1345
  }
@@ -1255,42 +1347,42 @@
1255
1347
  _messageLogged[messageKey] = true;
1256
1348
  }
1257
1349
  if (logMessage) {
1258
- if (severity <= _self.telemetryLoggingLevel()) {
1259
- _self.queue.push(message);
1350
+ if (severity <= _loggingLevelTelemetry) {
1351
+ _self.queue[_DYN_PUSH ](message);
1260
1352
  _messageCount++;
1261
1353
  _debugExtMsg((severity === 1 ? "error" : "warn"), message);
1262
1354
  }
1263
- if (_messageCount === _self.maxInternalMessageLimit()) {
1355
+ if (_messageCount === _maxInternalMessageLimit) {
1264
1356
  var throttleLimitMessage = "Internal events throttle limit per PageView reached for this app.";
1265
1357
  var throttleMessage = new _InternalLogMessage(23 , throttleLimitMessage, false);
1266
- _self.queue.push(throttleMessage);
1358
+ _self.queue[_DYN_PUSH ](throttleMessage);
1267
1359
  if (severity === 1 ) {
1268
- _self.errorToConsole(throttleLimitMessage);
1360
+ _self[STR_ERROR_TO_CONSOLE ](throttleLimitMessage);
1269
1361
  }
1270
1362
  else {
1271
- _self.warnToConsole(throttleLimitMessage);
1363
+ _self[STR_WARN_TO_CONSOLE ](throttleLimitMessage);
1272
1364
  }
1273
1365
  }
1274
1366
  }
1275
- };
1276
- function _getConfigValue(name, defValue) {
1277
- var value = config[name];
1278
- if (!isNullOrUndefined(value)) {
1279
- return value;
1280
- }
1281
- return defValue;
1367
+ }
1368
+ function _setDefaultsFromConfig(config) {
1369
+ _loggingLevelConsole = getCfgValue(config.loggingLevelConsole, 0);
1370
+ _loggingLevelTelemetry = getCfgValue(config.loggingLevelTelemetry, 1);
1371
+ _maxInternalMessageLimit = getCfgValue(config.maxMessageLimit, 25);
1372
+ _enableDebugExceptions = getCfgValue(config[_DYN_ENABLE_DEBUG_EXCEPTI4 ], false);
1282
1373
  }
1283
1374
  function _areInternalMessagesThrottled() {
1284
- return _messageCount >= _self.maxInternalMessageLimit();
1375
+ return _messageCount >= _maxInternalMessageLimit;
1285
1376
  }
1286
1377
  function _debugExtMsg(name, data) {
1287
- var dbgExt = getDebugExt(config);
1288
- if (dbgExt && dbgExt.diagLog) {
1289
- dbgExt.diagLog(name, data);
1378
+ var dbgExt = getDebugExt(config || {});
1379
+ if (dbgExt && dbgExt[_DYN_DIAG_LOG ]) {
1380
+ dbgExt[_DYN_DIAG_LOG ](name, data);
1290
1381
  }
1291
1382
  }
1292
1383
  });
1293
1384
  }
1385
+ DiagnosticLogger.__ieDyn=1;
1294
1386
  return DiagnosticLogger;
1295
1387
  }());
1296
1388
  function _getLogger(logger) {
@@ -1298,22 +1390,27 @@
1298
1390
  }
1299
1391
  function _throwInternal(logger, severity, msgId, msg, properties, isUserAct) {
1300
1392
  if (isUserAct === void 0) { isUserAct = false; }
1301
- (logger || new DiagnosticLogger()).throwInternal(severity, msgId, msg, properties, isUserAct);
1393
+ _getLogger(logger).throwInternal(severity, msgId, msg, properties, isUserAct);
1302
1394
  }
1303
1395
  function _warnToConsole(logger, message) {
1304
- _getLogger(logger).warnToConsole(message);
1396
+ _getLogger(logger)[STR_WARN_TO_CONSOLE ](message);
1397
+ }
1398
+ function _logInternalMessage(logger, severity, message) {
1399
+ _getLogger(logger)[_DYN_LOG_INTERNAL_MESSAGE ](severity, message);
1305
1400
  }
1306
1401
 
1307
1402
  var strExecutionContextKey = "ctx";
1403
+ var strParentContextKey = "ParentContextKey";
1404
+ var strChildrenContextKey = "ChildrenContextKey";
1308
1405
  var _defaultPerfManager = null;
1309
1406
  var PerfEvent = /** @class */ (function () {
1310
1407
  function PerfEvent(name, payloadDetails, isAsync) {
1311
1408
  var _self = this;
1312
1409
  var accessorDefined = false;
1313
1410
  _self.start = dateNow();
1314
- _self.name = name;
1315
- _self.isAsync = isAsync;
1316
- _self.isChildEvt = function () { return false; };
1411
+ _self[_DYN_NAME ] = name;
1412
+ _self[_DYN_IS_ASYNC ] = isAsync;
1413
+ _self[_DYN_IS_CHILD_EVT ] = function () { return false; };
1317
1414
  if (isFunction(payloadDetails)) {
1318
1415
  var theDetails_1;
1319
1416
  accessorDefined = objDefineAccessors(_self, "payload", function () {
@@ -1324,24 +1421,24 @@
1324
1421
  return theDetails_1;
1325
1422
  });
1326
1423
  }
1327
- _self.getCtx = function (key) {
1424
+ _self[_DYN_GET_CTX ] = function (key) {
1328
1425
  if (key) {
1329
- if (key === PerfEvent.ParentContextKey || key === PerfEvent.ChildrenContextKey) {
1426
+ if (key === PerfEvent[strParentContextKey] || key === PerfEvent[strChildrenContextKey]) {
1330
1427
  return _self[key];
1331
1428
  }
1332
1429
  return (_self[strExecutionContextKey] || {})[key];
1333
1430
  }
1334
1431
  return null;
1335
1432
  };
1336
- _self.setCtx = function (key, value) {
1433
+ _self[_DYN_SET_CTX ] = function (key, value) {
1337
1434
  if (key) {
1338
- if (key === PerfEvent.ParentContextKey) {
1435
+ if (key === PerfEvent[strParentContextKey]) {
1339
1436
  if (!_self[key]) {
1340
- _self.isChildEvt = function () { return true; };
1437
+ _self[_DYN_IS_CHILD_EVT ] = function () { return true; };
1341
1438
  }
1342
1439
  _self[key] = value;
1343
1440
  }
1344
- else if (key === PerfEvent.ChildrenContextKey) {
1441
+ else if (key === PerfEvent[strChildrenContextKey]) {
1345
1442
  _self[key] = value;
1346
1443
  }
1347
1444
  else {
@@ -1350,20 +1447,20 @@
1350
1447
  }
1351
1448
  }
1352
1449
  };
1353
- _self.complete = function () {
1450
+ _self[_DYN_COMPLETE ] = function () {
1354
1451
  var childTime = 0;
1355
- var childEvts = _self.getCtx(PerfEvent.ChildrenContextKey);
1452
+ var childEvts = _self[_DYN_GET_CTX ](PerfEvent[strChildrenContextKey]);
1356
1453
  if (isArray(childEvts)) {
1357
- for (var lp = 0; lp < childEvts.length; lp++) {
1454
+ for (var lp = 0; lp < childEvts[_DYN_LENGTH ]; lp++) {
1358
1455
  var childEvt = childEvts[lp];
1359
1456
  if (childEvt) {
1360
- childTime += childEvt.time;
1457
+ childTime += childEvt[_DYN_TIME ];
1361
1458
  }
1362
1459
  }
1363
1460
  }
1364
- _self.time = dateNow() - _self.start;
1365
- _self.exTime = _self.time - childTime;
1366
- _self.complete = function () { };
1461
+ _self[_DYN_TIME ] = dateNow() - _self.start;
1462
+ _self.exTime = _self[_DYN_TIME ] - childTime;
1463
+ _self[_DYN_COMPLETE ] = function () { };
1367
1464
  if (!accessorDefined && isFunction(payloadDetails)) {
1368
1465
  _self.payload = payloadDetails();
1369
1466
  }
@@ -1382,63 +1479,64 @@
1382
1479
  };
1383
1480
  _self.fire = function (perfEvent) {
1384
1481
  if (perfEvent) {
1385
- perfEvent.complete();
1386
- if (manager && isFunction(manager.perfEvent)) {
1387
- manager.perfEvent(perfEvent);
1482
+ perfEvent[_DYN_COMPLETE ]();
1483
+ if (manager && isFunction(manager[STR_PERF_EVENT ])) {
1484
+ manager[STR_PERF_EVENT ](perfEvent);
1388
1485
  }
1389
1486
  }
1390
1487
  };
1391
- _self.setCtx = function (key, value) {
1488
+ _self[_DYN_SET_CTX ] = function (key, value) {
1392
1489
  if (key) {
1393
1490
  var ctx = _self[strExecutionContextKey] = _self[strExecutionContextKey] || {};
1394
1491
  ctx[key] = value;
1395
1492
  }
1396
1493
  };
1397
- _self.getCtx = function (key) {
1494
+ _self[_DYN_GET_CTX ] = function (key) {
1398
1495
  return (_self[strExecutionContextKey] || {})[key];
1399
1496
  };
1400
1497
  });
1401
1498
  }
1499
+ PerfManager.__ieDyn=1;
1402
1500
  return PerfManager;
1403
1501
  }());
1404
1502
  var doPerfActiveKey = "CoreUtils.doPerf";
1405
1503
  function doPerf(mgrSource, getSource, func, details, isAsync) {
1406
1504
  if (mgrSource) {
1407
1505
  var perfMgr = mgrSource;
1408
- if (isFunction(perfMgr["getPerfMgr"])) {
1409
- perfMgr = perfMgr["getPerfMgr"]();
1506
+ if (perfMgr[STR_GET_PERF_MGR]) {
1507
+ perfMgr = perfMgr[STR_GET_PERF_MGR]();
1410
1508
  }
1411
1509
  if (perfMgr) {
1412
1510
  var perfEvt = void 0;
1413
- var currentActive = perfMgr.getCtx(doPerfActiveKey);
1511
+ var currentActive = perfMgr[_DYN_GET_CTX ](doPerfActiveKey);
1414
1512
  try {
1415
1513
  perfEvt = perfMgr.create(getSource(), details, isAsync);
1416
1514
  if (perfEvt) {
1417
- if (currentActive && perfEvt.setCtx) {
1418
- perfEvt.setCtx(PerfEvent.ParentContextKey, currentActive);
1419
- if (currentActive.getCtx && currentActive.setCtx) {
1420
- var children = currentActive.getCtx(PerfEvent.ChildrenContextKey);
1515
+ if (currentActive && perfEvt[_DYN_SET_CTX ]) {
1516
+ perfEvt[_DYN_SET_CTX ](PerfEvent[strParentContextKey], currentActive);
1517
+ if (currentActive[_DYN_GET_CTX ] && currentActive[_DYN_SET_CTX ]) {
1518
+ var children = currentActive[_DYN_GET_CTX ](PerfEvent[strChildrenContextKey]);
1421
1519
  if (!children) {
1422
1520
  children = [];
1423
- currentActive.setCtx(PerfEvent.ChildrenContextKey, children);
1521
+ currentActive[_DYN_SET_CTX ](PerfEvent[strChildrenContextKey], children);
1424
1522
  }
1425
- children.push(perfEvt);
1523
+ children[_DYN_PUSH ](perfEvt);
1426
1524
  }
1427
1525
  }
1428
- perfMgr.setCtx(doPerfActiveKey, perfEvt);
1526
+ perfMgr[_DYN_SET_CTX ](doPerfActiveKey, perfEvt);
1429
1527
  return func(perfEvt);
1430
1528
  }
1431
1529
  }
1432
1530
  catch (ex) {
1433
- if (perfEvt && perfEvt.setCtx) {
1434
- perfEvt.setCtx("exception", ex);
1531
+ if (perfEvt && perfEvt[_DYN_SET_CTX ]) {
1532
+ perfEvt[_DYN_SET_CTX ]("exception", ex);
1435
1533
  }
1436
1534
  }
1437
1535
  finally {
1438
1536
  if (perfEvt) {
1439
1537
  perfMgr.fire(perfEvt);
1440
1538
  }
1441
- perfMgr.setCtx(doPerfActiveKey, currentActive);
1539
+ perfMgr[_DYN_SET_CTX ](doPerfActiveKey, currentActive);
1442
1540
  }
1443
1541
  }
1444
1542
  }
@@ -1517,8 +1615,8 @@
1517
1615
  var base64chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
1518
1616
  var number = random32() >>> 0;
1519
1617
  var chars = 0;
1520
- var result = strEmpty;
1521
- while (result.length < maxLength) {
1618
+ var result = STR_EMPTY$1;
1619
+ while (result[_DYN_LENGTH ] < maxLength) {
1522
1620
  chars++;
1523
1621
  result += base64chars.charAt(number & 0x3F);
1524
1622
  number >>>= 6;
@@ -1531,7 +1629,7 @@
1531
1629
  }
1532
1630
 
1533
1631
  var _objDefineProperty = ObjDefineProperty;
1534
- var version = "2.8.1";
1632
+ var version = '2.8.5';
1535
1633
  var instanceName = "." + newId(6);
1536
1634
  var _dataUid = 0;
1537
1635
  function _createAccessor(target, prop, value) {
@@ -1550,7 +1648,7 @@
1550
1648
  return false;
1551
1649
  }
1552
1650
  function _canAcceptData(target) {
1553
- return target.nodeType === 1 || target.nodeType === 9 || !(+target.nodeType);
1651
+ return target[_DYN_NODE_TYPE ] === 1 || target[_DYN_NODE_TYPE ] === 9 || !(+target[_DYN_NODE_TYPE ]);
1554
1652
  }
1555
1653
  function _getCache(data, target) {
1556
1654
  var theCache = target[data.id];
@@ -1570,11 +1668,11 @@
1570
1668
  }
1571
1669
  function createUniqueNamespace(name, includeVersion) {
1572
1670
  if (includeVersion === void 0) { includeVersion = false; }
1573
- return normalizeJsName(name + (_dataUid++) + (includeVersion ? "." + version : "") + instanceName);
1671
+ return normalizeJsName(name + (_dataUid++) + (includeVersion ? "." + version : STR_EMPTY$1) + instanceName);
1574
1672
  }
1575
1673
  function createElmNodeData(name) {
1576
1674
  var data = {
1577
- id: createUniqueNamespace("_aiData-" + (name || "") + "." + version),
1675
+ id: createUniqueNamespace("_aiData-" + (name || STR_EMPTY$1) + "." + version),
1578
1676
  accept: function (target) {
1579
1677
  return _canAcceptData(target);
1580
1678
  },
@@ -1602,190 +1700,938 @@
1602
1700
  return data;
1603
1701
  }
1604
1702
 
1605
- var pluginStateData = createElmNodeData("plugin");
1606
- function _getPluginState(plugin) {
1607
- return pluginStateData.get(plugin, "state", {}, true);
1703
+ var strToGMTString = "toGMTString";
1704
+ var strToUTCString = "toUTCString";
1705
+ var strCookie = "cookie";
1706
+ var strExpires = "expires";
1707
+ var strEnabled = "enabled";
1708
+ var strIsCookieUseDisabled = "isCookieUseDisabled";
1709
+ var strDisableCookiesUsage = "disableCookiesUsage";
1710
+ var strConfigCookieMgr = "_ckMgr";
1711
+ var _supportsCookies = null;
1712
+ var _allowUaSameSite = null;
1713
+ var _parsedCookieValue = null;
1714
+ var _doc = getDocument();
1715
+ var _cookieCache = {};
1716
+ var _globalCookieConfig = {};
1717
+ function _gblCookieMgr(config, logger) {
1718
+ var inst = createCookieMgr[strConfigCookieMgr] || _globalCookieConfig[strConfigCookieMgr];
1719
+ if (!inst) {
1720
+ inst = createCookieMgr[strConfigCookieMgr] = createCookieMgr(config, logger);
1721
+ _globalCookieConfig[strConfigCookieMgr] = inst;
1722
+ }
1723
+ return inst;
1608
1724
  }
1609
- function initializePlugins(processContext, extensions) {
1610
- var initPlugins = [];
1611
- var lastPlugin = null;
1612
- var proxy = processContext.getNext();
1613
- var pluginState;
1614
- while (proxy) {
1615
- var thePlugin = proxy.getPlugin();
1616
- if (thePlugin) {
1617
- if (lastPlugin &&
1618
- isFunction(lastPlugin[strSetNextPlugin]) &&
1619
- isFunction(thePlugin[strProcessTelemetry])) {
1620
- lastPlugin[strSetNextPlugin](thePlugin);
1621
- }
1622
- var isInitialized = false;
1623
- if (isFunction(thePlugin[strIsInitialized])) {
1624
- isInitialized = thePlugin[strIsInitialized]();
1625
- }
1626
- else {
1627
- pluginState = _getPluginState(thePlugin);
1628
- isInitialized = pluginState[strIsInitialized];
1629
- }
1630
- if (!isInitialized) {
1631
- initPlugins.push(thePlugin);
1632
- }
1633
- lastPlugin = thePlugin;
1634
- proxy = proxy.getNext();
1635
- }
1725
+ function _isMgrEnabled(cookieMgr) {
1726
+ if (cookieMgr) {
1727
+ return cookieMgr.isEnabled();
1636
1728
  }
1637
- arrForEach(initPlugins, function (thePlugin) {
1638
- var core = processContext.core();
1639
- thePlugin.initialize(processContext.getCfg(), core, extensions, processContext.getNext());
1640
- pluginState = _getPluginState(thePlugin);
1641
- if (!thePlugin[strCore] && !pluginState[strCore]) {
1642
- pluginState[strCore] = core;
1643
- }
1644
- pluginState[strIsInitialized] = true;
1645
- delete pluginState[strTeardown];
1646
- });
1729
+ return true;
1647
1730
  }
1648
- function sortPlugins(plugins) {
1649
- return plugins.sort(function (extA, extB) {
1650
- var result = 0;
1651
- var bHasProcess = isFunction(extB[strProcessTelemetry]);
1652
- if (isFunction(extA[strProcessTelemetry])) {
1653
- result = bHasProcess ? extA[strPriority] - extB[strPriority] : 1;
1654
- }
1655
- else if (bHasProcess) {
1656
- result = -1;
1731
+ function _createCookieMgrConfig(rootConfig) {
1732
+ var cookieMgrCfg = rootConfig[_DYN_COOKIE_CFG ] = rootConfig[_DYN_COOKIE_CFG ] || {};
1733
+ setValue(cookieMgrCfg, "domain", rootConfig.cookieDomain, isNotNullOrUndefined, isNullOrUndefined);
1734
+ setValue(cookieMgrCfg, "path", rootConfig.cookiePath || "/", null, isNullOrUndefined);
1735
+ if (isNullOrUndefined(cookieMgrCfg[strEnabled])) {
1736
+ var cookieEnabled = void 0;
1737
+ if (!isUndefined(rootConfig[strIsCookieUseDisabled])) {
1738
+ cookieEnabled = !rootConfig[strIsCookieUseDisabled];
1657
1739
  }
1658
- return result;
1659
- });
1660
- }
1661
-
1662
- var strTelemetryPluginChain = "TelemetryPluginChain";
1663
- var strHasRunFlags = "_hasRun";
1664
- var strGetTelCtx = "_getTelCtx";
1665
- var _chainId = 0;
1666
- function _getNextProxyStart(proxy, core, startAt) {
1667
- while (proxy) {
1668
- if (proxy.getPlugin() === startAt) {
1669
- return proxy;
1740
+ if (!isUndefined(rootConfig[strDisableCookiesUsage])) {
1741
+ cookieEnabled = !rootConfig[strDisableCookiesUsage];
1670
1742
  }
1671
- proxy = proxy.getNext();
1743
+ cookieMgrCfg[strEnabled] = cookieEnabled;
1672
1744
  }
1673
- return createTelemetryProxyChain([startAt], core.config || {}, core);
1745
+ return cookieMgrCfg;
1674
1746
  }
1675
- function _createInternalContext(telemetryChain, config, core, startAt) {
1676
- var _nextProxy = null;
1677
- var _onComplete = [];
1678
- if (startAt !== null) {
1679
- _nextProxy = startAt ? _getNextProxyStart(telemetryChain, core, startAt) : telemetryChain;
1747
+ function safeGetCookieMgr(core, config) {
1748
+ var cookieMgr;
1749
+ if (core) {
1750
+ cookieMgr = core.getCookieMgr();
1680
1751
  }
1681
- var context = {
1682
- _next: _moveNext,
1683
- ctx: {
1684
- core: function () {
1685
- return core;
1686
- },
1687
- diagLog: function () {
1688
- return safeGetLogger(core, config);
1689
- },
1690
- getCfg: function () {
1691
- return config;
1692
- },
1693
- getExtCfg: _getExtCfg,
1694
- getConfig: _getConfig,
1695
- hasNext: function () {
1696
- return !!_nextProxy;
1697
- },
1698
- getNext: function () {
1699
- return _nextProxy;
1700
- },
1701
- setNext: function (nextPlugin) {
1702
- _nextProxy = nextPlugin;
1703
- },
1704
- iterate: _iterateChain,
1705
- onComplete: _addOnComplete
1706
- }
1707
- };
1708
- function _addOnComplete(onComplete, that) {
1709
- var args = [];
1710
- for (var _i = 2; _i < arguments.length; _i++) {
1711
- args[_i - 2] = arguments[_i];
1752
+ else if (config) {
1753
+ var cookieCfg = config[_DYN_COOKIE_CFG ];
1754
+ if (cookieCfg[strConfigCookieMgr]) {
1755
+ cookieMgr = cookieCfg[strConfigCookieMgr];
1712
1756
  }
1713
- if (onComplete) {
1714
- _onComplete.push({
1715
- func: onComplete,
1716
- self: !isUndefined(that) ? that : context.ctx,
1717
- args: args
1718
- });
1757
+ else {
1758
+ cookieMgr = createCookieMgr(config);
1719
1759
  }
1720
1760
  }
1721
- function _moveNext() {
1722
- var nextProxy = _nextProxy;
1723
- _nextProxy = nextProxy ? nextProxy.getNext() : null;
1724
- if (!nextProxy) {
1725
- var onComplete = _onComplete;
1726
- if (onComplete && onComplete.length > 0) {
1727
- arrForEach(onComplete, function (completeDetails) {
1728
- try {
1729
- completeDetails.func.call(completeDetails.self, completeDetails.args);
1730
- }
1731
- catch (e) {
1732
- _throwInternal(core.logger, 2 , 73 , "Unexpected Exception during onComplete - " + dumpObj(e));
1733
- }
1734
- });
1735
- _onComplete = [];
1736
- }
1737
- }
1738
- return nextProxy;
1761
+ if (!cookieMgr) {
1762
+ cookieMgr = _gblCookieMgr(config, (core || {})[_DYN_LOGGER ]);
1739
1763
  }
1740
- function _getExtCfg(identifier, defaultValue, mergeDefault) {
1741
- if (defaultValue === void 0) { defaultValue = {}; }
1742
- if (mergeDefault === void 0) { mergeDefault = 0 ; }
1743
- var theConfig;
1744
- if (config) {
1745
- var extConfig = config.extensionConfig;
1746
- if (extConfig && identifier) {
1747
- theConfig = extConfig[identifier];
1764
+ return cookieMgr;
1765
+ }
1766
+ function createCookieMgr(rootConfig, logger) {
1767
+ var _a;
1768
+ var cookieMgrConfig = _createCookieMgrConfig(rootConfig || _globalCookieConfig);
1769
+ var _path = cookieMgrConfig.path || "/";
1770
+ var _domain = cookieMgrConfig.domain;
1771
+ var _enabled = cookieMgrConfig[strEnabled] !== false;
1772
+ var cookieMgr = (_a = {
1773
+ isEnabled: function () {
1774
+ var enabled = _enabled && areCookiesSupported(logger);
1775
+ var gblManager = _globalCookieConfig[strConfigCookieMgr];
1776
+ if (enabled && gblManager && cookieMgr !== gblManager) {
1777
+ enabled = _isMgrEnabled(gblManager);
1778
+ }
1779
+ return enabled;
1748
1780
  }
1749
- }
1750
- if (!theConfig) {
1751
- theConfig = defaultValue;
1752
- }
1753
- else if (isObject(defaultValue)) {
1754
- if (mergeDefault !== 0 ) {
1755
- var newConfig_1 = objExtend(true, defaultValue, theConfig);
1756
- if (config && mergeDefault === 2 ) {
1757
- objForEachKey(defaultValue, function (field) {
1758
- if (isNullOrUndefined(newConfig_1[field])) {
1759
- var cfgValue = config[field];
1760
- if (!isNullOrUndefined(cfgValue)) {
1761
- newConfig_1[field] = cfgValue;
1762
- }
1781
+ },
1782
+ _a[_DYN_SET_ENABLED ] = function (value) {
1783
+ _enabled = value !== false;
1784
+ },
1785
+ _a.set = function (name, value, maxAgeSec, domain, path) {
1786
+ var result = false;
1787
+ if (_isMgrEnabled(cookieMgr)) {
1788
+ var values = {};
1789
+ var theValue = strTrim(value || STR_EMPTY$1);
1790
+ var idx = theValue[_DYN_INDEX_OF ](";");
1791
+ if (idx !== -1) {
1792
+ theValue = strTrim(value[_DYN_SUBSTRING ](0, idx));
1793
+ values = _extractParts(value[_DYN_SUBSTRING ](idx + 1));
1794
+ }
1795
+ setValue(values, "domain", domain || _domain, isTruthy, isUndefined);
1796
+ if (!isNullOrUndefined(maxAgeSec)) {
1797
+ var _isIE = isIE();
1798
+ if (isUndefined(values[strExpires])) {
1799
+ var nowMs = dateNow();
1800
+ var expireMs = nowMs + (maxAgeSec * 1000);
1801
+ if (expireMs > 0) {
1802
+ var expiry = new Date();
1803
+ expiry.setTime(expireMs);
1804
+ setValue(values, strExpires, _formatDate(expiry, !_isIE ? strToUTCString : strToGMTString) || _formatDate(expiry, _isIE ? strToGMTString : strToUTCString) || STR_EMPTY$1, isTruthy);
1763
1805
  }
1764
- });
1806
+ }
1807
+ if (!_isIE) {
1808
+ setValue(values, "max-age", STR_EMPTY$1 + maxAgeSec, null, isUndefined);
1809
+ }
1765
1810
  }
1766
- theConfig = newConfig_1;
1767
- }
1768
- }
1769
- return theConfig;
1770
- }
1771
- function _getConfig(identifier, field, defaultValue) {
1772
- if (defaultValue === void 0) { defaultValue = false; }
1773
- var theValue;
1774
- var extConfig = _getExtCfg(identifier, null);
1775
- if (extConfig && !isNullOrUndefined(extConfig[field])) {
1776
- theValue = extConfig[field];
1777
- }
1778
- else if (config && !isNullOrUndefined(config[field])) {
1779
- theValue = config[field];
1780
- }
1781
- return !isNullOrUndefined(theValue) ? theValue : defaultValue;
1782
- }
1783
- function _iterateChain(cb) {
1784
- var nextPlugin;
1785
- while (!!(nextPlugin = context._next())) {
1786
- var plugin = nextPlugin.getPlugin();
1787
- if (plugin) {
1788
- cb(plugin);
1811
+ var location_1 = getLocation();
1812
+ if (location_1 && location_1.protocol === "https:") {
1813
+ setValue(values, "secure", null, null, isUndefined);
1814
+ if (_allowUaSameSite === null) {
1815
+ _allowUaSameSite = !uaDisallowsSameSiteNone((getNavigator() || {})[_DYN_USER_AGENT ]);
1816
+ }
1817
+ if (_allowUaSameSite) {
1818
+ setValue(values, "SameSite", "None", null, isUndefined);
1819
+ }
1820
+ }
1821
+ setValue(values, "path", path || _path, null, isUndefined);
1822
+ var setCookieFn = cookieMgrConfig.setCookie || _setCookieValue;
1823
+ setCookieFn(name, _formatCookieValue(theValue, values));
1824
+ result = true;
1825
+ }
1826
+ return result;
1827
+ },
1828
+ _a.get = function (name) {
1829
+ var value = STR_EMPTY$1;
1830
+ if (_isMgrEnabled(cookieMgr)) {
1831
+ value = (cookieMgrConfig.getCookie || _getCookieValue)(name);
1832
+ }
1833
+ return value;
1834
+ },
1835
+ _a.del = function (name, path) {
1836
+ var result = false;
1837
+ if (_isMgrEnabled(cookieMgr)) {
1838
+ result = cookieMgr.purge(name, path);
1839
+ }
1840
+ return result;
1841
+ },
1842
+ _a.purge = function (name, path) {
1843
+ var _a;
1844
+ var result = false;
1845
+ if (areCookiesSupported(logger)) {
1846
+ var values = (_a = {},
1847
+ _a["path"] = path ? path : "/",
1848
+ _a[strExpires] = "Thu, 01 Jan 1970 00:00:01 GMT",
1849
+ _a);
1850
+ if (!isIE()) {
1851
+ values["max-age"] = "0";
1852
+ }
1853
+ var delCookie = cookieMgrConfig.delCookie || _setCookieValue;
1854
+ delCookie(name, _formatCookieValue(STR_EMPTY$1, values));
1855
+ result = true;
1856
+ }
1857
+ return result;
1858
+ },
1859
+ _a);
1860
+ cookieMgr[strConfigCookieMgr] = cookieMgr;
1861
+ return cookieMgr;
1862
+ }
1863
+ function areCookiesSupported(logger) {
1864
+ if (_supportsCookies === null) {
1865
+ _supportsCookies = false;
1866
+ try {
1867
+ var doc = _doc || {};
1868
+ _supportsCookies = doc[strCookie] !== undefined;
1869
+ }
1870
+ catch (e) {
1871
+ _throwInternal(logger, 2 , 68 , "Cannot access document.cookie - " + getExceptionName(e), { exception: dumpObj(e) });
1872
+ }
1873
+ }
1874
+ return _supportsCookies;
1875
+ }
1876
+ function _extractParts(theValue) {
1877
+ var values = {};
1878
+ if (theValue && theValue[_DYN_LENGTH ]) {
1879
+ var parts = strTrim(theValue)[_DYN_SPLIT ](";");
1880
+ arrForEach(parts, function (thePart) {
1881
+ thePart = strTrim(thePart || STR_EMPTY$1);
1882
+ if (thePart) {
1883
+ var idx = thePart[_DYN_INDEX_OF ]("=");
1884
+ if (idx === -1) {
1885
+ values[thePart] = null;
1886
+ }
1887
+ else {
1888
+ values[strTrim(thePart[_DYN_SUBSTRING ](0, idx))] = strTrim(thePart[_DYN_SUBSTRING ](idx + 1));
1889
+ }
1890
+ }
1891
+ });
1892
+ }
1893
+ return values;
1894
+ }
1895
+ function _formatDate(theDate, func) {
1896
+ if (isFunction(theDate[func])) {
1897
+ return theDate[func]();
1898
+ }
1899
+ return null;
1900
+ }
1901
+ function _formatCookieValue(value, values) {
1902
+ var cookieValue = value || STR_EMPTY$1;
1903
+ objForEachKey(values, function (name, theValue) {
1904
+ cookieValue += "; " + name + (!isNullOrUndefined(theValue) ? "=" + theValue : STR_EMPTY$1);
1905
+ });
1906
+ return cookieValue;
1907
+ }
1908
+ function _getCookieValue(name) {
1909
+ var cookieValue = STR_EMPTY$1;
1910
+ if (_doc) {
1911
+ var theCookie = _doc[strCookie] || STR_EMPTY$1;
1912
+ if (_parsedCookieValue !== theCookie) {
1913
+ _cookieCache = _extractParts(theCookie);
1914
+ _parsedCookieValue = theCookie;
1915
+ }
1916
+ cookieValue = strTrim(_cookieCache[name] || STR_EMPTY$1);
1917
+ }
1918
+ return cookieValue;
1919
+ }
1920
+ function _setCookieValue(name, cookieValue) {
1921
+ if (_doc) {
1922
+ _doc[strCookie] = name + "=" + cookieValue;
1923
+ }
1924
+ }
1925
+ function uaDisallowsSameSiteNone(userAgent) {
1926
+ if (!isString(userAgent)) {
1927
+ return false;
1928
+ }
1929
+ if (strContains(userAgent, "CPU iPhone OS 12") || strContains(userAgent, "iPad; CPU OS 12")) {
1930
+ return true;
1931
+ }
1932
+ if (strContains(userAgent, "Macintosh; Intel Mac OS X 10_14") && strContains(userAgent, "Version/") && strContains(userAgent, "Safari")) {
1933
+ return true;
1934
+ }
1935
+ if (strContains(userAgent, "Macintosh; Intel Mac OS X 10_14") && strEndsWith(userAgent, "AppleWebKit/605.1.15 (KHTML, like Gecko)")) {
1936
+ return true;
1937
+ }
1938
+ if (strContains(userAgent, "Chrome/5") || strContains(userAgent, "Chrome/6")) {
1939
+ return true;
1940
+ }
1941
+ if (strContains(userAgent, "UnrealEngine") && !strContains(userAgent, "Chrome")) {
1942
+ return true;
1943
+ }
1944
+ if (strContains(userAgent, "UCBrowser/12") || strContains(userAgent, "UCBrowser/11")) {
1945
+ return true;
1946
+ }
1947
+ return false;
1948
+ }
1949
+
1950
+ var strOnPrefix = "on";
1951
+ var strAttachEvent = "attachEvent";
1952
+ var strAddEventHelper = "addEventListener";
1953
+ var strDetachEvent = "detachEvent";
1954
+ var strRemoveEventListener = "removeEventListener";
1955
+ var strEvents = "events";
1956
+ var strVisibilityChangeEvt = "visibilitychange";
1957
+ var strPageHide = "pagehide";
1958
+ var strPageShow = "pageshow";
1959
+ var strUnload = "unload";
1960
+ var strBeforeUnload = "beforeunload";
1961
+ var strPageHideNamespace = createUniqueNamespace("aiEvtPageHide");
1962
+ var strPageShowNamespace = createUniqueNamespace("aiEvtPageShow");
1963
+ var rRemoveEmptyNs = /\.[\.]+/g;
1964
+ var rRemoveTrailingEmptyNs = /[\.]+$/;
1965
+ var _guid = 1;
1966
+ var elmNodeData = createElmNodeData("events");
1967
+ var eventNamespace = /^([^.]*)(?:\.(.+)|)/;
1968
+ function _normalizeNamespace(name) {
1969
+ if (name && name[_DYN_REPLACE ]) {
1970
+ return name.replace(/^\s*\.*|\.*\s*$/g, STR_EMPTY$1);
1971
+ }
1972
+ return name;
1973
+ }
1974
+ function _getEvtNamespace(eventName, evtNamespace) {
1975
+ var _a;
1976
+ if (evtNamespace) {
1977
+ var theNamespace_1 = STR_EMPTY$1;
1978
+ if (isArray(evtNamespace)) {
1979
+ theNamespace_1 = STR_EMPTY$1;
1980
+ arrForEach(evtNamespace, function (name) {
1981
+ name = _normalizeNamespace(name);
1982
+ if (name) {
1983
+ if (name[0] !== ".") {
1984
+ name = "." + name;
1985
+ }
1986
+ theNamespace_1 += name;
1987
+ }
1988
+ });
1989
+ }
1990
+ else {
1991
+ theNamespace_1 = _normalizeNamespace(evtNamespace);
1992
+ }
1993
+ if (theNamespace_1) {
1994
+ if (theNamespace_1[0] !== ".") {
1995
+ theNamespace_1 = "." + theNamespace_1;
1996
+ }
1997
+ eventName = (eventName || STR_EMPTY$1) + theNamespace_1;
1998
+ }
1999
+ }
2000
+ var parsedEvent = (eventNamespace.exec(eventName || STR_EMPTY$1) || []);
2001
+ return _a = {},
2002
+ _a[_DYN_TYPE ] = parsedEvent[1],
2003
+ _a.ns = ((parsedEvent[2] || STR_EMPTY$1).replace(rRemoveEmptyNs, ".").replace(rRemoveTrailingEmptyNs, STR_EMPTY$1)[_DYN_SPLIT ](".").sort()).join("."),
2004
+ _a;
2005
+ }
2006
+ function __getRegisteredEvents(target, eventName, evtNamespace) {
2007
+ var theEvents = [];
2008
+ var eventCache = elmNodeData.get(target, strEvents, {}, false);
2009
+ var evtName = _getEvtNamespace(eventName, evtNamespace);
2010
+ objForEachKey(eventCache, function (evtType, registeredEvents) {
2011
+ arrForEach(registeredEvents, function (value) {
2012
+ var _a;
2013
+ if (!evtName[_DYN_TYPE ] || evtName[_DYN_TYPE ] === value.evtName[_DYN_TYPE ]) {
2014
+ if (!evtName.ns || evtName.ns === evtName.ns) {
2015
+ theEvents[_DYN_PUSH ]((_a = {},
2016
+ _a[_DYN_NAME ] = value.evtName[_DYN_TYPE ] + (value.evtName.ns ? "." + value.evtName.ns : STR_EMPTY$1),
2017
+ _a.handler = value[_DYN_HANDLER ],
2018
+ _a));
2019
+ }
2020
+ }
2021
+ });
2022
+ });
2023
+ return theEvents;
2024
+ }
2025
+ function _getRegisteredEvents(target, evtName, addDefault) {
2026
+ if (addDefault === void 0) { addDefault = true; }
2027
+ var aiEvts = elmNodeData.get(target, strEvents, {}, addDefault);
2028
+ var registeredEvents = aiEvts[evtName];
2029
+ if (!registeredEvents) {
2030
+ registeredEvents = aiEvts[evtName] = [];
2031
+ }
2032
+ return registeredEvents;
2033
+ }
2034
+ function _doDetach(obj, evtName, handlerRef, useCapture) {
2035
+ if (obj && evtName && evtName[_DYN_TYPE ]) {
2036
+ if (obj[strRemoveEventListener]) {
2037
+ obj[strRemoveEventListener](evtName[_DYN_TYPE ], handlerRef, useCapture);
2038
+ }
2039
+ else if (obj[strDetachEvent]) {
2040
+ obj[strDetachEvent](strOnPrefix + evtName[_DYN_TYPE ], handlerRef);
2041
+ }
2042
+ }
2043
+ }
2044
+ function _doAttach(obj, evtName, handlerRef, useCapture) {
2045
+ var result = false;
2046
+ if (obj && evtName && evtName[_DYN_TYPE ] && handlerRef) {
2047
+ if (obj[strAddEventHelper]) {
2048
+ obj[strAddEventHelper](evtName[_DYN_TYPE ], handlerRef, useCapture);
2049
+ result = true;
2050
+ }
2051
+ else if (obj[strAttachEvent]) {
2052
+ obj[strAttachEvent](strOnPrefix + evtName[_DYN_TYPE ], handlerRef);
2053
+ result = true;
2054
+ }
2055
+ }
2056
+ return result;
2057
+ }
2058
+ function _doUnregister(target, events, evtName, unRegFn) {
2059
+ var idx = events[_DYN_LENGTH ];
2060
+ while (idx--) {
2061
+ var theEvent = events[idx];
2062
+ if (theEvent) {
2063
+ if (!evtName.ns || evtName.ns === theEvent.evtName.ns) {
2064
+ if (!unRegFn || unRegFn(theEvent)) {
2065
+ _doDetach(target, theEvent.evtName, theEvent[_DYN_HANDLER ], theEvent.capture);
2066
+ events[_DYN_SPLICE ](idx, 1);
2067
+ }
2068
+ }
2069
+ }
2070
+ }
2071
+ }
2072
+ function _unregisterEvents(target, evtName, unRegFn) {
2073
+ if (evtName[_DYN_TYPE ]) {
2074
+ _doUnregister(target, _getRegisteredEvents(target, evtName[_DYN_TYPE ]), evtName, unRegFn);
2075
+ }
2076
+ else {
2077
+ var eventCache = elmNodeData.get(target, strEvents, {});
2078
+ objForEachKey(eventCache, function (evtType, events) {
2079
+ _doUnregister(target, events, evtName, unRegFn);
2080
+ });
2081
+ if (objKeys(eventCache)[_DYN_LENGTH ] === 0) {
2082
+ elmNodeData.kill(target, strEvents);
2083
+ }
2084
+ }
2085
+ }
2086
+ function mergeEvtNamespace(theNamespace, namespaces) {
2087
+ var newNamespaces;
2088
+ if (namespaces) {
2089
+ if (isArray(namespaces)) {
2090
+ newNamespaces = [theNamespace].concat(namespaces);
2091
+ }
2092
+ else {
2093
+ newNamespaces = [theNamespace, namespaces];
2094
+ }
2095
+ newNamespaces = (_getEvtNamespace("xx", newNamespaces).ns)[_DYN_SPLIT ](".");
2096
+ }
2097
+ else {
2098
+ newNamespaces = theNamespace;
2099
+ }
2100
+ return newNamespaces;
2101
+ }
2102
+ function eventOn(target, eventName, handlerRef, evtNamespace, useCapture) {
2103
+ var _a;
2104
+ if (useCapture === void 0) { useCapture = false; }
2105
+ var result = false;
2106
+ if (target) {
2107
+ try {
2108
+ var evtName = _getEvtNamespace(eventName, evtNamespace);
2109
+ result = _doAttach(target, evtName, handlerRef, useCapture);
2110
+ if (result && elmNodeData.accept(target)) {
2111
+ var registeredEvent = (_a = {
2112
+ guid: _guid++,
2113
+ evtName: evtName
2114
+ },
2115
+ _a[_DYN_HANDLER ] = handlerRef,
2116
+ _a.capture = useCapture,
2117
+ _a);
2118
+ _getRegisteredEvents(target, evtName.type)[_DYN_PUSH ](registeredEvent);
2119
+ }
2120
+ }
2121
+ catch (e) {
2122
+ }
2123
+ }
2124
+ return result;
2125
+ }
2126
+ function eventOff(target, eventName, handlerRef, evtNamespace, useCapture) {
2127
+ if (useCapture === void 0) { useCapture = false; }
2128
+ if (target) {
2129
+ try {
2130
+ var evtName_1 = _getEvtNamespace(eventName, evtNamespace);
2131
+ var found_1 = false;
2132
+ _unregisterEvents(target, evtName_1, function (regEvent) {
2133
+ if ((evtName_1.ns && !handlerRef) || regEvent[_DYN_HANDLER ] === handlerRef) {
2134
+ found_1 = true;
2135
+ return true;
2136
+ }
2137
+ return false;
2138
+ });
2139
+ if (!found_1) {
2140
+ _doDetach(target, evtName_1, handlerRef, useCapture);
2141
+ }
2142
+ }
2143
+ catch (e) {
2144
+ }
2145
+ }
2146
+ }
2147
+ function attachEvent(obj, eventNameWithoutOn, handlerRef, useCapture) {
2148
+ if (useCapture === void 0) { useCapture = false; }
2149
+ return eventOn(obj, eventNameWithoutOn, handlerRef, null, useCapture);
2150
+ }
2151
+ function detachEvent(obj, eventNameWithoutOn, handlerRef, useCapture) {
2152
+ if (useCapture === void 0) { useCapture = false; }
2153
+ eventOff(obj, eventNameWithoutOn, handlerRef, null, useCapture);
2154
+ }
2155
+ function addEventHandler(eventName, callback, evtNamespace) {
2156
+ var result = false;
2157
+ var w = getWindow();
2158
+ if (w) {
2159
+ result = eventOn(w, eventName, callback, evtNamespace);
2160
+ result = eventOn(w["body"], eventName, callback, evtNamespace) || result;
2161
+ }
2162
+ var doc = getDocument();
2163
+ if (doc) {
2164
+ result = eventOn(doc, eventName, callback, evtNamespace) || result;
2165
+ }
2166
+ return result;
2167
+ }
2168
+ function removeEventHandler(eventName, callback, evtNamespace) {
2169
+ var w = getWindow();
2170
+ if (w) {
2171
+ eventOff(w, eventName, callback, evtNamespace);
2172
+ eventOff(w["body"], eventName, callback, evtNamespace);
2173
+ }
2174
+ var doc = getDocument();
2175
+ if (doc) {
2176
+ eventOff(doc, eventName, callback, evtNamespace);
2177
+ }
2178
+ }
2179
+ function _addEventListeners(events, listener, excludeEvents, evtNamespace) {
2180
+ var added = false;
2181
+ if (listener && events && events[_DYN_LENGTH ] > 0) {
2182
+ arrForEach(events, function (name) {
2183
+ if (name) {
2184
+ if (!excludeEvents || arrIndexOf(excludeEvents, name) === -1) {
2185
+ added = addEventHandler(name, listener, evtNamespace) || added;
2186
+ }
2187
+ }
2188
+ });
2189
+ }
2190
+ return added;
2191
+ }
2192
+ function addEventListeners(events, listener, excludeEvents, evtNamespace) {
2193
+ var added = false;
2194
+ if (listener && events && isArray(events)) {
2195
+ added = _addEventListeners(events, listener, excludeEvents, evtNamespace);
2196
+ if (!added && excludeEvents && excludeEvents[_DYN_LENGTH ] > 0) {
2197
+ added = _addEventListeners(events, listener, null, evtNamespace);
2198
+ }
2199
+ }
2200
+ return added;
2201
+ }
2202
+ function removeEventListeners(events, listener, evtNamespace) {
2203
+ if (events && isArray(events)) {
2204
+ arrForEach(events, function (name) {
2205
+ if (name) {
2206
+ removeEventHandler(name, listener, evtNamespace);
2207
+ }
2208
+ });
2209
+ }
2210
+ }
2211
+ function addPageUnloadEventListener(listener, excludeEvents, evtNamespace) {
2212
+ return addEventListeners([strBeforeUnload, strUnload, strPageHide], listener, excludeEvents, evtNamespace);
2213
+ }
2214
+ function removePageUnloadEventListener(listener, evtNamespace) {
2215
+ removeEventListeners([strBeforeUnload, strUnload, strPageHide], listener, evtNamespace);
2216
+ }
2217
+ function addPageHideEventListener(listener, excludeEvents, evtNamespace) {
2218
+ function _handlePageVisibility(evt) {
2219
+ var doc = getDocument();
2220
+ if (listener && doc && doc.visibilityState === "hidden") {
2221
+ listener(evt);
2222
+ }
2223
+ }
2224
+ var newNamespaces = mergeEvtNamespace(strPageHideNamespace, evtNamespace);
2225
+ var pageUnloadAdded = _addEventListeners([strPageHide], listener, excludeEvents, newNamespaces);
2226
+ if (!excludeEvents || arrIndexOf(excludeEvents, strVisibilityChangeEvt) === -1) {
2227
+ pageUnloadAdded = _addEventListeners([strVisibilityChangeEvt], _handlePageVisibility, excludeEvents, newNamespaces) || pageUnloadAdded;
2228
+ }
2229
+ if (!pageUnloadAdded && excludeEvents) {
2230
+ pageUnloadAdded = addPageHideEventListener(listener, null, evtNamespace);
2231
+ }
2232
+ return pageUnloadAdded;
2233
+ }
2234
+ function removePageHideEventListener(listener, evtNamespace) {
2235
+ var newNamespaces = mergeEvtNamespace(strPageHideNamespace, evtNamespace);
2236
+ removeEventListeners([strPageHide], listener, newNamespaces);
2237
+ removeEventListeners([strVisibilityChangeEvt], null, newNamespaces);
2238
+ }
2239
+ function addPageShowEventListener(listener, excludeEvents, evtNamespace) {
2240
+ function _handlePageVisibility(evt) {
2241
+ var doc = getDocument();
2242
+ if (listener && doc && doc.visibilityState === "visible") {
2243
+ listener(evt);
2244
+ }
2245
+ }
2246
+ var newNamespaces = mergeEvtNamespace(strPageShowNamespace, evtNamespace);
2247
+ var pageShowAdded = _addEventListeners([strPageShow], listener, excludeEvents, newNamespaces);
2248
+ pageShowAdded = _addEventListeners([strVisibilityChangeEvt], _handlePageVisibility, excludeEvents, newNamespaces) || pageShowAdded;
2249
+ if (!pageShowAdded && excludeEvents) {
2250
+ pageShowAdded = addPageShowEventListener(listener, null, evtNamespace);
2251
+ }
2252
+ return pageShowAdded;
2253
+ }
2254
+ function removePageShowEventListener(listener, evtNamespace) {
2255
+ var newNamespaces = mergeEvtNamespace(strPageShowNamespace, evtNamespace);
2256
+ removeEventListeners([strPageShow], listener, newNamespaces);
2257
+ removeEventListeners([strVisibilityChangeEvt], null, newNamespaces);
2258
+ }
2259
+
2260
+ function newGuid() {
2261
+ function randomHexDigit() {
2262
+ return randomValue(15);
2263
+ }
2264
+ return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx"[_DYN_REPLACE ](GuidRegex, function (c) {
2265
+ var r = (randomHexDigit() | 0), v = (c === "x" ? r : r & 0x3 | 0x8);
2266
+ return v.toString(16);
2267
+ });
2268
+ }
2269
+ function perfNow() {
2270
+ var perf = getPerformance();
2271
+ if (perf && perf.now) {
2272
+ return perf.now();
2273
+ }
2274
+ return dateNow();
2275
+ }
2276
+ function generateW3CId() {
2277
+ var hexValues = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f"];
2278
+ var oct = STR_EMPTY$1, tmp;
2279
+ for (var a = 0; a < 4; a++) {
2280
+ tmp = random32();
2281
+ oct +=
2282
+ hexValues[tmp & 0xF] +
2283
+ hexValues[tmp >> 4 & 0xF] +
2284
+ hexValues[tmp >> 8 & 0xF] +
2285
+ hexValues[tmp >> 12 & 0xF] +
2286
+ hexValues[tmp >> 16 & 0xF] +
2287
+ hexValues[tmp >> 20 & 0xF] +
2288
+ hexValues[tmp >> 24 & 0xF] +
2289
+ hexValues[tmp >> 28 & 0xF];
2290
+ }
2291
+ var clockSequenceHi = hexValues[8 + (random32() & 0x03) | 0];
2292
+ 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);
2293
+ }
2294
+ var GuidRegex = /[xy]/g;
2295
+ var EventHelper = {
2296
+ Attach: attachEvent,
2297
+ AttachEvent: attachEvent,
2298
+ Detach: detachEvent,
2299
+ DetachEvent: detachEvent
2300
+ };
2301
+
2302
+ var TRACE_PARENT_REGEX = /^([\da-f]{2})-([\da-f]{32})-([\da-f]{16})-([\da-f]{2})(-[^\s]*)?$/;
2303
+ var DEFAULT_VERSION = "00";
2304
+ var INVALID_VERSION = "ff";
2305
+ var INVALID_TRACE_ID = "00000000000000000000000000000000";
2306
+ var INVALID_SPAN_ID = "0000000000000000";
2307
+ var SAMPLED_FLAG = 0x01;
2308
+ function _isValid(value, len, invalidValue) {
2309
+ if (value && value[_DYN_LENGTH ] === len && value !== invalidValue) {
2310
+ return !!value.match(/^[\da-f]*$/);
2311
+ }
2312
+ return false;
2313
+ }
2314
+ function _formatValue(value, len, defValue) {
2315
+ if (_isValid(value, len)) {
2316
+ return value;
2317
+ }
2318
+ return defValue;
2319
+ }
2320
+ function _formatFlags(value) {
2321
+ if (isNaN(value) || value < 0 || value > 255) {
2322
+ value = 0x01;
2323
+ }
2324
+ var result = value.toString(16);
2325
+ while (result[_DYN_LENGTH ] < 2) {
2326
+ result = "0" + result;
2327
+ }
2328
+ return result;
2329
+ }
2330
+ function createTraceParent(traceId, spanId, flags, version) {
2331
+ var _a;
2332
+ return _a = {},
2333
+ _a[_DYN_VERSION ] = _isValid(version, 2, INVALID_VERSION) ? version : DEFAULT_VERSION,
2334
+ _a[_DYN_TRACE_ID ] = isValidTraceId(traceId) ? traceId : generateW3CId(),
2335
+ _a.spanId = isValidSpanId(spanId) ? spanId : generateW3CId()[_DYN_SUBSTR ](0, 16),
2336
+ _a.traceFlags = flags >= 0 && flags <= 0xFF ? flags : 1,
2337
+ _a;
2338
+ }
2339
+ function parseTraceParent(value) {
2340
+ var _a;
2341
+ if (!value) {
2342
+ return null;
2343
+ }
2344
+ if (isArray(value)) {
2345
+ value = value[0] || "";
2346
+ }
2347
+ if (!value || !isString(value) || value[_DYN_LENGTH ] > 8192) {
2348
+ return null;
2349
+ }
2350
+ var match = TRACE_PARENT_REGEX.exec(strTrim(value));
2351
+ if (!match ||
2352
+ match[1] === INVALID_VERSION ||
2353
+ match[2] === INVALID_TRACE_ID ||
2354
+ match[3] === INVALID_SPAN_ID) {
2355
+ return null;
2356
+ }
2357
+ return _a = {},
2358
+ _a[_DYN_VERSION ] = match[1],
2359
+ _a[_DYN_TRACE_ID ] = match[2],
2360
+ _a[_DYN_SPAN_ID ] = match[3],
2361
+ _a[_DYN_TRACE_FLAGS ] = parseInt(match[4], 16),
2362
+ _a;
2363
+ }
2364
+ function isValidTraceId(value) {
2365
+ return _isValid(value, 32, INVALID_TRACE_ID);
2366
+ }
2367
+ function isValidSpanId(value) {
2368
+ return _isValid(value, 16, INVALID_SPAN_ID);
2369
+ }
2370
+ function isValidTraceParent(value) {
2371
+ if (!value ||
2372
+ !_isValid(value[_DYN_VERSION ], 2, INVALID_VERSION) ||
2373
+ !_isValid(value[_DYN_TRACE_ID ], 32, INVALID_TRACE_ID) ||
2374
+ !_isValid(value[_DYN_SPAN_ID ], 16, INVALID_SPAN_ID) ||
2375
+ !_isValid(_formatFlags(value[_DYN_TRACE_FLAGS ]), 2)) {
2376
+ return false;
2377
+ }
2378
+ return true;
2379
+ }
2380
+ function isSampledFlag(value) {
2381
+ if (isValidTraceParent(value)) {
2382
+ return (value[_DYN_TRACE_FLAGS ] & SAMPLED_FLAG) === SAMPLED_FLAG;
2383
+ }
2384
+ return false;
2385
+ }
2386
+ function formatTraceParent(value) {
2387
+ if (value) {
2388
+ var flags = _formatFlags(value[_DYN_TRACE_FLAGS ]);
2389
+ if (!_isValid(flags, 2)) {
2390
+ flags = "01";
2391
+ }
2392
+ var version = value[_DYN_VERSION ] || DEFAULT_VERSION;
2393
+ if (version !== "00" && version !== "ff") {
2394
+ version = DEFAULT_VERSION;
2395
+ }
2396
+ return "".concat(version, "-").concat(_formatValue(value.traceId, 32, INVALID_TRACE_ID), "-").concat(_formatValue(value.spanId, 16, INVALID_SPAN_ID), "-").concat(flags);
2397
+ }
2398
+ return "";
2399
+ }
2400
+ function findW3cTraceParent() {
2401
+ var name = "traceparent";
2402
+ var traceParent = parseTraceParent(findMetaTag(name));
2403
+ if (!traceParent) {
2404
+ traceParent = parseTraceParent(findNamedServerTiming(name));
2405
+ }
2406
+ return traceParent;
2407
+ }
2408
+
2409
+ var pluginStateData = createElmNodeData("plugin");
2410
+ function _getPluginState(plugin) {
2411
+ return pluginStateData.get(plugin, "state", {}, true);
2412
+ }
2413
+ function initializePlugins(processContext, extensions) {
2414
+ var initPlugins = [];
2415
+ var lastPlugin = null;
2416
+ var proxy = processContext[_DYN_GET_NEXT ]();
2417
+ var pluginState;
2418
+ while (proxy) {
2419
+ var thePlugin = proxy[_DYN_GET_PLUGIN ]();
2420
+ if (thePlugin) {
2421
+ if (lastPlugin &&
2422
+ isFunction(lastPlugin[_DYN_SET_NEXT_PLUGIN ]) &&
2423
+ isFunction(thePlugin[STR_PROCESS_TELEMETRY ])) {
2424
+ lastPlugin[_DYN_SET_NEXT_PLUGIN ](thePlugin);
2425
+ }
2426
+ var isInitialized = false;
2427
+ if (isFunction(thePlugin[_DYN_IS_INITIALIZED ])) {
2428
+ isInitialized = thePlugin[_DYN_IS_INITIALIZED ]();
2429
+ }
2430
+ else {
2431
+ pluginState = _getPluginState(thePlugin);
2432
+ isInitialized = pluginState[_DYN_IS_INITIALIZED ];
2433
+ }
2434
+ if (!isInitialized) {
2435
+ initPlugins[_DYN_PUSH ](thePlugin);
2436
+ }
2437
+ lastPlugin = thePlugin;
2438
+ proxy = proxy[_DYN_GET_NEXT ]();
2439
+ }
2440
+ }
2441
+ arrForEach(initPlugins, function (thePlugin) {
2442
+ var core = processContext[STR_CORE]();
2443
+ thePlugin[_DYN_INITIALIZE ](processContext.getCfg(), core, extensions, processContext[_DYN_GET_NEXT ]());
2444
+ pluginState = _getPluginState(thePlugin);
2445
+ if (!thePlugin[STR_CORE] && !pluginState[STR_CORE]) {
2446
+ pluginState[STR_CORE] = core;
2447
+ }
2448
+ pluginState[_DYN_IS_INITIALIZED ] = true;
2449
+ delete pluginState[_DYN_TEARDOWN ];
2450
+ });
2451
+ }
2452
+ function sortPlugins(plugins) {
2453
+ return plugins.sort(function (extA, extB) {
2454
+ var result = 0;
2455
+ if (extB) {
2456
+ var bHasProcess = isFunction(extB[STR_PROCESS_TELEMETRY]);
2457
+ if (isFunction(extA[STR_PROCESS_TELEMETRY])) {
2458
+ result = bHasProcess ? extA[STR_PRIORITY] - extB[STR_PRIORITY] : 1;
2459
+ }
2460
+ else if (bHasProcess) {
2461
+ result = -1;
2462
+ }
2463
+ }
2464
+ else {
2465
+ result = extA ? 1 : -1;
2466
+ }
2467
+ return result;
2468
+ });
2469
+ }
2470
+ function createDistributedTraceContext(parentCtx) {
2471
+ var trace = {};
2472
+ return {
2473
+ getName: function () {
2474
+ return trace[_DYN_NAME ];
2475
+ },
2476
+ setName: function (newValue) {
2477
+ parentCtx && parentCtx.setName(newValue);
2478
+ trace[_DYN_NAME ] = newValue;
2479
+ },
2480
+ getTraceId: function () {
2481
+ return trace[_DYN_TRACE_ID ];
2482
+ },
2483
+ setTraceId: function (newValue) {
2484
+ parentCtx && parentCtx.setTraceId(newValue);
2485
+ if (isValidTraceId(newValue)) {
2486
+ trace[_DYN_TRACE_ID ] = newValue;
2487
+ }
2488
+ },
2489
+ getSpanId: function () {
2490
+ return trace[_DYN_SPAN_ID ];
2491
+ },
2492
+ setSpanId: function (newValue) {
2493
+ parentCtx && parentCtx.setSpanId(newValue);
2494
+ if (isValidSpanId(newValue)) {
2495
+ trace[_DYN_SPAN_ID ] = newValue;
2496
+ }
2497
+ },
2498
+ getTraceFlags: function () {
2499
+ return trace[_DYN_TRACE_FLAGS ];
2500
+ },
2501
+ setTraceFlags: function (newTraceFlags) {
2502
+ parentCtx && parentCtx.setTraceFlags(newTraceFlags);
2503
+ trace[_DYN_TRACE_FLAGS ] = newTraceFlags;
2504
+ }
2505
+ };
2506
+ }
2507
+
2508
+ var strTelemetryPluginChain = "TelemetryPluginChain";
2509
+ var strHasRunFlags = "_hasRun";
2510
+ var strGetTelCtx = "_getTelCtx";
2511
+ var _chainId = 0;
2512
+ function _getNextProxyStart(proxy, core, startAt) {
2513
+ while (proxy) {
2514
+ if (proxy[_DYN_GET_PLUGIN ]() === startAt) {
2515
+ return proxy;
2516
+ }
2517
+ proxy = proxy[_DYN_GET_NEXT ]();
2518
+ }
2519
+ return createTelemetryProxyChain([startAt], core[_DYN_CONFIG ] || {}, core);
2520
+ }
2521
+ function _createInternalContext(telemetryChain, config, core, startAt) {
2522
+ var _nextProxy = null;
2523
+ var _onComplete = [];
2524
+ if (startAt !== null) {
2525
+ _nextProxy = startAt ? _getNextProxyStart(telemetryChain, core, startAt) : telemetryChain;
2526
+ }
2527
+ var context = {
2528
+ _next: _moveNext,
2529
+ ctx: {
2530
+ core: function () {
2531
+ return core;
2532
+ },
2533
+ diagLog: function () {
2534
+ return safeGetLogger(core, config);
2535
+ },
2536
+ getCfg: function () {
2537
+ return config;
2538
+ },
2539
+ getExtCfg: _getExtCfg,
2540
+ getConfig: _getConfig,
2541
+ hasNext: function () {
2542
+ return !!_nextProxy;
2543
+ },
2544
+ getNext: function () {
2545
+ return _nextProxy;
2546
+ },
2547
+ setNext: function (nextPlugin) {
2548
+ _nextProxy = nextPlugin;
2549
+ },
2550
+ iterate: _iterateChain,
2551
+ onComplete: _addOnComplete
2552
+ }
2553
+ };
2554
+ function _addOnComplete(onComplete, that) {
2555
+ var args = [];
2556
+ for (var _i = 2; _i < arguments.length; _i++) {
2557
+ args[_i - 2] = arguments[_i];
2558
+ }
2559
+ if (onComplete) {
2560
+ _onComplete[_DYN_PUSH ]({
2561
+ func: onComplete,
2562
+ self: !isUndefined(that) ? that : context.ctx,
2563
+ args: args
2564
+ });
2565
+ }
2566
+ }
2567
+ function _moveNext() {
2568
+ var nextProxy = _nextProxy;
2569
+ _nextProxy = nextProxy ? nextProxy[_DYN_GET_NEXT ]() : null;
2570
+ if (!nextProxy) {
2571
+ var onComplete = _onComplete;
2572
+ if (onComplete && onComplete[_DYN_LENGTH ] > 0) {
2573
+ arrForEach(onComplete, function (completeDetails) {
2574
+ try {
2575
+ completeDetails.func[_DYN_CALL ](completeDetails.self, completeDetails.args);
2576
+ }
2577
+ catch (e) {
2578
+ _throwInternal(core[_DYN_LOGGER ], 2 , 73 , "Unexpected Exception during onComplete - " + dumpObj(e));
2579
+ }
2580
+ });
2581
+ _onComplete = [];
2582
+ }
2583
+ }
2584
+ return nextProxy;
2585
+ }
2586
+ function _getExtCfg(identifier, defaultValue, mergeDefault) {
2587
+ if (defaultValue === void 0) { defaultValue = {}; }
2588
+ if (mergeDefault === void 0) { mergeDefault = 0 ; }
2589
+ var theConfig;
2590
+ if (config) {
2591
+ var extConfig = config[STR_EXTENSION_CONFIG ];
2592
+ if (extConfig && identifier) {
2593
+ theConfig = extConfig[identifier];
2594
+ }
2595
+ }
2596
+ if (!theConfig) {
2597
+ theConfig = defaultValue;
2598
+ }
2599
+ else if (isObject(defaultValue)) {
2600
+ if (mergeDefault !== 0 ) {
2601
+ var newConfig_1 = objExtend(true, defaultValue, theConfig);
2602
+ if (config && mergeDefault === 2 ) {
2603
+ objForEachKey(defaultValue, function (field) {
2604
+ if (isNullOrUndefined(newConfig_1[field])) {
2605
+ var cfgValue = config[field];
2606
+ if (!isNullOrUndefined(cfgValue)) {
2607
+ newConfig_1[field] = cfgValue;
2608
+ }
2609
+ }
2610
+ });
2611
+ }
2612
+ theConfig = newConfig_1;
2613
+ }
2614
+ }
2615
+ return theConfig;
2616
+ }
2617
+ function _getConfig(identifier, field, defaultValue) {
2618
+ if (defaultValue === void 0) { defaultValue = false; }
2619
+ var theValue;
2620
+ var extConfig = _getExtCfg(identifier, null);
2621
+ if (extConfig && !isNullOrUndefined(extConfig[field])) {
2622
+ theValue = extConfig[field];
2623
+ }
2624
+ else if (config && !isNullOrUndefined(config[field])) {
2625
+ theValue = config[field];
2626
+ }
2627
+ return !isNullOrUndefined(theValue) ? theValue : defaultValue;
2628
+ }
2629
+ function _iterateChain(cb) {
2630
+ var nextPlugin;
2631
+ while (!!(nextPlugin = context._next())) {
2632
+ var plugin = nextPlugin[_DYN_GET_PLUGIN ]();
2633
+ if (plugin) {
2634
+ cb(plugin);
1789
2635
  }
1790
2636
  }
1791
2637
  }
@@ -1796,7 +2642,7 @@
1796
2642
  var context = internalContext.ctx;
1797
2643
  function _processNext(env) {
1798
2644
  var nextPlugin = internalContext._next();
1799
- nextPlugin && nextPlugin.processTelemetry(env, context);
2645
+ nextPlugin && nextPlugin[STR_PROCESS_TELEMETRY ](env, context);
1800
2646
  return !nextPlugin;
1801
2647
  }
1802
2648
  function _createNew(plugins, startAt) {
@@ -1804,14 +2650,14 @@
1804
2650
  if (isArray(plugins)) {
1805
2651
  plugins = createTelemetryProxyChain(plugins, config, core, startAt);
1806
2652
  }
1807
- return createProcessTelemetryContext(plugins || context.getNext(), config, core, startAt);
2653
+ return createProcessTelemetryContext(plugins || context[_DYN_GET_NEXT ](), config, core, startAt);
1808
2654
  }
1809
- context.processNext = _processNext;
1810
- context.createNew = _createNew;
2655
+ context[_DYN_PROCESS_NEXT ] = _processNext;
2656
+ context[_DYN_CREATE_NEW ] = _createNew;
1811
2657
  return context;
1812
2658
  }
1813
2659
  function createProcessTelemetryUnloadContext(telemetryChain, core, startAt) {
1814
- var config = core.config || {};
2660
+ var config = core[_DYN_CONFIG ] || {};
1815
2661
  var internalContext = _createInternalContext(telemetryChain, config, core, startAt);
1816
2662
  var context = internalContext.ctx;
1817
2663
  function _processNext(unloadState) {
@@ -1824,20 +2670,20 @@
1824
2670
  if (isArray(plugins)) {
1825
2671
  plugins = createTelemetryProxyChain(plugins, config, core, startAt);
1826
2672
  }
1827
- return createProcessTelemetryUnloadContext(plugins || context.getNext(), core, startAt);
2673
+ return createProcessTelemetryUnloadContext(plugins || context[_DYN_GET_NEXT ](), core, startAt);
1828
2674
  }
1829
- context.processNext = _processNext;
1830
- context.createNew = _createNew;
2675
+ context[_DYN_PROCESS_NEXT ] = _processNext;
2676
+ context[_DYN_CREATE_NEW ] = _createNew;
1831
2677
  return context;
1832
2678
  }
1833
2679
  function createProcessTelemetryUpdateContext(telemetryChain, core, startAt) {
1834
- var config = core.config || {};
2680
+ var config = core[_DYN_CONFIG ] || {};
1835
2681
  var internalContext = _createInternalContext(telemetryChain, config, core, startAt);
1836
2682
  var context = internalContext.ctx;
1837
2683
  function _processNext(updateState) {
1838
2684
  return context.iterate(function (plugin) {
1839
- if (isFunction(plugin.update)) {
1840
- plugin.update(context, updateState);
2685
+ if (isFunction(plugin[_DYN_UPDATE ])) {
2686
+ plugin[_DYN_UPDATE ](context, updateState);
1841
2687
  }
1842
2688
  });
1843
2689
  }
@@ -1846,22 +2692,22 @@
1846
2692
  if (isArray(plugins)) {
1847
2693
  plugins = createTelemetryProxyChain(plugins, config, core, startAt);
1848
2694
  }
1849
- return createProcessTelemetryUpdateContext(plugins || context.getNext(), core, startAt);
2695
+ return createProcessTelemetryUpdateContext(plugins || context[_DYN_GET_NEXT ](), core, startAt);
1850
2696
  }
1851
- context.processNext = _processNext;
1852
- context.createNew = _createNew;
2697
+ context[_DYN_PROCESS_NEXT ] = _processNext;
2698
+ context[_DYN_CREATE_NEW ] = _createNew;
1853
2699
  return context;
1854
2700
  }
1855
2701
  function createTelemetryProxyChain(plugins, config, core, startAt) {
1856
2702
  var firstProxy = null;
1857
2703
  var add = startAt ? false : true;
1858
- if (isArray(plugins) && plugins.length > 0) {
2704
+ if (isArray(plugins) && plugins[_DYN_LENGTH ] > 0) {
1859
2705
  var lastProxy_1 = null;
1860
2706
  arrForEach(plugins, function (thePlugin) {
1861
2707
  if (!add && startAt === thePlugin) {
1862
2708
  add = true;
1863
2709
  }
1864
- if (add && thePlugin && isFunction(thePlugin.processTelemetry)) {
2710
+ if (add && thePlugin && isFunction(thePlugin[STR_PROCESS_TELEMETRY ])) {
1865
2711
  var newProxy = createTelemetryPluginProxy(thePlugin, config, core);
1866
2712
  if (!firstProxy) {
1867
2713
  firstProxy = newProxy;
@@ -1880,11 +2726,11 @@
1880
2726
  }
1881
2727
  function createTelemetryPluginProxy(plugin, config, core) {
1882
2728
  var nextProxy = null;
1883
- var hasProcessTelemetry = isFunction(plugin.processTelemetry);
1884
- var hasSetNext = isFunction(plugin.setNextPlugin);
2729
+ var hasProcessTelemetry = isFunction(plugin[STR_PROCESS_TELEMETRY ]);
2730
+ var hasSetNext = isFunction(plugin[_DYN_SET_NEXT_PLUGIN ]);
1885
2731
  var chainId;
1886
2732
  if (plugin) {
1887
- chainId = plugin.identifier + "-" + plugin.priority + "-" + _chainId++;
2733
+ chainId = plugin[_DYN_IDENTIFIER ] + "-" + plugin[STR_PRIORITY ] + "-" + _chainId++;
1888
2734
  }
1889
2735
  else {
1890
2736
  chainId = "Unknown-0-" + _chainId++;
@@ -1916,17 +2762,17 @@
1916
2762
  }
1917
2763
  function _processChain(itemCtx, processPluginFn, name, details, isAsync) {
1918
2764
  var hasRun = false;
1919
- var identifier = plugin ? plugin.identifier : strTelemetryPluginChain;
2765
+ var identifier = plugin ? plugin[_DYN_IDENTIFIER ] : strTelemetryPluginChain;
1920
2766
  var hasRunContext = itemCtx[strHasRunFlags];
1921
2767
  if (!hasRunContext) {
1922
2768
  hasRunContext = itemCtx[strHasRunFlags] = {};
1923
2769
  }
1924
2770
  itemCtx.setNext(nextProxy);
1925
2771
  if (plugin) {
1926
- doPerf(itemCtx[strCore](), function () { return identifier + ":" + name; }, function () {
2772
+ doPerf(itemCtx[STR_CORE ](), function () { return identifier + ":" + name; }, function () {
1927
2773
  hasRunContext[chainId] = true;
1928
2774
  try {
1929
- var nextId = nextProxy ? nextProxy._id : strEmpty;
2775
+ var nextId = nextProxy ? nextProxy._id : STR_EMPTY$1;
1930
2776
  if (nextId) {
1931
2777
  hasRunContext[nextId] = false;
1932
2778
  }
@@ -1938,7 +2784,7 @@
1938
2784
  hasRun = true;
1939
2785
  }
1940
2786
  if (!nextProxy || !hasNextRun) {
1941
- _throwInternal(itemCtx.diagLog(), 1 , 73 , "Plugin [" + identifier + "] failed during " + name + " - " + dumpObj(error) + ", run flags: " + dumpObj(hasRunContext));
2787
+ _throwInternal(itemCtx[_DYN_DIAG_LOG ](), 1 , 73 , "Plugin [" + identifier + "] failed during " + name + " - " + dumpObj(error) + ", run flags: " + dumpObj(hasRunContext));
1942
2788
  }
1943
2789
  }
1944
2790
  }, details, isAsync);
@@ -1952,17 +2798,17 @@
1952
2798
  return false;
1953
2799
  }
1954
2800
  var pluginState = _getPluginState(plugin);
1955
- if (pluginState.teardown || pluginState[strDisabled]) {
2801
+ if (pluginState[_DYN_TEARDOWN ] || pluginState[STR_DISABLED]) {
1956
2802
  return false;
1957
2803
  }
1958
2804
  if (hasSetNext) {
1959
- plugin.setNextPlugin(nextProxy);
2805
+ plugin[_DYN_SET_NEXT_PLUGIN ](nextProxy);
1960
2806
  }
1961
- plugin.processTelemetry(env, itemCtx);
2807
+ plugin[STR_PROCESS_TELEMETRY ](env, itemCtx);
1962
2808
  return true;
1963
2809
  }
1964
2810
  if (!_processChain(itemCtx, _callProcessTelemetry, "processTelemetry", function () { return ({ item: env }); }, !(env.sync))) {
1965
- itemCtx.processNext(env);
2811
+ itemCtx[_DYN_PROCESS_NEXT ](env);
1966
2812
  }
1967
2813
  }
1968
2814
  function _unloadPlugin(unloadCtx, unloadState) {
@@ -1970,20 +2816,20 @@
1970
2816
  var hasRun = false;
1971
2817
  if (plugin) {
1972
2818
  var pluginState = _getPluginState(plugin);
1973
- var pluginCore = plugin[strCore] || pluginState.core;
1974
- if (plugin && (!pluginCore || pluginCore === unloadCtx[strCore]()) && !pluginState[strTeardown]) {
1975
- pluginState[strCore] = null;
1976
- pluginState[strTeardown] = true;
1977
- pluginState[strIsInitialized] = false;
1978
- if (plugin[strTeardown] && plugin[strTeardown](unloadCtx, unloadState) === true) {
2819
+ var pluginCore = plugin[STR_CORE] || pluginState[STR_CORE ];
2820
+ if (plugin && (!pluginCore || pluginCore === unloadCtx.core()) && !pluginState[_DYN_TEARDOWN ]) {
2821
+ pluginState[STR_CORE ] = null;
2822
+ pluginState[_DYN_TEARDOWN ] = true;
2823
+ pluginState[_DYN_IS_INITIALIZED ] = false;
2824
+ if (plugin[_DYN_TEARDOWN ] && plugin[_DYN_TEARDOWN ](unloadCtx, unloadState) === true) {
1979
2825
  hasRun = true;
1980
2826
  }
1981
2827
  }
1982
2828
  }
1983
2829
  return hasRun;
1984
2830
  }
1985
- if (!_processChain(unloadCtx, _callTeardown, "unload", function () { }, unloadState.isAsync)) {
1986
- unloadCtx.processNext(unloadState);
2831
+ if (!_processChain(unloadCtx, _callTeardown, "unload", function () { }, unloadState[_DYN_IS_ASYNC ])) {
2832
+ unloadCtx[_DYN_PROCESS_NEXT ](unloadState);
1987
2833
  }
1988
2834
  }
1989
2835
  function _updatePlugin(updateCtx, updateState) {
@@ -1991,9 +2837,9 @@
1991
2837
  var hasRun = false;
1992
2838
  if (plugin) {
1993
2839
  var pluginState = _getPluginState(plugin);
1994
- var pluginCore = plugin[strCore] || pluginState.core;
1995
- if (plugin && (!pluginCore || pluginCore === updateCtx[strCore]()) && !pluginState[strTeardown]) {
1996
- if (plugin[strUpdate] && plugin[strUpdate](updateCtx, updateState) === true) {
2840
+ var pluginCore = plugin[STR_CORE] || pluginState[STR_CORE ];
2841
+ if (plugin && (!pluginCore || pluginCore === updateCtx.core()) && !pluginState[_DYN_TEARDOWN ]) {
2842
+ if (plugin[_DYN_UPDATE ] && plugin[_DYN_UPDATE ](updateCtx, updateState) === true) {
1997
2843
  hasRun = true;
1998
2844
  }
1999
2845
  }
@@ -2001,7 +2847,7 @@
2001
2847
  return hasRun;
2002
2848
  }
2003
2849
  if (!_processChain(updateCtx, _callUpdate, "update", function () { }, false)) {
2004
- updateCtx.processNext(updateState);
2850
+ updateCtx[_DYN_PROCESS_NEXT ](updateState);
2005
2851
  }
2006
2852
  }
2007
2853
  return objFreeze(proxyChain);
@@ -2015,279 +2861,30 @@
2015
2861
  return ProcessTelemetryContext;
2016
2862
  }());
2017
2863
 
2018
- var strToGMTString = "toGMTString";
2019
- var strToUTCString = "toUTCString";
2020
- var strCookie = "cookie";
2021
- var strExpires = "expires";
2022
- var strEnabled = "enabled";
2023
- var strIsCookieUseDisabled = "isCookieUseDisabled";
2024
- var strDisableCookiesUsage = "disableCookiesUsage";
2025
- var strConfigCookieMgr = "_ckMgr";
2026
- var _supportsCookies = null;
2027
- var _allowUaSameSite = null;
2028
- var _parsedCookieValue = null;
2029
- var _doc = getDocument();
2030
- var _cookieCache = {};
2031
- var _globalCookieConfig = {};
2032
- function _gblCookieMgr(config, logger) {
2033
- var inst = createCookieMgr[strConfigCookieMgr] || _globalCookieConfig[strConfigCookieMgr];
2034
- if (!inst) {
2035
- inst = createCookieMgr[strConfigCookieMgr] = createCookieMgr(config, logger);
2036
- _globalCookieConfig[strConfigCookieMgr] = inst;
2037
- }
2038
- return inst;
2039
- }
2040
- function _isMgrEnabled(cookieMgr) {
2041
- if (cookieMgr) {
2042
- return cookieMgr.isEnabled();
2043
- }
2044
- return true;
2045
- }
2046
- function _createCookieMgrConfig(rootConfig) {
2047
- var cookieMgrCfg = rootConfig.cookieCfg = rootConfig.cookieCfg || {};
2048
- setValue(cookieMgrCfg, "domain", rootConfig.cookieDomain, isNotNullOrUndefined, isNullOrUndefined);
2049
- setValue(cookieMgrCfg, "path", rootConfig.cookiePath || "/", null, isNullOrUndefined);
2050
- if (isNullOrUndefined(cookieMgrCfg[strEnabled])) {
2051
- var cookieEnabled = void 0;
2052
- if (!isUndefined(rootConfig[strIsCookieUseDisabled])) {
2053
- cookieEnabled = !rootConfig[strIsCookieUseDisabled];
2054
- }
2055
- if (!isUndefined(rootConfig[strDisableCookiesUsage])) {
2056
- cookieEnabled = !rootConfig[strDisableCookiesUsage];
2057
- }
2058
- cookieMgrCfg[strEnabled] = cookieEnabled;
2059
- }
2060
- return cookieMgrCfg;
2061
- }
2062
- function safeGetCookieMgr(core, config) {
2063
- var cookieMgr;
2064
- if (core) {
2065
- cookieMgr = core.getCookieMgr();
2066
- }
2067
- else if (config) {
2068
- var cookieCfg = config.cookieCfg;
2069
- if (cookieCfg[strConfigCookieMgr]) {
2070
- cookieMgr = cookieCfg[strConfigCookieMgr];
2071
- }
2072
- else {
2073
- cookieMgr = createCookieMgr(config);
2074
- }
2075
- }
2076
- if (!cookieMgr) {
2077
- cookieMgr = _gblCookieMgr(config, (core || {}).logger);
2078
- }
2079
- return cookieMgr;
2080
- }
2081
- function createCookieMgr(rootConfig, logger) {
2082
- var cookieMgrConfig = _createCookieMgrConfig(rootConfig || _globalCookieConfig);
2083
- var _path = cookieMgrConfig.path || "/";
2084
- var _domain = cookieMgrConfig.domain;
2085
- var _enabled = cookieMgrConfig[strEnabled] !== false;
2086
- var cookieMgr = {
2087
- isEnabled: function () {
2088
- var enabled = _enabled && areCookiesSupported(logger);
2089
- var gblManager = _globalCookieConfig[strConfigCookieMgr];
2090
- if (enabled && gblManager && cookieMgr !== gblManager) {
2091
- enabled = _isMgrEnabled(gblManager);
2092
- }
2093
- return enabled;
2094
- },
2095
- setEnabled: function (value) {
2096
- _enabled = value !== false;
2097
- },
2098
- set: function (name, value, maxAgeSec, domain, path) {
2099
- var result = false;
2100
- if (_isMgrEnabled(cookieMgr)) {
2101
- var values = {};
2102
- var theValue = strTrim(value || strEmpty);
2103
- var idx = theValue.indexOf(";");
2104
- if (idx !== -1) {
2105
- theValue = strTrim(value.substring(0, idx));
2106
- values = _extractParts(value.substring(idx + 1));
2107
- }
2108
- setValue(values, "domain", domain || _domain, isTruthy, isUndefined);
2109
- if (!isNullOrUndefined(maxAgeSec)) {
2110
- var _isIE = isIE();
2111
- if (isUndefined(values[strExpires])) {
2112
- var nowMs = dateNow();
2113
- var expireMs = nowMs + (maxAgeSec * 1000);
2114
- if (expireMs > 0) {
2115
- var expiry = new Date();
2116
- expiry.setTime(expireMs);
2117
- setValue(values, strExpires, _formatDate(expiry, !_isIE ? strToUTCString : strToGMTString) || _formatDate(expiry, _isIE ? strToGMTString : strToUTCString) || strEmpty, isTruthy);
2118
- }
2119
- }
2120
- if (!_isIE) {
2121
- setValue(values, "max-age", strEmpty + maxAgeSec, null, isUndefined);
2122
- }
2123
- }
2124
- var location_1 = getLocation();
2125
- if (location_1 && location_1.protocol === "https:") {
2126
- setValue(values, "secure", null, null, isUndefined);
2127
- if (_allowUaSameSite === null) {
2128
- _allowUaSameSite = !uaDisallowsSameSiteNone((getNavigator() || {}).userAgent);
2129
- }
2130
- if (_allowUaSameSite) {
2131
- setValue(values, "SameSite", "None", null, isUndefined);
2132
- }
2133
- }
2134
- setValue(values, "path", path || _path, null, isUndefined);
2135
- var setCookieFn = cookieMgrConfig.setCookie || _setCookieValue;
2136
- setCookieFn(name, _formatCookieValue(theValue, values));
2137
- result = true;
2138
- }
2139
- return result;
2140
- },
2141
- get: function (name) {
2142
- var value = strEmpty;
2143
- if (_isMgrEnabled(cookieMgr)) {
2144
- value = (cookieMgrConfig.getCookie || _getCookieValue)(name);
2145
- }
2146
- return value;
2147
- },
2148
- del: function (name, path) {
2149
- var result = false;
2150
- if (_isMgrEnabled(cookieMgr)) {
2151
- result = cookieMgr.purge(name, path);
2152
- }
2153
- return result;
2154
- },
2155
- purge: function (name, path) {
2156
- var _a;
2157
- var result = false;
2158
- if (areCookiesSupported(logger)) {
2159
- var values = (_a = {},
2160
- _a["path"] = path ? path : "/",
2161
- _a[strExpires] = "Thu, 01 Jan 1970 00:00:01 GMT",
2162
- _a);
2163
- if (!isIE()) {
2164
- values["max-age"] = "0";
2165
- }
2166
- var delCookie = cookieMgrConfig.delCookie || _setCookieValue;
2167
- delCookie(name, _formatCookieValue(strEmpty, values));
2168
- result = true;
2169
- }
2170
- return result;
2171
- }
2172
- };
2173
- cookieMgr[strConfigCookieMgr] = cookieMgr;
2174
- return cookieMgr;
2175
- }
2176
- function areCookiesSupported(logger) {
2177
- if (_supportsCookies === null) {
2178
- _supportsCookies = false;
2179
- try {
2180
- var doc = _doc || {};
2181
- _supportsCookies = doc[strCookie] !== undefined;
2182
- }
2183
- catch (e) {
2184
- _throwInternal(logger, 2 , 68 , "Cannot access document.cookie - " + getExceptionName(e), { exception: dumpObj(e) });
2185
- }
2186
- }
2187
- return _supportsCookies;
2188
- }
2189
- function _extractParts(theValue) {
2190
- var values = {};
2191
- if (theValue && theValue.length) {
2192
- var parts = strTrim(theValue).split(";");
2193
- arrForEach(parts, function (thePart) {
2194
- thePart = strTrim(thePart || strEmpty);
2195
- if (thePart) {
2196
- var idx = thePart.indexOf("=");
2197
- if (idx === -1) {
2198
- values[thePart] = null;
2199
- }
2200
- else {
2201
- values[strTrim(thePart.substring(0, idx))] = strTrim(thePart.substring(idx + 1));
2202
- }
2203
- }
2204
- });
2205
- }
2206
- return values;
2207
- }
2208
- function _formatDate(theDate, func) {
2209
- if (isFunction(theDate[func])) {
2210
- return theDate[func]();
2211
- }
2212
- return null;
2213
- }
2214
- function _formatCookieValue(value, values) {
2215
- var cookieValue = value || strEmpty;
2216
- objForEachKey(values, function (name, theValue) {
2217
- cookieValue += "; " + name + (!isNullOrUndefined(theValue) ? "=" + theValue : strEmpty);
2218
- });
2219
- return cookieValue;
2220
- }
2221
- function _getCookieValue(name) {
2222
- var cookieValue = strEmpty;
2223
- if (_doc) {
2224
- var theCookie = _doc[strCookie] || strEmpty;
2225
- if (_parsedCookieValue !== theCookie) {
2226
- _cookieCache = _extractParts(theCookie);
2227
- _parsedCookieValue = theCookie;
2228
- }
2229
- cookieValue = strTrim(_cookieCache[name] || strEmpty);
2230
- }
2231
- return cookieValue;
2232
- }
2233
- function _setCookieValue(name, cookieValue) {
2234
- if (_doc) {
2235
- _doc[strCookie] = name + "=" + cookieValue;
2236
- }
2237
- }
2238
- function uaDisallowsSameSiteNone(userAgent) {
2239
- if (!isString(userAgent)) {
2240
- return false;
2241
- }
2242
- if (strContains(userAgent, "CPU iPhone OS 12") || strContains(userAgent, "iPad; CPU OS 12")) {
2243
- return true;
2244
- }
2245
- if (strContains(userAgent, "Macintosh; Intel Mac OS X 10_14") && strContains(userAgent, "Version/") && strContains(userAgent, "Safari")) {
2246
- return true;
2247
- }
2248
- if (strContains(userAgent, "Macintosh; Intel Mac OS X 10_14") && strEndsWith(userAgent, "AppleWebKit/605.1.15 (KHTML, like Gecko)")) {
2249
- return true;
2250
- }
2251
- if (strContains(userAgent, "Chrome/5") || strContains(userAgent, "Chrome/6")) {
2252
- return true;
2253
- }
2254
- if (strContains(userAgent, "UnrealEngine") && !strContains(userAgent, "Chrome")) {
2255
- return true;
2256
- }
2257
- if (strContains(userAgent, "UCBrowser/12") || strContains(userAgent, "UCBrowser/11")) {
2258
- return true;
2259
- }
2260
- return false;
2261
- }
2262
-
2263
- var strIKey = "iKey";
2264
- var strExtensionConfig = "extensionConfig";
2265
-
2266
2864
  var ChannelControllerPriority = 500;
2267
2865
  var ChannelValidationMessage = "Channel has invalid priority - ";
2268
- function _addChannelQueue(channelQueue, queue, config, core) {
2269
- if (queue && isArray(queue) && queue.length > 0) {
2866
+ function _addChannelQueue(channelQueue, queue, core) {
2867
+ if (queue && isArray(queue) && queue[_DYN_LENGTH ] > 0) {
2270
2868
  queue = queue.sort(function (a, b) {
2271
- return a.priority - b.priority;
2869
+ return a[STR_PRIORITY ] - b[STR_PRIORITY ];
2272
2870
  });
2273
2871
  arrForEach(queue, function (queueItem) {
2274
- if (queueItem.priority < ChannelControllerPriority) {
2275
- throwError(ChannelValidationMessage + queueItem.identifier);
2872
+ if (queueItem[STR_PRIORITY ] < ChannelControllerPriority) {
2873
+ throwError(ChannelValidationMessage + queueItem[_DYN_IDENTIFIER ]);
2276
2874
  }
2277
2875
  });
2278
- channelQueue.push({
2876
+ channelQueue[_DYN_PUSH ]({
2279
2877
  queue: objFreeze(queue),
2280
- chain: createTelemetryProxyChain(queue, config, core)
2878
+ chain: createTelemetryProxyChain(queue, core[_DYN_CONFIG ], core)
2281
2879
  });
2282
2880
  }
2283
2881
  }
2284
2882
  function createChannelControllerPlugin(channelQueue, core) {
2285
- var _a;
2286
2883
  function _getTelCtx() {
2287
- return createProcessTelemetryContext(null, core.config, core, null);
2884
+ return createProcessTelemetryContext(null, core[_DYN_CONFIG ], core, null);
2288
2885
  }
2289
2886
  function _processChannelQueue(theChannels, itemCtx, processFn, onComplete) {
2290
- var waiting = theChannels ? (theChannels.length + 1) : 1;
2887
+ var waiting = theChannels ? (theChannels[_DYN_LENGTH ] + 1) : 1;
2291
2888
  function _runChainOnComplete() {
2292
2889
  waiting--;
2293
2890
  if (waiting === 0) {
@@ -2297,10 +2894,10 @@
2297
2894
  }
2298
2895
  if (waiting > 0) {
2299
2896
  arrForEach(theChannels, function (channels) {
2300
- if (channels && channels.queue.length > 0) {
2897
+ if (channels && channels.queue[_DYN_LENGTH ] > 0) {
2301
2898
  var channelChain = channels.chain;
2302
- var chainCtx = itemCtx.createNew(channelChain);
2303
- chainCtx.onComplete(_runChainOnComplete);
2899
+ var chainCtx = itemCtx[_DYN_CREATE_NEW ](channelChain);
2900
+ chainCtx[_DYN_ON_COMPLETE ](_runChainOnComplete);
2304
2901
  processFn(chainCtx);
2305
2902
  }
2306
2903
  else {
@@ -2315,9 +2912,9 @@
2315
2912
  reason: 0
2316
2913
  };
2317
2914
  _processChannelQueue(channelQueue, updateCtx, function (chainCtx) {
2318
- chainCtx[strProcessNext](theUpdateState);
2915
+ chainCtx[_DYN_PROCESS_NEXT ](theUpdateState);
2319
2916
  }, function () {
2320
- updateCtx[strProcessNext](theUpdateState);
2917
+ updateCtx[_DYN_PROCESS_NEXT ](theUpdateState);
2321
2918
  });
2322
2919
  return true;
2323
2920
  }
@@ -2327,20 +2924,20 @@
2327
2924
  isAsync: false
2328
2925
  };
2329
2926
  _processChannelQueue(channelQueue, unloadCtx, function (chainCtx) {
2330
- chainCtx[strProcessNext](theUnloadState);
2927
+ chainCtx[_DYN_PROCESS_NEXT ](theUnloadState);
2331
2928
  }, function () {
2332
- unloadCtx[strProcessNext](theUnloadState);
2929
+ unloadCtx[_DYN_PROCESS_NEXT ](theUnloadState);
2333
2930
  isInitialized = false;
2334
2931
  });
2335
2932
  return true;
2336
2933
  }
2337
2934
  function _getChannel(pluginIdentifier) {
2338
2935
  var thePlugin = null;
2339
- if (channelQueue && channelQueue.length > 0) {
2936
+ if (channelQueue && channelQueue[_DYN_LENGTH ] > 0) {
2340
2937
  arrForEach(channelQueue, function (channels) {
2341
- if (channels && channels.queue.length > 0) {
2938
+ if (channels && channels.queue[_DYN_LENGTH ] > 0) {
2342
2939
  arrForEach(channels.queue, function (ext) {
2343
- if (ext.identifier === pluginIdentifier) {
2940
+ if (ext[_DYN_IDENTIFIER ] === pluginIdentifier) {
2344
2941
  thePlugin = ext;
2345
2942
  return -1;
2346
2943
  }
@@ -2354,46 +2951,45 @@
2354
2951
  return thePlugin;
2355
2952
  }
2356
2953
  var isInitialized = false;
2357
- var channelController = (_a = {
2358
- identifier: "ChannelControllerPlugin",
2359
- priority: ChannelControllerPriority,
2360
- initialize: function (config, core, extensions, pluginChain) {
2361
- isInitialized = true;
2362
- arrForEach(channelQueue, function (channels) {
2363
- if (channels && channels.queue.length > 0) {
2364
- initializePlugins(createProcessTelemetryContext(channels.chain, config, core), extensions);
2365
- }
2366
- });
2367
- },
2368
- isInitialized: function () {
2369
- return isInitialized;
2370
- },
2371
- processTelemetry: function (item, itemCtx) {
2372
- _processChannelQueue(channelQueue, itemCtx || _getTelCtx(), function (chainCtx) {
2373
- chainCtx[strProcessNext](item);
2374
- }, function () {
2375
- itemCtx[strProcessNext](item);
2376
- });
2377
- },
2378
- update: _doUpdate
2954
+ var channelController = {
2955
+ identifier: "ChannelControllerPlugin",
2956
+ priority: ChannelControllerPriority,
2957
+ initialize: function (config, core, extensions, pluginChain) {
2958
+ isInitialized = true;
2959
+ arrForEach(channelQueue, function (channels) {
2960
+ if (channels && channels.queue[_DYN_LENGTH ] > 0) {
2961
+ initializePlugins(createProcessTelemetryContext(channels.chain, config, core), extensions);
2962
+ }
2963
+ });
2379
2964
  },
2380
- _a[strPause] = function () {
2965
+ isInitialized: function () {
2966
+ return isInitialized;
2967
+ },
2968
+ processTelemetry: function (item, itemCtx) {
2969
+ _processChannelQueue(channelQueue, itemCtx || _getTelCtx(), function (chainCtx) {
2970
+ chainCtx[_DYN_PROCESS_NEXT ](item);
2971
+ }, function () {
2972
+ itemCtx[_DYN_PROCESS_NEXT ](item);
2973
+ });
2974
+ },
2975
+ update: _doUpdate,
2976
+ pause: function () {
2381
2977
  _processChannelQueue(channelQueue, _getTelCtx(), function (chainCtx) {
2382
2978
  chainCtx.iterate(function (plugin) {
2383
- plugin[strPause] && plugin[strPause]();
2979
+ plugin.pause && plugin.pause();
2384
2980
  });
2385
2981
  }, null);
2386
2982
  },
2387
- _a[strResume] = function () {
2983
+ resume: function () {
2388
2984
  _processChannelQueue(channelQueue, _getTelCtx(), function (chainCtx) {
2389
2985
  chainCtx.iterate(function (plugin) {
2390
- plugin[strResume] && plugin[strResume]();
2986
+ plugin.resume && plugin.resume();
2391
2987
  });
2392
2988
  }, null);
2393
2989
  },
2394
- _a[strTeardown] = _doTeardown,
2395
- _a.getChannel = _getChannel,
2396
- _a.flush = function (isAsync, callBack, sendReason, cbTimeout) {
2990
+ teardown: _doTeardown,
2991
+ getChannel: _getChannel,
2992
+ flush: function (isAsync, callBack, sendReason, cbTimeout) {
2397
2993
  var waiting = 1;
2398
2994
  var doneIterating = false;
2399
2995
  var cbTimer = null;
@@ -2411,10 +3007,10 @@
2411
3007
  }
2412
3008
  _processChannelQueue(channelQueue, _getTelCtx(), function (chainCtx) {
2413
3009
  chainCtx.iterate(function (plugin) {
2414
- if (plugin.flush) {
3010
+ if (plugin[_DYN_FLUSH ]) {
2415
3011
  waiting++;
2416
3012
  var handled_1 = false;
2417
- if (!plugin.flush(isAsync, function () {
3013
+ if (!plugin[_DYN_FLUSH ](isAsync, function () {
2418
3014
  handled_1 = true;
2419
3015
  doCallback();
2420
3016
  }, sendReason)) {
@@ -2438,25 +3034,25 @@
2438
3034
  });
2439
3035
  return true;
2440
3036
  },
2441
- _a._setQueue = function (queue) {
3037
+ _setQueue: function (queue) {
2442
3038
  channelQueue = queue;
2443
- },
2444
- _a);
3039
+ }
3040
+ };
2445
3041
  return channelController;
2446
3042
  }
2447
- function createChannelQueues(channels, extensions, config, core) {
3043
+ function createChannelQueues(channels, extensions, core) {
2448
3044
  var channelQueue = [];
2449
3045
  if (channels) {
2450
- arrForEach(channels, function (queue) { return _addChannelQueue(channelQueue, queue, config, core); });
3046
+ arrForEach(channels, function (queue) { return _addChannelQueue(channelQueue, queue, core); });
2451
3047
  }
2452
3048
  if (extensions) {
2453
3049
  var extensionQueue_1 = [];
2454
3050
  arrForEach(extensions, function (plugin) {
2455
- if (plugin.priority > ChannelControllerPriority) {
2456
- extensionQueue_1.push(plugin);
3051
+ if (plugin[STR_PRIORITY ] > ChannelControllerPriority) {
3052
+ extensionQueue_1[_DYN_PUSH ](plugin);
2457
3053
  }
2458
3054
  });
2459
- _addChannelQueue(channelQueue, extensionQueue_1, config, core);
3055
+ _addChannelQueue(channelQueue, extensionQueue_1, core);
2460
3056
  }
2461
3057
  return channelQueue;
2462
3058
  }
@@ -2465,7 +3061,7 @@
2465
3061
  var handlers = [];
2466
3062
  function _addHandler(handler) {
2467
3063
  if (handler) {
2468
- handlers.push(handler);
3064
+ handlers[_DYN_PUSH ](handler);
2469
3065
  }
2470
3066
  }
2471
3067
  function _runHandlers(unloadCtx, unloadState) {
@@ -2474,7 +3070,7 @@
2474
3070
  handler(unloadCtx, unloadState);
2475
3071
  }
2476
3072
  catch (e) {
2477
- _throwInternal(unloadCtx.diagLog(), 2 , 73 , "Unexpected error calling unload handler - " + dumpObj(e));
3073
+ _throwInternal(unloadCtx[_DYN_DIAG_LOG ](), 2 , 73 , "Unexpected error calling unload handler - " + dumpObj(e));
2478
3074
  }
2479
3075
  });
2480
3076
  handlers = [];
@@ -2496,37 +3092,40 @@
2496
3092
  var _hooks;
2497
3093
  _initDefaults();
2498
3094
  dynamicProto(BaseTelemetryPlugin, _self, function (_self) {
2499
- _self.initialize = function (config, core, extensions, pluginChain) {
3095
+ _self[_DYN_INITIALIZE ] = function (config, core, extensions, pluginChain) {
2500
3096
  _setDefaults(config, core, pluginChain);
2501
3097
  _isinitialized = true;
2502
3098
  };
2503
- _self.teardown = function (unloadCtx, unloadState) {
2504
- var core = _self.core;
2505
- if (!core || (unloadCtx && core !== unloadCtx.core())) {
3099
+ _self[_DYN_TEARDOWN ] = function (unloadCtx, unloadState) {
3100
+ var _a;
3101
+ var core = _self[STR_CORE ];
3102
+ if (!core || (unloadCtx && core !== unloadCtx[STR_CORE ]())) {
2506
3103
  return;
2507
3104
  }
2508
3105
  var result;
2509
3106
  var unloadDone = false;
2510
3107
  var theUnloadCtx = unloadCtx || createProcessTelemetryUnloadContext(null, core, _nextPlugin && _nextPlugin[strGetPlugin] ? _nextPlugin[strGetPlugin]() : _nextPlugin);
2511
- var theUnloadState = unloadState || {
2512
- reason: 0 ,
2513
- isAsync: false
2514
- };
3108
+ var theUnloadState = unloadState || (_a = {
3109
+ reason: 0
3110
+ },
3111
+ _a[_DYN_IS_ASYNC ] = false,
3112
+ _a);
2515
3113
  function _unloadCallback() {
2516
3114
  if (!unloadDone) {
2517
3115
  unloadDone = true;
2518
3116
  _unloadHandlerContainer.run(theUnloadCtx, unloadState);
2519
- arrForEach(_hooks, function (fn) {
3117
+ var oldHooks = _hooks;
3118
+ _hooks = [];
3119
+ arrForEach(oldHooks, function (fn) {
2520
3120
  fn.rm();
2521
3121
  });
2522
- _hooks = [];
2523
3122
  if (result === true) {
2524
- theUnloadCtx.processNext(theUnloadState);
3123
+ theUnloadCtx[_DYN_PROCESS_NEXT ](theUnloadState);
2525
3124
  }
2526
3125
  _initDefaults();
2527
3126
  }
2528
3127
  }
2529
- if (!_self[strDoTeardown] || _self[strDoTeardown](theUnloadCtx, theUnloadState, _unloadCallback) !== true) {
3128
+ if (!_self[_DYN__DO_TEARDOWN ] || _self[_DYN__DO_TEARDOWN ](theUnloadCtx, theUnloadState, _unloadCallback) !== true) {
2530
3129
  _unloadCallback();
2531
3130
  }
2532
3131
  else {
@@ -2534,9 +3133,9 @@
2534
3133
  }
2535
3134
  return result;
2536
3135
  };
2537
- _self.update = function (updateCtx, updateState) {
2538
- var core = _self.core;
2539
- if (!core || (updateCtx && core !== updateCtx.core())) {
3136
+ _self[_DYN_UPDATE ] = function (updateCtx, updateState) {
3137
+ var core = _self[STR_CORE ];
3138
+ if (!core || (updateCtx && core !== updateCtx[STR_CORE ]())) {
2540
3139
  return;
2541
3140
  }
2542
3141
  var result;
@@ -2548,7 +3147,7 @@
2548
3147
  function _updateCallback() {
2549
3148
  if (!updateDone) {
2550
3149
  updateDone = true;
2551
- _setDefaults(theUpdateCtx.getCfg(), theUpdateCtx.core(), theUpdateCtx.getNext());
3150
+ _setDefaults(theUpdateCtx.getCfg(), theUpdateCtx.core(), theUpdateCtx[_DYN_GET_NEXT ]());
2552
3151
  }
2553
3152
  }
2554
3153
  if (!_self._doUpdate || _self._doUpdate(theUpdateCtx, theUpdateState, _updateCallback) !== true) {
@@ -2565,30 +3164,30 @@
2565
3164
  _hooks = _hooks.concat(hooks);
2566
3165
  }
2567
3166
  else {
2568
- _hooks.push(hooks);
3167
+ _hooks[_DYN_PUSH ](hooks);
2569
3168
  }
2570
3169
  }
2571
3170
  };
2572
3171
  proxyFunctionAs(_self, "_addUnloadCb", function () { return _unloadHandlerContainer; }, "add");
2573
3172
  });
2574
- _self.diagLog = function (itemCtx) {
2575
- return _getTelCtx(itemCtx).diagLog();
3173
+ _self[_DYN_DIAG_LOG ] = function (itemCtx) {
3174
+ return _getTelCtx(itemCtx)[_DYN_DIAG_LOG ]();
2576
3175
  };
2577
- _self[strIsInitialized] = function () {
3176
+ _self[_DYN_IS_INITIALIZED ] = function () {
2578
3177
  return _isinitialized;
2579
3178
  };
2580
3179
  _self.setInitialized = function (isInitialized) {
2581
3180
  _isinitialized = isInitialized;
2582
3181
  };
2583
- _self[strSetNextPlugin] = function (next) {
3182
+ _self[_DYN_SET_NEXT_PLUGIN ] = function (next) {
2584
3183
  _nextPlugin = next;
2585
3184
  };
2586
- _self.processNext = function (env, itemCtx) {
3185
+ _self[_DYN_PROCESS_NEXT ] = function (env, itemCtx) {
2587
3186
  if (itemCtx) {
2588
- itemCtx.processNext(env);
3187
+ itemCtx[_DYN_PROCESS_NEXT ](env);
2589
3188
  }
2590
- else if (_nextPlugin && isFunction(_nextPlugin.processTelemetry)) {
2591
- _nextPlugin.processTelemetry(env, null);
3189
+ else if (_nextPlugin && isFunction(_nextPlugin[STR_PROCESS_TELEMETRY ])) {
3190
+ _nextPlugin[STR_PROCESS_TELEMETRY ](env, null);
2592
3191
  }
2593
3192
  };
2594
3193
  _self._getTelCtx = _getTelCtx;
@@ -2596,39 +3195,40 @@
2596
3195
  if (currentCtx === void 0) { currentCtx = null; }
2597
3196
  var itemCtx = currentCtx;
2598
3197
  if (!itemCtx) {
2599
- var rootCtx = _rootCtx || createProcessTelemetryContext(null, {}, _self.core);
3198
+ var rootCtx = _rootCtx || createProcessTelemetryContext(null, {}, _self[STR_CORE ]);
2600
3199
  if (_nextPlugin && _nextPlugin[strGetPlugin]) {
2601
- itemCtx = rootCtx.createNew(null, _nextPlugin[strGetPlugin]);
3200
+ itemCtx = rootCtx[_DYN_CREATE_NEW ](null, _nextPlugin[strGetPlugin]);
2602
3201
  }
2603
3202
  else {
2604
- itemCtx = rootCtx.createNew(null, _nextPlugin);
3203
+ itemCtx = rootCtx[_DYN_CREATE_NEW ](null, _nextPlugin);
2605
3204
  }
2606
3205
  }
2607
3206
  return itemCtx;
2608
3207
  }
2609
3208
  function _setDefaults(config, core, pluginChain) {
2610
3209
  if (config) {
2611
- setValue(config, strExtensionConfig, [], null, isNullOrUndefined);
3210
+ setValue(config, STR_EXTENSION_CONFIG, [], null, isNullOrUndefined);
2612
3211
  }
2613
3212
  if (!pluginChain && core) {
2614
- pluginChain = core.getProcessTelContext().getNext();
3213
+ pluginChain = core[_DYN_GET_PROCESS_TEL_CONT0 ]()[_DYN_GET_NEXT ]();
2615
3214
  }
2616
3215
  var nextPlugin = _nextPlugin;
2617
3216
  if (_nextPlugin && _nextPlugin[strGetPlugin]) {
2618
3217
  nextPlugin = _nextPlugin[strGetPlugin]();
2619
3218
  }
2620
- _self.core = core;
3219
+ _self[STR_CORE ] = core;
2621
3220
  _rootCtx = createProcessTelemetryContext(pluginChain, config, core, nextPlugin);
2622
3221
  }
2623
3222
  function _initDefaults() {
2624
3223
  _isinitialized = false;
2625
- _self.core = null;
3224
+ _self[STR_CORE ] = null;
2626
3225
  _rootCtx = null;
2627
3226
  _nextPlugin = null;
2628
3227
  _hooks = [];
2629
3228
  _unloadHandlerContainer = createUnloadHandlerContainer();
2630
3229
  }
2631
3230
  }
3231
+ BaseTelemetryPlugin.__ieDyn=1;
2632
3232
  return BaseTelemetryPlugin;
2633
3233
  }());
2634
3234
 
@@ -2647,12 +3247,12 @@
2647
3247
  id: _id++,
2648
3248
  fn: telemetryInitializer
2649
3249
  };
2650
- _initializers.push(theInitializer);
3250
+ _initializers[_DYN_PUSH ](theInitializer);
2651
3251
  var handler = {
2652
3252
  remove: function () {
2653
3253
  arrForEach(_initializers, function (initializer, idx) {
2654
3254
  if (initializer.id === theInitializer.id) {
2655
- _initializers.splice(idx, 1);
3255
+ _initializers[_DYN_SPLICE ](idx, 1);
2656
3256
  return -1;
2657
3257
  }
2658
3258
  });
@@ -2660,28 +3260,28 @@
2660
3260
  };
2661
3261
  return handler;
2662
3262
  };
2663
- _self.processTelemetry = function (item, itemCtx) {
3263
+ _self[STR_PROCESS_TELEMETRY ] = function (item, itemCtx) {
2664
3264
  var doNotSendItem = false;
2665
- var telemetryInitializersCount = _initializers.length;
3265
+ var telemetryInitializersCount = _initializers[_DYN_LENGTH ];
2666
3266
  for (var i = 0; i < telemetryInitializersCount; ++i) {
2667
3267
  var telemetryInitializer = _initializers[i];
2668
3268
  if (telemetryInitializer) {
2669
3269
  try {
2670
- if (telemetryInitializer.fn.apply(null, [item]) === false) {
3270
+ if (telemetryInitializer.fn[_DYN_APPLY ](null, [item]) === false) {
2671
3271
  doNotSendItem = true;
2672
3272
  break;
2673
3273
  }
2674
3274
  }
2675
3275
  catch (e) {
2676
- _throwInternal(itemCtx.diagLog(), 1 , 64 , "One of telemetry initializers failed, telemetry item will not be sent: " + getExceptionName(e), { exception: dumpObj(e) }, true);
3276
+ _throwInternal(itemCtx[_DYN_DIAG_LOG ](), 1 , 64 , "One of telemetry initializers failed, telemetry item will not be sent: " + getExceptionName(e), { exception: dumpObj(e) }, true);
2677
3277
  }
2678
3278
  }
2679
3279
  }
2680
3280
  if (!doNotSendItem) {
2681
- _self.processNext(item, itemCtx);
3281
+ _self[_DYN_PROCESS_NEXT ](item, itemCtx);
2682
3282
  }
2683
3283
  };
2684
- _self[strDoTeardown] = function () {
3284
+ _self[_DYN__DO_TEARDOWN ] = function () {
2685
3285
  _initDefaults();
2686
3286
  };
2687
3287
  });
@@ -2691,6 +3291,7 @@
2691
3291
  }
2692
3292
  return _this;
2693
3293
  }
3294
+ TelemetryInitializerPlugin.__ieDyn=1;
2694
3295
  return TelemetryInitializerPlugin;
2695
3296
  }(BaseTelemetryPlugin));
2696
3297
 
@@ -2705,14 +3306,15 @@
2705
3306
  return new PerfManager(notificationMgr);
2706
3307
  }
2707
3308
  function _validateExtensions(logger, channelPriority, allExtensions) {
3309
+ var _a;
2708
3310
  var coreExtensions = [];
2709
3311
  var extPriorities = {};
2710
3312
  arrForEach(allExtensions, function (ext) {
2711
- if (isNullOrUndefined(ext) || isNullOrUndefined(ext.initialize)) {
3313
+ if (isNullOrUndefined(ext) || isNullOrUndefined(ext[_DYN_INITIALIZE ])) {
2712
3314
  throwError(strValidationError);
2713
3315
  }
2714
- var extPriority = ext.priority;
2715
- var identifier = ext.identifier;
3316
+ var extPriority = ext[STR_PRIORITY ];
3317
+ var identifier = ext[_DYN_IDENTIFIER ];
2716
3318
  if (ext && extPriority) {
2717
3319
  if (!isNullOrUndefined(extPriorities[extPriority])) {
2718
3320
  _warnToConsole(logger, "Two extensions have same priority #" + extPriority + " - " + extPriorities[extPriority] + ", " + identifier);
@@ -2722,13 +3324,14 @@
2722
3324
  }
2723
3325
  }
2724
3326
  if (!extPriority || extPriority < channelPriority) {
2725
- coreExtensions.push(ext);
3327
+ coreExtensions[_DYN_PUSH ](ext);
2726
3328
  }
2727
3329
  });
2728
- return {
2729
- all: allExtensions,
2730
- core: coreExtensions
2731
- };
3330
+ return _a = {
3331
+ all: allExtensions
3332
+ },
3333
+ _a[STR_CORE ] = coreExtensions,
3334
+ _a;
2732
3335
  }
2733
3336
  function _isPluginPresent(thePlugin, plugins) {
2734
3337
  var exists = false;
@@ -2743,15 +3346,16 @@
2743
3346
  function _createDummyNotificationManager() {
2744
3347
  var _a;
2745
3348
  return objCreateFn((_a = {},
2746
- _a[strAddNotificationListener] = function (listener) { },
2747
- _a[strRemoveNotificationListener] = function (listener) { },
2748
- _a[strEventsSent] = function (events) { },
2749
- _a[strEventsDiscarded] = function (events, reason) { },
2750
- _a[strEventsSendRequest] = function (sendReason, isAsync) { },
3349
+ _a[_DYN_ADD_NOTIFICATION_LIS1 ] = function (listener) { },
3350
+ _a[_DYN_REMOVE_NOTIFICATION_2 ] = function (listener) { },
3351
+ _a[STR_EVENTS_SENT ] = function (events) { },
3352
+ _a[STR_EVENTS_DISCARDED ] = function (events, reason) { },
3353
+ _a[STR_EVENTS_SEND_REQUEST ] = function (sendReason, isAsync) { },
2751
3354
  _a));
2752
3355
  }
2753
3356
  var BaseCore$2 = /** @class */ (function () {
2754
3357
  function BaseCore() {
3358
+ var _config;
2755
3359
  var _isInitialized;
2756
3360
  var _eventQueue;
2757
3361
  var _notificationManager;
@@ -2770,36 +3374,38 @@
2770
3374
  var _evtNamespace;
2771
3375
  var _unloadHandlers;
2772
3376
  var _debugListener;
3377
+ var _traceCtx;
2773
3378
  var _internalLogPoller = 0;
2774
3379
  dynamicProto(BaseCore, this, function (_self) {
2775
3380
  _initDefaults();
2776
- _self.isInitialized = function () { return _isInitialized; };
2777
- _self.initialize = function (config, extensions, logger, notificationManager) {
3381
+ _self[_DYN_IS_INITIALIZED ] = function () { return _isInitialized; };
3382
+ _self[_DYN_INITIALIZE ] = function (config, extensions, logger, notificationManager) {
2778
3383
  if (_isUnloading) {
2779
3384
  throwError(strSdkUnloadingError);
2780
3385
  }
2781
- if (_self.isInitialized()) {
3386
+ if (_self[_DYN_IS_INITIALIZED ]()) {
2782
3387
  throwError("Core should not be initialized more than once");
2783
3388
  }
2784
- if (!config || isNullOrUndefined(config.instrumentationKey)) {
3389
+ _config = config || {};
3390
+ _self[_DYN_CONFIG ] = _config;
3391
+ if (isNullOrUndefined(config[_DYN_INSTRUMENTATION_KEY ])) {
2785
3392
  throwError("Please provide instrumentation key");
2786
3393
  }
2787
3394
  _notificationManager = notificationManager;
2788
3395
  _self[strNotificationManager] = notificationManager;
2789
- _self.config = config || {};
2790
- _initDebugListener(config);
2791
- _initPerfManager(config);
2792
- config.extensions = isNullOrUndefined(config.extensions) ? [] : config.extensions;
2793
- _initExtConfig(config);
3396
+ _initDebugListener();
3397
+ _initPerfManager();
3398
+ _initExtConfig();
2794
3399
  if (logger) {
2795
- _self.logger = logger;
3400
+ _self[_DYN_LOGGER ] = logger;
2796
3401
  }
3402
+ var cfgExtensions = getSetValue(_config, STR_EXTENSIONS, []);
2797
3403
  _configExtensions = [];
2798
- _configExtensions.push.apply(_configExtensions, __spreadArrayFn(__spreadArrayFn([], extensions, false), config.extensions));
2799
- _channelConfig = (config || {}).channels;
2800
- _initPluginChain(config, null);
2801
- if (!_channelQueue || _channelQueue.length === 0) {
2802
- throwError("No channels available");
3404
+ _configExtensions[_DYN_PUSH ].apply(_configExtensions, __spreadArrayFn(__spreadArrayFn([], extensions, false), cfgExtensions));
3405
+ _channelConfig = getSetValue(_config, STR_CHANNELS, []);
3406
+ _initPluginChain(null);
3407
+ if (!_channelQueue || _channelQueue[_DYN_LENGTH ] === 0) {
3408
+ throwError("No " + STR_CHANNELS + " available");
2803
3409
  }
2804
3410
  _isInitialized = true;
2805
3411
  _self.releaseQueue();
@@ -2808,53 +3414,56 @@
2808
3414
  var controls = [];
2809
3415
  if (_channelQueue) {
2810
3416
  arrForEach(_channelQueue, function (channels) {
2811
- controls.push(channels.queue);
3417
+ controls[_DYN_PUSH ](channels.queue);
2812
3418
  });
2813
3419
  }
2814
3420
  return objFreeze(controls);
2815
3421
  };
2816
3422
  _self.track = function (telemetryItem) {
2817
- setValue(telemetryItem, strIKey, _self.config.instrumentationKey, null, isNotTruthy);
2818
- setValue(telemetryItem, "time", toISOString(new Date()), null, isNotTruthy);
2819
- setValue(telemetryItem, "ver", "4.0", null, isNullOrUndefined);
2820
- if (!_isUnloading && _self.isInitialized()) {
2821
- _createTelCtx().processNext(telemetryItem);
3423
+ telemetryItem.iKey = telemetryItem.iKey || _config[_DYN_INSTRUMENTATION_KEY ];
3424
+ telemetryItem[_DYN_TIME ] = telemetryItem[_DYN_TIME ] || toISOString(new Date());
3425
+ telemetryItem.ver = telemetryItem.ver || "4.0";
3426
+ if (!_isUnloading && _self[_DYN_IS_INITIALIZED ]()) {
3427
+ _createTelCtx()[_DYN_PROCESS_NEXT ](telemetryItem);
2822
3428
  }
2823
3429
  else {
2824
- _eventQueue.push(telemetryItem);
3430
+ _eventQueue[_DYN_PUSH ](telemetryItem);
2825
3431
  }
2826
3432
  };
2827
- _self.getProcessTelContext = _createTelCtx;
2828
- _self.getNotifyMgr = function () {
3433
+ _self[_DYN_GET_PROCESS_TEL_CONT0 ] = _createTelCtx;
3434
+ _self[_DYN_GET_NOTIFY_MGR ] = function () {
2829
3435
  if (!_notificationManager) {
2830
3436
  _notificationManager = _createDummyNotificationManager();
2831
3437
  _self[strNotificationManager] = _notificationManager;
2832
3438
  }
2833
3439
  return _notificationManager;
2834
3440
  };
2835
- _self[strAddNotificationListener] = function (listener) {
3441
+ _self[_DYN_ADD_NOTIFICATION_LIS1 ] = function (listener) {
2836
3442
  if (_notificationManager) {
2837
- _notificationManager[strAddNotificationListener](listener);
3443
+ _notificationManager[_DYN_ADD_NOTIFICATION_LIS1 ](listener);
2838
3444
  }
2839
3445
  };
2840
- _self[strRemoveNotificationListener] = function (listener) {
3446
+ _self[_DYN_REMOVE_NOTIFICATION_2 ] = function (listener) {
2841
3447
  if (_notificationManager) {
2842
- _notificationManager[strRemoveNotificationListener](listener);
3448
+ _notificationManager[_DYN_REMOVE_NOTIFICATION_2 ](listener);
2843
3449
  }
2844
3450
  };
2845
3451
  _self.getCookieMgr = function () {
2846
3452
  if (!_cookieManager) {
2847
- _cookieManager = createCookieMgr(_self.config, _self.logger);
3453
+ _cookieManager = createCookieMgr(_config, _self[_DYN_LOGGER ]);
2848
3454
  }
2849
3455
  return _cookieManager;
2850
3456
  };
2851
3457
  _self.setCookieMgr = function (cookieMgr) {
2852
3458
  _cookieManager = cookieMgr;
2853
3459
  };
2854
- _self.getPerfMgr = function () {
3460
+ _self[STR_GET_PERF_MGR ] = function () {
2855
3461
  if (!_perfManager && !_cfgPerfManager) {
2856
- if (_self.config && _self.config.enablePerfMgr && isFunction(_self.config.createPerfMgr)) {
2857
- _cfgPerfManager = _self.config.createPerfMgr(_self, _self.getNotifyMgr());
3462
+ if (getCfgValue(_config.enablePerfMgr)) {
3463
+ var createPerfMgr = getCfgValue(_config[STR_CREATE_PERF_MGR ]);
3464
+ if (isFunction(createPerfMgr)) {
3465
+ _cfgPerfManager = createPerfMgr(_self, _self[_DYN_GET_NOTIFY_MGR ]());
3466
+ }
2858
3467
  }
2859
3468
  }
2860
3469
  return _perfManager || _cfgPerfManager || getGblPerfMgr();
@@ -2863,20 +3472,20 @@
2863
3472
  _perfManager = perfMgr;
2864
3473
  };
2865
3474
  _self.eventCnt = function () {
2866
- return _eventQueue.length;
3475
+ return _eventQueue[_DYN_LENGTH ];
2867
3476
  };
2868
3477
  _self.releaseQueue = function () {
2869
- if (_isInitialized && _eventQueue.length > 0) {
3478
+ if (_isInitialized && _eventQueue[_DYN_LENGTH ] > 0) {
2870
3479
  var eventQueue = _eventQueue;
2871
3480
  _eventQueue = [];
2872
3481
  arrForEach(eventQueue, function (event) {
2873
- _createTelCtx().processNext(event);
3482
+ _createTelCtx()[_DYN_PROCESS_NEXT ](event);
2874
3483
  });
2875
3484
  }
2876
3485
  };
2877
3486
  _self.pollInternalLogs = function (eventName) {
2878
3487
  _internalLogsEventName = eventName || null;
2879
- var interval = _self.config.diagnosticLogInterval;
3488
+ var interval = getCfgValue(_config.diagnosticLogInterval);
2880
3489
  if (!interval || !(interval > 0)) {
2881
3490
  interval = 10000;
2882
3491
  }
@@ -2888,7 +3497,7 @@
2888
3497
  }, interval);
2889
3498
  return _internalLogPoller;
2890
3499
  };
2891
- _self.stopPollingInternalLogs = function () {
3500
+ _self[_DYN_STOP_POLLING_INTERNA3 ] = function () {
2892
3501
  if (_internalLogPoller) {
2893
3502
  clearInterval(_internalLogPoller);
2894
3503
  _internalLogPoller = 0;
@@ -2897,6 +3506,7 @@
2897
3506
  };
2898
3507
  proxyFunctions(_self, function () { return _telemetryInitializerPlugin; }, ["addTelemetryInitializer"]);
2899
3508
  _self.unload = function (isAsync, unloadComplete, cbTimeout) {
3509
+ var _a;
2900
3510
  if (isAsync === void 0) { isAsync = true; }
2901
3511
  if (!_isInitialized) {
2902
3512
  throwError(strSdkNotInitialized);
@@ -2904,13 +3514,14 @@
2904
3514
  if (_isUnloading) {
2905
3515
  throwError(strSdkUnloadingError);
2906
3516
  }
2907
- var unloadState = {
2908
- reason: 50 ,
2909
- isAsync: isAsync,
2910
- flushComplete: false
2911
- };
3517
+ var unloadState = (_a = {
3518
+ reason: 50
3519
+ },
3520
+ _a[_DYN_IS_ASYNC ] = isAsync,
3521
+ _a.flushComplete = false,
3522
+ _a);
2912
3523
  var processUnloadCtx = createProcessTelemetryUnloadContext(_getPluginChain(), _self);
2913
- processUnloadCtx.onComplete(function () {
3524
+ processUnloadCtx[_DYN_ON_COMPLETE ](function () {
2914
3525
  _initDefaults();
2915
3526
  unloadComplete && unloadComplete(unloadState);
2916
3527
  }, _self);
@@ -2918,33 +3529,33 @@
2918
3529
  unloadState.flushComplete = flushComplete;
2919
3530
  _isUnloading = true;
2920
3531
  _unloadHandlers.run(processUnloadCtx, unloadState);
2921
- _self.stopPollingInternalLogs();
2922
- processUnloadCtx.processNext(unloadState);
3532
+ _self[_DYN_STOP_POLLING_INTERNA3 ]();
3533
+ processUnloadCtx[_DYN_PROCESS_NEXT ](unloadState);
2923
3534
  }
2924
3535
  if (!_flushChannels(isAsync, _doUnload, 6 , cbTimeout)) {
2925
3536
  _doUnload(false);
2926
3537
  }
2927
3538
  };
2928
- _self.getPlugin = _getPlugin;
3539
+ _self[_DYN_GET_PLUGIN ] = _getPlugin;
2929
3540
  _self.addPlugin = function (plugin, replaceExisting, isAsync, addCb) {
2930
3541
  if (!plugin) {
2931
3542
  addCb && addCb(false);
2932
3543
  _logOrThrowError(strValidationError);
2933
3544
  return;
2934
3545
  }
2935
- var existingPlugin = _getPlugin(plugin.identifier);
3546
+ var existingPlugin = _getPlugin(plugin[_DYN_IDENTIFIER ]);
2936
3547
  if (existingPlugin && !replaceExisting) {
2937
3548
  addCb && addCb(false);
2938
- _logOrThrowError("Plugin [" + plugin.identifier + "] is already loaded!");
3549
+ _logOrThrowError("Plugin [" + plugin[_DYN_IDENTIFIER ] + "] is already loaded!");
2939
3550
  return;
2940
3551
  }
2941
3552
  var updateState = {
2942
3553
  reason: 16
2943
3554
  };
2944
3555
  function _addPlugin(removed) {
2945
- _configExtensions.push(plugin);
3556
+ _configExtensions[_DYN_PUSH ](plugin);
2946
3557
  updateState.added = [plugin];
2947
- _initPluginChain(_self.config, updateState);
3558
+ _initPluginChain(updateState);
2948
3559
  addCb && addCb(true);
2949
3560
  }
2950
3561
  if (existingPlugin) {
@@ -2971,13 +3582,23 @@
2971
3582
  _self.evtNamespace = function () {
2972
3583
  return _evtNamespace;
2973
3584
  };
2974
- _self.flush = _flushChannels;
3585
+ _self[_DYN_FLUSH ] = _flushChannels;
3586
+ _self.getTraceCtx = function (createNew) {
3587
+ if (!_traceCtx) {
3588
+ _traceCtx = createDistributedTraceContext();
3589
+ }
3590
+ return _traceCtx;
3591
+ };
3592
+ _self.setTraceCtx = function (traceCtx) {
3593
+ _traceCtx = traceCtx || null;
3594
+ };
2975
3595
  proxyFunctionAs(_self, "addUnloadCb", function () { return _unloadHandlers; }, "add");
2976
3596
  function _initDefaults() {
2977
3597
  _isInitialized = false;
2978
- _self.config = objExtend(true, {}, defaultInitConfig);
2979
- _self.logger = new DiagnosticLogger(_self.config);
2980
- _self._extensions = [];
3598
+ _config = objExtend(true, {}, defaultInitConfig);
3599
+ _self[_DYN_CONFIG ] = _config;
3600
+ _self[_DYN_LOGGER ] = new DiagnosticLogger(_config);
3601
+ _self[_DYN__EXTENSIONS ] = [];
2981
3602
  _telemetryInitializerPlugin = new TelemetryInitializerPlugin();
2982
3603
  _eventQueue = [];
2983
3604
  _notificationManager = null;
@@ -2994,45 +3615,47 @@
2994
3615
  _internalLogsEventName = null;
2995
3616
  _evtNamespace = createUniqueNamespace("AIBaseCore", true);
2996
3617
  _unloadHandlers = createUnloadHandlerContainer();
3618
+ _traceCtx = null;
2997
3619
  }
2998
3620
  function _createTelCtx() {
2999
- return createProcessTelemetryContext(_getPluginChain(), _self.config, _self);
3621
+ return createProcessTelemetryContext(_getPluginChain(), _config, _self);
3000
3622
  }
3001
- function _initPluginChain(config, updateState) {
3002
- var theExtensions = _validateExtensions(_self.logger, ChannelControllerPriority, _configExtensions);
3003
- _coreExtensions = theExtensions.core;
3623
+ function _initPluginChain(updateState) {
3624
+ var theExtensions = _validateExtensions(_self[_DYN_LOGGER ], ChannelControllerPriority, _configExtensions);
3625
+ _coreExtensions = theExtensions[STR_CORE ];
3004
3626
  _pluginChain = null;
3005
3627
  var allExtensions = theExtensions.all;
3006
- _channelQueue = objFreeze(createChannelQueues(_channelConfig, allExtensions, config, _self));
3628
+ _channelQueue = objFreeze(createChannelQueues(_channelConfig, allExtensions, _self));
3007
3629
  if (_channelControl) {
3008
- var idx = allExtensions.indexOf(_channelControl);
3630
+ var idx = arrIndexOf(allExtensions, _channelControl);
3009
3631
  if (idx !== -1) {
3010
- allExtensions.splice(idx, 1);
3632
+ allExtensions[_DYN_SPLICE ](idx, 1);
3011
3633
  }
3012
- idx = _coreExtensions.indexOf(_channelControl);
3634
+ idx = arrIndexOf(_coreExtensions, _channelControl);
3013
3635
  if (idx !== -1) {
3014
- _coreExtensions.splice(idx, 1);
3636
+ _coreExtensions[_DYN_SPLICE ](idx, 1);
3015
3637
  }
3016
3638
  _channelControl._setQueue(_channelQueue);
3017
3639
  }
3018
3640
  else {
3019
3641
  _channelControl = createChannelControllerPlugin(_channelQueue, _self);
3020
3642
  }
3021
- allExtensions.push(_channelControl);
3022
- _coreExtensions.push(_channelControl);
3023
- _self._extensions = sortPlugins(allExtensions);
3024
- _channelControl.initialize(config, _self, allExtensions);
3643
+ allExtensions[_DYN_PUSH ](_channelControl);
3644
+ _coreExtensions[_DYN_PUSH ](_channelControl);
3645
+ _self[_DYN__EXTENSIONS ] = sortPlugins(allExtensions);
3646
+ _channelControl[_DYN_INITIALIZE ](_config, _self, allExtensions);
3025
3647
  initializePlugins(_createTelCtx(), allExtensions);
3026
- _self._extensions = objFreeze(sortPlugins(_coreExtensions || [])).slice();
3648
+ _self[_DYN__EXTENSIONS ] = objFreeze(sortPlugins(_coreExtensions || [])).slice();
3027
3649
  if (updateState) {
3028
3650
  _doUpdate(updateState);
3029
3651
  }
3030
3652
  }
3031
3653
  function _getPlugin(pluginIdentifier) {
3654
+ var _a;
3032
3655
  var theExt = null;
3033
3656
  var thePlugin = null;
3034
- arrForEach(_self._extensions, function (ext) {
3035
- if (ext.identifier === pluginIdentifier && ext !== _channelControl && ext !== _telemetryInitializerPlugin) {
3657
+ arrForEach(_self[_DYN__EXTENSIONS ], function (ext) {
3658
+ if (ext[_DYN_IDENTIFIER ] === pluginIdentifier && ext !== _channelControl && ext !== _telemetryInitializerPlugin) {
3036
3659
  thePlugin = ext;
3037
3660
  return -1;
3038
3661
  }
@@ -3041,56 +3664,59 @@
3041
3664
  thePlugin = _channelControl.getChannel(pluginIdentifier);
3042
3665
  }
3043
3666
  if (thePlugin) {
3044
- theExt = {
3045
- plugin: thePlugin,
3046
- setEnabled: function (enabled) {
3047
- _getPluginState(thePlugin)[strDisabled] = !enabled;
3667
+ theExt = (_a = {
3668
+ plugin: thePlugin
3669
+ },
3670
+ _a[_DYN_SET_ENABLED ] = function (enabled) {
3671
+ _getPluginState(thePlugin)[STR_DISABLED] = !enabled;
3048
3672
  },
3049
- isEnabled: function () {
3673
+ _a.isEnabled = function () {
3050
3674
  var pluginState = _getPluginState(thePlugin);
3051
- return !pluginState[strTeardown] && !pluginState[strDisabled];
3675
+ return !pluginState[_DYN_TEARDOWN ] && !pluginState[STR_DISABLED];
3052
3676
  },
3053
- remove: function (isAsync, removeCb) {
3677
+ _a.remove = function (isAsync, removeCb) {
3678
+ var _a;
3054
3679
  if (isAsync === void 0) { isAsync = true; }
3055
3680
  var pluginsToRemove = [thePlugin];
3056
- var unloadState = {
3057
- reason: 1 ,
3058
- isAsync: isAsync
3059
- };
3681
+ var unloadState = (_a = {
3682
+ reason: 1
3683
+ },
3684
+ _a[_DYN_IS_ASYNC ] = isAsync,
3685
+ _a);
3060
3686
  _removePlugins(pluginsToRemove, unloadState, function (removed) {
3061
3687
  if (removed) {
3062
- _initPluginChain(_self.config, {
3688
+ _initPluginChain({
3063
3689
  reason: 32 ,
3064
3690
  removed: pluginsToRemove
3065
3691
  });
3066
3692
  }
3067
3693
  removeCb && removeCb(removed);
3068
3694
  });
3069
- }
3070
- };
3695
+ },
3696
+ _a);
3071
3697
  }
3072
3698
  return theExt;
3073
3699
  }
3074
3700
  function _getPluginChain() {
3075
3701
  if (!_pluginChain) {
3076
3702
  var extensions = (_coreExtensions || []).slice();
3077
- if (extensions.indexOf(_telemetryInitializerPlugin) === -1) {
3078
- extensions.push(_telemetryInitializerPlugin);
3703
+ if (arrIndexOf(extensions, _telemetryInitializerPlugin) === -1) {
3704
+ extensions[_DYN_PUSH ](_telemetryInitializerPlugin);
3079
3705
  }
3080
- _pluginChain = createTelemetryProxyChain(sortPlugins(extensions), _self.config, _self);
3706
+ _pluginChain = createTelemetryProxyChain(sortPlugins(extensions), _config, _self);
3081
3707
  }
3082
3708
  return _pluginChain;
3083
3709
  }
3084
3710
  function _removePlugins(thePlugins, unloadState, removeComplete) {
3085
- if (thePlugins && thePlugins.length > 0) {
3086
- var unloadChain = createTelemetryProxyChain(thePlugins, _self.config, _self);
3711
+ if (thePlugins && thePlugins[_DYN_LENGTH ] > 0) {
3712
+ var unloadChain = createTelemetryProxyChain(thePlugins, _config, _self);
3087
3713
  var unloadCtx = createProcessTelemetryUnloadContext(unloadChain, _self);
3088
- unloadCtx.onComplete(function () {
3714
+ unloadCtx[_DYN_ON_COMPLETE ](function () {
3089
3715
  var removed = false;
3090
3716
  var newConfigExtensions = [];
3091
3717
  arrForEach(_configExtensions, function (plugin, idx) {
3092
3718
  if (!_isPluginPresent(plugin, thePlugins)) {
3093
- newConfigExtensions.push(plugin);
3719
+ newConfigExtensions[_DYN_PUSH ](plugin);
3094
3720
  }
3095
3721
  else {
3096
3722
  removed = true;
@@ -3103,626 +3729,301 @@
3103
3729
  var newQueue = [];
3104
3730
  arrForEach(queue, function (channel) {
3105
3731
  if (!_isPluginPresent(channel, thePlugins)) {
3106
- newQueue.push(channel);
3732
+ newQueue[_DYN_PUSH ](channel);
3107
3733
  }
3108
3734
  else {
3109
3735
  removed = true;
3110
3736
  }
3111
3737
  });
3112
- newChannelConfig.push(newQueue);
3738
+ newChannelConfig[_DYN_PUSH ](newQueue);
3113
3739
  });
3114
3740
  _channelConfig = newChannelConfig;
3115
3741
  }
3116
3742
  removeComplete && removeComplete(removed);
3117
3743
  });
3118
- unloadCtx.processNext(unloadState);
3744
+ unloadCtx[_DYN_PROCESS_NEXT ](unloadState);
3119
3745
  }
3120
3746
  else {
3121
3747
  removeComplete(false);
3122
3748
  }
3123
3749
  }
3124
3750
  function _flushInternalLogs() {
3125
- var queue = _self.logger ? _self.logger.queue : [];
3751
+ var queue = _self[_DYN_LOGGER ] ? _self[_DYN_LOGGER ].queue : [];
3126
3752
  if (queue) {
3127
3753
  arrForEach(queue, function (logMessage) {
3128
- var item = {
3129
- name: _internalLogsEventName ? _internalLogsEventName : "InternalMessageId: " + logMessage.messageId,
3130
- iKey: _self.config.instrumentationKey,
3131
- time: toISOString(new Date()),
3132
- baseType: _InternalLogMessage.dataType,
3133
- baseData: { message: logMessage.message }
3134
- };
3754
+ var _a;
3755
+ var item = (_a = {},
3756
+ _a[_DYN_NAME ] = _internalLogsEventName ? _internalLogsEventName : "InternalMessageId: " + logMessage[_DYN_MESSAGE_ID ],
3757
+ _a.iKey = getCfgValue(_config[_DYN_INSTRUMENTATION_KEY ]),
3758
+ _a.time = toISOString(new Date()),
3759
+ _a.baseType = _InternalLogMessage.dataType,
3760
+ _a.baseData = { message: logMessage[_DYN_MESSAGE ] },
3761
+ _a);
3135
3762
  _self.track(item);
3136
3763
  });
3137
- queue.length = 0;
3764
+ queue[_DYN_LENGTH ] = 0;
3138
3765
  }
3139
3766
  }
3140
3767
  function _flushChannels(isAsync, callBack, sendReason, cbTimeout) {
3141
3768
  if (_channelControl) {
3142
- return _channelControl.flush(isAsync, callBack, sendReason || 6 , cbTimeout);
3769
+ return _channelControl[_DYN_FLUSH ](isAsync, callBack, sendReason || 6 , cbTimeout);
3143
3770
  }
3144
3771
  callBack && callBack(false);
3145
3772
  return true;
3146
3773
  }
3147
- function _initDebugListener(config) {
3148
- if (config.disableDbgExt === true && _debugListener) {
3149
- _notificationManager[strRemoveNotificationListener](_debugListener);
3774
+ function _initDebugListener() {
3775
+ var disableDbgExt = getCfgValue(_config.disableDbgExt);
3776
+ if (disableDbgExt === true && _debugListener) {
3777
+ _notificationManager[_DYN_REMOVE_NOTIFICATION_2 ](_debugListener);
3150
3778
  _debugListener = null;
3151
3779
  }
3152
- if (_notificationManager && !_debugListener && config.disableDbgExt !== true) {
3153
- _debugListener = getDebugListener(config);
3154
- _notificationManager[strAddNotificationListener](_debugListener);
3155
- }
3156
- }
3157
- function _initPerfManager(config) {
3158
- if (!config.enablePerfMgr && _cfgPerfManager) {
3159
- _cfgPerfManager = null;
3160
- }
3161
- if (config.enablePerfMgr) {
3162
- setValue(_self.config, "createPerfMgr", _createPerfManager);
3163
- }
3164
- }
3165
- function _initExtConfig(config) {
3166
- var extConfig = getSetValue(config, strExtensionConfig);
3167
- extConfig.NotificationManager = _notificationManager;
3168
- }
3169
- function _doUpdate(updateState) {
3170
- var updateCtx = createProcessTelemetryUpdateContext(_getPluginChain(), _self);
3171
- if (!_self._updateHook || _self._updateHook(updateCtx, updateState) !== true) {
3172
- updateCtx.processNext(updateState);
3173
- }
3174
- }
3175
- function _logOrThrowError(message) {
3176
- var logger = _self.logger;
3177
- if (logger) {
3178
- _throwInternal(logger, 2 , 73 , message);
3179
- }
3180
- else {
3181
- throwError(message);
3182
- }
3183
- }
3184
- });
3185
- }
3186
- return BaseCore;
3187
- }());
3188
-
3189
- function _runListeners(listeners, name, isAsync, callback) {
3190
- arrForEach(listeners, function (listener) {
3191
- if (listener && listener[name]) {
3192
- if (isAsync) {
3193
- setTimeout(function () { return callback(listener); }, 0);
3194
- }
3195
- else {
3196
- try {
3197
- callback(listener);
3198
- }
3199
- catch (e) {
3200
- }
3201
- }
3202
- }
3203
- });
3204
- }
3205
- var NotificationManager = /** @class */ (function () {
3206
- function NotificationManager(config) {
3207
- this.listeners = [];
3208
- var perfEvtsSendAll = !!(config || {}).perfEvtsSendAll;
3209
- dynamicProto(NotificationManager, this, function (_self) {
3210
- _self[strAddNotificationListener] = function (listener) {
3211
- _self.listeners.push(listener);
3212
- };
3213
- _self[strRemoveNotificationListener] = function (listener) {
3214
- var index = arrIndexOf(_self.listeners, listener);
3215
- while (index > -1) {
3216
- _self.listeners.splice(index, 1);
3217
- index = arrIndexOf(_self.listeners, listener);
3218
- }
3219
- };
3220
- _self[strEventsSent] = function (events) {
3221
- _runListeners(_self.listeners, strEventsSent, true, function (listener) {
3222
- listener[strEventsSent](events);
3223
- });
3224
- };
3225
- _self[strEventsDiscarded] = function (events, reason) {
3226
- _runListeners(_self.listeners, strEventsDiscarded, true, function (listener) {
3227
- listener[strEventsDiscarded](events, reason);
3228
- });
3229
- };
3230
- _self[strEventsSendRequest] = function (sendReason, isAsync) {
3231
- _runListeners(_self.listeners, strEventsSendRequest, isAsync, function (listener) {
3232
- listener[strEventsSendRequest](sendReason, isAsync);
3233
- });
3234
- };
3235
- _self[strPerfEvent] = function (perfEvent) {
3236
- if (perfEvent) {
3237
- if (perfEvtsSendAll || !perfEvent.isChildEvt()) {
3238
- _runListeners(_self.listeners, strPerfEvent, false, function (listener) {
3239
- if (perfEvent.isAsync) {
3240
- setTimeout(function () { return listener[strPerfEvent](perfEvent); }, 0);
3241
- }
3242
- else {
3243
- listener[strPerfEvent](perfEvent);
3244
- }
3245
- });
3246
- }
3247
- }
3248
- };
3249
- });
3250
- }
3251
- return NotificationManager;
3252
- }());
3253
-
3254
- var AppInsightsCore$2 = /** @class */ (function (_super) {
3255
- __extendsFn(AppInsightsCore, _super);
3256
- function AppInsightsCore() {
3257
- var _this = _super.call(this) || this;
3258
- dynamicProto(AppInsightsCore, _this, function (_self, _base) {
3259
- _self.initialize = function (config, extensions, logger, notificationManager) {
3260
- _base.initialize(config, extensions, logger || new DiagnosticLogger(config), notificationManager || new NotificationManager(config));
3261
- };
3262
- _self.track = function (telemetryItem) {
3263
- doPerf(_self.getPerfMgr(), function () { return "AppInsightsCore:track"; }, function () {
3264
- if (telemetryItem === null) {
3265
- _notifyInvalidEvent(telemetryItem);
3266
- throwError("Invalid telemetry item");
3267
- }
3268
- _validateTelemetryItem(telemetryItem);
3269
- _base.track(telemetryItem);
3270
- }, function () { return ({ item: telemetryItem }); }, !(telemetryItem.sync));
3271
- };
3272
- function _validateTelemetryItem(telemetryItem) {
3273
- if (isNullOrUndefined(telemetryItem.name)) {
3274
- _notifyInvalidEvent(telemetryItem);
3275
- throwError("telemetry name required");
3276
- }
3277
- }
3278
- function _notifyInvalidEvent(telemetryItem) {
3279
- var manager = _self.getNotifyMgr();
3280
- if (manager) {
3281
- manager.eventsDiscarded([telemetryItem], 2 );
3282
- }
3283
- }
3284
- });
3285
- return _this;
3286
- }
3287
- return AppInsightsCore;
3288
- }(BaseCore$2));
3289
-
3290
- var strOnPrefix = "on";
3291
- var strAttachEvent = "attachEvent";
3292
- var strAddEventHelper = "addEventListener";
3293
- var strDetachEvent = "detachEvent";
3294
- var strRemoveEventListener = "removeEventListener";
3295
- var strEvents = "events";
3296
- var strVisibilityChangeEvt = "visibilitychange";
3297
- var strPageHide = "pagehide";
3298
- var strPageShow = "pageshow";
3299
- var strUnload = "unload";
3300
- var strBeforeUnload = "beforeunload";
3301
- var strPageHideNamespace = createUniqueNamespace("aiEvtPageHide");
3302
- var strPageShowNamespace = createUniqueNamespace("aiEvtPageShow");
3303
- var rRemoveEmptyNs = /\.[\.]+/g;
3304
- var rRemoveTrailingEmptyNs = /[\.]+$/;
3305
- var _guid = 1;
3306
- var elmNodeData = createElmNodeData("events");
3307
- var eventNamespace = /^([^.]*)(?:\.(.+)|)/;
3308
- function _normalizeNamespace(name) {
3309
- if (name && name.replace) {
3310
- return name.replace(/^\s*\.*|\.*\s*$/g, "");
3311
- }
3312
- return name;
3313
- }
3314
- function _getEvtNamespace(eventName, evtNamespace) {
3315
- if (evtNamespace) {
3316
- var theNamespace_1 = "";
3317
- if (isArray(evtNamespace)) {
3318
- theNamespace_1 = "";
3319
- arrForEach(evtNamespace, function (name) {
3320
- name = _normalizeNamespace(name);
3321
- if (name) {
3322
- if (name[0] !== ".") {
3323
- name = "." + name;
3324
- }
3325
- theNamespace_1 += name;
3326
- }
3327
- });
3328
- }
3329
- else {
3330
- theNamespace_1 = _normalizeNamespace(evtNamespace);
3331
- }
3332
- if (theNamespace_1) {
3333
- if (theNamespace_1[0] !== ".") {
3334
- theNamespace_1 = "." + theNamespace_1;
3335
- }
3336
- eventName = (eventName || "") + theNamespace_1;
3337
- }
3338
- }
3339
- var parsedEvent = (eventNamespace.exec(eventName || "") || []);
3340
- return {
3341
- type: parsedEvent[1],
3342
- ns: ((parsedEvent[2] || "").replace(rRemoveEmptyNs, ".").replace(rRemoveTrailingEmptyNs, "").split(".").sort()).join(".")
3343
- };
3344
- }
3345
- function __getRegisteredEvents(target, eventName, evtNamespace) {
3346
- var theEvents = [];
3347
- var eventCache = elmNodeData.get(target, strEvents, {}, false);
3348
- var evtName = _getEvtNamespace(eventName, evtNamespace);
3349
- objForEachKey(eventCache, function (evtType, registeredEvents) {
3350
- arrForEach(registeredEvents, function (value) {
3351
- if (!evtName.type || evtName.type === value.evtName.type) {
3352
- if (!evtName.ns || evtName.ns === evtName.ns) {
3353
- theEvents.push({
3354
- name: value.evtName.type + (value.evtName.ns ? "." + value.evtName.ns : ""),
3355
- handler: value.handler
3356
- });
3357
- }
3358
- }
3359
- });
3360
- });
3361
- return theEvents;
3362
- }
3363
- function _getRegisteredEvents(target, evtName, addDefault) {
3364
- if (addDefault === void 0) { addDefault = true; }
3365
- var aiEvts = elmNodeData.get(target, strEvents, {}, addDefault);
3366
- var registeredEvents = aiEvts[evtName];
3367
- if (!registeredEvents) {
3368
- registeredEvents = aiEvts[evtName] = [];
3369
- }
3370
- return registeredEvents;
3371
- }
3372
- function _doDetach(obj, evtName, handlerRef, useCapture) {
3373
- if (obj && evtName && evtName.type) {
3374
- if (obj[strRemoveEventListener]) {
3375
- obj[strRemoveEventListener](evtName.type, handlerRef, useCapture);
3376
- }
3377
- else if (obj[strDetachEvent]) {
3378
- obj[strDetachEvent](strOnPrefix + evtName.type, handlerRef);
3379
- }
3380
- }
3381
- }
3382
- function _doAttach(obj, evtName, handlerRef, useCapture) {
3383
- var result = false;
3384
- if (obj && evtName && evtName.type && handlerRef) {
3385
- if (obj[strAddEventHelper]) {
3386
- obj[strAddEventHelper](evtName.type, handlerRef, useCapture);
3387
- result = true;
3388
- }
3389
- else if (obj[strAttachEvent]) {
3390
- obj[strAttachEvent](strOnPrefix + evtName.type, handlerRef);
3391
- result = true;
3392
- }
3393
- }
3394
- return result;
3395
- }
3396
- function _doUnregister(target, events, evtName, unRegFn) {
3397
- var idx = events.length;
3398
- while (idx--) {
3399
- var theEvent = events[idx];
3400
- if (theEvent) {
3401
- if (!evtName.ns || evtName.ns === theEvent.evtName.ns) {
3402
- if (!unRegFn || unRegFn(theEvent)) {
3403
- _doDetach(target, theEvent.evtName, theEvent.handler, theEvent.capture);
3404
- events.splice(idx, 1);
3405
- }
3406
- }
3407
- }
3408
- }
3409
- }
3410
- function _unregisterEvents(target, evtName, unRegFn) {
3411
- if (evtName.type) {
3412
- _doUnregister(target, _getRegisteredEvents(target, evtName.type), evtName, unRegFn);
3413
- }
3414
- else {
3415
- var eventCache = elmNodeData.get(target, strEvents, {});
3416
- objForEachKey(eventCache, function (evtType, events) {
3417
- _doUnregister(target, events, evtName, unRegFn);
3418
- });
3419
- if (objKeys(eventCache).length === 0) {
3420
- elmNodeData.kill(target, strEvents);
3421
- }
3422
- }
3423
- }
3424
- function mergeEvtNamespace(theNamespace, namespaces) {
3425
- var newNamespaces;
3426
- if (namespaces) {
3427
- if (isArray(namespaces)) {
3428
- newNamespaces = [theNamespace].concat(namespaces);
3429
- }
3430
- else {
3431
- newNamespaces = [theNamespace, namespaces];
3432
- }
3433
- newNamespaces = (_getEvtNamespace("xx", newNamespaces).ns).split(".");
3434
- }
3435
- else {
3436
- newNamespaces = theNamespace;
3437
- }
3438
- return newNamespaces;
3439
- }
3440
- function eventOn(target, eventName, handlerRef, evtNamespace, useCapture) {
3441
- if (useCapture === void 0) { useCapture = false; }
3442
- var result = false;
3443
- if (target) {
3444
- try {
3445
- var evtName = _getEvtNamespace(eventName, evtNamespace);
3446
- result = _doAttach(target, evtName, handlerRef, useCapture);
3447
- if (result && elmNodeData.accept(target)) {
3448
- var registeredEvent = {
3449
- guid: _guid++,
3450
- evtName: evtName,
3451
- handler: handlerRef,
3452
- capture: useCapture
3453
- };
3454
- _getRegisteredEvents(target, evtName.type).push(registeredEvent);
3780
+ if (_notificationManager && !_debugListener && disableDbgExt !== true) {
3781
+ _debugListener = getDebugListener(_config);
3782
+ _notificationManager[_DYN_ADD_NOTIFICATION_LIS1 ](_debugListener);
3783
+ }
3455
3784
  }
3456
- }
3457
- catch (e) {
3458
- }
3459
- }
3460
- return result;
3461
- }
3462
- function eventOff(target, eventName, handlerRef, evtNamespace, useCapture) {
3463
- if (useCapture === void 0) { useCapture = false; }
3464
- if (target) {
3465
- try {
3466
- var evtName_1 = _getEvtNamespace(eventName, evtNamespace);
3467
- var found_1 = false;
3468
- _unregisterEvents(target, evtName_1, function (regEvent) {
3469
- if ((evtName_1.ns && !handlerRef) || regEvent.handler === handlerRef) {
3470
- found_1 = true;
3471
- return true;
3785
+ function _initPerfManager() {
3786
+ var enablePerfMgr = getCfgValue(_config.enablePerfMgr);
3787
+ if (!enablePerfMgr && _cfgPerfManager) {
3788
+ _cfgPerfManager = null;
3789
+ }
3790
+ if (enablePerfMgr) {
3791
+ getSetValue(_config, STR_CREATE_PERF_MGR, _createPerfManager);
3472
3792
  }
3473
- return false;
3474
- });
3475
- if (!found_1) {
3476
- _doDetach(target, evtName_1, handlerRef, useCapture);
3477
3793
  }
3478
- }
3479
- catch (e) {
3480
- }
3481
- }
3482
- }
3483
- function attachEvent(obj, eventNameWithoutOn, handlerRef, useCapture) {
3484
- if (useCapture === void 0) { useCapture = false; }
3485
- return eventOn(obj, eventNameWithoutOn, handlerRef, null, useCapture);
3486
- }
3487
- function detachEvent(obj, eventNameWithoutOn, handlerRef, useCapture) {
3488
- if (useCapture === void 0) { useCapture = false; }
3489
- eventOff(obj, eventNameWithoutOn, handlerRef, null, useCapture);
3490
- }
3491
- function addEventHandler(eventName, callback, evtNamespace) {
3492
- var result = false;
3493
- var w = getWindow();
3494
- if (w) {
3495
- result = eventOn(w, eventName, callback, evtNamespace);
3496
- result = eventOn(w["body"], eventName, callback, evtNamespace) || result;
3497
- }
3498
- var doc = getDocument();
3499
- if (doc) {
3500
- result = eventOn(doc, eventName, callback, evtNamespace) || result;
3501
- }
3502
- return result;
3503
- }
3504
- function removeEventHandler(eventName, callback, evtNamespace) {
3505
- var w = getWindow();
3506
- if (w) {
3507
- eventOff(w, eventName, callback, evtNamespace);
3508
- eventOff(w["body"], eventName, callback, evtNamespace);
3509
- }
3510
- var doc = getDocument();
3511
- if (doc) {
3512
- eventOff(doc, eventName, callback, evtNamespace);
3513
- }
3514
- }
3515
- function _addEventListeners(events, listener, excludeEvents, evtNamespace) {
3516
- var added = false;
3517
- if (listener && events && events.length > 0) {
3518
- arrForEach(events, function (name) {
3519
- if (name) {
3520
- if (!excludeEvents || arrIndexOf(excludeEvents, name) === -1) {
3521
- added = addEventHandler(name, listener, evtNamespace) || added;
3794
+ function _initExtConfig() {
3795
+ var extConfig = getSetValue(_config, STR_EXTENSION_CONFIG, {});
3796
+ extConfig.NotificationManager = _notificationManager;
3797
+ }
3798
+ function _doUpdate(updateState) {
3799
+ var updateCtx = createProcessTelemetryUpdateContext(_getPluginChain(), _self);
3800
+ if (!_self._updateHook || _self._updateHook(updateCtx, updateState) !== true) {
3801
+ updateCtx[_DYN_PROCESS_NEXT ](updateState);
3522
3802
  }
3523
3803
  }
3524
- });
3525
- }
3526
- return added;
3527
- }
3528
- function addEventListeners(events, listener, excludeEvents, evtNamespace) {
3529
- var added = false;
3530
- if (listener && events && isArray(events)) {
3531
- added = _addEventListeners(events, listener, excludeEvents, evtNamespace);
3532
- if (!added && excludeEvents && excludeEvents.length > 0) {
3533
- added = _addEventListeners(events, listener, null, evtNamespace);
3534
- }
3535
- }
3536
- return added;
3537
- }
3538
- function removeEventListeners(events, listener, evtNamespace) {
3539
- if (events && isArray(events)) {
3540
- arrForEach(events, function (name) {
3541
- if (name) {
3542
- removeEventHandler(name, listener, evtNamespace);
3804
+ function _logOrThrowError(message) {
3805
+ var logger = _self[_DYN_LOGGER ];
3806
+ if (logger) {
3807
+ _throwInternal(logger, 2 , 73 , message);
3808
+ }
3809
+ else {
3810
+ throwError(message);
3811
+ }
3543
3812
  }
3544
3813
  });
3545
3814
  }
3546
- }
3547
- function addPageUnloadEventListener(listener, excludeEvents, evtNamespace) {
3548
- return addEventListeners([strBeforeUnload, strUnload, strPageHide], listener, excludeEvents, evtNamespace);
3549
- }
3550
- function removePageUnloadEventListener(listener, evtNamespace) {
3551
- removeEventListeners([strBeforeUnload, strUnload, strPageHide], listener, evtNamespace);
3552
- }
3553
- function addPageHideEventListener(listener, excludeEvents, evtNamespace) {
3554
- function _handlePageVisibility(evt) {
3555
- var doc = getDocument();
3556
- if (listener && doc && doc.visibilityState === "hidden") {
3557
- listener(evt);
3558
- }
3559
- }
3560
- var newNamespaces = mergeEvtNamespace(strPageHideNamespace, evtNamespace);
3561
- var pageUnloadAdded = _addEventListeners([strPageHide], listener, excludeEvents, newNamespaces);
3562
- if (!excludeEvents || arrIndexOf(excludeEvents, strVisibilityChangeEvt) === -1) {
3563
- pageUnloadAdded = _addEventListeners([strVisibilityChangeEvt], _handlePageVisibility, excludeEvents, newNamespaces) || pageUnloadAdded;
3564
- }
3565
- if (!pageUnloadAdded && excludeEvents) {
3566
- pageUnloadAdded = addPageHideEventListener(listener, null, evtNamespace);
3567
- }
3568
- return pageUnloadAdded;
3569
- }
3570
- function removePageHideEventListener(listener, evtNamespace) {
3571
- var newNamespaces = mergeEvtNamespace(strPageHideNamespace, evtNamespace);
3572
- removeEventListeners([strPageHide], listener, newNamespaces);
3573
- removeEventListeners([strVisibilityChangeEvt], null, newNamespaces);
3574
- }
3575
- function addPageShowEventListener(listener, excludeEvents, evtNamespace) {
3576
- function _handlePageVisibility(evt) {
3577
- var doc = getDocument();
3578
- if (listener && doc && doc.visibilityState === "visible") {
3579
- listener(evt);
3580
- }
3581
- }
3582
- var newNamespaces = mergeEvtNamespace(strPageShowNamespace, evtNamespace);
3583
- var pageShowAdded = _addEventListeners([strPageShow], listener, excludeEvents, newNamespaces);
3584
- pageShowAdded = _addEventListeners([strVisibilityChangeEvt], _handlePageVisibility, excludeEvents, newNamespaces) || pageShowAdded;
3585
- if (!pageShowAdded && excludeEvents) {
3586
- pageShowAdded = addPageShowEventListener(listener, null, evtNamespace);
3587
- }
3588
- return pageShowAdded;
3589
- }
3590
- function removePageShowEventListener(listener, evtNamespace) {
3591
- var newNamespaces = mergeEvtNamespace(strPageShowNamespace, evtNamespace);
3592
- removeEventListeners([strPageShow], listener, newNamespaces);
3593
- removeEventListeners([strVisibilityChangeEvt], null, newNamespaces);
3594
- }
3815
+ BaseCore.__ieDyn=1;
3816
+ return BaseCore;
3817
+ }());
3595
3818
 
3596
- function newGuid() {
3597
- function randomHexDigit() {
3598
- return randomValue(15);
3599
- }
3600
- return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(GuidRegex, function (c) {
3601
- var r = (randomHexDigit() | 0), v = (c === "x" ? r : r & 0x3 | 0x8);
3602
- return v.toString(16);
3819
+ function _runListeners(listeners, name, isAsync, callback) {
3820
+ arrForEach(listeners, function (listener) {
3821
+ if (listener && listener[name]) {
3822
+ if (isAsync) {
3823
+ setTimeout(function () { return callback(listener); }, 0);
3824
+ }
3825
+ else {
3826
+ try {
3827
+ callback(listener);
3828
+ }
3829
+ catch (e) {
3830
+ }
3831
+ }
3832
+ }
3603
3833
  });
3604
3834
  }
3605
- function perfNow() {
3606
- var perf = getPerformance();
3607
- if (perf && perf.now) {
3608
- return perf.now();
3835
+ var NotificationManager = /** @class */ (function () {
3836
+ function NotificationManager(config) {
3837
+ this.listeners = [];
3838
+ var perfEvtsSendAll = !!(config || {}).perfEvtsSendAll;
3839
+ dynamicProto(NotificationManager, this, function (_self) {
3840
+ _self[_DYN_ADD_NOTIFICATION_LIS1 ] = function (listener) {
3841
+ _self.listeners[_DYN_PUSH ](listener);
3842
+ };
3843
+ _self[_DYN_REMOVE_NOTIFICATION_2 ] = function (listener) {
3844
+ var index = arrIndexOf(_self[_DYN_LISTENERS ], listener);
3845
+ while (index > -1) {
3846
+ _self.listeners[_DYN_SPLICE ](index, 1);
3847
+ index = arrIndexOf(_self[_DYN_LISTENERS ], listener);
3848
+ }
3849
+ };
3850
+ _self[STR_EVENTS_SENT ] = function (events) {
3851
+ _runListeners(_self[_DYN_LISTENERS ], STR_EVENTS_SENT, true, function (listener) {
3852
+ listener[STR_EVENTS_SENT ](events);
3853
+ });
3854
+ };
3855
+ _self[STR_EVENTS_DISCARDED ] = function (events, reason) {
3856
+ _runListeners(_self[_DYN_LISTENERS ], STR_EVENTS_DISCARDED, true, function (listener) {
3857
+ listener[STR_EVENTS_DISCARDED ](events, reason);
3858
+ });
3859
+ };
3860
+ _self[STR_EVENTS_SEND_REQUEST ] = function (sendReason, isAsync) {
3861
+ _runListeners(_self[_DYN_LISTENERS ], STR_EVENTS_SEND_REQUEST, isAsync, function (listener) {
3862
+ listener[STR_EVENTS_SEND_REQUEST ](sendReason, isAsync);
3863
+ });
3864
+ };
3865
+ _self[STR_PERF_EVENT ] = function (perfEvent) {
3866
+ if (perfEvent) {
3867
+ if (perfEvtsSendAll || !perfEvent[_DYN_IS_CHILD_EVT ]()) {
3868
+ _runListeners(_self[_DYN_LISTENERS ], STR_PERF_EVENT, false, function (listener) {
3869
+ if (perfEvent[_DYN_IS_ASYNC ]) {
3870
+ setTimeout(function () { return listener[STR_PERF_EVENT ](perfEvent); }, 0);
3871
+ }
3872
+ else {
3873
+ listener[STR_PERF_EVENT ](perfEvent);
3874
+ }
3875
+ });
3876
+ }
3877
+ }
3878
+ };
3879
+ });
3609
3880
  }
3610
- return dateNow();
3611
- }
3612
- function generateW3CId() {
3613
- var hexValues = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f"];
3614
- var oct = strEmpty, tmp;
3615
- for (var a = 0; a < 4; a++) {
3616
- tmp = random32();
3617
- oct +=
3618
- hexValues[tmp & 0xF] +
3619
- hexValues[tmp >> 4 & 0xF] +
3620
- hexValues[tmp >> 8 & 0xF] +
3621
- hexValues[tmp >> 12 & 0xF] +
3622
- hexValues[tmp >> 16 & 0xF] +
3623
- hexValues[tmp >> 20 & 0xF] +
3624
- hexValues[tmp >> 24 & 0xF] +
3625
- hexValues[tmp >> 28 & 0xF];
3881
+ NotificationManager.__ieDyn=1;
3882
+ return NotificationManager;
3883
+ }());
3884
+
3885
+ var AppInsightsCore$2 = /** @class */ (function (_super) {
3886
+ __extendsFn(AppInsightsCore, _super);
3887
+ function AppInsightsCore() {
3888
+ var _this = _super.call(this) || this;
3889
+ dynamicProto(AppInsightsCore, _this, function (_self, _base) {
3890
+ _self[_DYN_INITIALIZE ] = function (config, extensions, logger, notificationManager) {
3891
+ _base[_DYN_INITIALIZE ](config, extensions, logger || new DiagnosticLogger(config), notificationManager || new NotificationManager(config));
3892
+ };
3893
+ _self.track = function (telemetryItem) {
3894
+ doPerf(_self[STR_GET_PERF_MGR ](), function () { return "AppInsightsCore:track"; }, function () {
3895
+ if (telemetryItem === null) {
3896
+ _notifyInvalidEvent(telemetryItem);
3897
+ throwError("Invalid telemetry item");
3898
+ }
3899
+ _validateTelemetryItem(telemetryItem);
3900
+ _base.track(telemetryItem);
3901
+ }, function () { return ({ item: telemetryItem }); }, !(telemetryItem.sync));
3902
+ };
3903
+ function _validateTelemetryItem(telemetryItem) {
3904
+ if (isNullOrUndefined(telemetryItem[_DYN_NAME ])) {
3905
+ _notifyInvalidEvent(telemetryItem);
3906
+ throwError("telemetry name required");
3907
+ }
3908
+ }
3909
+ function _notifyInvalidEvent(telemetryItem) {
3910
+ var manager = _self[_DYN_GET_NOTIFY_MGR ]();
3911
+ if (manager) {
3912
+ manager[STR_EVENTS_DISCARDED ]([telemetryItem], 2 );
3913
+ }
3914
+ }
3915
+ });
3916
+ return _this;
3626
3917
  }
3627
- var clockSequenceHi = hexValues[8 + (random32() & 0x03) | 0];
3628
- return oct.substr(0, 8) + oct.substr(9, 4) + "4" + oct.substr(13, 3) + clockSequenceHi + oct.substr(16, 3) + oct.substr(19, 12);
3629
- }
3630
- var GuidRegex = /[xy]/g;
3631
- var EventHelper = {
3632
- Attach: attachEvent,
3633
- AttachEvent: attachEvent,
3634
- Detach: detachEvent,
3635
- DetachEvent: detachEvent
3636
- };
3918
+ AppInsightsCore.__ieDyn=1;
3919
+ return AppInsightsCore;
3920
+ }(BaseCore$2));
3637
3921
 
3922
+ var _a$1;
3923
+ var FAILED = "Failed";
3924
+ var FAILED_MONITOR_AJAX = FAILED + "MonitorAjax";
3925
+ var TRACK = "Track";
3926
+ var START = "Start";
3927
+ var STOP = "Stop";
3928
+ var EVENT = "Event";
3929
+ var AUTH_CONTEXT = "AuthContext";
3930
+ var EXCEPTION = "Exception";
3931
+ var LOCAL = "Local";
3932
+ var SESSION = "Session";
3933
+ var STORAGE = "Storage";
3934
+ var BROWSER = "Browser";
3935
+ var CANNOT = "Cannot";
3936
+ var BUFFER = "Buffer";
3937
+ var INSTRUMENTATION_KEY = "InstrumentationKey";
3638
3938
  var LoggingSeverity = createEnumStyle({
3639
3939
  CRITICAL: 1 ,
3640
3940
  WARNING: 2
3641
3941
  });
3642
- var _InternalMessageId = createEnumStyle({
3643
- BrowserDoesNotSupportLocalStorage: 0 ,
3644
- BrowserCannotReadLocalStorage: 1 ,
3645
- BrowserCannotReadSessionStorage: 2 ,
3646
- BrowserCannotWriteLocalStorage: 3 ,
3647
- BrowserCannotWriteSessionStorage: 4 ,
3648
- BrowserFailedRemovalFromLocalStorage: 5 ,
3649
- BrowserFailedRemovalFromSessionStorage: 6 ,
3650
- CannotSendEmptyTelemetry: 7 ,
3651
- ClientPerformanceMathError: 8 ,
3652
- ErrorParsingAISessionCookie: 9 ,
3653
- ErrorPVCalc: 10 ,
3654
- ExceptionWhileLoggingError: 11 ,
3655
- FailedAddingTelemetryToBuffer: 12 ,
3656
- FailedMonitorAjaxAbort: 13 ,
3657
- FailedMonitorAjaxDur: 14 ,
3658
- FailedMonitorAjaxOpen: 15 ,
3659
- FailedMonitorAjaxRSC: 16 ,
3660
- FailedMonitorAjaxSend: 17 ,
3661
- FailedMonitorAjaxGetCorrelationHeader: 18 ,
3662
- FailedToAddHandlerForOnBeforeUnload: 19 ,
3663
- FailedToSendQueuedTelemetry: 20 ,
3664
- FailedToReportDataLoss: 21 ,
3665
- FlushFailed: 22 ,
3666
- MessageLimitPerPVExceeded: 23 ,
3667
- MissingRequiredFieldSpecification: 24 ,
3668
- NavigationTimingNotSupported: 25 ,
3669
- OnError: 26 ,
3670
- SessionRenewalDateIsZero: 27 ,
3671
- SenderNotInitialized: 28 ,
3672
- StartTrackEventFailed: 29 ,
3673
- StopTrackEventFailed: 30 ,
3674
- StartTrackFailed: 31 ,
3675
- StopTrackFailed: 32 ,
3676
- TelemetrySampledAndNotSent: 33 ,
3677
- TrackEventFailed: 34 ,
3678
- TrackExceptionFailed: 35 ,
3679
- TrackMetricFailed: 36 ,
3680
- TrackPVFailed: 37 ,
3681
- TrackPVFailedCalc: 38 ,
3682
- TrackTraceFailed: 39 ,
3683
- TransmissionFailed: 40 ,
3684
- FailedToSetStorageBuffer: 41 ,
3685
- FailedToRestoreStorageBuffer: 42 ,
3686
- InvalidBackendResponse: 43 ,
3687
- FailedToFixDepricatedValues: 44 ,
3688
- InvalidDurationValue: 45 ,
3689
- TelemetryEnvelopeInvalid: 46 ,
3690
- CreateEnvelopeError: 47 ,
3691
- CannotSerializeObject: 48 ,
3692
- CannotSerializeObjectNonSerializable: 49 ,
3693
- CircularReferenceDetected: 50 ,
3694
- ClearAuthContextFailed: 51 ,
3695
- ExceptionTruncated: 52 ,
3696
- IllegalCharsInName: 53 ,
3697
- ItemNotInArray: 54 ,
3698
- MaxAjaxPerPVExceeded: 55 ,
3699
- MessageTruncated: 56 ,
3700
- NameTooLong: 57 ,
3701
- SampleRateOutOfRange: 58 ,
3702
- SetAuthContextFailed: 59 ,
3703
- SetAuthContextFailedAccountName: 60 ,
3704
- StringValueTooLong: 61 ,
3705
- StartCalledMoreThanOnce: 62 ,
3706
- StopCalledWithoutStart: 63 ,
3707
- TelemetryInitializerFailed: 64 ,
3708
- TrackArgumentsNotSpecified: 65 ,
3709
- UrlTooLong: 66 ,
3710
- SessionStorageBufferFull: 67 ,
3711
- CannotAccessCookie: 68 ,
3712
- IdTooLong: 69 ,
3713
- InvalidEvent: 70 ,
3714
- FailedMonitorAjaxSetRequestHeader: 71 ,
3715
- SendBrowserInfoOnUserInit: 72 ,
3716
- PluginException: 73 ,
3717
- NotificationException: 74 ,
3718
- SnippetScriptLoadFailure: 99 ,
3719
- InvalidInstrumentationKey: 100 ,
3720
- CannotParseAiBlobValue: 101 ,
3721
- InvalidContentBlob: 102 ,
3722
- TrackPageActionEventFailed: 103 ,
3723
- FailedAddingCustomDefinedRequestContext: 104 ,
3724
- InMemoryStorageBufferFull: 105
3725
- });
3942
+ var _InternalMessageId = createEnumStyle((_a$1 = {},
3943
+ _a$1[BROWSER + "DoesNotSupport" + LOCAL + STORAGE] = 0 ,
3944
+ _a$1[BROWSER + CANNOT + "Read" + LOCAL + STORAGE] = 1 ,
3945
+ _a$1[BROWSER + CANNOT + "Read" + SESSION + STORAGE] = 2 ,
3946
+ _a$1[BROWSER + CANNOT + "Write" + LOCAL + STORAGE] = 3 ,
3947
+ _a$1[BROWSER + CANNOT + "Write" + SESSION + STORAGE] = 4 ,
3948
+ _a$1[BROWSER + FAILED + "RemovalFrom" + LOCAL + STORAGE] = 5 ,
3949
+ _a$1[BROWSER + FAILED + "RemovalFrom" + SESSION + STORAGE] = 6 ,
3950
+ _a$1[CANNOT + "SendEmptyTelemetry"] = 7 ,
3951
+ _a$1.ClientPerformanceMathError = 8 ,
3952
+ _a$1["ErrorParsingAI" + SESSION + "Cookie"] = 9 ,
3953
+ _a$1.ErrorPVCalc = 10 ,
3954
+ _a$1[EXCEPTION + "WhileLoggingError"] = 11 ,
3955
+ _a$1[FAILED + "AddingTelemetryTo" + BUFFER] = 12 ,
3956
+ _a$1[FAILED_MONITOR_AJAX + "Abort"] = 13 ,
3957
+ _a$1[FAILED_MONITOR_AJAX + "Dur"] = 14 ,
3958
+ _a$1[FAILED_MONITOR_AJAX + "Open"] = 15 ,
3959
+ _a$1[FAILED_MONITOR_AJAX + "RSC"] = 16 ,
3960
+ _a$1[FAILED_MONITOR_AJAX + "Send"] = 17 ,
3961
+ _a$1[FAILED_MONITOR_AJAX + "GetCorrelationHeader"] = 18 ,
3962
+ _a$1[FAILED + "ToAddHandlerForOnBeforeUnload"] = 19 ,
3963
+ _a$1[FAILED + "ToSendQueuedTelemetry"] = 20 ,
3964
+ _a$1[FAILED + "ToReportDataLoss"] = 21 ,
3965
+ _a$1["Flush" + FAILED] = 22 ,
3966
+ _a$1.MessageLimitPerPVExceeded = 23 ,
3967
+ _a$1.MissingRequiredFieldSpecification = 24 ,
3968
+ _a$1.NavigationTimingNotSupported = 25 ,
3969
+ _a$1.OnError = 26 ,
3970
+ _a$1[SESSION + "RenewalDateIsZero"] = 27 ,
3971
+ _a$1.SenderNotInitialized = 28 ,
3972
+ _a$1[START + TRACK + EVENT + FAILED] = 29 ,
3973
+ _a$1[STOP + TRACK + EVENT + FAILED] = 30 ,
3974
+ _a$1[START + TRACK + FAILED] = 31 ,
3975
+ _a$1[STOP + TRACK + FAILED] = 32 ,
3976
+ _a$1.TelemetrySampledAndNotSent = 33 ,
3977
+ _a$1[TRACK + EVENT + FAILED] = 34 ,
3978
+ _a$1[TRACK + EXCEPTION + FAILED] = 35 ,
3979
+ _a$1[TRACK + "Metric" + FAILED] = 36 ,
3980
+ _a$1[TRACK + "PV" + FAILED] = 37 ,
3981
+ _a$1[TRACK + "PV" + FAILED + "Calc"] = 38 ,
3982
+ _a$1[TRACK + "Trace" + FAILED] = 39 ,
3983
+ _a$1["Transmission" + FAILED] = 40 ,
3984
+ _a$1[FAILED + "ToSet" + STORAGE + BUFFER] = 41 ,
3985
+ _a$1[FAILED + "ToRestore" + STORAGE + BUFFER] = 42 ,
3986
+ _a$1.InvalidBackendResponse = 43 ,
3987
+ _a$1[FAILED + "ToFixDepricatedValues"] = 44 ,
3988
+ _a$1.InvalidDurationValue = 45 ,
3989
+ _a$1.TelemetryEnvelopeInvalid = 46 ,
3990
+ _a$1.CreateEnvelopeError = 47 ,
3991
+ _a$1[CANNOT + "SerializeObject"] = 48 ,
3992
+ _a$1[CANNOT + "SerializeObjectNonSerializable"] = 49 ,
3993
+ _a$1.CircularReferenceDetected = 50 ,
3994
+ _a$1["Clear" + AUTH_CONTEXT + FAILED] = 51 ,
3995
+ _a$1[EXCEPTION + "Truncated"] = 52 ,
3996
+ _a$1.IllegalCharsInName = 53 ,
3997
+ _a$1.ItemNotInArray = 54 ,
3998
+ _a$1.MaxAjaxPerPVExceeded = 55 ,
3999
+ _a$1.MessageTruncated = 56 ,
4000
+ _a$1.NameTooLong = 57 ,
4001
+ _a$1.SampleRateOutOfRange = 58 ,
4002
+ _a$1["Set" + AUTH_CONTEXT + FAILED] = 59 ,
4003
+ _a$1["Set" + AUTH_CONTEXT + FAILED + "AccountName"] = 60 ,
4004
+ _a$1.StringValueTooLong = 61 ,
4005
+ _a$1.StartCalledMoreThanOnce = 62 ,
4006
+ _a$1.StopCalledWithoutStart = 63 ,
4007
+ _a$1["TelemetryInitializer" + FAILED] = 64 ,
4008
+ _a$1.TrackArgumentsNotSpecified = 65 ,
4009
+ _a$1.UrlTooLong = 66 ,
4010
+ _a$1[SESSION + STORAGE + BUFFER + "Full"] = 67 ,
4011
+ _a$1[CANNOT + "AccessCookie"] = 68 ,
4012
+ _a$1.IdTooLong = 69 ,
4013
+ _a$1.InvalidEvent = 70 ,
4014
+ _a$1[FAILED_MONITOR_AJAX + "SetRequestHeader"] = 71 ,
4015
+ _a$1["Send" + BROWSER + "InfoOnUserInit"] = 72 ,
4016
+ _a$1["Plugin" + EXCEPTION] = 73 ,
4017
+ _a$1["Notification" + EXCEPTION] = 74 ,
4018
+ _a$1.SnippetScriptLoadFailure = 99 ,
4019
+ _a$1["Invalid" + INSTRUMENTATION_KEY] = 100 ,
4020
+ _a$1[CANNOT + "ParseAiBlobValue"] = 101 ,
4021
+ _a$1.InvalidContentBlob = 102 ,
4022
+ _a$1[TRACK + "PageAction" + EVENT + FAILED] = 103 ,
4023
+ _a$1[FAILED + "AddingCustomDefinedRequestContext"] = 104 ,
4024
+ _a$1["InMemory" + STORAGE + BUFFER + "Full"] = 105 ,
4025
+ _a$1[INSTRUMENTATION_KEY + "Deprecation"] = 106 ,
4026
+ _a$1));
3726
4027
 
3727
4028
  var ValueKind = createEnumStyle({
3728
4029
  NotSet: 0 ,
@@ -3792,8 +4093,13 @@
3792
4093
  SDKNotInitialized: 520
3793
4094
  })));
3794
4095
 
4096
+ var STR_EMPTY = "";
4097
+ var STR_DEFAULT_ENDPOINT_URL = "https://browser.events.data.microsoft.com/OneCollector/1.0/";
4098
+ var STR_VERSION = "version";
4099
+ var STR_PROPERTIES = "properties";
4100
+
3795
4101
  var _a;
3796
- var Version = '3.2.1';
4102
+ var Version = '3.2.4';
3797
4103
  var FullVersionString = "1DS-Web-JS-" + Version;
3798
4104
  var strDisabledPropertyName = "Microsoft_ApplicationInsights_BypassAjaxInstrumentation";
3799
4105
  var strWithCredentials = "withCredentials";
@@ -3811,7 +4117,7 @@
3811
4117
  var isDocumentObjectAvailable = Boolean(getDocument());
3812
4118
  var isWindowObjectAvailable = Boolean(getWindow());
3813
4119
  function isValueAssigned(value) {
3814
- return !(value === "" || isNullOrUndefined(value));
4120
+ return !(value === STR_EMPTY || isNullOrUndefined(value));
3815
4121
  }
3816
4122
  function getTenantId(apiKey) {
3817
4123
  if (apiKey) {
@@ -3820,7 +4126,7 @@
3820
4126
  return apiKey.substring(0, indexTenantId);
3821
4127
  }
3822
4128
  }
3823
- return "";
4129
+ return STR_EMPTY;
3824
4130
  }
3825
4131
  function isUint8ArrayAvailable() {
3826
4132
  if (uInt8ArraySupported === null) {
@@ -3842,11 +4148,11 @@
3842
4148
  if (propType === "string" || propType === "number" || propType === "boolean" || isArray(property)) {
3843
4149
  property = { value: property };
3844
4150
  }
3845
- else if (propType === "object" && !property.hasOwnProperty("value")) {
4151
+ else if (propType === "object" && !ObjHasOwnProperty.call(property, "value")) {
3846
4152
  property = { value: stringifyObjects ? JSON.stringify(property) : property };
3847
4153
  }
3848
4154
  else if (isNullOrUndefined(property.value)
3849
- || property.value === "" || (!isString(property.value)
4155
+ || property.value === STR_EMPTY || (!isString(property.value)
3850
4156
  && !isNumber(property.value) && !isBoolean(property.value)
3851
4157
  && !isArray(property.value))) {
3852
4158
  return null;
@@ -3909,7 +4215,7 @@
3909
4215
  if (areCookiesSupported(null)) {
3910
4216
  return getCookieValue(safeGetCookieMgr(null), name);
3911
4217
  }
3912
- return "";
4218
+ return STR_EMPTY;
3913
4219
  }
3914
4220
  function getCookieValue(cookieMgr, name, decode) {
3915
4221
  if (decode === void 0) { decode = true; }
@@ -3920,7 +4226,7 @@
3920
4226
  cookieValue = decodeURIComponent(cookieValue);
3921
4227
  }
3922
4228
  }
3923
- return cookieValue || "";
4229
+ return cookieValue || STR_EMPTY;
3924
4230
  }
3925
4231
  function createGuid(style) {
3926
4232
  if (style === void 0) { style = "D" ; }
@@ -3932,7 +4238,7 @@
3932
4238
  theGuid = "(" + theGuid + ")";
3933
4239
  }
3934
4240
  else if (style === "N" ) {
3935
- theGuid = theGuid.replace(/-/g, "");
4241
+ theGuid = theGuid.replace(/-/g, STR_EMPTY);
3936
4242
  }
3937
4243
  return theGuid;
3938
4244
  }
@@ -4026,7 +4332,7 @@
4026
4332
  theType |= getFieldValueType(value[0]);
4027
4333
  }
4028
4334
  }
4029
- else if (hasOwnProperty(value, "value")) {
4335
+ else if (ObjHasOwnProperty.call(value, "value")) {
4030
4336
  theType = 8192 | getFieldValueType(value.value);
4031
4337
  }
4032
4338
  }
@@ -4148,27 +4454,25 @@
4148
4454
  return xhr;
4149
4455
  }
4150
4456
 
4151
- var PropVersion = "version";
4152
- var properties = "properties";
4153
4457
  var AppInsightsCore = /** @class */ (function (_super) {
4154
4458
  __extendsFn(AppInsightsCore, _super);
4155
4459
  function AppInsightsCore() {
4156
4460
  var _this = _super.call(this) || this;
4157
4461
  _this.pluginVersionStringArr = [];
4158
- _this.pluginVersionString = "";
4159
4462
  dynamicProto(AppInsightsCore, _this, function (_self, _base) {
4160
4463
  if (!_self.logger || !_self.logger.queue) {
4161
4464
  _self.logger = new DiagnosticLogger({ loggingLevelConsole: 1 });
4162
4465
  }
4163
4466
  _self.initialize = function (config, extensions, logger, notificationManager) {
4164
4467
  doPerf(_self, function () { return "AppInsightsCore.initialize"; }, function () {
4468
+ var _pluginVersionStringArr = _self.pluginVersionStringArr;
4165
4469
  if (config) {
4166
4470
  if (!config.endpointUrl) {
4167
- config.endpointUrl = "https://browser.events.data.microsoft.com/OneCollector/1.0/";
4471
+ config.endpointUrl = STR_DEFAULT_ENDPOINT_URL;
4168
4472
  }
4169
4473
  var propertyStorageOverride = config.propertyStorageOverride;
4170
4474
  if (propertyStorageOverride && (!propertyStorageOverride.getProperty || !propertyStorageOverride.setProperty)) {
4171
- throw new Error("Invalid property storage override passed.");
4475
+ throwError("Invalid property storage override passed.");
4172
4476
  }
4173
4477
  if (config.channels) {
4174
4478
  arrForEach(config.channels, function (channels) {
@@ -4176,7 +4480,7 @@
4176
4480
  arrForEach(channels, function (channel) {
4177
4481
  if (channel.identifier && channel.version) {
4178
4482
  var ver = channel.identifier + "=" + channel.version;
4179
- _self.pluginVersionStringArr.push(ver);
4483
+ _pluginVersionStringArr.push(ver);
4180
4484
  }
4181
4485
  });
4182
4486
  }
@@ -4190,11 +4494,12 @@
4190
4494
  arrForEach(extensions, function (ext) {
4191
4495
  if (ext && ext.identifier && ext.version) {
4192
4496
  var ver = ext.identifier + "=" + ext.version;
4193
- _self.pluginVersionStringArr.push(ver);
4497
+ _pluginVersionStringArr.push(ver);
4194
4498
  }
4195
4499
  });
4196
4500
  }
4197
- _self.pluginVersionString = _self.pluginVersionStringArr.join(";");
4501
+ _self.pluginVersionString = _pluginVersionStringArr.join(";");
4502
+ _self.pluginVersionStringArr = _pluginVersionStringArr;
4198
4503
  try {
4199
4504
  _base.initialize(config, extensions, logger, notificationManager);
4200
4505
  _self.pollInternalLogs("InternalLog");
@@ -4205,7 +4510,7 @@
4205
4510
  if (message.indexOf("channels") !== -1) {
4206
4511
  message += "\n - Channels must be provided through config.channels only!";
4207
4512
  }
4208
- logger_1.throwInternal(1 , 514 , "SDK Initialization Failed - no telemetry will be sent: " + message);
4513
+ _throwInternal(logger_1, 1 , 514 , "SDK Initialization Failed - no telemetry will be sent: " + message);
4209
4514
  }
4210
4515
  }, function () { return ({ config: config, extensions: extensions, logger: logger, notificationManager: notificationManager }); });
4211
4516
  };
@@ -4222,16 +4527,9 @@
4222
4527
  itemExt.sdk = itemExt.sdk || {};
4223
4528
  itemExt.sdk.ver = FullVersionString;
4224
4529
  var baseData = telemetryItem.baseData = telemetryItem.baseData || {};
4225
- if (!baseData[properties]) {
4226
- baseData[properties] = {};
4227
- }
4228
- var itemProperties = baseData[properties];
4229
- if (!itemProperties[PropVersion]) {
4230
- itemProperties[PropVersion] = "";
4231
- }
4232
- if (_self.pluginVersionString !== "") {
4233
- itemProperties[PropVersion] = _self.pluginVersionString;
4234
- }
4530
+ baseData[STR_PROPERTIES] = baseData[STR_PROPERTIES] || {};
4531
+ var itemProperties = baseData[STR_PROPERTIES];
4532
+ itemProperties[STR_VERSION] = _self.pluginVersionString || itemProperties[STR_VERSION] || STR_EMPTY;
4235
4533
  }
4236
4534
  _base.track(telemetryItem);
4237
4535
  }, function () { return ({ item: item }); }, !(item.sync));
@@ -4239,6 +4537,7 @@
4239
4537
  });
4240
4538
  return _this;
4241
4539
  }
4540
+ AppInsightsCore.__ieDyn=1;
4242
4541
  return AppInsightsCore;
4243
4542
  }(AppInsightsCore$2));
4244
4543
  var AppInsightsCore$1 = AppInsightsCore;
@@ -4250,7 +4549,7 @@
4250
4549
  dynamicProto(BaseCore, _this, function (_self, _base) {
4251
4550
  _self.initialize = function (config, extensions, logger, notificationManager) {
4252
4551
  if (config && !config.endpointUrl) {
4253
- config.endpointUrl = "https://browser.events.data.microsoft.com/OneCollector/1.0/";
4552
+ config.endpointUrl = STR_DEFAULT_ENDPOINT_URL;
4254
4553
  }
4255
4554
  _self.getWParam = function () {
4256
4555
  return isDocumentObjectAvailable ? 0 : -1;
@@ -4274,6 +4573,7 @@
4274
4573
  });
4275
4574
  return _this;
4276
4575
  }
4576
+ BaseCore.__ieDyn=1;
4277
4577
  return BaseCore;
4278
4578
  }(BaseCore$2));
4279
4579
  var BaseCore$1 = BaseCore;
@@ -4655,7 +4955,7 @@
4655
4955
  }
4656
4956
  }
4657
4957
  function _warnLog(message) {
4658
- diagLog && diagLog.warnToConsole("ESPromiseScheduler[" + _scheduledName + "] " + message);
4958
+ _warnToConsole(diagLog, "ESPromiseScheduler[" + _scheduledName + "] " + message);
4659
4959
  }
4660
4960
  }
4661
4961
  ESPromiseScheduler.incomplete = function () {
@@ -4747,7 +5047,7 @@
4747
5047
  if (mapValue.handler) {
4748
5048
  return mapValue.handler.value(path, name, value, stringifyObjects);
4749
5049
  }
4750
- if (!isString(name) || isNullOrUndefined(value) || value === "") {
5050
+ if (!isString(name) || isNullOrUndefined(value) || value === STR_EMPTY) {
4751
5051
  return null;
4752
5052
  }
4753
5053
  var property = null;
@@ -4879,7 +5179,9 @@
4879
5179
  exports._InternalLogMessage = _InternalLogMessage;
4880
5180
  exports._InternalMessageId = _InternalMessageId;
4881
5181
  exports.__getRegisteredEvents = __getRegisteredEvents;
5182
+ exports._logInternalMessage = _logInternalMessage;
4882
5183
  exports._throwInternal = _throwInternal;
5184
+ exports._warnToConsole = _warnToConsole;
4883
5185
  exports.addEventHandler = addEventHandler;
4884
5186
  exports.addEventListeners = addEventListeners;
4885
5187
  exports.addPageHideEventListener = addPageHideEventListener;
@@ -4896,6 +5198,7 @@
4896
5198
  exports.createEnumStyle = createEnumStyle;
4897
5199
  exports.createGuid = createGuid;
4898
5200
  exports.createProcessTelemetryContext = createProcessTelemetryContext;
5201
+ exports.createTraceParent = createTraceParent;
4899
5202
  exports.createUniqueNamespace = createUniqueNamespace;
4900
5203
  exports.createUnloadHandlerContainer = createUnloadHandlerContainer;
4901
5204
  exports.dateNow = dateNow;
@@ -4908,6 +5211,8 @@
4908
5211
  exports.eventOff = eventOff;
4909
5212
  exports.eventOn = eventOn;
4910
5213
  exports.extend = extend;
5214
+ exports.findW3cTraceParent = findW3cTraceParent;
5215
+ exports.formatTraceParent = formatTraceParent;
4911
5216
  exports.generateW3CId = generateW3CId;
4912
5217
  exports.getCommonSchemaMetaData = getCommonSchemaMetaData;
4913
5218
  exports.getConsole = getConsole;
@@ -4954,11 +5259,15 @@
4954
5259
  exports.isNumber = isNumber;
4955
5260
  exports.isObject = isObject;
4956
5261
  exports.isReactNative = isReactNative;
5262
+ exports.isSampledFlag = isSampledFlag;
4957
5263
  exports.isString = isString;
4958
5264
  exports.isTruthy = isTruthy;
4959
5265
  exports.isTypeof = isTypeof;
4960
5266
  exports.isUint8ArrayAvailable = isUint8ArrayAvailable;
4961
5267
  exports.isUndefined = isUndefined;
5268
+ exports.isValidSpanId = isValidSpanId;
5269
+ exports.isValidTraceId = isValidTraceId;
5270
+ exports.isValidTraceParent = isValidTraceParent;
4962
5271
  exports.isValueAssigned = isValueAssigned;
4963
5272
  exports.isValueKind = isValueKind;
4964
5273
  exports.isWindowObjectAvailable = isWindowObjectAvailable;
@@ -4975,6 +5284,7 @@
4975
5284
  exports.objSeal = objSeal;
4976
5285
  exports.openXhr = openXhr;
4977
5286
  exports.optimizeObject = optimizeObject;
5287
+ exports.parseTraceParent = parseTraceParent;
4978
5288
  exports.perfNow = perfNow;
4979
5289
  exports.proxyAssign = proxyAssign;
4980
5290
  exports.proxyFunctionAs = proxyFunctionAs;