@microsoft/power-apps-cli 0.5.3 → 0.5.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 (109) hide show
  1. package/lib/Verbs/AddDataSource.js +19 -13
  2. package/lib/Verbs/AddDataSource.js.map +1 -1
  3. package/lib/Verbs/DeleteDataSource.js +3 -3
  4. package/lib/Verbs/DeleteDataSource.js.map +1 -1
  5. package/lib/Verbs/Init.d.ts.map +1 -1
  6. package/lib/Verbs/Init.js +20 -0
  7. package/lib/Verbs/Init.js.map +1 -1
  8. package/lib-cjs/Verbs/AddDataSource.js +38 -43
  9. package/lib-cjs/Verbs/AddDataSource.js.map +1 -1
  10. package/lib-cjs/Verbs/DeleteDataSource.js +11 -19
  11. package/lib-cjs/Verbs/DeleteDataSource.js.map +1 -1
  12. package/lib-cjs/Verbs/Init.d.ts.map +1 -1
  13. package/lib-cjs/Verbs/Init.js +39 -8
  14. package/lib-cjs/Verbs/Init.js.map +1 -1
  15. package/node_modules/@microsoft/1ds-properties-js/README.md +193 -0
  16. package/node_modules/@microsoft/1ds-properties-js/bundle/es5/ms.properties-4.3.9.gbl.js +4844 -0
  17. package/node_modules/@microsoft/1ds-properties-js/bundle/es5/ms.properties-4.3.9.gbl.js.map +1 -0
  18. package/node_modules/@microsoft/1ds-properties-js/bundle/es5/ms.properties-4.3.9.gbl.min.js +7 -0
  19. package/node_modules/@microsoft/1ds-properties-js/bundle/es5/ms.properties-4.3.9.gbl.min.js.map +1 -0
  20. package/node_modules/@microsoft/1ds-properties-js/bundle/es5/ms.properties-4.3.9.integrity.json +46 -0
  21. package/node_modules/@microsoft/1ds-properties-js/bundle/es5/ms.properties-4.3.9.js +4848 -0
  22. package/node_modules/@microsoft/1ds-properties-js/bundle/es5/ms.properties-4.3.9.js.map +1 -0
  23. package/node_modules/@microsoft/1ds-properties-js/bundle/es5/ms.properties-4.3.9.min.js +7 -0
  24. package/node_modules/@microsoft/1ds-properties-js/bundle/es5/ms.properties-4.3.9.min.js.map +1 -0
  25. package/node_modules/@microsoft/1ds-properties-js/bundle/es5/ms.properties.gbl.js +4844 -0
  26. package/node_modules/@microsoft/1ds-properties-js/bundle/es5/ms.properties.gbl.js.map +1 -0
  27. package/node_modules/@microsoft/1ds-properties-js/bundle/es5/ms.properties.gbl.min.js +7 -0
  28. package/node_modules/@microsoft/1ds-properties-js/bundle/es5/ms.properties.gbl.min.js.map +1 -0
  29. package/node_modules/@microsoft/1ds-properties-js/bundle/es5/ms.properties.integrity.json +46 -0
  30. package/node_modules/@microsoft/1ds-properties-js/bundle/es5/ms.properties.js +4848 -0
  31. package/node_modules/@microsoft/1ds-properties-js/bundle/es5/ms.properties.js.map +1 -0
  32. package/node_modules/@microsoft/1ds-properties-js/bundle/es5/ms.properties.min.js +7 -0
  33. package/node_modules/@microsoft/1ds-properties-js/bundle/es5/ms.properties.min.js.map +1 -0
  34. package/node_modules/@microsoft/1ds-properties-js/dist/es5/ms.properties.js +4827 -0
  35. package/node_modules/@microsoft/1ds-properties-js/dist/es5/ms.properties.js.map +1 -0
  36. package/node_modules/@microsoft/1ds-properties-js/dist/es5/ms.properties.min.js +7 -0
  37. package/node_modules/@microsoft/1ds-properties-js/dist/es5/ms.properties.min.js.map +1 -0
  38. package/node_modules/@microsoft/1ds-properties-js/dist-es5/DataModels.js +13 -0
  39. package/node_modules/@microsoft/1ds-properties-js/dist-es5/DataModels.js.map +1 -0
  40. package/node_modules/@microsoft/1ds-properties-js/dist-es5/ExtensionKeys.js +95 -0
  41. package/node_modules/@microsoft/1ds-properties-js/dist-es5/ExtensionKeys.js.map +1 -0
  42. package/node_modules/@microsoft/1ds-properties-js/dist-es5/Index.js +16 -0
  43. package/node_modules/@microsoft/1ds-properties-js/dist-es5/Index.js.map +1 -0
  44. package/node_modules/@microsoft/1ds-properties-js/dist-es5/InternalConstants.js +30 -0
  45. package/node_modules/@microsoft/1ds-properties-js/dist-es5/InternalConstants.js.map +1 -0
  46. package/node_modules/@microsoft/1ds-properties-js/dist-es5/PropertiesPlugin.js +200 -0
  47. package/node_modules/@microsoft/1ds-properties-js/dist-es5/PropertiesPlugin.js.map +1 -0
  48. package/node_modules/@microsoft/1ds-properties-js/dist-es5/SessionManager.js +168 -0
  49. package/node_modules/@microsoft/1ds-properties-js/dist-es5/SessionManager.js.map +1 -0
  50. package/node_modules/@microsoft/1ds-properties-js/dist-es5/TelemetryContext.js +286 -0
  51. package/node_modules/@microsoft/1ds-properties-js/dist-es5/TelemetryContext.js.map +1 -0
  52. package/node_modules/@microsoft/1ds-properties-js/dist-es5/Utils.js +106 -0
  53. package/node_modules/@microsoft/1ds-properties-js/dist-es5/Utils.js.map +1 -0
  54. package/node_modules/@microsoft/1ds-properties-js/dist-es5/context/Application.js +178 -0
  55. package/node_modules/@microsoft/1ds-properties-js/dist-es5/context/Application.js.map +1 -0
  56. package/node_modules/@microsoft/1ds-properties-js/dist-es5/context/Cloud.js +17 -0
  57. package/node_modules/@microsoft/1ds-properties-js/dist-es5/context/Cloud.js.map +1 -0
  58. package/node_modules/@microsoft/1ds-properties-js/dist-es5/context/Device.js +17 -0
  59. package/node_modules/@microsoft/1ds-properties-js/dist-es5/context/Device.js.map +1 -0
  60. package/node_modules/@microsoft/1ds-properties-js/dist-es5/context/IntWeb.js +58 -0
  61. package/node_modules/@microsoft/1ds-properties-js/dist-es5/context/IntWeb.js.map +1 -0
  62. package/node_modules/@microsoft/1ds-properties-js/dist-es5/context/Loc.js +29 -0
  63. package/node_modules/@microsoft/1ds-properties-js/dist-es5/context/Loc.js.map +1 -0
  64. package/node_modules/@microsoft/1ds-properties-js/dist-es5/context/OperatingSystem.js +176 -0
  65. package/node_modules/@microsoft/1ds-properties-js/dist-es5/context/OperatingSystem.js.map +1 -0
  66. package/node_modules/@microsoft/1ds-properties-js/dist-es5/context/Sdk.js +71 -0
  67. package/node_modules/@microsoft/1ds-properties-js/dist-es5/context/Sdk.js.map +1 -0
  68. package/node_modules/@microsoft/1ds-properties-js/dist-es5/context/Session.js +47 -0
  69. package/node_modules/@microsoft/1ds-properties-js/dist-es5/context/Session.js.map +1 -0
  70. package/node_modules/@microsoft/1ds-properties-js/dist-es5/context/Trace.js +36 -0
  71. package/node_modules/@microsoft/1ds-properties-js/dist-es5/context/Trace.js.map +1 -0
  72. package/node_modules/@microsoft/1ds-properties-js/dist-es5/context/User.js +102 -0
  73. package/node_modules/@microsoft/1ds-properties-js/dist-es5/context/User.js.map +1 -0
  74. package/node_modules/@microsoft/1ds-properties-js/dist-es5/context/Utc.js +64 -0
  75. package/node_modules/@microsoft/1ds-properties-js/dist-es5/context/Utc.js.map +1 -0
  76. package/node_modules/@microsoft/1ds-properties-js/dist-es5/context/Web.js +274 -0
  77. package/node_modules/@microsoft/1ds-properties-js/dist-es5/context/Web.js.map +1 -0
  78. package/node_modules/@microsoft/1ds-properties-js/package.json +65 -0
  79. package/node_modules/@microsoft/1ds-properties-js/tsconfig.json +27 -0
  80. package/node_modules/@microsoft/1ds-properties-js/types/1ds-properties-js.d.ts +706 -0
  81. package/node_modules/@microsoft/1ds-properties-js/types/1ds-properties-js.namespaced.d.ts +2908 -0
  82. package/node_modules/@microsoft/powerapps-data/package.json +1 -1
  83. package/node_modules/@microsoft/powerapps-player-actions/lib/Actions/AddDataSource.js +31 -25
  84. package/node_modules/@microsoft/powerapps-player-actions/lib/Actions/AddDataSource.js.map +1 -1
  85. package/node_modules/@microsoft/powerapps-player-actions/lib/Actions/DataUtils.d.ts +6 -4
  86. package/node_modules/@microsoft/powerapps-player-actions/lib/Actions/DataUtils.d.ts.map +1 -1
  87. package/node_modules/@microsoft/powerapps-player-actions/lib/Actions/DataUtils.js +11 -5
  88. package/node_modules/@microsoft/powerapps-player-actions/lib/Actions/DataUtils.js.map +1 -1
  89. package/node_modules/@microsoft/powerapps-player-actions/lib/Actions/DeleteDataSource.js +3 -3
  90. package/node_modules/@microsoft/powerapps-player-actions/lib/Actions/DeleteDataSource.js.map +1 -1
  91. package/node_modules/@microsoft/powerapps-player-actions/lib/Types/ActionTypes.d.ts +16 -11
  92. package/node_modules/@microsoft/powerapps-player-actions/lib/Types/ActionTypes.d.ts.map +1 -1
  93. package/node_modules/@microsoft/powerapps-player-actions/lib/__tests__/AddDataSource.spec.js +1 -1
  94. package/node_modules/@microsoft/powerapps-player-actions/lib/__tests__/AddDataSource.spec.js.map +1 -1
  95. package/node_modules/@microsoft/powerapps-player-actions/lib-cjs/Actions/AddDataSource.js +104 -86
  96. package/node_modules/@microsoft/powerapps-player-actions/lib-cjs/Actions/AddDataSource.js.map +1 -1
  97. package/node_modules/@microsoft/powerapps-player-actions/lib-cjs/Actions/DataUtils.d.ts +6 -4
  98. package/node_modules/@microsoft/powerapps-player-actions/lib-cjs/Actions/DataUtils.d.ts.map +1 -1
  99. package/node_modules/@microsoft/powerapps-player-actions/lib-cjs/Actions/DataUtils.js +26 -4
  100. package/node_modules/@microsoft/powerapps-player-actions/lib-cjs/Actions/DataUtils.js.map +1 -1
  101. package/node_modules/@microsoft/powerapps-player-actions/lib-cjs/Actions/DeleteDataSource.js +52 -46
  102. package/node_modules/@microsoft/powerapps-player-actions/lib-cjs/Actions/DeleteDataSource.js.map +1 -1
  103. package/node_modules/@microsoft/powerapps-player-actions/lib-cjs/Types/ActionTypes.d.ts +16 -11
  104. package/node_modules/@microsoft/powerapps-player-actions/lib-cjs/Types/ActionTypes.d.ts.map +1 -1
  105. package/node_modules/@microsoft/powerapps-player-actions/lib-cjs/__tests__/AddDataSource.spec.js +1 -1
  106. package/node_modules/@microsoft/powerapps-player-actions/lib-cjs/__tests__/AddDataSource.spec.js.map +1 -1
  107. package/node_modules/@microsoft/powerapps-player-actions/package.json +1 -1
  108. package/node_modules/@pa-client/powerapps-player-services/package.json +69 -69
  109. package/package.json +5 -3
@@ -0,0 +1,4848 @@
1
+ /*!
2
+ * 1DS JS SDK Properties plugin, 4.3.9
3
+ * Copyright (c) Microsoft and contributors. All rights reserved.
4
+ * (Microsoft Internal Only)
5
+ */
6
+ (function (global, factory) {
7
+ var undef = "undefined";
8
+ typeof exports === "object" && typeof module !== undef ? factory(exports) :
9
+ typeof define === "function" && define.amd ? define(["exports"], factory) :
10
+ (function(global){
11
+ var nsKey, key, nm, theExports = {}, modName = "es5_ms_properties_4_3_9", msMod="__ms$mod__";
12
+ var mods={}, modDetail=mods[modName]={}, ver="4.3.9";
13
+ // Versioned namespace "oneDS4"
14
+ var exportNs=global, nsKey="oneDS4", exportNs=exportNs[nsKey]=(exportNs[nsKey]||{});
15
+ // Global namespace "oneDS"
16
+ var destNs=global, nsKey="oneDS", destNs=destNs[nsKey]=(destNs[nsKey]||{});
17
+ var expNsDetail=(exportNs[msMod]=(exportNs[msMod] || {})), expNameVer=(expNsDetail["v"]=(expNsDetail["v"] || []));
18
+ var destNsDetail=(destNs[msMod]=(destNs[msMod] || {})), destNameVer=(destNsDetail["v"]=(destNsDetail["v"] || []));
19
+ (destNsDetail["o"]=(destNsDetail["o"] || [])).push(mods);
20
+ factory(theExports);
21
+ for(var key in theExports) {
22
+ // Always set the imported value into the "export" versioned namespace (last-write wins)
23
+ nm="x", exportNs[key]=theExports[key], expNameVer[key]=ver;
24
+ // Copy over any named element that is not already present (first-write wins)
25
+ typeof destNs[key]===undef ? (nm="n", destNs[key]=theExports[key]) && (destNameVer[key]=ver) : !destNameVer[key] && (destNameVer[key]="---");
26
+ (modDetail[nm] = (modDetail[nm] || [])).push(key);
27
+ }
28
+ })(typeof globalThis !== undef ? globalThis : global || self);
29
+ })(this, (function (exports) {
30
+ 'use strict';
31
+
32
+
33
+ /*! https://github.com/nevware21/ts-utils v0.12.5 */
34
+ /*#__NO_SIDE_EFFECTS__*/
35
+ function _pureAssign(func1, func2) {
36
+ return func1 || func2;
37
+ }
38
+ /*#__NO_SIDE_EFFECTS__*/
39
+ function _pureRef(value, name) {
40
+ return value[name];
41
+ }
42
+ var UNDEF_VALUE = undefined;
43
+ var NULL_VALUE = null;
44
+ var EMPTY = "";
45
+ var FUNCTION = "function";
46
+ var OBJECT = "object";
47
+ var PROTOTYPE = "prototype";
48
+ var __PROTO__ = "__proto__";
49
+ var UNDEFINED = "undefined";
50
+ var CONSTRUCTOR = "constructor";
51
+ var SYMBOL = "Symbol";
52
+ var LENGTH = "length";
53
+ var NAME = "name";
54
+ var CALL = "call";
55
+ var TO_STRING = "toString";
56
+ var GET_OWN_PROPERTY_DESCRIPTOR = "getOwnPropertyDescriptor";
57
+ var GET_OWN_PROPERTY_SYMBOLS = "getOwnPropertySymbols";
58
+ var ObjClass$1 = ( /*#__PURE__*/_pureAssign(Object));
59
+ var ObjProto = ( /*#__PURE__*/_pureRef(ObjClass$1, PROTOTYPE));
60
+ var StrCls = ( /*#__PURE__*/_pureAssign(String));
61
+ var StrProto = ( /*#__PURE__*/_pureRef(StrCls, PROTOTYPE));
62
+ var MathCls = ( /*#__PURE__*/_pureAssign(Math));
63
+ var ArrCls = ( /*#__PURE__*/_pureAssign(Array));
64
+ var ArrProto = ( /*#__PURE__*/_pureRef(ArrCls, PROTOTYPE));
65
+ var ArrSlice = ( /*#__PURE__*/_pureRef(ArrProto, "slice"));
66
+ var POLYFILL_TAG = "_polyfill";
67
+ var POLYFILL_TYPE_NAME = "__nw21$polytype__";
68
+ function safe(func, argArray) {
69
+ try {
70
+ return {
71
+ v: func.apply(this, argArray)
72
+ };
73
+ }
74
+ catch (e) {
75
+ return { e: e };
76
+ }
77
+ }
78
+ /*#__NO_SIDE_EFFECTS__*/
79
+ function safeGet(cb, defValue, argArray) {
80
+ var result = safe(cb, argArray);
81
+ return result.e ? defValue : result.v;
82
+ }
83
+ /*#__NO_SIDE_EFFECTS__*/
84
+ function _createIs(theType) {
85
+ return function (value) {
86
+ return typeof value === theType;
87
+ };
88
+ }
89
+ /*#__NO_SIDE_EFFECTS__*/
90
+ function _createObjIs(theName) {
91
+ var theType = "[object " + theName + "]";
92
+ return function (value) {
93
+ return !!(value && objToString(value) === theType);
94
+ };
95
+ }
96
+ /*#__NO_SIDE_EFFECTS__*/
97
+ function objToString(value) {
98
+ return ObjProto[TO_STRING].call(value);
99
+ }
100
+ /*#__NO_SIDE_EFFECTS__*/
101
+ function isUndefined(value) {
102
+ return typeof value === UNDEFINED || value === UNDEFINED;
103
+ }
104
+ /*#__NO_SIDE_EFFECTS__*/
105
+ function isStrictUndefined(arg) {
106
+ return arg === UNDEF_VALUE;
107
+ }
108
+ /*#__NO_SIDE_EFFECTS__*/
109
+ function isNullOrUndefined(value) {
110
+ return value === NULL_VALUE || isUndefined(value);
111
+ }
112
+ /*#__NO_SIDE_EFFECTS__*/
113
+ function isStrictNullOrUndefined(value) {
114
+ return value === NULL_VALUE || value === UNDEF_VALUE;
115
+ }
116
+ /*#__NO_SIDE_EFFECTS__*/
117
+ function isDefined(arg) {
118
+ return !!arg || arg !== UNDEF_VALUE;
119
+ }
120
+ var isString = ( /*#__PURE__*/_createIs("string"));
121
+ var isFunction = ( /*#__PURE__*/_createIs(FUNCTION));
122
+ /*#__NO_SIDE_EFFECTS__*/
123
+ function isObject(value) {
124
+ if (!value && isNullOrUndefined(value)) {
125
+ return false;
126
+ }
127
+ return !!value && typeof value === OBJECT;
128
+ }
129
+ var isArray = ( /* #__PURE__*/_pureRef(ArrCls, "isArray"));
130
+ var isNumber = ( /*#__PURE__*/_createIs("number"));
131
+ var isBoolean = ( /*#__PURE__*/_createIs("boolean"));
132
+ var isError = ( /*#__PURE__*/_createObjIs("Error"));
133
+ /*#__NO_SIDE_EFFECTS__*/
134
+ function isTruthy(value) {
135
+ return !(!value || safeGet(function () { return !(value && (0 + value)); }, !value));
136
+ }
137
+ function _returnNothing() {
138
+ return;
139
+ }
140
+ function _returnEmptyArray() {
141
+ return [];
142
+ }
143
+ function _returnFalse() {
144
+ return false;
145
+ }
146
+ var asString = ( /*#__PURE__*/_pureAssign(StrCls));
147
+ var ERROR_TYPE = "[object Error]";
148
+ /*#__NO_SIDE_EFFECTS__*/
149
+ function dumpObj(object, format) {
150
+ var propertyValueDump = EMPTY;
151
+ var objType = ObjProto[TO_STRING][CALL](object);
152
+ if (objType === ERROR_TYPE) {
153
+ object = { stack: asString(object.stack), message: asString(object.message), name: asString(object.name) };
154
+ }
155
+ try {
156
+ propertyValueDump = JSON.stringify(object, NULL_VALUE, format ? ((typeof format === "number") ? format : 4) : UNDEF_VALUE);
157
+ propertyValueDump = (propertyValueDump ? propertyValueDump.replace(/"(\w+)"\s*:\s{0,1}/g, "$1: ") : NULL_VALUE) || asString(object);
158
+ }
159
+ catch (e) {
160
+ propertyValueDump = " - " + dumpObj(e, format);
161
+ }
162
+ return objType + ": " + propertyValueDump;
163
+ }
164
+ function throwTypeError(message) {
165
+ throw new TypeError(message);
166
+ }
167
+ function _throwIfNullOrUndefined(obj) {
168
+ if (isStrictNullOrUndefined(obj)) {
169
+ throwTypeError("Cannot convert undefined or null to object");
170
+ }
171
+ }
172
+ function _throwIfNotString(value) {
173
+ if (!isString(value)) {
174
+ throwTypeError("'" + dumpObj(value) + "' is not a string");
175
+ }
176
+ }
177
+ /*#__NO_SIDE_EFFECTS__*/
178
+ function objHasOwnProperty(obj, prop) {
179
+ return !!obj && ObjProto.hasOwnProperty[CALL](obj, prop);
180
+ }
181
+ var _objGetOwnPropertyDescriptor$2 = ( /*#__PURE__*/_pureAssign(( /*#__PURE__*/_pureRef(ObjClass$1, GET_OWN_PROPERTY_DESCRIPTOR)), _returnNothing));
182
+ var objHasOwn = ( /*#__PURE__*/_pureAssign(( /*#__PURE__*/_pureRef(ObjClass$1, "hasOwn")), polyObjHasOwn));
183
+ /*#__NO_SIDE_EFFECTS__*/
184
+ function polyObjHasOwn(obj, prop) {
185
+ _throwIfNullOrUndefined(obj);
186
+ return objHasOwnProperty(obj, prop) || !!_objGetOwnPropertyDescriptor$2(obj, prop);
187
+ }
188
+ function objForEachKey(theObject, callbackfn, thisArg) {
189
+ if (theObject && (isObject(theObject) || isFunction(theObject))) {
190
+ for (var prop in theObject) {
191
+ if (objHasOwn(theObject, prop)) {
192
+ if (callbackfn[CALL](thisArg || theObject, prop, theObject[prop]) === -1) {
193
+ break;
194
+ }
195
+ }
196
+ }
197
+ }
198
+ }
199
+ function arrForEach(theArray, callbackfn, thisArg) {
200
+ if (theArray) {
201
+ var len = theArray[LENGTH] >>> 0;
202
+ for (var idx = 0; idx < len; idx++) {
203
+ if (idx in theArray) {
204
+ if (callbackfn[CALL](thisArg || theArray, theArray[idx], idx, theArray) === -1) {
205
+ break;
206
+ }
207
+ }
208
+ }
209
+ }
210
+ }
211
+ var _unwrapFunction = ( _unwrapFunctionWithPoly);
212
+ /*#__NO_SIDE_EFFECTS__*/
213
+ function _unwrapFunctionWithPoly(funcName, clsProto, polyFunc) {
214
+ var clsFn = clsProto ? clsProto[funcName] : NULL_VALUE;
215
+ return function (thisArg) {
216
+ var theFunc = (thisArg ? thisArg[funcName] : NULL_VALUE) || clsFn;
217
+ if (theFunc || polyFunc) {
218
+ var theArgs = arguments;
219
+ return (theFunc || polyFunc).apply(thisArg, theFunc ? ArrSlice[CALL](theArgs, 1) : theArgs);
220
+ }
221
+ throwTypeError("\"" + asString(funcName) + "\" not defined for " + dumpObj(thisArg));
222
+ };
223
+ }
224
+ function _objPropertyIsEnum(obj, propKey) {
225
+ var desc;
226
+ var fn = ObjClass$1.getOwnPropertyDescriptor;
227
+ if (!isStrictNullOrUndefined(obj) && fn) {
228
+ desc = safe(fn, [obj, propKey]).v || NULL_VALUE;
229
+ }
230
+ if (!desc) {
231
+ desc = safe(function () {
232
+ for (var key in obj) {
233
+ if (key === propKey) {
234
+ return { enumerable: true };
235
+ }
236
+ }
237
+ }).v;
238
+ }
239
+ return (desc && desc.enumerable) || false;
240
+ }
241
+ var objPropertyIsEnumerable = ( /*#__PURE__*/_unwrapFunctionWithPoly("propertyIsEnumerable", NULL_VALUE, _objPropertyIsEnum));
242
+ var _objGetOwnPropertyDescriptor$1 = ( /*#__PURE__*/_pureAssign(( /*#__PURE__*/_pureRef(ObjClass$1, GET_OWN_PROPERTY_DESCRIPTOR)), _returnNothing));
243
+ var _objGetOwnPropertySymbols = ( /*#__PURE__*/_pureAssign(( /*#__PURE__*/_pureRef(ObjClass$1, GET_OWN_PROPERTY_SYMBOLS)), _returnEmptyArray));
244
+ var propMap = {
245
+ e: "enumerable",
246
+ c: "configurable",
247
+ v: "value",
248
+ w: "writable",
249
+ g: "get",
250
+ s: "set"
251
+ };
252
+ /*#__NO_SIDE_EFFECTS__*/
253
+ function _createProp(value) {
254
+ var prop = {};
255
+ prop[propMap["c"]] = true;
256
+ prop[propMap["e"]] = true;
257
+ if (value.l) {
258
+ prop.get = function () { return value.l.v; };
259
+ var desc = _objGetOwnPropertyDescriptor$1(value.l, "v");
260
+ if (desc && desc.set) {
261
+ prop.set = function (newValue) {
262
+ value.l.v = newValue;
263
+ };
264
+ }
265
+ }
266
+ objForEachKey(value, function (key, value) {
267
+ prop[propMap[key]] = isStrictUndefined(value) ? prop[propMap[key]] : value;
268
+ });
269
+ return prop;
270
+ }
271
+ var objDefineProp = ( /*#__PURE__*/_pureRef(ObjClass$1, "defineProperty"));
272
+ var objDefineProperties = ( /*#__PURE__*/_pureRef(ObjClass$1, "defineProperties"));
273
+ function objDefine(target, key, propDesc) {
274
+ return objDefineProp(target, key, _createProp(propDesc));
275
+ }
276
+ function objDefineProps(target, propDescMap) {
277
+ var props = {};
278
+ objForEachKey(propDescMap, function (key, value) {
279
+ props[key] = _createProp(value);
280
+ });
281
+ arrForEach(_objGetOwnPropertySymbols(propDescMap), function (sym) {
282
+ if (objPropertyIsEnumerable(propDescMap, sym)) {
283
+ props[sym] = _createProp(propDescMap[sym]);
284
+ }
285
+ });
286
+ return objDefineProperties(target, props);
287
+ }
288
+ /*#__NO_SIDE_EFFECTS__*/
289
+ function _createKeyValueMap(values, keyType, valueType, completeFn, writable) {
290
+ var theMap = {};
291
+ objForEachKey(values, function (key, value) {
292
+ _assignMapValue(theMap, key, keyType ? value : key);
293
+ _assignMapValue(theMap, value, valueType ? value : key);
294
+ });
295
+ return completeFn ? completeFn(theMap) : theMap;
296
+ }
297
+ function _assignMapValue(theMap, key, value, writable) {
298
+ objDefineProp(theMap, key, {
299
+ value: value,
300
+ enumerable: true,
301
+ writable: false
302
+ });
303
+ }
304
+ var objIsFrozen = ( /*#__PURE__*/_pureAssign(( /*#__PURE__*/_pureRef(ObjClass$1, "isFrozen")), _returnFalse));
305
+ var _objFreeze = ( /*#__PURE__*/_pureRef(ObjClass$1, "freeze"));
306
+ function _doNothing(value) {
307
+ return value;
308
+ }
309
+ /*#__NO_SIDE_EFFECTS__*/
310
+ function _getProto(value) {
311
+ _throwIfNullOrUndefined(value);
312
+ return value[__PROTO__] || NULL_VALUE;
313
+ }
314
+ var objKeys = ( /*#__PURE__*/_pureRef(ObjClass$1, "keys"));
315
+ function _deepFreeze(val, visited) {
316
+ if ((isArray(val) || isObject(val) || isFunction(val)) && !objIsFrozen(val)) {
317
+ for (var lp = 0; lp < visited.length; lp++) {
318
+ if (visited[lp] === val) {
319
+ return val;
320
+ }
321
+ }
322
+ visited.push(val);
323
+ objForEachKey(val, function (_key, propValue) {
324
+ _deepFreeze(propValue, visited);
325
+ });
326
+ objFreeze(val);
327
+ }
328
+ return val;
329
+ }
330
+ function objDeepFreeze(value) {
331
+ return _objFreeze ? _deepFreeze(value, []) : value;
332
+ }
333
+ var objFreeze = ( /*#__PURE__*/_pureAssign(_objFreeze, _doNothing));
334
+ var objGetPrototypeOf = ( /*#__PURE__*/_pureAssign(( /*#__PURE__*/_pureRef(ObjClass$1, "getPrototypeOf")), _getProto));
335
+ /*#__NO_SIDE_EFFECTS__*/
336
+ function createEnumKeyMap(values) {
337
+ return _createKeyValueMap(values, 0 , 0 , objFreeze);
338
+ }
339
+ /*#__NO_SIDE_EFFECTS__*/
340
+ function createSimpleMap(values) {
341
+ var mapClass = {};
342
+ objForEachKey(values, function (key, value) {
343
+ _assignMapValue(mapClass, key, value[1]);
344
+ _assignMapValue(mapClass, value[0], value[1]);
345
+ });
346
+ return objFreeze(mapClass);
347
+ }
348
+ /*#__NO_SIDE_EFFECTS__*/
349
+ function createTypeMap(values) {
350
+ return createSimpleMap(values);
351
+ }
352
+ var _wellKnownSymbolMap = ( /*#__PURE__*/createEnumKeyMap({
353
+ asyncIterator: 0 ,
354
+ hasInstance: 1 ,
355
+ isConcatSpreadable: 2 ,
356
+ iterator: 3 ,
357
+ match: 4 ,
358
+ matchAll: 5 ,
359
+ replace: 6 ,
360
+ search: 7 ,
361
+ species: 8 ,
362
+ split: 9 ,
363
+ toPrimitive: 10 ,
364
+ toStringTag: 11 ,
365
+ unscopables: 12
366
+ }));
367
+ var GLOBAL_CONFIG_KEY = "__tsUtils$gblCfg";
368
+ var _globalCfg;
369
+ /*#__NO_SIDE_EFFECTS__*/
370
+ function _getGlobalValue() {
371
+ var result;
372
+ if (typeof globalThis !== UNDEFINED) {
373
+ result = globalThis;
374
+ }
375
+ if (!result && typeof self !== UNDEFINED) {
376
+ result = self;
377
+ }
378
+ if (!result && typeof window !== UNDEFINED) {
379
+ result = window;
380
+ }
381
+ if (!result && typeof global !== UNDEFINED) {
382
+ result = global;
383
+ }
384
+ return result;
385
+ }
386
+ /*#__NO_SIDE_EFFECTS__*/
387
+ function _getGlobalConfig() {
388
+ if (!_globalCfg) {
389
+ var gbl = safe(_getGlobalValue).v || {};
390
+ _globalCfg = gbl[GLOBAL_CONFIG_KEY] = gbl[GLOBAL_CONFIG_KEY] || {};
391
+ }
392
+ return _globalCfg;
393
+ }
394
+ var mathMax = ( /*#__PURE__*/_pureRef(MathCls, "max"));
395
+ var strSlice = ( /*#__PURE__*/_unwrapFunction("slice", StrProto));
396
+ var strSubstring = ( /*#__PURE__*/_unwrapFunction("substring", StrProto));
397
+ var strSubstr = ( /*#__PURE__*/_unwrapFunctionWithPoly("substr", StrProto, polyStrSubstr));
398
+ /*#__NO_SIDE_EFFECTS__*/
399
+ function polyStrSubstr(value, start, length) {
400
+ _throwIfNullOrUndefined(value);
401
+ if (length < 0) {
402
+ return EMPTY;
403
+ }
404
+ start = start || 0;
405
+ if (start < 0) {
406
+ start = mathMax(start + value[LENGTH], 0);
407
+ }
408
+ if (isUndefined(length)) {
409
+ return strSlice(value, start);
410
+ }
411
+ return strSlice(value, start, start + length);
412
+ }
413
+ /*#__NO_SIDE_EFFECTS__*/
414
+ function strLeft(value, count) {
415
+ return strSubstring(value, 0, count);
416
+ }
417
+ function _tagAsPolyfill(target, polyfillTypeName) {
418
+ if (target) {
419
+ safe(function () {
420
+ target[POLYFILL_TAG] = true;
421
+ target[POLYFILL_TYPE_NAME] = polyfillTypeName;
422
+ });
423
+ safe(objDefine, [target, POLYFILL_TAG, {
424
+ v: true,
425
+ w: false,
426
+ e: false
427
+ }]);
428
+ safe(objDefine, [target, POLYFILL_TYPE_NAME, {
429
+ v: polyfillTypeName,
430
+ w: false,
431
+ e: false
432
+ }]);
433
+ }
434
+ return target;
435
+ }
436
+ var objCreate = ( /* #__PURE__*/_pureAssign(( /* #__PURE__*/_pureRef(ObjClass$1, "create")), polyObjCreate));
437
+ /*#__NO_SIDE_EFFECTS__*/
438
+ function polyObjCreate(obj, properties) {
439
+ var newObj = null;
440
+ function tempFunc() { }
441
+ if (!isStrictNullOrUndefined(obj)) {
442
+ var type = typeof obj;
443
+ if (type !== OBJECT && type !== FUNCTION) {
444
+ throwTypeError("Prototype must be an Object or function: " + dumpObj(obj));
445
+ }
446
+ tempFunc[PROTOTYPE] = obj;
447
+ safe(function () {
448
+ tempFunc[__PROTO__] = obj;
449
+ });
450
+ newObj = new tempFunc();
451
+ }
452
+ else {
453
+ newObj = {};
454
+ }
455
+ if (properties) {
456
+ safe(objDefineProperties, [newObj, properties]);
457
+ }
458
+ return newObj;
459
+ }
460
+ /*#__NO_SIDE_EFFECTS__*/
461
+ function utcNow() {
462
+ return (Date.now || polyUtcNow)();
463
+ }
464
+ /*#__NO_SIDE_EFFECTS__*/
465
+ function polyUtcNow() {
466
+ return new Date().getTime();
467
+ }
468
+ function fnApply(fn, thisArg, argArray) {
469
+ return fn.apply(thisArg, argArray);
470
+ }
471
+ var _globalLazyTestHooks;
472
+ function _initTestHooks() {
473
+ _globalLazyTestHooks = _getGlobalConfig();
474
+ }
475
+ /*#__NO_SIDE_EFFECTS__*/
476
+ function getLazy(cb, argArray) {
477
+ var lazyValue = {};
478
+ !_globalLazyTestHooks && _initTestHooks();
479
+ lazyValue.b = _globalLazyTestHooks.lzy;
480
+ objDefineProp(lazyValue, "v", {
481
+ configurable: true,
482
+ get: function () {
483
+ var result = fnApply(cb, null, argArray);
484
+ if (!_globalLazyTestHooks.lzy) {
485
+ objDefineProp(lazyValue, "v", {
486
+ value: result
487
+ });
488
+ }
489
+ lazyValue.b = _globalLazyTestHooks.lzy;
490
+ return result;
491
+ }
492
+ });
493
+ return lazyValue;
494
+ }
495
+ var mathRandom = ( /*#__PURE__*/_pureRef(MathCls, "random"));
496
+ var _uniqueInstanceId = ( /*#__PURE__*/getLazy(function () {
497
+ var value = (utcNow().toString(36).slice(2));
498
+ while (value.length < 16) {
499
+ value += mathRandom().toString(36).slice(2);
500
+ }
501
+ value = value.substring(0, 16);
502
+ return value;
503
+ }));
504
+ var UNIQUE_REGISTRY_ID = "_urid";
505
+ var POLY_SYM = "$nw21sym";
506
+ var _polySymbols;
507
+ var _polyId = 0;
508
+ /*#__NO_SIDE_EFFECTS__*/
509
+ function _globalSymbolRegistry() {
510
+ if (!_polySymbols) {
511
+ var gblCfg = _getGlobalConfig();
512
+ _polySymbols = gblCfg.gblSym = gblCfg.gblSym || { k: {}, s: {} };
513
+ }
514
+ return _polySymbols;
515
+ }
516
+ var _wellKnownSymbolCache;
517
+ /*#__NO_SIDE_EFFECTS__*/
518
+ function polyNewSymbol(description) {
519
+ var uniqueId = "_" + _polyId++ + "_" + _uniqueInstanceId.v;
520
+ var symString = SYMBOL + "(" + description + ")";
521
+ function _setProp(name, value) {
522
+ objDefine(theSymbol, name, {
523
+ v: value,
524
+ e: false,
525
+ w: false
526
+ });
527
+ }
528
+ var theSymbol = objCreate(null);
529
+ _setProp("description", asString(description));
530
+ _setProp(TO_STRING, function () { return symString + POLY_SYM + uniqueId; });
531
+ _setProp("valueOf", function () { return theSymbol; });
532
+ _setProp("v", symString);
533
+ _setProp("_uid", uniqueId);
534
+ return _tagAsPolyfill(theSymbol, "symbol");
535
+ }
536
+ /*#__NO_SIDE_EFFECTS__*/
537
+ function polySymbolFor(key) {
538
+ var registry = _globalSymbolRegistry();
539
+ if (!objHasOwn(registry.k, key)) {
540
+ var newSymbol_1 = polyNewSymbol(key);
541
+ var regId_1 = objKeys(registry.s).length;
542
+ newSymbol_1[UNIQUE_REGISTRY_ID] = function () { return regId_1 + "_" + newSymbol_1[TO_STRING](); };
543
+ registry.k[key] = newSymbol_1;
544
+ registry.s[newSymbol_1[UNIQUE_REGISTRY_ID]()] = asString(key);
545
+ }
546
+ return registry.k[key];
547
+ }
548
+ /*#__NO_SIDE_EFFECTS__*/
549
+ function polyGetKnownSymbol(name) {
550
+ !_wellKnownSymbolCache && (_wellKnownSymbolCache = {});
551
+ var result;
552
+ var knownName = _wellKnownSymbolMap[name];
553
+ if (knownName) {
554
+ result = _wellKnownSymbolCache[knownName] = _wellKnownSymbolCache[knownName] || polyNewSymbol(SYMBOL + "." + knownName);
555
+ }
556
+ return result;
557
+ }
558
+ /*#__NO_SIDE_EFFECTS__*/
559
+ function createCachedValue(value) {
560
+ return objDefineProp({
561
+ toJSON: function () { return value; }
562
+ }, "v", { value: value });
563
+ }
564
+ var WINDOW = "window";
565
+ var _cachedGlobal;
566
+ function _getGlobalInstFn(getFn, theArgs) {
567
+ var cachedValue;
568
+ return function () {
569
+ !_globalLazyTestHooks && _initTestHooks();
570
+ if (!cachedValue || _globalLazyTestHooks.lzy) {
571
+ cachedValue = createCachedValue(safe(getFn, theArgs).v);
572
+ }
573
+ return cachedValue.v;
574
+ };
575
+ }
576
+ function getGlobal(useCached) {
577
+ !_globalLazyTestHooks && _initTestHooks();
578
+ if (!_cachedGlobal || useCached === false || _globalLazyTestHooks.lzy) {
579
+ _cachedGlobal = createCachedValue(safe(_getGlobalValue).v || NULL_VALUE);
580
+ }
581
+ return _cachedGlobal.v;
582
+ }
583
+ /*#__NO_SIDE_EFFECTS__*/
584
+ function getInst(name, useCached) {
585
+ var gbl;
586
+ if (!_cachedGlobal || useCached === false) {
587
+ gbl = getGlobal(useCached);
588
+ }
589
+ else {
590
+ gbl = _cachedGlobal.v;
591
+ }
592
+ if (gbl && gbl[name]) {
593
+ return gbl[name];
594
+ }
595
+ if (name === WINDOW) {
596
+ try {
597
+ return window;
598
+ }
599
+ catch (e) {
600
+ }
601
+ }
602
+ return NULL_VALUE;
603
+ }
604
+ /*#__NO_SIDE_EFFECTS__*/
605
+ function hasDocument() {
606
+ return !!( /*#__PURE__*/getDocument());
607
+ }
608
+ var getDocument = ( /*#__PURE__*/_getGlobalInstFn(getInst, ["document"]));
609
+ /*#__NO_SIDE_EFFECTS__*/
610
+ function hasWindow() {
611
+ return !!( /*#__PURE__*/getWindow());
612
+ }
613
+ var getWindow = ( /*#__PURE__*/_getGlobalInstFn(getInst, [WINDOW]));
614
+ var getNavigator = ( /*#__PURE__*/_getGlobalInstFn(getInst, ["navigator"]));
615
+ var _symbol;
616
+ var _symbolFor;
617
+ /*#__NO_SIDE_EFFECTS__*/
618
+ function _initSymbol() {
619
+ _symbol = ( /*#__PURE__*/createCachedValue(safe((getInst), [SYMBOL]).v));
620
+ return _symbol;
621
+ }
622
+ function _getSymbolKey(key) {
623
+ var gblSym = ((!_globalLazyTestHooks.lzy ? _symbol : 0) || _initSymbol());
624
+ return (gblSym.v ? gblSym.v[key] : UNDEF_VALUE);
625
+ }
626
+ /*#__NO_SIDE_EFFECTS__*/
627
+ function getKnownSymbol(name, noPoly) {
628
+ var knownName = _wellKnownSymbolMap[name];
629
+ !_globalLazyTestHooks && _initTestHooks();
630
+ var sym = ((!_globalLazyTestHooks.lzy ? _symbol : 0) || _initSymbol());
631
+ return sym.v ? sym.v[knownName || name] : (!noPoly ? polyGetKnownSymbol(name) : UNDEF_VALUE);
632
+ }
633
+ /*#__NO_SIDE_EFFECTS__*/
634
+ function newSymbol(description, noPoly) {
635
+ !_globalLazyTestHooks && _initTestHooks();
636
+ var sym = ((!_globalLazyTestHooks.lzy ? _symbol : 0) || _initSymbol());
637
+ return sym.v ? sym.v(description) : (!noPoly ? polyNewSymbol(description) : NULL_VALUE);
638
+ }
639
+ /*#__NO_SIDE_EFFECTS__*/
640
+ function symbolFor(key) {
641
+ !_globalLazyTestHooks && _initTestHooks();
642
+ _symbolFor = ((!_globalLazyTestHooks.lzy ? _symbolFor : 0) || ( /*#__PURE__*/createCachedValue(safe((_getSymbolKey), ["for"]).v)));
643
+ return (_symbolFor.v || polySymbolFor)(key);
644
+ }
645
+ /*#__NO_SIDE_EFFECTS__*/
646
+ function isIterator(value) {
647
+ return !!value && isFunction(value.next);
648
+ }
649
+ /*#__NO_SIDE_EFFECTS__*/
650
+ function isIterable(value) {
651
+ return !isStrictNullOrUndefined(value) && isFunction(value[getKnownSymbol(3 )]);
652
+ }
653
+ var _iterSymbol$1;
654
+ function iterForOf(iter, callbackfn, thisArg) {
655
+ if (iter) {
656
+ if (!isIterator(iter)) {
657
+ !_iterSymbol$1 && (_iterSymbol$1 = createCachedValue(getKnownSymbol(3 )));
658
+ iter = iter[_iterSymbol$1.v] ? iter[_iterSymbol$1.v]() : NULL_VALUE;
659
+ }
660
+ if (isIterator(iter)) {
661
+ var err = UNDEF_VALUE;
662
+ var iterResult = UNDEF_VALUE;
663
+ try {
664
+ var count = 0;
665
+ while (!(iterResult = iter.next()).done) {
666
+ if (callbackfn[CALL](thisArg || iter, iterResult.value, count, iter) === -1) {
667
+ break;
668
+ }
669
+ count++;
670
+ }
671
+ }
672
+ catch (failed) {
673
+ err = { e: failed };
674
+ if (iter.throw) {
675
+ iterResult = NULL_VALUE;
676
+ iter.throw(err);
677
+ }
678
+ }
679
+ finally {
680
+ try {
681
+ if (iterResult && !iterResult.done) {
682
+ iter.return && iter.return(iterResult);
683
+ }
684
+ }
685
+ finally {
686
+ if (err) {
687
+ throw err.e;
688
+ }
689
+ }
690
+ }
691
+ }
692
+ }
693
+ }
694
+ function arrAppend(target, elms) {
695
+ if (!isUndefined(elms) && target) {
696
+ if (isArray(elms)) {
697
+ fnApply(target.push, target, elms);
698
+ }
699
+ else if (isIterator(elms) || isIterable(elms)) {
700
+ iterForOf(elms, function (elm) {
701
+ target.push(elm);
702
+ });
703
+ }
704
+ else {
705
+ target.push(elms);
706
+ }
707
+ }
708
+ return target;
709
+ }
710
+ var arrIndexOf = ( /*#__PURE__*/_unwrapFunction("indexOf", ArrProto));
711
+ var _isProtoArray;
712
+ var objSetPrototypeOf = ( /*#__PURE__*/_pureAssign(( /*#__PURE__*/_pureRef(ObjClass$1, "setPrototypeOf")), _polyObjSetPrototypeOf));
713
+ function _polyObjSetPrototypeOf(obj, proto) {
714
+ var _a;
715
+ !_isProtoArray && (_isProtoArray = createCachedValue((_a = {}, _a[__PROTO__] = [], _a) instanceof Array));
716
+ _isProtoArray.v ? obj[__PROTO__] = proto : objForEachKey(proto, function (key, value) { return obj[key] = value; });
717
+ return obj;
718
+ }
719
+ /*#__NO_SIDE_EFFECTS__*/
720
+ function _createCustomError(name, d, b) {
721
+ safe(objDefine, [d, NAME, { v: name, c: true, e: false }]);
722
+ d = objSetPrototypeOf(d, b);
723
+ function __() {
724
+ this[CONSTRUCTOR] = d;
725
+ safe(objDefine, [this, NAME, { v: name, c: true, e: false }]);
726
+ }
727
+ d[PROTOTYPE] = b === NULL_VALUE ? objCreate(b) : (__[PROTOTYPE] = b[PROTOTYPE], new __());
728
+ return d;
729
+ }
730
+ function _setName(baseClass, name) {
731
+ name && (baseClass[NAME] = name);
732
+ }
733
+ /*#__NO_SIDE_EFFECTS__*/
734
+ function createCustomError(name, constructCb, errorBase) {
735
+ var theBaseClass = errorBase || Error;
736
+ var orgName = theBaseClass[PROTOTYPE][NAME];
737
+ var captureFn = Error.captureStackTrace;
738
+ return _createCustomError(name, function () {
739
+ var _this = this;
740
+ var theArgs = arguments;
741
+ try {
742
+ safe(_setName, [theBaseClass, name]);
743
+ var _self = fnApply(theBaseClass, _this, ArrSlice[CALL](theArgs)) || _this;
744
+ if (_self !== _this) {
745
+ var orgProto = objGetPrototypeOf(_this);
746
+ if (orgProto !== objGetPrototypeOf(_self)) {
747
+ objSetPrototypeOf(_self, orgProto);
748
+ }
749
+ }
750
+ captureFn && captureFn(_self, _this[CONSTRUCTOR]);
751
+ constructCb && constructCb(_self, theArgs);
752
+ return _self;
753
+ }
754
+ finally {
755
+ safe(_setName, [theBaseClass, orgName]);
756
+ }
757
+ }, theBaseClass);
758
+ }
759
+ /*#__NO_SIDE_EFFECTS__*/
760
+ function _createTrimFn(exp) {
761
+ return function _doTrim(value) {
762
+ _throwIfNullOrUndefined(value);
763
+ if (value && value.replace) {
764
+ value = value.replace(exp, EMPTY);
765
+ }
766
+ return value;
767
+ };
768
+ }
769
+ var polyStrTrim = ( /*#__PURE__*/_createTrimFn(/^\s+|(?=\s)\s+$/g));
770
+ var strTrim = ( /*#__PURE__*/_unwrapFunctionWithPoly("trim", StrProto, polyStrTrim));
771
+ var mathFloor = ( /*#__PURE__*/_pureRef(MathCls, "floor"));
772
+ var _fnToString;
773
+ var _objCtrFnString;
774
+ var _gblWindow;
775
+ /*#__NO_SIDE_EFFECTS__*/
776
+ function isPlainObject(value) {
777
+ if (!value || typeof value !== OBJECT) {
778
+ return false;
779
+ }
780
+ if (!_gblWindow) {
781
+ _gblWindow = hasWindow() ? getWindow() : true;
782
+ }
783
+ var result = false;
784
+ if (value !== _gblWindow) {
785
+ if (!_objCtrFnString) {
786
+ _fnToString = Function[PROTOTYPE][TO_STRING];
787
+ _objCtrFnString = _fnToString[CALL](ObjClass$1);
788
+ }
789
+ try {
790
+ var proto = objGetPrototypeOf(value);
791
+ result = !proto;
792
+ if (!result) {
793
+ if (objHasOwnProperty(proto, CONSTRUCTOR)) {
794
+ proto = proto[CONSTRUCTOR];
795
+ }
796
+ result = !!(proto && typeof proto === FUNCTION && _fnToString[CALL](proto) === _objCtrFnString);
797
+ }
798
+ }
799
+ catch (ex) {
800
+ }
801
+ }
802
+ return result;
803
+ }
804
+ /*#__NO_SIDE_EFFECTS__*/
805
+ function perfNow() {
806
+ return utcNow();
807
+ }
808
+ var objGetOwnPropertyDescriptor = ( /*#__PURE__*/_pureAssign(( /*#__PURE__*/_pureRef(ObjClass$1, GET_OWN_PROPERTY_DESCRIPTOR)), _returnNothing));
809
+ var strEndsWith = ( /*#__PURE__*/_unwrapFunctionWithPoly("endsWith", StrProto, polyStrEndsWith));
810
+ /*#__NO_SIDE_EFFECTS__*/
811
+ function polyStrEndsWith(value, searchString, length) {
812
+ _throwIfNotString(value);
813
+ var searchValue = isString(searchString) ? searchString : asString(searchString);
814
+ var end = (!isUndefined(length) && length < value[LENGTH]) ? length : value[LENGTH];
815
+ return strSubstring(value, end - searchValue[LENGTH], end) === searchValue;
816
+ }
817
+ var strIndexOf = ( /*#__PURE__*/_unwrapFunction("indexOf", StrProto));
818
+ var REF = "ref";
819
+ var UNREF = "unref";
820
+ var HAS_REF = "hasRef";
821
+ var ENABLED = "enabled";
822
+ /*#__NO_SIDE_EFFECTS__*/
823
+ function _createTimerHandler(startTimer, refreshFn, cancelFn) {
824
+ var ref = true;
825
+ var timerId = startTimer ? refreshFn(NULL_VALUE) : NULL_VALUE;
826
+ var theTimerHandler;
827
+ function _unref() {
828
+ ref = false;
829
+ timerId && timerId[UNREF] && timerId[UNREF]();
830
+ return theTimerHandler;
831
+ }
832
+ function _cancel() {
833
+ timerId && cancelFn(timerId);
834
+ timerId = NULL_VALUE;
835
+ }
836
+ function _refresh() {
837
+ timerId = refreshFn(timerId);
838
+ if (!ref) {
839
+ _unref();
840
+ }
841
+ return theTimerHandler;
842
+ }
843
+ function _setEnabled(value) {
844
+ !value && timerId && _cancel();
845
+ value && !timerId && _refresh();
846
+ }
847
+ theTimerHandler = {
848
+ cancel: _cancel,
849
+ refresh: _refresh
850
+ };
851
+ theTimerHandler[HAS_REF] = function () {
852
+ if (timerId && timerId[HAS_REF]) {
853
+ return timerId[HAS_REF]();
854
+ }
855
+ return ref;
856
+ };
857
+ theTimerHandler[REF] = function () {
858
+ ref = true;
859
+ timerId && timerId[REF] && timerId[REF]();
860
+ return theTimerHandler;
861
+ };
862
+ theTimerHandler[UNREF] = _unref;
863
+ theTimerHandler = objDefineProp(theTimerHandler, ENABLED, {
864
+ get: function () { return !!timerId; },
865
+ set: _setEnabled
866
+ });
867
+ return {
868
+ h: theTimerHandler,
869
+ dn: function () {
870
+ timerId = NULL_VALUE;
871
+ }
872
+ };
873
+ }
874
+ var _setTimeoutFn;
875
+ var _clearTimeoutFn;
876
+ function _resolveTimeoutFn(timeoutFn) {
877
+ var result = isFunction(timeoutFn) ? timeoutFn : _setTimeoutFn;
878
+ if (!result) {
879
+ var globalOverrides = _getGlobalConfig().tmOut || [];
880
+ if (isArray(globalOverrides) && globalOverrides.length > 0 && isFunction(globalOverrides[0])) {
881
+ result = globalOverrides[0];
882
+ }
883
+ }
884
+ return result || setTimeout;
885
+ }
886
+ function _resolveClearTimeoutFn(timeoutFn) {
887
+ var result = isFunction(timeoutFn) ? timeoutFn : _clearTimeoutFn;
888
+ if (!result) {
889
+ var globalOverrides = _getGlobalConfig().tmOut || [];
890
+ if (isArray(globalOverrides) && globalOverrides.length > 1 && isFunction(globalOverrides[1])) {
891
+ result = globalOverrides[1];
892
+ }
893
+ }
894
+ return result || clearTimeout;
895
+ }
896
+ function _createTimeoutWith(startTimer, overrideFn, theArgs) {
897
+ var isArr = isArray(overrideFn);
898
+ var len = isArr ? overrideFn.length : 0;
899
+ var setFn = _resolveTimeoutFn(len > 0 ? overrideFn[0] : (!isArr ? overrideFn : UNDEF_VALUE));
900
+ var clearFn = _resolveClearTimeoutFn(len > 1 ? overrideFn[1] : UNDEF_VALUE);
901
+ var timerFn = theArgs[0];
902
+ theArgs[0] = function () {
903
+ handler.dn();
904
+ fnApply(timerFn, UNDEF_VALUE, ArrSlice[CALL](arguments));
905
+ };
906
+ var handler = _createTimerHandler(startTimer, function (timerId) {
907
+ if (timerId) {
908
+ if (timerId.refresh) {
909
+ timerId.refresh();
910
+ return timerId;
911
+ }
912
+ fnApply(clearFn, UNDEF_VALUE, [timerId]);
913
+ }
914
+ return fnApply(setFn, UNDEF_VALUE, theArgs);
915
+ }, function (timerId) {
916
+ fnApply(clearFn, UNDEF_VALUE, [timerId]);
917
+ });
918
+ return handler.h;
919
+ }
920
+ function scheduleTimeout(callback, timeout) {
921
+ return _createTimeoutWith(true, UNDEF_VALUE, ArrSlice[CALL](arguments));
922
+ }
923
+
924
+ var createValueMap = createTypeMap;
925
+
926
+ var _DYN_TO_LOWER_CASE = "toLowerCase";
927
+ var _DYN_LENGTH = "length";
928
+ var _DYN_WARN_TO_CONSOLE = "warnToConsole";
929
+ var _DYN_THROW_INTERNAL = "throwInternal";
930
+ var _DYN_WATCH = "watch";
931
+ var _DYN_APPLY = "apply";
932
+ var _DYN_PUSH = "push";
933
+ var _DYN_SPLICE = "splice";
934
+ var _DYN_LOGGER = "logger";
935
+ var _DYN_CANCEL = "cancel";
936
+ var _DYN_INITIALIZE = "initialize";
937
+ var _DYN_IDENTIFIER = "identifier";
938
+ var _DYN_IS_INITIALIZED = "isInitialized";
939
+ var _DYN_GET_PLUGIN = "getPlugin";
940
+ var _DYN_NAME = "name";
941
+ var _DYN_PROCESS_NEXT = "processNext";
942
+ var _DYN_GET_PROCESS_TEL_CONT2 = "getProcessTelContext";
943
+ var _DYN_ENABLED = "enabled";
944
+ var _DYN_UNLOAD = "unload";
945
+ var _DYN_LOGGING_LEVEL_CONSOL4 = "loggingLevelConsole";
946
+ var _DYN_CREATE_NEW = "createNew";
947
+ var _DYN_TEARDOWN = "teardown";
948
+ var _DYN_MESSAGE_ID = "messageId";
949
+ var _DYN_MESSAGE = "message";
950
+ var _DYN_DIAG_LOG = "diagLog";
951
+ var _DYN__DO_TEARDOWN = "_doTeardown";
952
+ var _DYN_UPDATE = "update";
953
+ var _DYN_GET_NEXT = "getNext";
954
+ var _DYN_SET_NEXT_PLUGIN = "setNextPlugin";
955
+ var _DYN_USER_AGENT = "userAgent";
956
+ var _DYN_SPLIT = "split";
957
+ var _DYN_REPLACE = "replace";
958
+ var _DYN_IS_CHILD_EVT = "isChildEvt";
959
+ var _DYN_GET_CTX = "getCtx";
960
+ var _DYN_SET_CTX = "setCtx";
961
+
962
+ var aggregationErrorType;
963
+ function throwAggregationError(message, sourceErrors) {
964
+ if (!aggregationErrorType) {
965
+ aggregationErrorType = createCustomError("AggregationError", function (self, args) {
966
+ if (args[_DYN_LENGTH ] > 1) {
967
+ self.errors = args[1];
968
+ }
969
+ });
970
+ }
971
+ var theMessage = message || "One or more errors occurred.";
972
+ arrForEach(sourceErrors, function (srcError, idx) {
973
+ theMessage += "\n".concat(idx, " > ").concat(dumpObj(srcError));
974
+ });
975
+ throw new aggregationErrorType(theMessage, sourceErrors || []);
976
+ }
977
+
978
+ var strShimFunction = "function";
979
+ var strShimObject = "object";
980
+ var strShimUndefined = "undefined";
981
+ var strShimPrototype = "prototype";
982
+ var ObjClass = Object;
983
+
984
+ (getGlobal() || {})["Symbol"];
985
+ (getGlobal() || {})["Reflect"];
986
+ var strHasOwnProperty = "hasOwnProperty";
987
+ var extendStaticsFn = function (d, b) {
988
+ extendStaticsFn = ObjClass["setPrototypeOf"] ||
989
+ ({ __proto__: [] } instanceof Array && function (d, b) {
990
+ d.__proto__ = b;
991
+ }) ||
992
+ function (d, b) {
993
+ for (var p in b) {
994
+ if (b[strHasOwnProperty](p)) {
995
+ d[p] = b[p];
996
+ }
997
+ }
998
+ };
999
+ return extendStaticsFn(d, b);
1000
+ };
1001
+ function __extendsFn(d, b) {
1002
+ if (typeof b !== strShimFunction && b !== null) {
1003
+ throwTypeError("Class extends value " + String(b) + " is not a constructor or null");
1004
+ }
1005
+ extendStaticsFn(d, b);
1006
+ function __() {
1007
+ this.constructor = d;
1008
+ }
1009
+ d[strShimPrototype] = b === null ? objCreate(b) : (__[strShimPrototype] = b[strShimPrototype], new __());
1010
+ }
1011
+
1012
+ var _a$4;
1013
+ var Constructor = 'constructor';
1014
+ var Prototype = 'prototype';
1015
+ var strFunction = 'function';
1016
+ var DynInstFuncTable = '_dynInstFuncs';
1017
+ var DynProxyTag = '_isDynProxy';
1018
+ var DynClassName = '_dynClass';
1019
+ var DynClassNamePrefix = '_dynCls$';
1020
+ var DynInstChkTag = '_dynInstChk';
1021
+ var DynAllowInstChkTag = DynInstChkTag;
1022
+ var DynProtoDefaultOptions = '_dfOpts';
1023
+ var UnknownValue = '_unknown_';
1024
+ var str__Proto = "__proto__";
1025
+ var DynProtoBaseProto = "_dyn" + str__Proto;
1026
+ var DynProtoGlobalSettings = "__dynProto$Gbl";
1027
+ var DynProtoCurrent = "_dynInstProto";
1028
+ var strUseBaseInst = 'useBaseInst';
1029
+ var strSetInstFuncs = 'setInstFuncs';
1030
+ var Obj = Object;
1031
+ var _objGetPrototypeOf = Obj["getPrototypeOf"];
1032
+ var _objGetOwnProps = Obj["getOwnPropertyNames"];
1033
+ var _gbl = getGlobal();
1034
+ var _gblInst = _gbl[DynProtoGlobalSettings] || (_gbl[DynProtoGlobalSettings] = {
1035
+ o: (_a$4 = {},
1036
+ _a$4[strSetInstFuncs] = true,
1037
+ _a$4[strUseBaseInst] = true,
1038
+ _a$4),
1039
+ n: 1000
1040
+ });
1041
+ function _isObjectOrArrayPrototype(target) {
1042
+ return target && (target === Obj[Prototype] || target === Array[Prototype]);
1043
+ }
1044
+ function _isObjectArrayOrFunctionPrototype(target) {
1045
+ return _isObjectOrArrayPrototype(target) || target === Function[Prototype];
1046
+ }
1047
+ function _getObjProto(target) {
1048
+ var newProto;
1049
+ if (target) {
1050
+ if (_objGetPrototypeOf) {
1051
+ return _objGetPrototypeOf(target);
1052
+ }
1053
+ var curProto = target[str__Proto] || target[Prototype] || (target[Constructor] ? target[Constructor][Prototype] : null);
1054
+ newProto = target[DynProtoBaseProto] || curProto;
1055
+ if (!objHasOwnProperty(target, DynProtoBaseProto)) {
1056
+ delete target[DynProtoCurrent];
1057
+ newProto = target[DynProtoBaseProto] = target[DynProtoCurrent] || target[DynProtoBaseProto];
1058
+ target[DynProtoCurrent] = curProto;
1059
+ }
1060
+ }
1061
+ return newProto;
1062
+ }
1063
+ function _forEachProp(target, func) {
1064
+ var props = [];
1065
+ if (_objGetOwnProps) {
1066
+ props = _objGetOwnProps(target);
1067
+ }
1068
+ else {
1069
+ for (var name_1 in target) {
1070
+ if (typeof name_1 === "string" && objHasOwnProperty(target, name_1)) {
1071
+ props.push(name_1);
1072
+ }
1073
+ }
1074
+ }
1075
+ if (props && props.length > 0) {
1076
+ for (var lp = 0; lp < props.length; lp++) {
1077
+ func(props[lp]);
1078
+ }
1079
+ }
1080
+ }
1081
+ function _isDynamicCandidate(target, funcName, skipOwn) {
1082
+ return (funcName !== Constructor && typeof target[funcName] === strFunction && (skipOwn || objHasOwnProperty(target, funcName)) && funcName !== str__Proto && funcName !== Prototype);
1083
+ }
1084
+ function _throwTypeError(message) {
1085
+ throwTypeError("DynamicProto: " + message);
1086
+ }
1087
+ function _getInstanceFuncs(thisTarget) {
1088
+ var instFuncs = objCreate(null);
1089
+ _forEachProp(thisTarget, function (name) {
1090
+ if (!instFuncs[name] && _isDynamicCandidate(thisTarget, name, false)) {
1091
+ instFuncs[name] = thisTarget[name];
1092
+ }
1093
+ });
1094
+ return instFuncs;
1095
+ }
1096
+ function _hasVisited(values, value) {
1097
+ for (var lp = values.length - 1; lp >= 0; lp--) {
1098
+ if (values[lp] === value) {
1099
+ return true;
1100
+ }
1101
+ }
1102
+ return false;
1103
+ }
1104
+ function _getBaseFuncs(classProto, thisTarget, instFuncs, useBaseInst) {
1105
+ function _instFuncProxy(target, funcHost, funcName) {
1106
+ var theFunc = funcHost[funcName];
1107
+ if (theFunc[DynProxyTag] && useBaseInst) {
1108
+ var instFuncTable = target[DynInstFuncTable] || {};
1109
+ if (instFuncTable[DynAllowInstChkTag] !== false) {
1110
+ theFunc = (instFuncTable[funcHost[DynClassName]] || {})[funcName] || theFunc;
1111
+ }
1112
+ }
1113
+ return function () {
1114
+ return theFunc.apply(target, arguments);
1115
+ };
1116
+ }
1117
+ var baseFuncs = objCreate(null);
1118
+ _forEachProp(instFuncs, function (name) {
1119
+ baseFuncs[name] = _instFuncProxy(thisTarget, instFuncs, name);
1120
+ });
1121
+ var baseProto = _getObjProto(classProto);
1122
+ var visited = [];
1123
+ while (baseProto && !_isObjectArrayOrFunctionPrototype(baseProto) && !_hasVisited(visited, baseProto)) {
1124
+ _forEachProp(baseProto, function (name) {
1125
+ if (!baseFuncs[name] && _isDynamicCandidate(baseProto, name, !_objGetPrototypeOf)) {
1126
+ baseFuncs[name] = _instFuncProxy(thisTarget, baseProto, name);
1127
+ }
1128
+ });
1129
+ visited.push(baseProto);
1130
+ baseProto = _getObjProto(baseProto);
1131
+ }
1132
+ return baseFuncs;
1133
+ }
1134
+ function _getInstFunc(target, funcName, proto, currentDynProtoProxy) {
1135
+ var instFunc = null;
1136
+ if (target && objHasOwnProperty(proto, DynClassName)) {
1137
+ var instFuncTable = target[DynInstFuncTable] || objCreate(null);
1138
+ instFunc = (instFuncTable[proto[DynClassName]] || objCreate(null))[funcName];
1139
+ if (!instFunc) {
1140
+ _throwTypeError("Missing [" + funcName + "] " + strFunction);
1141
+ }
1142
+ if (!instFunc[DynInstChkTag] && instFuncTable[DynAllowInstChkTag] !== false) {
1143
+ var canAddInst = !objHasOwnProperty(target, funcName);
1144
+ var objProto = _getObjProto(target);
1145
+ var visited = [];
1146
+ while (canAddInst && objProto && !_isObjectArrayOrFunctionPrototype(objProto) && !_hasVisited(visited, objProto)) {
1147
+ var protoFunc = objProto[funcName];
1148
+ if (protoFunc) {
1149
+ canAddInst = (protoFunc === currentDynProtoProxy);
1150
+ break;
1151
+ }
1152
+ visited.push(objProto);
1153
+ objProto = _getObjProto(objProto);
1154
+ }
1155
+ try {
1156
+ if (canAddInst) {
1157
+ target[funcName] = instFunc;
1158
+ }
1159
+ instFunc[DynInstChkTag] = 1;
1160
+ }
1161
+ catch (e) {
1162
+ instFuncTable[DynAllowInstChkTag] = false;
1163
+ }
1164
+ }
1165
+ }
1166
+ return instFunc;
1167
+ }
1168
+ function _getProtoFunc(funcName, proto, currentDynProtoProxy) {
1169
+ var protoFunc = proto[funcName];
1170
+ if (protoFunc === currentDynProtoProxy) {
1171
+ protoFunc = _getObjProto(proto)[funcName];
1172
+ }
1173
+ if (typeof protoFunc !== strFunction) {
1174
+ _throwTypeError("[" + funcName + "] is not a " + strFunction);
1175
+ }
1176
+ return protoFunc;
1177
+ }
1178
+ function _populatePrototype(proto, className, target, baseInstFuncs, setInstanceFunc) {
1179
+ function _createDynamicPrototype(proto, funcName) {
1180
+ var dynProtoProxy = function () {
1181
+ var instFunc = _getInstFunc(this, funcName, proto, dynProtoProxy) || _getProtoFunc(funcName, proto, dynProtoProxy);
1182
+ return instFunc.apply(this, arguments);
1183
+ };
1184
+ dynProtoProxy[DynProxyTag] = 1;
1185
+ return dynProtoProxy;
1186
+ }
1187
+ if (!_isObjectOrArrayPrototype(proto)) {
1188
+ var instFuncTable = target[DynInstFuncTable] = target[DynInstFuncTable] || objCreate(null);
1189
+ if (!_isObjectOrArrayPrototype(instFuncTable)) {
1190
+ var instFuncs_1 = instFuncTable[className] = (instFuncTable[className] || objCreate(null));
1191
+ if (instFuncTable[DynAllowInstChkTag] !== false) {
1192
+ instFuncTable[DynAllowInstChkTag] = !!setInstanceFunc;
1193
+ }
1194
+ if (!_isObjectOrArrayPrototype(instFuncs_1)) {
1195
+ _forEachProp(target, function (name) {
1196
+ if (_isDynamicCandidate(target, name, false) && target[name] !== baseInstFuncs[name]) {
1197
+ instFuncs_1[name] = target[name];
1198
+ delete target[name];
1199
+ if (!objHasOwnProperty(proto, name) || (proto[name] && !proto[name][DynProxyTag])) {
1200
+ proto[name] = _createDynamicPrototype(proto, name);
1201
+ }
1202
+ }
1203
+ });
1204
+ }
1205
+ }
1206
+ }
1207
+ }
1208
+ function _checkPrototype(classProto, thisTarget) {
1209
+ if (_objGetPrototypeOf) {
1210
+ var visited = [];
1211
+ var thisProto = _getObjProto(thisTarget);
1212
+ while (thisProto && !_isObjectArrayOrFunctionPrototype(thisProto) && !_hasVisited(visited, thisProto)) {
1213
+ if (thisProto === classProto) {
1214
+ return true;
1215
+ }
1216
+ visited.push(thisProto);
1217
+ thisProto = _getObjProto(thisProto);
1218
+ }
1219
+ return false;
1220
+ }
1221
+ return true;
1222
+ }
1223
+ function _getObjName(target, unknownValue) {
1224
+ if (objHasOwnProperty(target, Prototype)) {
1225
+ return target.name || unknownValue || UnknownValue;
1226
+ }
1227
+ return (((target || {})[Constructor]) || {}).name || unknownValue || UnknownValue;
1228
+ }
1229
+ function dynamicProto(theClass, target, delegateFunc, options) {
1230
+ if (!objHasOwnProperty(theClass, Prototype)) {
1231
+ _throwTypeError("theClass is an invalid class definition.");
1232
+ }
1233
+ var classProto = theClass[Prototype];
1234
+ if (!_checkPrototype(classProto, target)) {
1235
+ _throwTypeError("[" + _getObjName(theClass) + "] not in hierarchy of [" + _getObjName(target) + "]");
1236
+ }
1237
+ var className = null;
1238
+ if (objHasOwnProperty(classProto, DynClassName)) {
1239
+ className = classProto[DynClassName];
1240
+ }
1241
+ else {
1242
+ className = DynClassNamePrefix + _getObjName(theClass, "_") + "$" + _gblInst.n;
1243
+ _gblInst.n++;
1244
+ classProto[DynClassName] = className;
1245
+ }
1246
+ var perfOptions = dynamicProto[DynProtoDefaultOptions];
1247
+ var useBaseInst = !!perfOptions[strUseBaseInst];
1248
+ if (useBaseInst && options && options[strUseBaseInst] !== undefined) {
1249
+ useBaseInst = !!options[strUseBaseInst];
1250
+ }
1251
+ var instFuncs = _getInstanceFuncs(target);
1252
+ var baseFuncs = _getBaseFuncs(classProto, target, instFuncs, useBaseInst);
1253
+ delegateFunc(target, baseFuncs);
1254
+ var setInstanceFunc = !!_objGetPrototypeOf && !!perfOptions[strSetInstFuncs];
1255
+ if (setInstanceFunc && options) {
1256
+ setInstanceFunc = !!options[strSetInstFuncs];
1257
+ }
1258
+ _populatePrototype(classProto, className, target, instFuncs, setInstanceFunc !== false);
1259
+ }
1260
+ dynamicProto[DynProtoDefaultOptions] = _gblInst.o;
1261
+
1262
+ var UNDEFINED_VALUE = undefined;
1263
+ var STR_EMPTY$1 = "";
1264
+ var STR_CORE = "core";
1265
+ var STR_DISABLED = "disabled";
1266
+ var STR_EXTENSION_CONFIG = "extensionConfig";
1267
+ var STR_PROCESS_TELEMETRY = "processTelemetry";
1268
+ var STR_PRIORITY = "priority";
1269
+ var STR_GET_PERF_MGR = "getPerfMgr";
1270
+ var STR_DOMAIN = "domain";
1271
+ var STR_PATH = "path";
1272
+ var STR_NOT_DYNAMIC_ERROR = "Not dynamic - ";
1273
+
1274
+ var rCamelCase = /-([a-z])/g;
1275
+ var rNormalizeInvalid = /([^\w\d_$])/g;
1276
+ var rLeadingNumeric = /^(\d+[\w\d_$])/;
1277
+ function isNotNullOrUndefined(value) {
1278
+ return !isNullOrUndefined(value);
1279
+ }
1280
+ function normalizeJsName(name) {
1281
+ var value = name;
1282
+ if (value && isString(value)) {
1283
+ value = value[_DYN_REPLACE ](rCamelCase, function (_all, letter) {
1284
+ return letter.toUpperCase();
1285
+ });
1286
+ value = value[_DYN_REPLACE ](rNormalizeInvalid, "_");
1287
+ value = value[_DYN_REPLACE ](rLeadingNumeric, function (_all, match) {
1288
+ return "_" + match;
1289
+ });
1290
+ }
1291
+ return value;
1292
+ }
1293
+ function strContains(value, search) {
1294
+ if (value && search) {
1295
+ return strIndexOf(value, search) !== -1;
1296
+ }
1297
+ return false;
1298
+ }
1299
+ function toISOString(date) {
1300
+ return date && date.toISOString() || "";
1301
+ }
1302
+ function getExceptionName(object) {
1303
+ if (isError(object)) {
1304
+ return object[_DYN_NAME ];
1305
+ }
1306
+ return STR_EMPTY$1;
1307
+ }
1308
+ function setValue(target, field, value, valChk, srcChk) {
1309
+ var theValue = value;
1310
+ if (target) {
1311
+ theValue = target[field];
1312
+ if (theValue !== value && (!srcChk || srcChk(theValue)) && (!valChk || valChk(value))) {
1313
+ theValue = value;
1314
+ target[field] = theValue;
1315
+ }
1316
+ }
1317
+ return theValue;
1318
+ }
1319
+ function _createProxyFunction(source, funcName) {
1320
+ var srcFunc = null;
1321
+ var src = null;
1322
+ if (isFunction(source)) {
1323
+ srcFunc = source;
1324
+ }
1325
+ else {
1326
+ src = source;
1327
+ }
1328
+ return function () {
1329
+ var originalArguments = arguments;
1330
+ if (srcFunc) {
1331
+ src = srcFunc();
1332
+ }
1333
+ if (src) {
1334
+ return src[funcName][_DYN_APPLY ](src, originalArguments);
1335
+ }
1336
+ };
1337
+ }
1338
+ function proxyFunctionAs(target, name, source, theFunc, overwriteTarget) {
1339
+ if (target && name && source) {
1340
+ if (overwriteTarget !== false || isUndefined(target[name])) {
1341
+ target[name] = _createProxyFunction(source, theFunc);
1342
+ }
1343
+ }
1344
+ }
1345
+
1346
+ var strLocation = "location";
1347
+ var strConsole = "console";
1348
+ var strJSON = "JSON";
1349
+ var strCrypto = "crypto";
1350
+ var strMsCrypto = "msCrypto";
1351
+ var strMsie = "msie";
1352
+ var strTrident = "trident/";
1353
+ var _isTrident = null;
1354
+ var _navUserAgentCheck = null;
1355
+ var _enableMocks = false;
1356
+ function getLocation(checkForMock) {
1357
+ if (checkForMock && _enableMocks) {
1358
+ var mockLocation = getInst("__mockLocation");
1359
+ if (mockLocation) {
1360
+ return mockLocation;
1361
+ }
1362
+ }
1363
+ if (typeof location === strShimObject && location) {
1364
+ return location;
1365
+ }
1366
+ return getInst(strLocation);
1367
+ }
1368
+ function getConsole() {
1369
+ if (typeof console !== strShimUndefined) {
1370
+ return console;
1371
+ }
1372
+ return getInst(strConsole);
1373
+ }
1374
+ function hasJSON() {
1375
+ return Boolean((typeof JSON === strShimObject && JSON) || getInst(strJSON) !== null);
1376
+ }
1377
+ function getJSON() {
1378
+ if (hasJSON()) {
1379
+ return JSON || getInst(strJSON);
1380
+ }
1381
+ return null;
1382
+ }
1383
+ function getCrypto() {
1384
+ return getInst(strCrypto);
1385
+ }
1386
+ function getMsCrypto() {
1387
+ return getInst(strMsCrypto);
1388
+ }
1389
+ function isIE() {
1390
+ var nav = getNavigator();
1391
+ if (nav && (nav[_DYN_USER_AGENT ] !== _navUserAgentCheck || _isTrident === null)) {
1392
+ _navUserAgentCheck = nav[_DYN_USER_AGENT ];
1393
+ var userAgent = (_navUserAgentCheck || STR_EMPTY$1)[_DYN_TO_LOWER_CASE ]();
1394
+ _isTrident = (strContains(userAgent, strMsie) || strContains(userAgent, strTrident));
1395
+ }
1396
+ return _isTrident;
1397
+ }
1398
+
1399
+ var UInt32Mask = 0x100000000;
1400
+ var MaxUInt32 = 0xffffffff;
1401
+ var SEED1 = 123456789;
1402
+ var SEED2 = 987654321;
1403
+ var _mwcSeeded = false;
1404
+ var _mwcW = SEED1;
1405
+ var _mwcZ = SEED2;
1406
+ function _mwcSeed(seedValue) {
1407
+ if (seedValue < 0) {
1408
+ seedValue >>>= 0;
1409
+ }
1410
+ _mwcW = (SEED1 + seedValue) & MaxUInt32;
1411
+ _mwcZ = (SEED2 - seedValue) & MaxUInt32;
1412
+ _mwcSeeded = true;
1413
+ }
1414
+ function _autoSeedMwc() {
1415
+ try {
1416
+ var now = utcNow() & 0x7fffffff;
1417
+ _mwcSeed(((Math.random() * UInt32Mask) ^ now) + now);
1418
+ }
1419
+ catch (e) {
1420
+ }
1421
+ }
1422
+ function random32(signed) {
1423
+ var value = 0;
1424
+ var c = getCrypto() || getMsCrypto();
1425
+ if (c && c.getRandomValues) {
1426
+ value = c.getRandomValues(new Uint32Array(1))[0] & MaxUInt32;
1427
+ }
1428
+ if (value === 0 && isIE()) {
1429
+ if (!_mwcSeeded) {
1430
+ _autoSeedMwc();
1431
+ }
1432
+ value = mwcRandom32() & MaxUInt32;
1433
+ }
1434
+ if (value === 0) {
1435
+ value = mathFloor((UInt32Mask * Math.random()) | 0);
1436
+ }
1437
+ if (!signed) {
1438
+ value >>>= 0;
1439
+ }
1440
+ return value;
1441
+ }
1442
+ function mwcRandom32(signed) {
1443
+ _mwcZ = (36969 * (_mwcZ & 0xFFFF) + (_mwcZ >> 16)) & MaxUInt32;
1444
+ _mwcW = (18000 * (_mwcW & 0xFFFF) + (_mwcW >> 16)) & MaxUInt32;
1445
+ var value = (((_mwcZ << 16) + (_mwcW & 0xFFFF)) >>> 0) & MaxUInt32 | 0;
1446
+ if (!signed) {
1447
+ value >>>= 0;
1448
+ }
1449
+ return value;
1450
+ }
1451
+ function newId(maxLength) {
1452
+ if (maxLength === void 0) { maxLength = 22; }
1453
+ var base64chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
1454
+ var number = random32() >>> 0;
1455
+ var chars = 0;
1456
+ var result = STR_EMPTY$1;
1457
+ while (result[_DYN_LENGTH ] < maxLength) {
1458
+ chars++;
1459
+ result += base64chars.charAt(number & 0x3F);
1460
+ number >>>= 6;
1461
+ if (chars === 5) {
1462
+ number = (((random32() << 2) & 0xFFFFFFFF) | (number & 0x03)) >>> 0;
1463
+ chars = 0;
1464
+ }
1465
+ }
1466
+ return result;
1467
+ }
1468
+
1469
+ var version = '3.3.9';
1470
+ var instanceName = "." + newId(6);
1471
+ var _dataUid = 0;
1472
+ function _canAcceptData(target) {
1473
+ return target.nodeType === 1 || target.nodeType === 9 || !(+target.nodeType);
1474
+ }
1475
+ function _getCache(data, target) {
1476
+ var theCache = target[data.id];
1477
+ if (!theCache) {
1478
+ theCache = {};
1479
+ try {
1480
+ if (_canAcceptData(target)) {
1481
+ objDefine(target, data.id, {
1482
+ e: false,
1483
+ v: theCache
1484
+ });
1485
+ }
1486
+ }
1487
+ catch (e) {
1488
+ }
1489
+ }
1490
+ return theCache;
1491
+ }
1492
+ function createUniqueNamespace(name, includeVersion) {
1493
+ if (includeVersion === void 0) { includeVersion = false; }
1494
+ return normalizeJsName(name + (_dataUid++) + (includeVersion ? "." + version : STR_EMPTY$1) + instanceName);
1495
+ }
1496
+ function createElmNodeData(name) {
1497
+ var data = {
1498
+ id: createUniqueNamespace("_aiData-" + (name || STR_EMPTY$1) + "." + version),
1499
+ accept: function (target) {
1500
+ return _canAcceptData(target);
1501
+ },
1502
+ get: function (target, name, defValue, addDefault) {
1503
+ var theCache = target[data.id];
1504
+ if (!theCache) {
1505
+ if (addDefault) {
1506
+ theCache = _getCache(data, target);
1507
+ theCache[normalizeJsName(name)] = defValue;
1508
+ }
1509
+ return defValue;
1510
+ }
1511
+ return theCache[normalizeJsName(name)];
1512
+ },
1513
+ kill: function (target, name) {
1514
+ if (target && target[name]) {
1515
+ try {
1516
+ delete target[name];
1517
+ }
1518
+ catch (e) {
1519
+ }
1520
+ }
1521
+ }
1522
+ };
1523
+ return data;
1524
+ }
1525
+
1526
+ function _isConfigDefaults(value) {
1527
+ return (value && isObject(value) && !isArray(value) && (value.isVal || value.fb || objHasOwn(value, "v") || objHasOwn(value, "mrg") || objHasOwn(value, "ref") || value.set));
1528
+ }
1529
+ function _getDefault(dynamicHandler, theConfig, cfgDefaults) {
1530
+ var defValue;
1531
+ var isDefaultValid = cfgDefaults.dfVal || isDefined;
1532
+ if (theConfig && cfgDefaults.fb) {
1533
+ var fallbacks = cfgDefaults.fb;
1534
+ if (!isArray(fallbacks)) {
1535
+ fallbacks = [fallbacks];
1536
+ }
1537
+ for (var lp = 0; lp < fallbacks[_DYN_LENGTH ]; lp++) {
1538
+ var fallback = fallbacks[lp];
1539
+ var fbValue = theConfig[fallback];
1540
+ if (isDefaultValid(fbValue)) {
1541
+ defValue = fbValue;
1542
+ }
1543
+ else if (dynamicHandler) {
1544
+ fbValue = dynamicHandler.cfg[fallback];
1545
+ if (isDefaultValid(fbValue)) {
1546
+ defValue = fbValue;
1547
+ }
1548
+ dynamicHandler.set(dynamicHandler.cfg, asString(fallback), fbValue);
1549
+ }
1550
+ if (isDefaultValid(defValue)) {
1551
+ break;
1552
+ }
1553
+ }
1554
+ }
1555
+ if (!isDefaultValid(defValue) && isDefaultValid(cfgDefaults.v)) {
1556
+ defValue = cfgDefaults.v;
1557
+ }
1558
+ return defValue;
1559
+ }
1560
+ function _resolveDefaultValue(dynamicHandler, theConfig, cfgDefaults) {
1561
+ var theValue = cfgDefaults;
1562
+ if (cfgDefaults && _isConfigDefaults(cfgDefaults)) {
1563
+ theValue = _getDefault(dynamicHandler, theConfig, cfgDefaults);
1564
+ }
1565
+ if (theValue) {
1566
+ if (_isConfigDefaults(theValue)) {
1567
+ theValue = _resolveDefaultValue(dynamicHandler, theConfig, theValue);
1568
+ }
1569
+ var newValue_1;
1570
+ if (isArray(theValue)) {
1571
+ newValue_1 = [];
1572
+ newValue_1[_DYN_LENGTH ] = theValue[_DYN_LENGTH ];
1573
+ }
1574
+ else if (isPlainObject(theValue)) {
1575
+ newValue_1 = {};
1576
+ }
1577
+ if (newValue_1) {
1578
+ objForEachKey(theValue, function (key, value) {
1579
+ if (value && _isConfigDefaults(value)) {
1580
+ value = _resolveDefaultValue(dynamicHandler, theConfig, value);
1581
+ }
1582
+ newValue_1[key] = value;
1583
+ });
1584
+ theValue = newValue_1;
1585
+ }
1586
+ }
1587
+ return theValue;
1588
+ }
1589
+ function _applyDefaultValue(dynamicHandler, theConfig, name, defaultValue) {
1590
+ var isValid;
1591
+ var setFn;
1592
+ var defValue;
1593
+ var cfgDefaults = defaultValue;
1594
+ var mergeDf;
1595
+ var reference;
1596
+ var readOnly;
1597
+ var blkDynamicValue;
1598
+ if (_isConfigDefaults(cfgDefaults)) {
1599
+ isValid = cfgDefaults.isVal;
1600
+ setFn = cfgDefaults.set;
1601
+ readOnly = cfgDefaults.rdOnly;
1602
+ blkDynamicValue = cfgDefaults.blkVal;
1603
+ mergeDf = cfgDefaults.mrg;
1604
+ reference = cfgDefaults.ref;
1605
+ if (!reference && isUndefined(reference)) {
1606
+ reference = !!mergeDf;
1607
+ }
1608
+ defValue = _getDefault(dynamicHandler, theConfig, cfgDefaults);
1609
+ }
1610
+ else {
1611
+ defValue = defaultValue;
1612
+ }
1613
+ if (blkDynamicValue) {
1614
+ dynamicHandler.blkVal(theConfig, name);
1615
+ }
1616
+ var theValue;
1617
+ var usingDefault = true;
1618
+ var cfgValue = theConfig[name];
1619
+ if (cfgValue || !isNullOrUndefined(cfgValue)) {
1620
+ theValue = cfgValue;
1621
+ usingDefault = false;
1622
+ if (isValid && theValue !== defValue && !isValid(theValue)) {
1623
+ theValue = defValue;
1624
+ usingDefault = true;
1625
+ }
1626
+ if (setFn) {
1627
+ theValue = setFn(theValue, defValue, theConfig);
1628
+ usingDefault = theValue === defValue;
1629
+ }
1630
+ }
1631
+ if (!usingDefault) {
1632
+ if (isPlainObject(theValue) || isArray(defValue)) {
1633
+ if (mergeDf && defValue && (isPlainObject(defValue) || isArray(defValue))) {
1634
+ objForEachKey(defValue, function (dfName, dfValue) {
1635
+ _applyDefaultValue(dynamicHandler, theValue, dfName, dfValue);
1636
+ });
1637
+ }
1638
+ }
1639
+ }
1640
+ else if (defValue) {
1641
+ theValue = _resolveDefaultValue(dynamicHandler, theConfig, defValue);
1642
+ }
1643
+ else {
1644
+ theValue = defValue;
1645
+ }
1646
+ dynamicHandler.set(theConfig, name, theValue);
1647
+ if (reference) {
1648
+ dynamicHandler.ref(theConfig, name);
1649
+ }
1650
+ if (readOnly) {
1651
+ dynamicHandler.rdOnly(theConfig, name);
1652
+ }
1653
+ }
1654
+
1655
+ var CFG_HANDLER_LINK = symbolFor("[[ai_dynCfg_1]]");
1656
+ var BLOCK_DYNAMIC = symbolFor("[[ai_blkDynCfg_1]]");
1657
+ var FORCE_DYNAMIC = symbolFor("[[ai_frcDynCfg_1]]");
1658
+ function _cfgDeepCopy(source) {
1659
+ if (source) {
1660
+ var target_1;
1661
+ if (isArray(source)) {
1662
+ target_1 = [];
1663
+ target_1[_DYN_LENGTH ] = source[_DYN_LENGTH ];
1664
+ }
1665
+ else if (isPlainObject(source)) {
1666
+ target_1 = {};
1667
+ }
1668
+ if (target_1) {
1669
+ objForEachKey(source, function (key, value) {
1670
+ target_1[key] = _cfgDeepCopy(value);
1671
+ });
1672
+ return target_1;
1673
+ }
1674
+ }
1675
+ return source;
1676
+ }
1677
+ function getDynamicConfigHandler(value) {
1678
+ if (value) {
1679
+ var handler = value[CFG_HANDLER_LINK] || value;
1680
+ if (handler.cfg && (handler.cfg === value || handler.cfg[CFG_HANDLER_LINK] === handler)) {
1681
+ return handler;
1682
+ }
1683
+ }
1684
+ return null;
1685
+ }
1686
+ function blockDynamicConversion(value) {
1687
+ if (value && (isPlainObject(value) || isArray(value))) {
1688
+ try {
1689
+ value[BLOCK_DYNAMIC] = true;
1690
+ }
1691
+ catch (e) {
1692
+ }
1693
+ }
1694
+ return value;
1695
+ }
1696
+ function _canMakeDynamic(getFunc, state, value) {
1697
+ var result = false;
1698
+ if (value && !getFunc[state.blkVal]) {
1699
+ result = value[FORCE_DYNAMIC];
1700
+ if (!result && !value[BLOCK_DYNAMIC]) {
1701
+ result = isPlainObject(value) || isArray(value);
1702
+ }
1703
+ }
1704
+ return result;
1705
+ }
1706
+ function throwInvalidAccess(message) {
1707
+ throwTypeError("InvalidAccess:" + message);
1708
+ }
1709
+
1710
+ var arrayMethodsToPatch = [
1711
+ "push",
1712
+ "pop",
1713
+ "shift",
1714
+ "unshift",
1715
+ "splice"
1716
+ ];
1717
+ var _throwDynamicError = function (logger, name, desc, e) {
1718
+ logger && logger[_DYN_THROW_INTERNAL ](3 , 108 , "".concat(desc, " [").concat(name, "] failed - ") + dumpObj(e));
1719
+ };
1720
+ function _patchArray(state, target, name) {
1721
+ if (isArray(target)) {
1722
+ arrForEach(arrayMethodsToPatch, function (method) {
1723
+ var orgMethod = target[method];
1724
+ target[method] = function () {
1725
+ var args = [];
1726
+ for (var _i = 0; _i < arguments.length; _i++) {
1727
+ args[_i] = arguments[_i];
1728
+ }
1729
+ var result = orgMethod[_DYN_APPLY ](this, args);
1730
+ _makeDynamicObject(state, target, name, "Patching");
1731
+ return result;
1732
+ };
1733
+ });
1734
+ }
1735
+ }
1736
+ function _getOwnPropGetter(target, name) {
1737
+ var propDesc = objGetOwnPropertyDescriptor(target, name);
1738
+ return propDesc && propDesc.get;
1739
+ }
1740
+ function _createDynamicProperty(state, theConfig, name, value) {
1741
+ var detail = {
1742
+ n: name,
1743
+ h: [],
1744
+ trk: function (handler) {
1745
+ if (handler && handler.fn) {
1746
+ if (arrIndexOf(detail.h, handler) === -1) {
1747
+ detail.h[_DYN_PUSH ](handler);
1748
+ }
1749
+ state.trk(handler, detail);
1750
+ }
1751
+ },
1752
+ clr: function (handler) {
1753
+ var idx = arrIndexOf(detail.h, handler);
1754
+ if (idx !== -1) {
1755
+ detail.h[_DYN_SPLICE ](idx, 1);
1756
+ }
1757
+ }
1758
+ };
1759
+ var checkDynamic = true;
1760
+ var isObjectOrArray = false;
1761
+ function _getProperty() {
1762
+ if (checkDynamic) {
1763
+ isObjectOrArray = isObjectOrArray || _canMakeDynamic(_getProperty, state, value);
1764
+ if (value && !value[CFG_HANDLER_LINK] && isObjectOrArray) {
1765
+ value = _makeDynamicObject(state, value, name, "Converting");
1766
+ }
1767
+ checkDynamic = false;
1768
+ }
1769
+ var activeHandler = state.act;
1770
+ if (activeHandler) {
1771
+ detail.trk(activeHandler);
1772
+ }
1773
+ return value;
1774
+ }
1775
+ _getProperty[state.prop] = {
1776
+ chng: function () {
1777
+ state.add(detail);
1778
+ }
1779
+ };
1780
+ function _setProperty(newValue) {
1781
+ if (value !== newValue) {
1782
+ if (!!_getProperty[state.ro] && !state.upd) {
1783
+ throwInvalidAccess("[" + name + "] is read-only:" + dumpObj(theConfig));
1784
+ }
1785
+ if (checkDynamic) {
1786
+ isObjectOrArray = isObjectOrArray || _canMakeDynamic(_getProperty, state, value);
1787
+ checkDynamic = false;
1788
+ }
1789
+ var isReferenced = isObjectOrArray && _getProperty[state.rf];
1790
+ if (isObjectOrArray) {
1791
+ if (isReferenced) {
1792
+ objForEachKey(value, function (key) {
1793
+ value[key] = newValue ? newValue[key] : UNDEFINED_VALUE;
1794
+ });
1795
+ try {
1796
+ objForEachKey(newValue, function (key, theValue) {
1797
+ _setDynamicProperty(state, value, key, theValue);
1798
+ });
1799
+ newValue = value;
1800
+ }
1801
+ catch (e) {
1802
+ _throwDynamicError((state.hdlr || {})[_DYN_LOGGER ], name, "Assigning", e);
1803
+ isObjectOrArray = false;
1804
+ }
1805
+ }
1806
+ else if (value && value[CFG_HANDLER_LINK]) {
1807
+ objForEachKey(value, function (key) {
1808
+ var getter = _getOwnPropGetter(value, key);
1809
+ if (getter) {
1810
+ var valueState = getter[state.prop];
1811
+ valueState && valueState.chng();
1812
+ }
1813
+ });
1814
+ }
1815
+ }
1816
+ if (newValue !== value) {
1817
+ var newIsObjectOrArray = newValue && _canMakeDynamic(_getProperty, state, newValue);
1818
+ if (!isReferenced && newIsObjectOrArray) {
1819
+ newValue = _makeDynamicObject(state, newValue, name, "Converting");
1820
+ }
1821
+ value = newValue;
1822
+ isObjectOrArray = newIsObjectOrArray;
1823
+ }
1824
+ state.add(detail);
1825
+ }
1826
+ }
1827
+ objDefine(theConfig, detail.n, { g: _getProperty, s: _setProperty });
1828
+ }
1829
+ function _setDynamicProperty(state, target, name, value) {
1830
+ if (target) {
1831
+ var getter = _getOwnPropGetter(target, name);
1832
+ var isDynamic = getter && !!getter[state.prop];
1833
+ if (!isDynamic) {
1834
+ _createDynamicProperty(state, target, name, value);
1835
+ }
1836
+ else {
1837
+ target[name] = value;
1838
+ }
1839
+ }
1840
+ return target;
1841
+ }
1842
+ function _setDynamicPropertyState(state, target, name, flags) {
1843
+ if (target) {
1844
+ var getter = _getOwnPropGetter(target, name);
1845
+ var isDynamic = getter && !!getter[state.prop];
1846
+ var inPlace = flags && flags[0 ];
1847
+ var rdOnly = flags && flags[1 ];
1848
+ var blkProp = flags && flags[2 ];
1849
+ if (!isDynamic) {
1850
+ if (blkProp) {
1851
+ try {
1852
+ blockDynamicConversion(target);
1853
+ }
1854
+ catch (e) {
1855
+ _throwDynamicError((state.hdlr || {})[_DYN_LOGGER ], name, "Blocking", e);
1856
+ }
1857
+ }
1858
+ try {
1859
+ _setDynamicProperty(state, target, name, target[name]);
1860
+ getter = _getOwnPropGetter(target, name);
1861
+ }
1862
+ catch (e) {
1863
+ _throwDynamicError((state.hdlr || {})[_DYN_LOGGER ], name, "State", e);
1864
+ }
1865
+ }
1866
+ if (inPlace) {
1867
+ getter[state.rf] = inPlace;
1868
+ }
1869
+ if (rdOnly) {
1870
+ getter[state.ro] = rdOnly;
1871
+ }
1872
+ if (blkProp) {
1873
+ getter[state.blkVal] = true;
1874
+ }
1875
+ }
1876
+ return target;
1877
+ }
1878
+ function _makeDynamicObject(state, target, name, desc) {
1879
+ try {
1880
+ objForEachKey(target, function (key, value) {
1881
+ _setDynamicProperty(state, target, key, value);
1882
+ });
1883
+ if (!target[CFG_HANDLER_LINK]) {
1884
+ objDefineProp(target, CFG_HANDLER_LINK, {
1885
+ get: function () {
1886
+ return state.hdlr;
1887
+ }
1888
+ });
1889
+ _patchArray(state, target, name);
1890
+ }
1891
+ }
1892
+ catch (e) {
1893
+ _throwDynamicError((state.hdlr || {})[_DYN_LOGGER ], name, desc, e);
1894
+ }
1895
+ return target;
1896
+ }
1897
+
1898
+ var symPrefix = "[[ai_";
1899
+ var symPostfix = "]]";
1900
+ function _createState(cfgHandler) {
1901
+ var dynamicPropertySymbol = newSymbol(symPrefix + "get" + cfgHandler.uid + symPostfix);
1902
+ var dynamicPropertyReadOnly = newSymbol(symPrefix + "ro" + cfgHandler.uid + symPostfix);
1903
+ var dynamicPropertyReferenced = newSymbol(symPrefix + "rf" + cfgHandler.uid + symPostfix);
1904
+ var dynamicPropertyBlockValue = newSymbol(symPrefix + "blkVal" + cfgHandler.uid + symPostfix);
1905
+ var dynamicPropertyDetail = newSymbol(symPrefix + "dtl" + cfgHandler.uid + symPostfix);
1906
+ var _waitingHandlers = null;
1907
+ var _watcherTimer = null;
1908
+ var theState;
1909
+ function _useHandler(activeHandler, callback) {
1910
+ var prevWatcher = theState.act;
1911
+ try {
1912
+ theState.act = activeHandler;
1913
+ if (activeHandler && activeHandler[dynamicPropertyDetail]) {
1914
+ arrForEach(activeHandler[dynamicPropertyDetail], function (detail) {
1915
+ detail.clr(activeHandler);
1916
+ });
1917
+ activeHandler[dynamicPropertyDetail] = [];
1918
+ }
1919
+ callback({
1920
+ cfg: cfgHandler.cfg,
1921
+ set: cfgHandler.set.bind(cfgHandler),
1922
+ setDf: cfgHandler.setDf.bind(cfgHandler),
1923
+ ref: cfgHandler.ref.bind(cfgHandler),
1924
+ rdOnly: cfgHandler.rdOnly.bind(cfgHandler)
1925
+ });
1926
+ }
1927
+ catch (e) {
1928
+ var logger = cfgHandler[_DYN_LOGGER ];
1929
+ if (logger) {
1930
+ logger[_DYN_THROW_INTERNAL ](1 , 107 , dumpObj(e));
1931
+ }
1932
+ throw e;
1933
+ }
1934
+ finally {
1935
+ theState.act = prevWatcher || null;
1936
+ }
1937
+ }
1938
+ function _notifyWatchers() {
1939
+ if (_waitingHandlers) {
1940
+ var notifyHandlers = _waitingHandlers;
1941
+ _waitingHandlers = null;
1942
+ _watcherTimer && _watcherTimer[_DYN_CANCEL ]();
1943
+ _watcherTimer = null;
1944
+ var watcherFailures_1 = [];
1945
+ arrForEach(notifyHandlers, function (handler) {
1946
+ if (handler) {
1947
+ if (handler[dynamicPropertyDetail]) {
1948
+ arrForEach(handler[dynamicPropertyDetail], function (detail) {
1949
+ detail.clr(handler);
1950
+ });
1951
+ handler[dynamicPropertyDetail] = null;
1952
+ }
1953
+ if (handler.fn) {
1954
+ try {
1955
+ _useHandler(handler, handler.fn);
1956
+ }
1957
+ catch (e) {
1958
+ watcherFailures_1[_DYN_PUSH ](e);
1959
+ }
1960
+ }
1961
+ }
1962
+ });
1963
+ if (_waitingHandlers) {
1964
+ try {
1965
+ _notifyWatchers();
1966
+ }
1967
+ catch (e) {
1968
+ watcherFailures_1[_DYN_PUSH ](e);
1969
+ }
1970
+ }
1971
+ if (watcherFailures_1[_DYN_LENGTH ] > 0) {
1972
+ throwAggregationError("Watcher error(s): ", watcherFailures_1);
1973
+ }
1974
+ }
1975
+ }
1976
+ function _addWatcher(detail) {
1977
+ if (detail && detail.h[_DYN_LENGTH ] > 0) {
1978
+ if (!_waitingHandlers) {
1979
+ _waitingHandlers = [];
1980
+ }
1981
+ if (!_watcherTimer) {
1982
+ _watcherTimer = scheduleTimeout(function () {
1983
+ _watcherTimer = null;
1984
+ _notifyWatchers();
1985
+ }, 0);
1986
+ }
1987
+ for (var idx = 0; idx < detail.h[_DYN_LENGTH ]; idx++) {
1988
+ var handler = detail.h[idx];
1989
+ if (handler && arrIndexOf(_waitingHandlers, handler) === -1) {
1990
+ _waitingHandlers[_DYN_PUSH ](handler);
1991
+ }
1992
+ }
1993
+ }
1994
+ }
1995
+ function _trackHandler(handler, detail) {
1996
+ if (handler) {
1997
+ var details = handler[dynamicPropertyDetail] = handler[dynamicPropertyDetail] || [];
1998
+ if (arrIndexOf(details, detail) === -1) {
1999
+ details[_DYN_PUSH ](detail);
2000
+ }
2001
+ }
2002
+ }
2003
+ theState = {
2004
+ prop: dynamicPropertySymbol,
2005
+ ro: dynamicPropertyReadOnly,
2006
+ rf: dynamicPropertyReferenced,
2007
+ blkVal: dynamicPropertyBlockValue,
2008
+ hdlr: cfgHandler,
2009
+ add: _addWatcher,
2010
+ notify: _notifyWatchers,
2011
+ use: _useHandler,
2012
+ trk: _trackHandler
2013
+ };
2014
+ return theState;
2015
+ }
2016
+
2017
+ function _createAndUseHandler(state, configHandler) {
2018
+ var handler = {
2019
+ fn: configHandler,
2020
+ rm: function () {
2021
+ handler.fn = null;
2022
+ state = null;
2023
+ configHandler = null;
2024
+ }
2025
+ };
2026
+ objDefine(handler, "toJSON", { v: function () { return "WatcherHandler" + (handler.fn ? "" : "[X]"); } });
2027
+ state.use(handler, configHandler);
2028
+ return handler;
2029
+ }
2030
+ function _createDynamicHandler(logger, target, inPlace) {
2031
+ var dynamicHandler = getDynamicConfigHandler(target);
2032
+ if (dynamicHandler) {
2033
+ return dynamicHandler;
2034
+ }
2035
+ var uid = createUniqueNamespace("dyncfg", true);
2036
+ var newTarget = (target && inPlace !== false) ? target : _cfgDeepCopy(target);
2037
+ var theState;
2038
+ function _notifyWatchers() {
2039
+ theState.notify();
2040
+ }
2041
+ function _setValue(target, name, value) {
2042
+ try {
2043
+ target = _setDynamicProperty(theState, target, name, value);
2044
+ }
2045
+ catch (e) {
2046
+ _throwDynamicError(logger, name, "Setting value", e);
2047
+ }
2048
+ return target[name];
2049
+ }
2050
+ function _watch(configHandler) {
2051
+ return _createAndUseHandler(theState, configHandler);
2052
+ }
2053
+ function _block(configHandler, allowUpdate) {
2054
+ theState.use(null, function (details) {
2055
+ var prevUpd = theState.upd;
2056
+ try {
2057
+ if (!isUndefined(allowUpdate)) {
2058
+ theState.upd = allowUpdate;
2059
+ }
2060
+ configHandler(details);
2061
+ }
2062
+ finally {
2063
+ theState.upd = prevUpd;
2064
+ }
2065
+ });
2066
+ }
2067
+ function _ref(target, name) {
2068
+ var _a;
2069
+ return _setDynamicPropertyState(theState, target, name, (_a = {}, _a[0 ] = true, _a))[name];
2070
+ }
2071
+ function _rdOnly(target, name) {
2072
+ var _a;
2073
+ return _setDynamicPropertyState(theState, target, name, (_a = {}, _a[1 ] = true, _a))[name];
2074
+ }
2075
+ function _blkPropValue(target, name) {
2076
+ var _a;
2077
+ return _setDynamicPropertyState(theState, target, name, (_a = {}, _a[2 ] = true, _a))[name];
2078
+ }
2079
+ function _applyDefaults(theConfig, defaultValues) {
2080
+ if (defaultValues) {
2081
+ objForEachKey(defaultValues, function (name, value) {
2082
+ _applyDefaultValue(cfgHandler, theConfig, name, value);
2083
+ });
2084
+ }
2085
+ return theConfig;
2086
+ }
2087
+ var cfgHandler = {
2088
+ uid: null,
2089
+ cfg: newTarget,
2090
+ logger: logger,
2091
+ notify: _notifyWatchers,
2092
+ set: _setValue,
2093
+ setDf: _applyDefaults,
2094
+ watch: _watch,
2095
+ ref: _ref,
2096
+ rdOnly: _rdOnly,
2097
+ blkVal: _blkPropValue,
2098
+ _block: _block
2099
+ };
2100
+ objDefine(cfgHandler, "uid", {
2101
+ c: false,
2102
+ e: false,
2103
+ w: false,
2104
+ v: uid
2105
+ });
2106
+ theState = _createState(cfgHandler);
2107
+ _makeDynamicObject(theState, newTarget, "config", "Creating");
2108
+ return cfgHandler;
2109
+ }
2110
+ function _logInvalidAccess(logger, message) {
2111
+ if (logger) {
2112
+ logger[_DYN_WARN_TO_CONSOLE ](message);
2113
+ logger[_DYN_THROW_INTERNAL ](2 , 108 , message);
2114
+ }
2115
+ else {
2116
+ throwInvalidAccess(message);
2117
+ }
2118
+ }
2119
+ function createDynamicConfig(config, defaultConfig, logger, inPlace) {
2120
+ var dynamicHandler = _createDynamicHandler(logger, config || {}, inPlace);
2121
+ if (defaultConfig) {
2122
+ dynamicHandler.setDf(dynamicHandler.cfg, defaultConfig);
2123
+ }
2124
+ return dynamicHandler;
2125
+ }
2126
+ function onConfigChange(config, configHandler, logger) {
2127
+ var handler = config[CFG_HANDLER_LINK] || config;
2128
+ if (handler.cfg && (handler.cfg === config || handler.cfg[CFG_HANDLER_LINK] === handler)) {
2129
+ return handler[_DYN_WATCH ](configHandler);
2130
+ }
2131
+ _logInvalidAccess(logger, STR_NOT_DYNAMIC_ERROR + dumpObj(config));
2132
+ return createDynamicConfig(config, null, logger)[_DYN_WATCH ](configHandler);
2133
+ }
2134
+
2135
+ function cfgDfMerge(defaultValue) {
2136
+ return {
2137
+ mrg: true,
2138
+ v: defaultValue
2139
+ };
2140
+ }
2141
+ function cfgDfString(defaultValue) {
2142
+ return {
2143
+ isVal: isString,
2144
+ v: asString(defaultValue || STR_EMPTY$1)
2145
+ };
2146
+ }
2147
+
2148
+ var _aiNamespace = null;
2149
+ function _getExtensionNamespace() {
2150
+ var target = getInst("Microsoft");
2151
+ if (target) {
2152
+ _aiNamespace = target["ApplicationInsights"];
2153
+ }
2154
+ return _aiNamespace;
2155
+ }
2156
+ function getDebugExt(config) {
2157
+ var ns = _aiNamespace;
2158
+ if (!ns && config.disableDbgExt !== true) {
2159
+ ns = _aiNamespace || _getExtensionNamespace();
2160
+ }
2161
+ return ns ? ns["ChromeDbgExt"] : null;
2162
+ }
2163
+
2164
+ var _a$3;
2165
+ var STR_WARN_TO_CONSOLE = "warnToConsole";
2166
+ var AiNonUserActionablePrefix = "AI (Internal): ";
2167
+ var AiUserActionablePrefix = "AI: ";
2168
+ var AIInternalMessagePrefix = "AITR_";
2169
+ var defaultValues$1 = {
2170
+ loggingLevelConsole: 0,
2171
+ loggingLevelTelemetry: 1,
2172
+ maxMessageLimit: 25,
2173
+ enableDebug: false
2174
+ };
2175
+ var _logFuncs = (_a$3 = {},
2176
+ _a$3[0 ] = null,
2177
+ _a$3[1 ] = "errorToConsole",
2178
+ _a$3[2 ] = STR_WARN_TO_CONSOLE,
2179
+ _a$3[3 ] = "debugToConsole",
2180
+ _a$3);
2181
+ function _sanitizeDiagnosticText(text) {
2182
+ if (text) {
2183
+ return "\"" + text[_DYN_REPLACE ](/\"/g, STR_EMPTY$1) + "\"";
2184
+ }
2185
+ return STR_EMPTY$1;
2186
+ }
2187
+ function _logToConsole(func, message) {
2188
+ var theConsole = getConsole();
2189
+ if (!!theConsole) {
2190
+ var logFunc = "log";
2191
+ if (theConsole[func]) {
2192
+ logFunc = func;
2193
+ }
2194
+ if (isFunction(theConsole[logFunc])) {
2195
+ theConsole[logFunc](message);
2196
+ }
2197
+ }
2198
+ }
2199
+ var _InternalLogMessage = /** @class */ (function () {
2200
+ function _InternalLogMessage(msgId, msg, isUserAct, properties) {
2201
+ if (isUserAct === void 0) { isUserAct = false; }
2202
+ var _self = this;
2203
+ _self[_DYN_MESSAGE_ID ] = msgId;
2204
+ _self[_DYN_MESSAGE ] =
2205
+ (isUserAct ? AiUserActionablePrefix : AiNonUserActionablePrefix) +
2206
+ msgId;
2207
+ var strProps = STR_EMPTY$1;
2208
+ if (hasJSON()) {
2209
+ strProps = getJSON().stringify(properties);
2210
+ }
2211
+ var diagnosticText = (msg ? " message:" + _sanitizeDiagnosticText(msg) : STR_EMPTY$1) +
2212
+ (properties ? " props:" + _sanitizeDiagnosticText(strProps) : STR_EMPTY$1);
2213
+ _self[_DYN_MESSAGE ] += diagnosticText;
2214
+ }
2215
+ _InternalLogMessage.dataType = "MessageData";
2216
+ return _InternalLogMessage;
2217
+ }());
2218
+ function safeGetLogger(core, config) {
2219
+ return (core || {})[_DYN_LOGGER ] || new DiagnosticLogger(config);
2220
+ }
2221
+ var DiagnosticLogger = /** @class */ (function () {
2222
+ function DiagnosticLogger(config) {
2223
+ this.identifier = "DiagnosticLogger";
2224
+ this.queue = [];
2225
+ var _messageCount = 0;
2226
+ var _messageLogged = {};
2227
+ var _loggingLevelConsole;
2228
+ var _loggingLevelTelemetry;
2229
+ var _maxInternalMessageLimit;
2230
+ var _enableDebug;
2231
+ var _unloadHandler;
2232
+ dynamicProto(DiagnosticLogger, this, function (_self) {
2233
+ _unloadHandler = _setDefaultsFromConfig(config || {});
2234
+ _self.consoleLoggingLevel = function () { return _loggingLevelConsole; };
2235
+ _self[_DYN_THROW_INTERNAL ] = function (severity, msgId, msg, properties, isUserAct) {
2236
+ if (isUserAct === void 0) { isUserAct = false; }
2237
+ var message = new _InternalLogMessage(msgId, msg, isUserAct, properties);
2238
+ if (_enableDebug) {
2239
+ throw dumpObj(message);
2240
+ }
2241
+ else {
2242
+ var logFunc = _logFuncs[severity] || STR_WARN_TO_CONSOLE;
2243
+ if (!isUndefined(message[_DYN_MESSAGE ])) {
2244
+ if (isUserAct) {
2245
+ var messageKey = +message[_DYN_MESSAGE_ID ];
2246
+ if (!_messageLogged[messageKey] && _loggingLevelConsole >= severity) {
2247
+ _self[logFunc](message[_DYN_MESSAGE ]);
2248
+ _messageLogged[messageKey] = true;
2249
+ }
2250
+ }
2251
+ else {
2252
+ if (_loggingLevelConsole >= severity) {
2253
+ _self[logFunc](message[_DYN_MESSAGE ]);
2254
+ }
2255
+ }
2256
+ _logInternalMessage(severity, message);
2257
+ }
2258
+ else {
2259
+ _debugExtMsg("throw" + (severity === 1 ? "Critical" : "Warning"), message);
2260
+ }
2261
+ }
2262
+ };
2263
+ _self.debugToConsole = function (message) {
2264
+ _logToConsole("debug", message);
2265
+ _debugExtMsg("warning", message);
2266
+ };
2267
+ _self[_DYN_WARN_TO_CONSOLE ] = function (message) {
2268
+ _logToConsole("warn", message);
2269
+ _debugExtMsg("warning", message);
2270
+ };
2271
+ _self.errorToConsole = function (message) {
2272
+ _logToConsole("error", message);
2273
+ _debugExtMsg("error", message);
2274
+ };
2275
+ _self.resetInternalMessageCount = function () {
2276
+ _messageCount = 0;
2277
+ _messageLogged = {};
2278
+ };
2279
+ _self.logInternalMessage = _logInternalMessage;
2280
+ _self[_DYN_UNLOAD ] = function (isAsync) {
2281
+ _unloadHandler && _unloadHandler.rm();
2282
+ _unloadHandler = null;
2283
+ };
2284
+ function _logInternalMessage(severity, message) {
2285
+ if (_areInternalMessagesThrottled()) {
2286
+ return;
2287
+ }
2288
+ var logMessage = true;
2289
+ var messageKey = AIInternalMessagePrefix + message[_DYN_MESSAGE_ID ];
2290
+ if (_messageLogged[messageKey]) {
2291
+ logMessage = false;
2292
+ }
2293
+ else {
2294
+ _messageLogged[messageKey] = true;
2295
+ }
2296
+ if (logMessage) {
2297
+ if (severity <= _loggingLevelTelemetry) {
2298
+ _self.queue[_DYN_PUSH ](message);
2299
+ _messageCount++;
2300
+ _debugExtMsg((severity === 1 ? "error" : "warn"), message);
2301
+ }
2302
+ if (_messageCount === _maxInternalMessageLimit) {
2303
+ var throttleLimitMessage = "Internal events throttle limit per PageView reached for this app.";
2304
+ var throttleMessage = new _InternalLogMessage(23 , throttleLimitMessage, false);
2305
+ _self.queue[_DYN_PUSH ](throttleMessage);
2306
+ if (severity === 1 ) {
2307
+ _self.errorToConsole(throttleLimitMessage);
2308
+ }
2309
+ else {
2310
+ _self[_DYN_WARN_TO_CONSOLE ](throttleLimitMessage);
2311
+ }
2312
+ }
2313
+ }
2314
+ }
2315
+ function _setDefaultsFromConfig(config) {
2316
+ return onConfigChange(createDynamicConfig(config, defaultValues$1, _self).cfg, function (details) {
2317
+ var config = details.cfg;
2318
+ _loggingLevelConsole = config[_DYN_LOGGING_LEVEL_CONSOL4 ];
2319
+ _loggingLevelTelemetry = config.loggingLevelTelemetry;
2320
+ _maxInternalMessageLimit = config.maxMessageLimit;
2321
+ _enableDebug = config.enableDebug;
2322
+ });
2323
+ }
2324
+ function _areInternalMessagesThrottled() {
2325
+ return _messageCount >= _maxInternalMessageLimit;
2326
+ }
2327
+ function _debugExtMsg(name, data) {
2328
+ var dbgExt = getDebugExt(config || {});
2329
+ if (dbgExt && dbgExt[_DYN_DIAG_LOG ]) {
2330
+ dbgExt[_DYN_DIAG_LOG ](name, data);
2331
+ }
2332
+ }
2333
+ });
2334
+ }
2335
+ DiagnosticLogger.__ieDyn=1;
2336
+ return DiagnosticLogger;
2337
+ }());
2338
+ function _getLogger(logger) {
2339
+ return (logger || new DiagnosticLogger());
2340
+ }
2341
+ function _throwInternal(logger, severity, msgId, msg, properties, isUserAct) {
2342
+ if (isUserAct === void 0) { isUserAct = false; }
2343
+ _getLogger(logger)[_DYN_THROW_INTERNAL ](severity, msgId, msg, properties, isUserAct);
2344
+ }
2345
+
2346
+ var _a$2, _b;
2347
+ var strToGMTString = "toGMTString";
2348
+ var strToUTCString = "toUTCString";
2349
+ var strCookie = "cookie";
2350
+ var strExpires = "expires";
2351
+ var strIsCookieUseDisabled = "isCookieUseDisabled";
2352
+ var strDisableCookiesUsage = "disableCookiesUsage";
2353
+ var strConfigCookieMgr = "_ckMgr";
2354
+ var _supportsCookies = null;
2355
+ var _allowUaSameSite = null;
2356
+ var _parsedCookieValue = null;
2357
+ var _doc;
2358
+ var _cookieCache = {};
2359
+ var _globalCookieConfig = {};
2360
+ var rootDefaultConfig = (_a$2 = {
2361
+ cookieCfg: cfgDfMerge((_b = {},
2362
+ _b[STR_DOMAIN] = { fb: "cookieDomain", dfVal: isNotNullOrUndefined },
2363
+ _b.path = { fb: "cookiePath", dfVal: isNotNullOrUndefined },
2364
+ _b.enabled = UNDEFINED_VALUE,
2365
+ _b.ignoreCookies = UNDEFINED_VALUE,
2366
+ _b.blockedCookies = UNDEFINED_VALUE,
2367
+ _b)),
2368
+ cookieDomain: UNDEFINED_VALUE,
2369
+ cookiePath: UNDEFINED_VALUE
2370
+ },
2371
+ _a$2[strDisableCookiesUsage] = UNDEFINED_VALUE,
2372
+ _a$2);
2373
+ function _getDoc() {
2374
+ !_doc && (_doc = getLazy(function () { return getDocument(); }));
2375
+ }
2376
+ function _gblCookieMgr(config, logger) {
2377
+ var inst = createCookieMgr[strConfigCookieMgr] || _globalCookieConfig[strConfigCookieMgr];
2378
+ if (!inst) {
2379
+ inst = createCookieMgr[strConfigCookieMgr] = createCookieMgr(config, logger);
2380
+ _globalCookieConfig[strConfigCookieMgr] = inst;
2381
+ }
2382
+ return inst;
2383
+ }
2384
+ function _isMgrEnabled(cookieMgr) {
2385
+ if (cookieMgr) {
2386
+ return cookieMgr.isEnabled();
2387
+ }
2388
+ return true;
2389
+ }
2390
+ function _isIgnoredCookie(cookieMgrCfg, name) {
2391
+ if (name && cookieMgrCfg && isArray(cookieMgrCfg.ignoreCookies)) {
2392
+ return arrIndexOf(cookieMgrCfg.ignoreCookies, name) !== -1;
2393
+ }
2394
+ return false;
2395
+ }
2396
+ function _isBlockedCookie(cookieMgrCfg, name) {
2397
+ if (name && cookieMgrCfg && isArray(cookieMgrCfg.blockedCookies)) {
2398
+ if (arrIndexOf(cookieMgrCfg.blockedCookies, name) !== -1) {
2399
+ return true;
2400
+ }
2401
+ }
2402
+ return _isIgnoredCookie(cookieMgrCfg, name);
2403
+ }
2404
+ function _isCfgEnabled(rootConfig, cookieMgrConfig) {
2405
+ var isCfgEnabled = cookieMgrConfig[_DYN_ENABLED ];
2406
+ if (isNullOrUndefined(isCfgEnabled)) {
2407
+ var cookieEnabled = void 0;
2408
+ if (!isUndefined(rootConfig[strIsCookieUseDisabled])) {
2409
+ cookieEnabled = !rootConfig[strIsCookieUseDisabled];
2410
+ }
2411
+ if (!isUndefined(rootConfig[strDisableCookiesUsage])) {
2412
+ cookieEnabled = !rootConfig[strDisableCookiesUsage];
2413
+ }
2414
+ isCfgEnabled = cookieEnabled;
2415
+ }
2416
+ return isCfgEnabled;
2417
+ }
2418
+ function safeGetCookieMgr(core, config) {
2419
+ var cookieMgr;
2420
+ if (core) {
2421
+ cookieMgr = core.getCookieMgr();
2422
+ }
2423
+ else if (config) {
2424
+ var cookieCfg = config.cookieCfg;
2425
+ if (cookieCfg && cookieCfg[strConfigCookieMgr]) {
2426
+ cookieMgr = cookieCfg[strConfigCookieMgr];
2427
+ }
2428
+ else {
2429
+ cookieMgr = createCookieMgr(config);
2430
+ }
2431
+ }
2432
+ if (!cookieMgr) {
2433
+ cookieMgr = _gblCookieMgr(config, (core || {})[_DYN_LOGGER ]);
2434
+ }
2435
+ return cookieMgr;
2436
+ }
2437
+ function createCookieMgr(rootConfig, logger) {
2438
+ var cookieMgrConfig;
2439
+ var _path;
2440
+ var _domain;
2441
+ var unloadHandler;
2442
+ var _enabled;
2443
+ var _getCookieFn;
2444
+ var _setCookieFn;
2445
+ var _delCookieFn;
2446
+ rootConfig = createDynamicConfig(rootConfig || _globalCookieConfig, null, logger).cfg;
2447
+ unloadHandler = onConfigChange(rootConfig, function (details) {
2448
+ details.setDf(details.cfg, rootDefaultConfig);
2449
+ cookieMgrConfig = details.ref(details.cfg, "cookieCfg");
2450
+ _path = cookieMgrConfig[STR_PATH ] || "/";
2451
+ _domain = cookieMgrConfig[STR_DOMAIN ];
2452
+ _enabled = _isCfgEnabled(rootConfig, cookieMgrConfig) !== false;
2453
+ _getCookieFn = cookieMgrConfig.getCookie || _getCookieValue;
2454
+ _setCookieFn = cookieMgrConfig.setCookie || _setCookieValue;
2455
+ _delCookieFn = cookieMgrConfig.delCookie || _setCookieValue;
2456
+ }, logger);
2457
+ var cookieMgr = {
2458
+ isEnabled: function () {
2459
+ var enabled = _isCfgEnabled(rootConfig, cookieMgrConfig) !== false && _enabled && areCookiesSupported(logger);
2460
+ var gblManager = _globalCookieConfig[strConfigCookieMgr];
2461
+ if (enabled && gblManager && cookieMgr !== gblManager) {
2462
+ enabled = _isMgrEnabled(gblManager);
2463
+ }
2464
+ return enabled;
2465
+ },
2466
+ setEnabled: function (value) {
2467
+ _enabled = value !== false;
2468
+ cookieMgrConfig[_DYN_ENABLED ] = value;
2469
+ },
2470
+ set: function (name, value, maxAgeSec, domain, path) {
2471
+ var result = false;
2472
+ if (_isMgrEnabled(cookieMgr) && !_isBlockedCookie(cookieMgrConfig, name)) {
2473
+ var values = {};
2474
+ var theValue = strTrim(value || STR_EMPTY$1);
2475
+ var idx = strIndexOf(theValue, ";");
2476
+ if (idx !== -1) {
2477
+ theValue = strTrim(strLeft(value, idx));
2478
+ values = _extractParts(strSubstring(value, idx + 1));
2479
+ }
2480
+ setValue(values, STR_DOMAIN, domain || _domain, isTruthy, isUndefined);
2481
+ if (!isNullOrUndefined(maxAgeSec)) {
2482
+ var _isIE = isIE();
2483
+ if (isUndefined(values[strExpires])) {
2484
+ var nowMs = utcNow();
2485
+ var expireMs = nowMs + (maxAgeSec * 1000);
2486
+ if (expireMs > 0) {
2487
+ var expiry = new Date();
2488
+ expiry.setTime(expireMs);
2489
+ setValue(values, strExpires, _formatDate(expiry, !_isIE ? strToUTCString : strToGMTString) || _formatDate(expiry, _isIE ? strToGMTString : strToUTCString) || STR_EMPTY$1, isTruthy);
2490
+ }
2491
+ }
2492
+ if (!_isIE) {
2493
+ setValue(values, "max-age", STR_EMPTY$1 + maxAgeSec, null, isUndefined);
2494
+ }
2495
+ }
2496
+ var location_1 = getLocation();
2497
+ if (location_1 && location_1.protocol === "https:") {
2498
+ setValue(values, "secure", null, null, isUndefined);
2499
+ if (_allowUaSameSite === null) {
2500
+ _allowUaSameSite = !uaDisallowsSameSiteNone((getNavigator() || {})[_DYN_USER_AGENT ]);
2501
+ }
2502
+ if (_allowUaSameSite) {
2503
+ setValue(values, "SameSite", "None", null, isUndefined);
2504
+ }
2505
+ }
2506
+ setValue(values, STR_PATH, path || _path, null, isUndefined);
2507
+ _setCookieFn(name, _formatCookieValue(theValue, values));
2508
+ result = true;
2509
+ }
2510
+ return result;
2511
+ },
2512
+ get: function (name) {
2513
+ var value = STR_EMPTY$1;
2514
+ if (_isMgrEnabled(cookieMgr) && !_isIgnoredCookie(cookieMgrConfig, name)) {
2515
+ value = _getCookieFn(name);
2516
+ }
2517
+ return value;
2518
+ },
2519
+ del: function (name, path) {
2520
+ var result = false;
2521
+ if (_isMgrEnabled(cookieMgr)) {
2522
+ result = cookieMgr.purge(name, path);
2523
+ }
2524
+ return result;
2525
+ },
2526
+ purge: function (name, path) {
2527
+ var _a;
2528
+ var result = false;
2529
+ if (areCookiesSupported(logger)) {
2530
+ var values = (_a = {},
2531
+ _a[STR_PATH] = path ? path : "/",
2532
+ _a[strExpires] = "Thu, 01 Jan 1970 00:00:01 GMT",
2533
+ _a);
2534
+ if (!isIE()) {
2535
+ values["max-age"] = "0";
2536
+ }
2537
+ _delCookieFn(name, _formatCookieValue(STR_EMPTY$1, values));
2538
+ result = true;
2539
+ }
2540
+ return result;
2541
+ },
2542
+ unload: function (isAsync) {
2543
+ unloadHandler && unloadHandler.rm();
2544
+ unloadHandler = null;
2545
+ }
2546
+ };
2547
+ cookieMgr[strConfigCookieMgr] = cookieMgr;
2548
+ return cookieMgr;
2549
+ }
2550
+ function areCookiesSupported(logger) {
2551
+ if (_supportsCookies === null) {
2552
+ _supportsCookies = false;
2553
+ !_doc && _getDoc();
2554
+ try {
2555
+ var doc = _doc.v || {};
2556
+ _supportsCookies = doc[strCookie] !== undefined;
2557
+ }
2558
+ catch (e) {
2559
+ _throwInternal(logger, 2 , 68 , "Cannot access document.cookie - " + getExceptionName(e), { exception: dumpObj(e) });
2560
+ }
2561
+ }
2562
+ return _supportsCookies;
2563
+ }
2564
+ function _extractParts(theValue) {
2565
+ var values = {};
2566
+ if (theValue && theValue[_DYN_LENGTH ]) {
2567
+ var parts = strTrim(theValue)[_DYN_SPLIT ](";");
2568
+ arrForEach(parts, function (thePart) {
2569
+ thePart = strTrim(thePart || STR_EMPTY$1);
2570
+ if (thePart) {
2571
+ var idx = strIndexOf(thePart, "=");
2572
+ if (idx === -1) {
2573
+ values[thePart] = null;
2574
+ }
2575
+ else {
2576
+ values[strTrim(strLeft(thePart, idx))] = strTrim(strSubstring(thePart, idx + 1));
2577
+ }
2578
+ }
2579
+ });
2580
+ }
2581
+ return values;
2582
+ }
2583
+ function _formatDate(theDate, func) {
2584
+ if (isFunction(theDate[func])) {
2585
+ return theDate[func]();
2586
+ }
2587
+ return null;
2588
+ }
2589
+ function _formatCookieValue(value, values) {
2590
+ var cookieValue = value || STR_EMPTY$1;
2591
+ objForEachKey(values, function (name, theValue) {
2592
+ cookieValue += "; " + name + (!isNullOrUndefined(theValue) ? "=" + theValue : STR_EMPTY$1);
2593
+ });
2594
+ return cookieValue;
2595
+ }
2596
+ function _getCookieValue(name) {
2597
+ var cookieValue = STR_EMPTY$1;
2598
+ !_doc && _getDoc();
2599
+ if (_doc.v) {
2600
+ var theCookie = _doc.v[strCookie] || STR_EMPTY$1;
2601
+ if (_parsedCookieValue !== theCookie) {
2602
+ _cookieCache = _extractParts(theCookie);
2603
+ _parsedCookieValue = theCookie;
2604
+ }
2605
+ cookieValue = strTrim(_cookieCache[name] || STR_EMPTY$1);
2606
+ }
2607
+ return cookieValue;
2608
+ }
2609
+ function _setCookieValue(name, cookieValue) {
2610
+ !_doc && _getDoc();
2611
+ if (_doc.v) {
2612
+ _doc.v[strCookie] = name + "=" + cookieValue;
2613
+ }
2614
+ }
2615
+ function uaDisallowsSameSiteNone(userAgent) {
2616
+ if (!isString(userAgent)) {
2617
+ return false;
2618
+ }
2619
+ if (strContains(userAgent, "CPU iPhone OS 12") || strContains(userAgent, "iPad; CPU OS 12")) {
2620
+ return true;
2621
+ }
2622
+ if (strContains(userAgent, "Macintosh; Intel Mac OS X 10_14") && strContains(userAgent, "Version/") && strContains(userAgent, "Safari")) {
2623
+ return true;
2624
+ }
2625
+ if (strContains(userAgent, "Macintosh; Intel Mac OS X 10_14") && strEndsWith(userAgent, "AppleWebKit/605.1.15 (KHTML, like Gecko)")) {
2626
+ return true;
2627
+ }
2628
+ if (strContains(userAgent, "Chrome/5") || strContains(userAgent, "Chrome/6")) {
2629
+ return true;
2630
+ }
2631
+ if (strContains(userAgent, "UnrealEngine") && !strContains(userAgent, "Chrome")) {
2632
+ return true;
2633
+ }
2634
+ if (strContains(userAgent, "UCBrowser/12") || strContains(userAgent, "UCBrowser/11")) {
2635
+ return true;
2636
+ }
2637
+ return false;
2638
+ }
2639
+
2640
+ var strExecutionContextKey = "ctx";
2641
+ var strParentContextKey = "ParentContextKey";
2642
+ var strChildrenContextKey = "ChildrenContextKey";
2643
+ var PerfEvent = /** @class */ (function () {
2644
+ function PerfEvent(name, payloadDetails, isAsync) {
2645
+ var _self = this;
2646
+ _self.start = utcNow();
2647
+ _self[_DYN_NAME ] = name;
2648
+ _self.isAsync = isAsync;
2649
+ _self[_DYN_IS_CHILD_EVT ] = function () { return false; };
2650
+ if (isFunction(payloadDetails)) {
2651
+ var theDetails_1;
2652
+ objDefine(_self, "payload", {
2653
+ g: function () {
2654
+ if (!theDetails_1 && isFunction(payloadDetails)) {
2655
+ theDetails_1 = payloadDetails();
2656
+ payloadDetails = null;
2657
+ }
2658
+ return theDetails_1;
2659
+ }
2660
+ });
2661
+ }
2662
+ _self[_DYN_GET_CTX ] = function (key) {
2663
+ if (key) {
2664
+ if (key === PerfEvent[strParentContextKey] || key === PerfEvent[strChildrenContextKey]) {
2665
+ return _self[key];
2666
+ }
2667
+ return (_self[strExecutionContextKey] || {})[key];
2668
+ }
2669
+ return null;
2670
+ };
2671
+ _self[_DYN_SET_CTX ] = function (key, value) {
2672
+ if (key) {
2673
+ if (key === PerfEvent[strParentContextKey]) {
2674
+ if (!_self[key]) {
2675
+ _self[_DYN_IS_CHILD_EVT ] = function () { return true; };
2676
+ }
2677
+ _self[key] = value;
2678
+ }
2679
+ else if (key === PerfEvent[strChildrenContextKey]) {
2680
+ _self[key] = value;
2681
+ }
2682
+ else {
2683
+ var ctx = _self[strExecutionContextKey] = _self[strExecutionContextKey] || {};
2684
+ ctx[key] = value;
2685
+ }
2686
+ }
2687
+ };
2688
+ _self.complete = function () {
2689
+ var childTime = 0;
2690
+ var childEvts = _self[_DYN_GET_CTX ](PerfEvent[strChildrenContextKey]);
2691
+ if (isArray(childEvts)) {
2692
+ for (var lp = 0; lp < childEvts[_DYN_LENGTH ]; lp++) {
2693
+ var childEvt = childEvts[lp];
2694
+ if (childEvt) {
2695
+ childTime += childEvt.time;
2696
+ }
2697
+ }
2698
+ }
2699
+ _self.time = utcNow() - _self.start;
2700
+ _self.exTime = _self.time - childTime;
2701
+ _self.complete = function () { };
2702
+ };
2703
+ }
2704
+ PerfEvent.ParentContextKey = "parent";
2705
+ PerfEvent.ChildrenContextKey = "childEvts";
2706
+ return PerfEvent;
2707
+ }());
2708
+ var doPerfActiveKey = "CoreUtils.doPerf";
2709
+ function doPerf(mgrSource, getSource, func, details, isAsync) {
2710
+ if (mgrSource) {
2711
+ var perfMgr = mgrSource;
2712
+ if (perfMgr[STR_GET_PERF_MGR]) {
2713
+ perfMgr = perfMgr[STR_GET_PERF_MGR]();
2714
+ }
2715
+ if (perfMgr) {
2716
+ var perfEvt = void 0;
2717
+ var currentActive = perfMgr[_DYN_GET_CTX ](doPerfActiveKey);
2718
+ try {
2719
+ perfEvt = perfMgr.create(getSource(), details, isAsync);
2720
+ if (perfEvt) {
2721
+ if (currentActive && perfEvt[_DYN_SET_CTX ]) {
2722
+ perfEvt[_DYN_SET_CTX ](PerfEvent[strParentContextKey], currentActive);
2723
+ if (currentActive[_DYN_GET_CTX ] && currentActive[_DYN_SET_CTX ]) {
2724
+ var children = currentActive[_DYN_GET_CTX ](PerfEvent[strChildrenContextKey]);
2725
+ if (!children) {
2726
+ children = [];
2727
+ currentActive[_DYN_SET_CTX ](PerfEvent[strChildrenContextKey], children);
2728
+ }
2729
+ children[_DYN_PUSH ](perfEvt);
2730
+ }
2731
+ }
2732
+ perfMgr[_DYN_SET_CTX ](doPerfActiveKey, perfEvt);
2733
+ return func(perfEvt);
2734
+ }
2735
+ }
2736
+ catch (ex) {
2737
+ if (perfEvt && perfEvt[_DYN_SET_CTX ]) {
2738
+ perfEvt[_DYN_SET_CTX ]("exception", ex);
2739
+ }
2740
+ }
2741
+ finally {
2742
+ if (perfEvt) {
2743
+ perfMgr.fire(perfEvt);
2744
+ }
2745
+ perfMgr[_DYN_SET_CTX ](doPerfActiveKey, currentActive);
2746
+ }
2747
+ }
2748
+ }
2749
+ return func();
2750
+ }
2751
+
2752
+ function newGuid() {
2753
+ var uuid = generateW3CId();
2754
+ return strSubstring(uuid, 0, 8) + "-" + strSubstring(uuid, 8, 12) + "-" + strSubstring(uuid, 12, 16) + "-" + strSubstring(uuid, 16, 20) + "-" + strSubstring(uuid, 20);
2755
+ }
2756
+ function generateW3CId() {
2757
+ var hexValues = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f"];
2758
+ var oct = STR_EMPTY$1, tmp;
2759
+ for (var a = 0; a < 4; a++) {
2760
+ tmp = random32();
2761
+ oct +=
2762
+ hexValues[tmp & 0xF] +
2763
+ hexValues[tmp >> 4 & 0xF] +
2764
+ hexValues[tmp >> 8 & 0xF] +
2765
+ hexValues[tmp >> 12 & 0xF] +
2766
+ hexValues[tmp >> 16 & 0xF] +
2767
+ hexValues[tmp >> 20 & 0xF] +
2768
+ hexValues[tmp >> 24 & 0xF] +
2769
+ hexValues[tmp >> 28 & 0xF];
2770
+ }
2771
+ var clockSequenceHi = hexValues[8 + (random32() & 0x03) | 0];
2772
+ return strSubstr(oct, 0, 8) + strSubstr(oct, 9, 4) + "4" + strSubstr(oct, 13, 3) + clockSequenceHi + strSubstr(oct, 16, 3) + strSubstr(oct, 19, 12);
2773
+ }
2774
+
2775
+ var INVALID_TRACE_ID = "00000000000000000000000000000000";
2776
+ var INVALID_SPAN_ID = "0000000000000000";
2777
+ function _isValid(value, len, invalidValue) {
2778
+ if (value && value[_DYN_LENGTH ] === len && value !== invalidValue) {
2779
+ return !!value.match(/^[\da-f]*$/i);
2780
+ }
2781
+ return false;
2782
+ }
2783
+ function isValidTraceId(value) {
2784
+ return _isValid(value, 32, INVALID_TRACE_ID);
2785
+ }
2786
+ function isValidSpanId(value) {
2787
+ return _isValid(value, 16, INVALID_SPAN_ID);
2788
+ }
2789
+
2790
+ var pluginStateData = createElmNodeData("plugin");
2791
+ function _getPluginState(plugin) {
2792
+ return pluginStateData.get(plugin, "state", {}, true);
2793
+ }
2794
+
2795
+ var strTelemetryPluginChain = "TelemetryPluginChain";
2796
+ var strHasRunFlags = "_hasRun";
2797
+ var strGetTelCtx = "_getTelCtx";
2798
+ var _chainId = 0;
2799
+ function _getNextProxyStart(proxy, core, startAt) {
2800
+ while (proxy) {
2801
+ if (proxy[_DYN_GET_PLUGIN ]() === startAt) {
2802
+ return proxy;
2803
+ }
2804
+ proxy = proxy[_DYN_GET_NEXT ]();
2805
+ }
2806
+ return createTelemetryProxyChain([startAt], core.config || {}, core);
2807
+ }
2808
+ function _createInternalContext(telemetryChain, dynamicHandler, core, startAt) {
2809
+ var _nextProxy = null;
2810
+ var _onComplete = [];
2811
+ if (!dynamicHandler) {
2812
+ dynamicHandler = createDynamicConfig({}, null, core[_DYN_LOGGER ]);
2813
+ }
2814
+ if (startAt !== null) {
2815
+ _nextProxy = startAt ? _getNextProxyStart(telemetryChain, core, startAt) : telemetryChain;
2816
+ }
2817
+ var context = {
2818
+ _next: _moveNext,
2819
+ ctx: {
2820
+ core: function () {
2821
+ return core;
2822
+ },
2823
+ diagLog: function () {
2824
+ return safeGetLogger(core, dynamicHandler.cfg);
2825
+ },
2826
+ getCfg: function () {
2827
+ return dynamicHandler.cfg;
2828
+ },
2829
+ getExtCfg: _resolveExtCfg,
2830
+ getConfig: _getConfig,
2831
+ hasNext: function () {
2832
+ return !!_nextProxy;
2833
+ },
2834
+ getNext: function () {
2835
+ return _nextProxy;
2836
+ },
2837
+ setNext: function (nextPlugin) {
2838
+ _nextProxy = nextPlugin;
2839
+ },
2840
+ iterate: _iterateChain,
2841
+ onComplete: _addOnComplete
2842
+ }
2843
+ };
2844
+ function _addOnComplete(onComplete, that) {
2845
+ var args = [];
2846
+ for (var _i = 2; _i < arguments.length; _i++) {
2847
+ args[_i - 2] = arguments[_i];
2848
+ }
2849
+ if (onComplete) {
2850
+ _onComplete[_DYN_PUSH ]({
2851
+ func: onComplete,
2852
+ self: !isUndefined(that) ? that : context.ctx,
2853
+ args: args
2854
+ });
2855
+ }
2856
+ }
2857
+ function _moveNext() {
2858
+ var nextProxy = _nextProxy;
2859
+ _nextProxy = nextProxy ? nextProxy[_DYN_GET_NEXT ]() : null;
2860
+ if (!nextProxy) {
2861
+ var onComplete = _onComplete;
2862
+ if (onComplete && onComplete[_DYN_LENGTH ] > 0) {
2863
+ arrForEach(onComplete, function (completeDetails) {
2864
+ try {
2865
+ completeDetails.func.call(completeDetails.self, completeDetails.args);
2866
+ }
2867
+ catch (e) {
2868
+ _throwInternal(core[_DYN_LOGGER ], 2 , 73 , "Unexpected Exception during onComplete - " + dumpObj(e));
2869
+ }
2870
+ });
2871
+ _onComplete = [];
2872
+ }
2873
+ }
2874
+ return nextProxy;
2875
+ }
2876
+ function _getExtCfg(identifier, createIfMissing) {
2877
+ var idCfg = null;
2878
+ var cfg = dynamicHandler.cfg;
2879
+ if (cfg && identifier) {
2880
+ var extCfg = cfg[STR_EXTENSION_CONFIG ];
2881
+ if (!extCfg && createIfMissing) {
2882
+ extCfg = {};
2883
+ }
2884
+ cfg[STR_EXTENSION_CONFIG] = extCfg;
2885
+ extCfg = dynamicHandler.ref(cfg, STR_EXTENSION_CONFIG);
2886
+ if (extCfg) {
2887
+ idCfg = extCfg[identifier];
2888
+ if (!idCfg && createIfMissing) {
2889
+ idCfg = {};
2890
+ }
2891
+ extCfg[identifier] = idCfg;
2892
+ idCfg = dynamicHandler.ref(extCfg, identifier);
2893
+ }
2894
+ }
2895
+ return idCfg;
2896
+ }
2897
+ function _resolveExtCfg(identifier, defaultValues) {
2898
+ var newConfig = _getExtCfg(identifier, true);
2899
+ if (defaultValues) {
2900
+ objForEachKey(defaultValues, function (field, defaultValue) {
2901
+ if (isNullOrUndefined(newConfig[field])) {
2902
+ var cfgValue = dynamicHandler.cfg[field];
2903
+ if (cfgValue || !isNullOrUndefined(cfgValue)) {
2904
+ newConfig[field] = cfgValue;
2905
+ }
2906
+ }
2907
+ _applyDefaultValue(dynamicHandler, newConfig, field, defaultValue);
2908
+ });
2909
+ }
2910
+ return dynamicHandler.setDf(newConfig, defaultValues);
2911
+ }
2912
+ function _getConfig(identifier, field, defaultValue) {
2913
+ if (defaultValue === void 0) { defaultValue = false; }
2914
+ var theValue;
2915
+ var extConfig = _getExtCfg(identifier, false);
2916
+ var rootConfig = dynamicHandler.cfg;
2917
+ if (extConfig && (extConfig[field] || !isNullOrUndefined(extConfig[field]))) {
2918
+ theValue = extConfig[field];
2919
+ }
2920
+ else if (rootConfig[field] || !isNullOrUndefined(rootConfig[field])) {
2921
+ theValue = rootConfig[field];
2922
+ }
2923
+ return (theValue || !isNullOrUndefined(theValue)) ? theValue : defaultValue;
2924
+ }
2925
+ function _iterateChain(cb) {
2926
+ var nextPlugin;
2927
+ while (!!(nextPlugin = context._next())) {
2928
+ var plugin = nextPlugin[_DYN_GET_PLUGIN ]();
2929
+ if (plugin) {
2930
+ cb(plugin);
2931
+ }
2932
+ }
2933
+ }
2934
+ return context;
2935
+ }
2936
+ function createProcessTelemetryContext(telemetryChain, cfg, core, startAt) {
2937
+ var config = createDynamicConfig(cfg);
2938
+ var internalContext = _createInternalContext(telemetryChain, config, core, startAt);
2939
+ var context = internalContext.ctx;
2940
+ function _processNext(env) {
2941
+ var nextPlugin = internalContext._next();
2942
+ if (nextPlugin) {
2943
+ nextPlugin[STR_PROCESS_TELEMETRY ](env, context);
2944
+ }
2945
+ return !nextPlugin;
2946
+ }
2947
+ function _createNew(plugins, startAt) {
2948
+ if (plugins === void 0) { plugins = null; }
2949
+ if (isArray(plugins)) {
2950
+ plugins = createTelemetryProxyChain(plugins, config.cfg, core, startAt);
2951
+ }
2952
+ return createProcessTelemetryContext(plugins || context[_DYN_GET_NEXT ](), config.cfg, core, startAt);
2953
+ }
2954
+ context[_DYN_PROCESS_NEXT ] = _processNext;
2955
+ context[_DYN_CREATE_NEW ] = _createNew;
2956
+ return context;
2957
+ }
2958
+ function createProcessTelemetryUnloadContext(telemetryChain, core, startAt) {
2959
+ var config = createDynamicConfig(core.config);
2960
+ var internalContext = _createInternalContext(telemetryChain, config, core, startAt);
2961
+ var context = internalContext.ctx;
2962
+ function _processNext(unloadState) {
2963
+ var nextPlugin = internalContext._next();
2964
+ nextPlugin && nextPlugin[_DYN_UNLOAD ](context, unloadState);
2965
+ return !nextPlugin;
2966
+ }
2967
+ function _createNew(plugins, startAt) {
2968
+ if (plugins === void 0) { plugins = null; }
2969
+ if (isArray(plugins)) {
2970
+ plugins = createTelemetryProxyChain(plugins, config.cfg, core, startAt);
2971
+ }
2972
+ return createProcessTelemetryUnloadContext(plugins || context[_DYN_GET_NEXT ](), core, startAt);
2973
+ }
2974
+ context[_DYN_PROCESS_NEXT ] = _processNext;
2975
+ context[_DYN_CREATE_NEW ] = _createNew;
2976
+ return context;
2977
+ }
2978
+ function createProcessTelemetryUpdateContext(telemetryChain, core, startAt) {
2979
+ var config = createDynamicConfig(core.config);
2980
+ var internalContext = _createInternalContext(telemetryChain, config, core, startAt);
2981
+ var context = internalContext.ctx;
2982
+ function _processNext(updateState) {
2983
+ return context.iterate(function (plugin) {
2984
+ if (isFunction(plugin[_DYN_UPDATE ])) {
2985
+ plugin[_DYN_UPDATE ](context, updateState);
2986
+ }
2987
+ });
2988
+ }
2989
+ function _createNew(plugins, startAt) {
2990
+ if (plugins === void 0) { plugins = null; }
2991
+ if (isArray(plugins)) {
2992
+ plugins = createTelemetryProxyChain(plugins, config.cfg, core, startAt);
2993
+ }
2994
+ return createProcessTelemetryUpdateContext(plugins || context[_DYN_GET_NEXT ](), core, startAt);
2995
+ }
2996
+ context[_DYN_PROCESS_NEXT ] = _processNext;
2997
+ context[_DYN_CREATE_NEW ] = _createNew;
2998
+ return context;
2999
+ }
3000
+ function createTelemetryProxyChain(plugins, config, core, startAt) {
3001
+ var firstProxy = null;
3002
+ var add = startAt ? false : true;
3003
+ if (isArray(plugins) && plugins[_DYN_LENGTH ] > 0) {
3004
+ var lastProxy_1 = null;
3005
+ arrForEach(plugins, function (thePlugin) {
3006
+ if (!add && startAt === thePlugin) {
3007
+ add = true;
3008
+ }
3009
+ if (add && thePlugin && isFunction(thePlugin[STR_PROCESS_TELEMETRY ])) {
3010
+ var newProxy = createTelemetryPluginProxy(thePlugin, config, core);
3011
+ if (!firstProxy) {
3012
+ firstProxy = newProxy;
3013
+ }
3014
+ if (lastProxy_1) {
3015
+ lastProxy_1._setNext(newProxy);
3016
+ }
3017
+ lastProxy_1 = newProxy;
3018
+ }
3019
+ });
3020
+ }
3021
+ if (startAt && !firstProxy) {
3022
+ return createTelemetryProxyChain([startAt], config, core);
3023
+ }
3024
+ return firstProxy;
3025
+ }
3026
+ function createTelemetryPluginProxy(plugin, config, core) {
3027
+ var nextProxy = null;
3028
+ var hasProcessTelemetry = isFunction(plugin[STR_PROCESS_TELEMETRY ]);
3029
+ var hasSetNext = isFunction(plugin[_DYN_SET_NEXT_PLUGIN ]);
3030
+ var chainId;
3031
+ if (plugin) {
3032
+ chainId = plugin[_DYN_IDENTIFIER ] + "-" + plugin[STR_PRIORITY ] + "-" + _chainId++;
3033
+ }
3034
+ else {
3035
+ chainId = "Unknown-0-" + _chainId++;
3036
+ }
3037
+ var proxyChain = {
3038
+ getPlugin: function () {
3039
+ return plugin;
3040
+ },
3041
+ getNext: function () {
3042
+ return nextProxy;
3043
+ },
3044
+ processTelemetry: _processTelemetry,
3045
+ unload: _unloadPlugin,
3046
+ update: _updatePlugin,
3047
+ _id: chainId,
3048
+ _setNext: function (nextPlugin) {
3049
+ nextProxy = nextPlugin;
3050
+ }
3051
+ };
3052
+ function _getTelCtx() {
3053
+ var itemCtx;
3054
+ if (plugin && isFunction(plugin[strGetTelCtx])) {
3055
+ itemCtx = plugin[strGetTelCtx]();
3056
+ }
3057
+ if (!itemCtx) {
3058
+ itemCtx = createProcessTelemetryContext(proxyChain, config, core);
3059
+ }
3060
+ return itemCtx;
3061
+ }
3062
+ function _processChain(itemCtx, processPluginFn, name, details, isAsync) {
3063
+ var hasRun = false;
3064
+ var identifier = plugin ? plugin[_DYN_IDENTIFIER ] : strTelemetryPluginChain;
3065
+ var hasRunContext = itemCtx[strHasRunFlags];
3066
+ if (!hasRunContext) {
3067
+ hasRunContext = itemCtx[strHasRunFlags] = {};
3068
+ }
3069
+ itemCtx.setNext(nextProxy);
3070
+ if (plugin) {
3071
+ doPerf(itemCtx[STR_CORE ](), function () { return identifier + ":" + name; }, function () {
3072
+ hasRunContext[chainId] = true;
3073
+ try {
3074
+ var nextId = nextProxy ? nextProxy._id : STR_EMPTY$1;
3075
+ if (nextId) {
3076
+ hasRunContext[nextId] = false;
3077
+ }
3078
+ hasRun = processPluginFn(itemCtx);
3079
+ }
3080
+ catch (error) {
3081
+ var hasNextRun = nextProxy ? hasRunContext[nextProxy._id] : true;
3082
+ if (hasNextRun) {
3083
+ hasRun = true;
3084
+ }
3085
+ if (!nextProxy || !hasNextRun) {
3086
+ _throwInternal(itemCtx[_DYN_DIAG_LOG ](), 1 , 73 , "Plugin [" + identifier + "] failed during " + name + " - " + dumpObj(error) + ", run flags: " + dumpObj(hasRunContext));
3087
+ }
3088
+ }
3089
+ }, details, isAsync);
3090
+ }
3091
+ return hasRun;
3092
+ }
3093
+ function _processTelemetry(env, itemCtx) {
3094
+ itemCtx = itemCtx || _getTelCtx();
3095
+ function _callProcessTelemetry(itemCtx) {
3096
+ if (!plugin || !hasProcessTelemetry) {
3097
+ return false;
3098
+ }
3099
+ var pluginState = _getPluginState(plugin);
3100
+ if (pluginState[_DYN_TEARDOWN ] || pluginState[STR_DISABLED]) {
3101
+ return false;
3102
+ }
3103
+ if (hasSetNext) {
3104
+ plugin[_DYN_SET_NEXT_PLUGIN ](nextProxy);
3105
+ }
3106
+ plugin[STR_PROCESS_TELEMETRY ](env, itemCtx);
3107
+ return true;
3108
+ }
3109
+ if (!_processChain(itemCtx, _callProcessTelemetry, "processTelemetry", function () { return ({ item: env }); }, !(env.sync))) {
3110
+ itemCtx[_DYN_PROCESS_NEXT ](env);
3111
+ }
3112
+ }
3113
+ function _unloadPlugin(unloadCtx, unloadState) {
3114
+ function _callTeardown() {
3115
+ var hasRun = false;
3116
+ if (plugin) {
3117
+ var pluginState = _getPluginState(plugin);
3118
+ var pluginCore = plugin[STR_CORE] || pluginState[STR_CORE ];
3119
+ if (plugin && (!pluginCore || pluginCore === unloadCtx.core()) && !pluginState[_DYN_TEARDOWN ]) {
3120
+ pluginState[STR_CORE ] = null;
3121
+ pluginState[_DYN_TEARDOWN ] = true;
3122
+ pluginState[_DYN_IS_INITIALIZED ] = false;
3123
+ if (plugin[_DYN_TEARDOWN ] && plugin[_DYN_TEARDOWN ](unloadCtx, unloadState) === true) {
3124
+ hasRun = true;
3125
+ }
3126
+ }
3127
+ }
3128
+ return hasRun;
3129
+ }
3130
+ if (!_processChain(unloadCtx, _callTeardown, "unload", function () { }, unloadState.isAsync)) {
3131
+ unloadCtx[_DYN_PROCESS_NEXT ](unloadState);
3132
+ }
3133
+ }
3134
+ function _updatePlugin(updateCtx, updateState) {
3135
+ function _callUpdate() {
3136
+ var hasRun = false;
3137
+ if (plugin) {
3138
+ var pluginState = _getPluginState(plugin);
3139
+ var pluginCore = plugin[STR_CORE] || pluginState[STR_CORE ];
3140
+ if (plugin && (!pluginCore || pluginCore === updateCtx.core()) && !pluginState[_DYN_TEARDOWN ]) {
3141
+ if (plugin[_DYN_UPDATE ] && plugin[_DYN_UPDATE ](updateCtx, updateState) === true) {
3142
+ hasRun = true;
3143
+ }
3144
+ }
3145
+ }
3146
+ return hasRun;
3147
+ }
3148
+ if (!_processChain(updateCtx, _callUpdate, "update", function () { }, false)) {
3149
+ updateCtx[_DYN_PROCESS_NEXT ](updateState);
3150
+ }
3151
+ }
3152
+ return objFreeze(proxyChain);
3153
+ }
3154
+
3155
+ function createUnloadHandlerContainer() {
3156
+ var handlers = [];
3157
+ function _addHandler(handler) {
3158
+ if (handler) {
3159
+ handlers[_DYN_PUSH ](handler);
3160
+ }
3161
+ }
3162
+ function _runHandlers(unloadCtx, unloadState) {
3163
+ arrForEach(handlers, function (handler) {
3164
+ try {
3165
+ handler(unloadCtx, unloadState);
3166
+ }
3167
+ catch (e) {
3168
+ _throwInternal(unloadCtx[_DYN_DIAG_LOG ](), 2 , 73 , "Unexpected error calling unload handler - " + dumpObj(e));
3169
+ }
3170
+ });
3171
+ handlers = [];
3172
+ }
3173
+ return {
3174
+ add: _addHandler,
3175
+ run: _runHandlers
3176
+ };
3177
+ }
3178
+
3179
+ function createUnloadHookContainer() {
3180
+ var _hooks = [];
3181
+ function _doUnload(logger) {
3182
+ var oldHooks = _hooks;
3183
+ _hooks = [];
3184
+ arrForEach(oldHooks, function (fn) {
3185
+ try {
3186
+ (fn.rm || fn.remove).call(fn);
3187
+ }
3188
+ catch (e) {
3189
+ _throwInternal(logger, 2 , 73 , "Unloading:" + dumpObj(e));
3190
+ }
3191
+ });
3192
+ }
3193
+ function _addHook(hooks) {
3194
+ if (hooks) {
3195
+ arrAppend(_hooks, hooks);
3196
+ }
3197
+ }
3198
+ return {
3199
+ run: _doUnload,
3200
+ add: _addHook
3201
+ };
3202
+ }
3203
+
3204
+ var _a$1;
3205
+ var strGetPlugin = "getPlugin";
3206
+ var defaultValues = (_a$1 = {},
3207
+ _a$1[STR_EXTENSION_CONFIG] = { isVal: isNotNullOrUndefined, v: {} },
3208
+ _a$1);
3209
+ var BaseTelemetryPlugin = /** @class */ (function () {
3210
+ function BaseTelemetryPlugin() {
3211
+ var _self = this;
3212
+ var _isinitialized;
3213
+ var _rootCtx;
3214
+ var _nextPlugin;
3215
+ var _unloadHandlerContainer;
3216
+ var _hookContainer;
3217
+ _initDefaults();
3218
+ dynamicProto(BaseTelemetryPlugin, _self, function (_self) {
3219
+ _self[_DYN_INITIALIZE ] = function (config, core, extensions, pluginChain) {
3220
+ _setDefaults(config, core, pluginChain);
3221
+ _isinitialized = true;
3222
+ };
3223
+ _self[_DYN_TEARDOWN ] = function (unloadCtx, unloadState) {
3224
+ var core = _self[STR_CORE ];
3225
+ if (!core || (unloadCtx && core !== unloadCtx[STR_CORE ]())) {
3226
+ return;
3227
+ }
3228
+ var result;
3229
+ var unloadDone = false;
3230
+ var theUnloadCtx = unloadCtx || createProcessTelemetryUnloadContext(null, core, _nextPlugin && _nextPlugin[strGetPlugin] ? _nextPlugin[strGetPlugin]() : _nextPlugin);
3231
+ var theUnloadState = unloadState || {
3232
+ reason: 0 ,
3233
+ isAsync: false
3234
+ };
3235
+ function _unloadCallback() {
3236
+ if (!unloadDone) {
3237
+ unloadDone = true;
3238
+ _unloadHandlerContainer.run(theUnloadCtx, unloadState);
3239
+ _hookContainer.run(theUnloadCtx[_DYN_DIAG_LOG ]());
3240
+ if (result === true) {
3241
+ theUnloadCtx[_DYN_PROCESS_NEXT ](theUnloadState);
3242
+ }
3243
+ _initDefaults();
3244
+ }
3245
+ }
3246
+ if (!_self[_DYN__DO_TEARDOWN ] || _self[_DYN__DO_TEARDOWN ](theUnloadCtx, theUnloadState, _unloadCallback) !== true) {
3247
+ _unloadCallback();
3248
+ }
3249
+ else {
3250
+ result = true;
3251
+ }
3252
+ return result;
3253
+ };
3254
+ _self[_DYN_UPDATE ] = function (updateCtx, updateState) {
3255
+ var core = _self[STR_CORE ];
3256
+ if (!core || (updateCtx && core !== updateCtx[STR_CORE ]())) {
3257
+ return;
3258
+ }
3259
+ var result;
3260
+ var updateDone = false;
3261
+ var theUpdateCtx = updateCtx || createProcessTelemetryUpdateContext(null, core, _nextPlugin && _nextPlugin[strGetPlugin] ? _nextPlugin[strGetPlugin]() : _nextPlugin);
3262
+ var theUpdateState = updateState || {
3263
+ reason: 0
3264
+ };
3265
+ function _updateCallback() {
3266
+ if (!updateDone) {
3267
+ updateDone = true;
3268
+ _setDefaults(theUpdateCtx.getCfg(), theUpdateCtx.core(), theUpdateCtx[_DYN_GET_NEXT ]());
3269
+ }
3270
+ }
3271
+ if (!_self._doUpdate || _self._doUpdate(theUpdateCtx, theUpdateState, _updateCallback) !== true) {
3272
+ _updateCallback();
3273
+ }
3274
+ else {
3275
+ result = true;
3276
+ }
3277
+ return result;
3278
+ };
3279
+ proxyFunctionAs(_self, "_addUnloadCb", function () { return _unloadHandlerContainer; }, "add");
3280
+ proxyFunctionAs(_self, "_addHook", function () { return _hookContainer; }, "add");
3281
+ objDefine(_self, "_unloadHooks", { g: function () { return _hookContainer; } });
3282
+ });
3283
+ _self[_DYN_DIAG_LOG ] = function (itemCtx) {
3284
+ return _getTelCtx(itemCtx)[_DYN_DIAG_LOG ]();
3285
+ };
3286
+ _self[_DYN_IS_INITIALIZED ] = function () {
3287
+ return _isinitialized;
3288
+ };
3289
+ _self.setInitialized = function (isInitialized) {
3290
+ _isinitialized = isInitialized;
3291
+ };
3292
+ _self[_DYN_SET_NEXT_PLUGIN ] = function (next) {
3293
+ _nextPlugin = next;
3294
+ };
3295
+ _self[_DYN_PROCESS_NEXT ] = function (env, itemCtx) {
3296
+ if (itemCtx) {
3297
+ itemCtx[_DYN_PROCESS_NEXT ](env);
3298
+ }
3299
+ else if (_nextPlugin && isFunction(_nextPlugin[STR_PROCESS_TELEMETRY ])) {
3300
+ _nextPlugin[STR_PROCESS_TELEMETRY ](env, null);
3301
+ }
3302
+ };
3303
+ _self._getTelCtx = _getTelCtx;
3304
+ function _getTelCtx(currentCtx) {
3305
+ if (currentCtx === void 0) { currentCtx = null; }
3306
+ var itemCtx = currentCtx;
3307
+ if (!itemCtx) {
3308
+ var rootCtx = _rootCtx || createProcessTelemetryContext(null, {}, _self[STR_CORE ]);
3309
+ if (_nextPlugin && _nextPlugin[strGetPlugin]) {
3310
+ itemCtx = rootCtx[_DYN_CREATE_NEW ](null, _nextPlugin[strGetPlugin]);
3311
+ }
3312
+ else {
3313
+ itemCtx = rootCtx[_DYN_CREATE_NEW ](null, _nextPlugin);
3314
+ }
3315
+ }
3316
+ return itemCtx;
3317
+ }
3318
+ function _setDefaults(config, core, pluginChain) {
3319
+ createDynamicConfig(config, defaultValues, safeGetLogger(core));
3320
+ if (!pluginChain && core) {
3321
+ pluginChain = core[_DYN_GET_PROCESS_TEL_CONT2 ]()[_DYN_GET_NEXT ]();
3322
+ }
3323
+ var nextPlugin = _nextPlugin;
3324
+ if (_nextPlugin && _nextPlugin[strGetPlugin]) {
3325
+ nextPlugin = _nextPlugin[strGetPlugin]();
3326
+ }
3327
+ _self[STR_CORE ] = core;
3328
+ _rootCtx = createProcessTelemetryContext(pluginChain, config, core, nextPlugin);
3329
+ }
3330
+ function _initDefaults() {
3331
+ _isinitialized = false;
3332
+ _self[STR_CORE ] = null;
3333
+ _rootCtx = null;
3334
+ _nextPlugin = null;
3335
+ _hookContainer = createUnloadHookContainer();
3336
+ _unloadHandlerContainer = createUnloadHandlerContainer();
3337
+ }
3338
+ }
3339
+ BaseTelemetryPlugin.__ieDyn=1;
3340
+ return BaseTelemetryPlugin;
3341
+ }());
3342
+
3343
+ var STR_DEVICE = "device";
3344
+ var STR_LOCALE = "locale";
3345
+ var STR_VER = "ver";
3346
+ var STR_BROWSER = "browser";
3347
+ var STR_BROWSER_VER = "browserVer";
3348
+ var STR_POP_SAMPLE = "popSample";
3349
+ var STR_EVENT_FLAGS = "eventFlags";
3350
+ var STR_NAME = "name";
3351
+ var STR_SERVICE_NAME = "serviceName";
3352
+
3353
+ var Extensions = createValueMap({
3354
+ UserExt: [0 , "user"],
3355
+ DeviceExt: [1 , STR_DEVICE],
3356
+ TraceExt: [2 , "trace"],
3357
+ WebExt: [3 , "web"],
3358
+ AppExt: [4 , "app"],
3359
+ OSExt: [5 , "os"],
3360
+ SdkExt: [6 , "sdk"],
3361
+ IntWebExt: [7 , "intweb"],
3362
+ UtcExt: [8 , "utc"],
3363
+ LocExt: [9 , "loc"],
3364
+ CloudExt: [10 , "cloud"],
3365
+ DtExt: [11 , "dt"]
3366
+ });
3367
+ var AppExtensionKeys = createValueMap({
3368
+ id: [0 , "id"],
3369
+ ver: [1 , STR_VER],
3370
+ appName: [2 , STR_NAME],
3371
+ locale: [3 , STR_LOCALE],
3372
+ expId: [4 , "expId"],
3373
+ env: [5 , "env"]
3374
+ });
3375
+ var WebExtensionKeys = createValueMap({
3376
+ domain: [0 , "domain"],
3377
+ browser: [1 , STR_BROWSER],
3378
+ browserVer: [2 , STR_BROWSER_VER],
3379
+ screenRes: [3 , "screenRes"],
3380
+ userConsent: [4 , "userConsent"],
3381
+ consentDetails: [5 , "consentDetails"]
3382
+ });
3383
+ var UserExtensionKeys = createValueMap({
3384
+ locale: [0 , STR_LOCALE],
3385
+ localId: [1 , "localId"],
3386
+ id: [2 , "id"]
3387
+ });
3388
+ var OSExtKeys = createValueMap({
3389
+ osName: [0 , STR_NAME],
3390
+ ver: [1 , STR_VER]
3391
+ });
3392
+ var SDKExtKeys = createValueMap({
3393
+ ver: [0 , STR_VER],
3394
+ seq: [1 , "seq"],
3395
+ installId: [2 , "installId"],
3396
+ epoch: [3 , "epoch"]
3397
+ });
3398
+ var IntWebExtKeys = createValueMap({
3399
+ msfpc: [0 , "msfpc"],
3400
+ anid: [1 , "anid"],
3401
+ serviceName: [2 , STR_SERVICE_NAME]
3402
+ });
3403
+ var UtcExtKeys = createValueMap({
3404
+ popSample: [0 , STR_POP_SAMPLE],
3405
+ eventFlags: [1 , STR_EVENT_FLAGS]
3406
+ });
3407
+ var LocExtKeys = createValueMap({
3408
+ tz: [0 , "tz"]
3409
+ });
3410
+ var SessionExtKeys = createValueMap({
3411
+ sessionId: [0 , "sesId"]
3412
+ });
3413
+ var DeviceExtKeys = createValueMap({
3414
+ localId: [0 , "localId"],
3415
+ deviceClass: [1 , "deviceClass"],
3416
+ make: [2 , "make"],
3417
+ model: [3 , "model"]
3418
+ });
3419
+ var CloudExtKeys = createValueMap({
3420
+ role: [0 , "role"],
3421
+ roleInstance: [1 , "roleInstance"],
3422
+ roleVer: [2 , "roleVer"]
3423
+ });
3424
+ var TraceExtKeys = createValueMap({
3425
+ traceId: [0 , "traceID"],
3426
+ traceName: [1 , STR_NAME],
3427
+ parentId: [2 , "parentID"]
3428
+ });
3429
+ var DistributedTraceExtKeys = createValueMap({
3430
+ traceId: [0 , "traceId"],
3431
+ spanId: [1 , "spanId"],
3432
+ traceFlags: [2 , "traceFlags"]
3433
+ });
3434
+
3435
+ var STR_EMPTY = "";
3436
+
3437
+ var _DYN_TIMINGS = "timings";
3438
+ var _DYN_PROCESS_TELEMETRY_ST0 = "processTelemetryStart";
3439
+
3440
+ var _a;
3441
+ (_a = {},
3442
+ _a[0 ] = 0 ,
3443
+ _a[2 ] = 6 ,
3444
+ _a[1 ] = 1 ,
3445
+ _a[3 ] = 7 ,
3446
+ _a[4096 | 2 ] = 6 ,
3447
+ _a[4096 | 1 ] = 1 ,
3448
+ _a[4096 | 3 ] = 7 ,
3449
+ _a);
3450
+ function getCookieValue(cookieMgr, name, decode) {
3451
+ if (decode === void 0) { decode = true; }
3452
+ var cookieValue;
3453
+ if (cookieMgr) {
3454
+ cookieValue = cookieMgr.get(name);
3455
+ if (decode && cookieValue && decodeURIComponent) {
3456
+ cookieValue = decodeURIComponent(cookieValue);
3457
+ }
3458
+ }
3459
+ return cookieValue || STR_EMPTY;
3460
+ }
3461
+ function createGuid(style) {
3462
+ if (style === void 0) { style = "D" ; }
3463
+ var theGuid = newGuid();
3464
+ if (style === "B" ) {
3465
+ theGuid = "{" + theGuid + "}";
3466
+ }
3467
+ else if (style === "P" ) {
3468
+ theGuid = "(" + theGuid + ")";
3469
+ }
3470
+ else if (style === "N" ) {
3471
+ theGuid = theGuid.replace(/-/g, STR_EMPTY);
3472
+ }
3473
+ return theGuid;
3474
+ }
3475
+ var getTime = perfNow;
3476
+ function setProcessTelemetryTimings(event, identifier) {
3477
+ var evt = event;
3478
+ evt[_DYN_TIMINGS ] = evt[_DYN_TIMINGS ] || {};
3479
+ evt[_DYN_TIMINGS ][_DYN_PROCESS_TELEMETRY_ST0 ] = evt[_DYN_TIMINGS ][_DYN_PROCESS_TELEMETRY_ST0 ] || {};
3480
+ evt[_DYN_TIMINGS ][_DYN_PROCESS_TELEMETRY_ST0 ][identifier] = getTime();
3481
+ }
3482
+
3483
+ var _canUseLocalStorage;
3484
+ function canUseLocalStorage() {
3485
+ if (_canUseLocalStorage === undefined) {
3486
+ _canUseLocalStorage = !!_getVerifiedStorageObject(0 );
3487
+ }
3488
+ return _canUseLocalStorage;
3489
+ }
3490
+ function _getLocalStorageObject() {
3491
+ if (canUseLocalStorage()) {
3492
+ return _getVerifiedStorageObject(0 );
3493
+ }
3494
+ return null;
3495
+ }
3496
+ function _getVerifiedStorageObject(storageType) {
3497
+ var storage = null;
3498
+ var fail;
3499
+ var uid;
3500
+ try {
3501
+ var global_1 = getGlobal();
3502
+ if (!global_1) {
3503
+ return null;
3504
+ }
3505
+ uid = new Date();
3506
+ storage = storageType === 0 ? global_1.localStorage : global_1.sessionStorage;
3507
+ if (storage && isFunction(storage.setItem)) {
3508
+ storage.setItem(uid, uid);
3509
+ fail = storage.getItem(uid) !== uid;
3510
+ storage.removeItem(uid);
3511
+ if (fail) {
3512
+ storage = null;
3513
+ }
3514
+ }
3515
+ }
3516
+ catch (exception) {
3517
+ storage = null;
3518
+ }
3519
+ return storage;
3520
+ }
3521
+ function setStorage(logger, name, data) {
3522
+ var storage = _getLocalStorageObject();
3523
+ if (storage !== null) {
3524
+ try {
3525
+ storage.setItem(name, data);
3526
+ return true;
3527
+ }
3528
+ catch (e) {
3529
+ _canUseLocalStorage = false;
3530
+ _throwInternal(logger, 1 , 504 , "Browser failed write to local storage. " + e);
3531
+ }
3532
+ }
3533
+ return false;
3534
+ }
3535
+ function getStorage(logger, name) {
3536
+ var storage = _getLocalStorageObject();
3537
+ if (storage !== null) {
3538
+ try {
3539
+ return storage.getItem(name);
3540
+ }
3541
+ catch (e) {
3542
+ _canUseLocalStorage = false;
3543
+ _throwInternal(logger, 1 , 503 , "Browser failed read of local storage. " + e);
3544
+ }
3545
+ }
3546
+ return null;
3547
+ }
3548
+
3549
+ function _getId() {
3550
+ return this.getId();
3551
+ }
3552
+ function _setId(id) {
3553
+ this.setId(id);
3554
+ }
3555
+ var Session = /** @class */ (function () {
3556
+ function Session() {
3557
+ dynamicProto(Session, this, function (_self) {
3558
+ _self.setId = function (id) {
3559
+ _self.customId = id;
3560
+ };
3561
+ _self.getId = function () {
3562
+ if (isString(_self.customId)) {
3563
+ return _self.customId;
3564
+ }
3565
+ else {
3566
+ return _self.automaticId;
3567
+ }
3568
+ };
3569
+ });
3570
+ }
3571
+ Session._staticInit = (function () {
3572
+ objDefine(Session.prototype, "id", { g: _getId, s: _setId });
3573
+ })();
3574
+ return Session;
3575
+ }());
3576
+
3577
+ var cookieNameConst = "ai_session";
3578
+ var SessionManager = /** @class */ (function () {
3579
+ function SessionManager(core, propConfig, unloadHookContainer) {
3580
+ var _cookieUpdatedTimestamp;
3581
+ var _logger = safeGetLogger(core);
3582
+ var cookieMgr = safeGetCookieMgr(core);
3583
+ var _storageNamePrefix;
3584
+ var _config;
3585
+ dynamicProto(SessionManager, this, function (_self) {
3586
+ var unloadHook = onConfigChange(propConfig, function () {
3587
+ _config = propConfig;
3588
+ _self.config = _config;
3589
+ });
3590
+ unloadHookContainer && unloadHookContainer.add(unloadHook);
3591
+ _storageNamePrefix = function () { return _self.config.namePrefix ? cookieNameConst + _self.config.namePrefix : cookieNameConst; };
3592
+ _self.automaticSession = new Session();
3593
+ _self.update = function () {
3594
+ if (!_self.automaticSession.getId()) {
3595
+ _initializeAutomaticSession();
3596
+ }
3597
+ var autoSession = _self.automaticSession;
3598
+ var config = _self.config;
3599
+ var now = new Date().getTime();
3600
+ var acquisitionExpired = now - autoSession.acquisitionDate > config.sessionExpirationMs;
3601
+ var renewalExpired = now - autoSession.renewalDate > config.sessionRenewalMs;
3602
+ if (acquisitionExpired || renewalExpired) {
3603
+ _renew();
3604
+ }
3605
+ else {
3606
+ var cookieUpdatedTimestamp = _cookieUpdatedTimestamp;
3607
+ if (!cookieUpdatedTimestamp || now - cookieUpdatedTimestamp > SessionManager.cookieUpdateInterval) {
3608
+ autoSession.renewalDate = now;
3609
+ _setCookie(autoSession.getId(), autoSession.acquisitionDate, autoSession.renewalDate);
3610
+ }
3611
+ }
3612
+ };
3613
+ _self.backup = function () {
3614
+ var automaticSession = _self.automaticSession;
3615
+ _setStorage(automaticSession.getId(), automaticSession.acquisitionDate, automaticSession.renewalDate);
3616
+ };
3617
+ function _initializeAutomaticSession() {
3618
+ var cookie = cookieMgr.get(_storageNamePrefix());
3619
+ if (cookie && isFunction(cookie.split)) {
3620
+ _initializeAutomaticSessionWithData(cookie);
3621
+ }
3622
+ else {
3623
+ var storage = getStorage(_logger, _storageNamePrefix());
3624
+ if (storage) {
3625
+ _initializeAutomaticSessionWithData(storage);
3626
+ }
3627
+ }
3628
+ if (!_self.automaticSession.getId()) {
3629
+ _renew();
3630
+ }
3631
+ }
3632
+ function _initializeAutomaticSessionWithData(sessionData) {
3633
+ var automaticSession = _self.automaticSession;
3634
+ var params = sessionData.split("|");
3635
+ if (params.length > 0) {
3636
+ automaticSession.setId(params[0]);
3637
+ }
3638
+ try {
3639
+ if (params.length > 1) {
3640
+ var acq = +params[1];
3641
+ automaticSession.acquisitionDate = +new Date(acq);
3642
+ automaticSession.acquisitionDate = automaticSession.acquisitionDate > 0 ? automaticSession.acquisitionDate : 0;
3643
+ }
3644
+ if (params.length > 2) {
3645
+ var renewal = +params[2];
3646
+ automaticSession.renewalDate = +new Date(renewal);
3647
+ automaticSession.renewalDate = automaticSession.renewalDate > 0 ? automaticSession.renewalDate : 0;
3648
+ }
3649
+ }
3650
+ catch (e) {
3651
+ _throwInternal(_logger, 1 , 510 , "Error parsing ai_session cookie, session will be reset: " + e);
3652
+ }
3653
+ if (automaticSession.renewalDate === 0) {
3654
+ _throwInternal(_logger, 2 , 517 , "AI session renewal date is 0, session will be reset.");
3655
+ }
3656
+ }
3657
+ function _renew() {
3658
+ var automaticSession = _self.automaticSession;
3659
+ var now = new Date().getTime();
3660
+ var sessionAsGuid = _self.config.sessionAsGuid;
3661
+ if (!isUndefined(sessionAsGuid) && sessionAsGuid) {
3662
+ if (!isBoolean(sessionAsGuid)) {
3663
+ automaticSession.setId(createGuid(sessionAsGuid));
3664
+ }
3665
+ else {
3666
+ automaticSession.setId(createGuid());
3667
+ }
3668
+ }
3669
+ else {
3670
+ automaticSession.setId(newId(_config.idLength || 22));
3671
+ }
3672
+ automaticSession.acquisitionDate = now;
3673
+ automaticSession.renewalDate = now;
3674
+ _setCookie(automaticSession.getId(), automaticSession.acquisitionDate, automaticSession.renewalDate);
3675
+ if (!canUseLocalStorage()) {
3676
+ _throwInternal(_logger, 2 , 505 , "Browser does not support local storage. Session durations will be inaccurate.");
3677
+ }
3678
+ }
3679
+ function _setCookie(guid, acq, renewal) {
3680
+ var acquisitionExpiry = acq + _self.config.sessionExpirationMs;
3681
+ var renewalExpiry = renewal + _self.config.sessionRenewalMs;
3682
+ var cookieExpiry = new Date();
3683
+ var cookie = [guid, acq, renewal];
3684
+ if (acquisitionExpiry < renewalExpiry) {
3685
+ cookieExpiry.setTime(acquisitionExpiry);
3686
+ }
3687
+ else {
3688
+ cookieExpiry.setTime(renewalExpiry);
3689
+ }
3690
+ var cookieDomain = _self.config.cookieDomain || null;
3691
+ cookieMgr.set(_storageNamePrefix(), cookie.join("|") + ";expires=" + cookieExpiry.toUTCString(), null, cookieDomain);
3692
+ _cookieUpdatedTimestamp = new Date().getTime();
3693
+ }
3694
+ function _setStorage(guid, acq, renewal) {
3695
+ setStorage(_logger, _storageNamePrefix(), [guid, acq, renewal].join("|"));
3696
+ }
3697
+ });
3698
+ }
3699
+ SessionManager.cookieUpdateInterval = 60000;
3700
+ return SessionManager;
3701
+ }());
3702
+
3703
+ var defaultFlightIdNameSpaces = [
3704
+ "AX",
3705
+ "EX",
3706
+ "SF",
3707
+ "CS",
3708
+ "CF",
3709
+ "CT",
3710
+ "CU",
3711
+ "DC",
3712
+ "DF",
3713
+ "H5",
3714
+ "HL",
3715
+ "WS",
3716
+ "WP"
3717
+ ];
3718
+ function _validateAppExpId(appExpIdNew, flightIdNameSpaces) {
3719
+ if (flightIdNameSpaces === void 0) { flightIdNameSpaces = defaultFlightIdNameSpaces; }
3720
+ var appExpId = null;
3721
+ if (appExpIdNew) {
3722
+ var expIdArray = appExpIdNew.split(",");
3723
+ for (var i = 0; i < expIdArray.length; i++) {
3724
+ if (_isValidAppFlightId(expIdArray[i], flightIdNameSpaces)) {
3725
+ if (!appExpId) {
3726
+ appExpId = expIdArray[i];
3727
+ }
3728
+ else {
3729
+ appExpId += "," + expIdArray[i];
3730
+ }
3731
+ }
3732
+ }
3733
+ }
3734
+ return appExpId;
3735
+ }
3736
+ function _isValidAppFlightId(appFlightId, flightIdNameSpaces) {
3737
+ if (flightIdNameSpaces === void 0) { flightIdNameSpaces = defaultFlightIdNameSpaces; }
3738
+ if (!appFlightId || appFlightId.length < 4) {
3739
+ return false;
3740
+ }
3741
+ var isValid = false;
3742
+ var MAXFLIGHTIDLENGTH = 256;
3743
+ var curNameSpace = (appFlightId.substring(0, 3)).toString().toUpperCase();
3744
+ for (var i = 0; i < flightIdNameSpaces.length; i++) {
3745
+ if (flightIdNameSpaces[i] + ":" === curNameSpace && appFlightId.length <= MAXFLIGHTIDLENGTH) {
3746
+ isValid = true;
3747
+ break;
3748
+ }
3749
+ }
3750
+ return isValid;
3751
+ }
3752
+ function _getExpId() {
3753
+ return this.getExpId();
3754
+ }
3755
+ var Application = /** @class */ (function () {
3756
+ function Application(propertiesConfig, core, unloadHookContainer) {
3757
+ var _appExpId = null;
3758
+ var flightIdNameSpaces = defaultFlightIdNameSpaces.slice(0);
3759
+ var expIdCookieName = "Treatments";
3760
+ var _cookieMgr;
3761
+ var _propertiesConfig = null;
3762
+ dynamicProto(Application, this, function (_self) {
3763
+ _populateDefaults(propertiesConfig);
3764
+ if (hasDocument()) {
3765
+ var documentElement = getDocument().documentElement;
3766
+ if (documentElement) {
3767
+ _self.locale = documentElement.lang;
3768
+ }
3769
+ }
3770
+ _self.getExpId = function () {
3771
+ return _propertiesConfig.expId ? _readExpIdFromCoreData(_propertiesConfig.expId) : _readExpIdFromCookie();
3772
+ };
3773
+ function _getMetaDataFromDOM(prefix) {
3774
+ var metaElements;
3775
+ var metaData = {};
3776
+ var doc = getDocument();
3777
+ if (doc) {
3778
+ metaElements = doc && doc.querySelectorAll("meta");
3779
+ for (var i = 0; i < metaElements.length; i++) {
3780
+ var meta = metaElements[i];
3781
+ if (meta.name) {
3782
+ var mt = meta.name.toLowerCase();
3783
+ if (mt.indexOf(prefix) === 0) {
3784
+ var name = meta.name.replace(prefix, "");
3785
+ metaData[name] = meta.content;
3786
+ }
3787
+ }
3788
+ }
3789
+ }
3790
+ return metaData;
3791
+ }
3792
+ function _setAppExpId(appExpIdNew) {
3793
+ if (appExpIdNew === _appExpId) {
3794
+ return;
3795
+ }
3796
+ _appExpId = _validateAppExpId(appExpIdNew, flightIdNameSpaces);
3797
+ }
3798
+ function _readExpIdFromCookie() {
3799
+ var cookieValue = getCookieValue(_cookieMgr, expIdCookieName);
3800
+ _setAppExpId(cookieValue);
3801
+ return _appExpId;
3802
+ }
3803
+ function _readExpIdFromCoreData(expId) {
3804
+ _setAppExpId(expId);
3805
+ return _appExpId;
3806
+ }
3807
+ function _populateDefaults(config) {
3808
+ var unloadHook = onConfigChange(config, function () {
3809
+ _cookieMgr = core && core.getCookieMgr();
3810
+ _propertiesConfig = config || {};
3811
+ _self.env = _propertiesConfig.env || _getMetaDataFromDOM("awa-")["env"];
3812
+ });
3813
+ unloadHookContainer && unloadHookContainer.add(unloadHook);
3814
+ }
3815
+ });
3816
+ }
3817
+ Application.validateAppExpId = _validateAppExpId;
3818
+ Application._staticInit = (function () {
3819
+ objDefine(Application.prototype, "expId", { g: _getExpId });
3820
+ })();
3821
+ return Application;
3822
+ }());
3823
+
3824
+ var Cloud = /** @class */ (function () {
3825
+ function Cloud() {
3826
+ }
3827
+ return Cloud;
3828
+ }());
3829
+
3830
+ var Device = /** @class */ (function () {
3831
+ function Device() {
3832
+ }
3833
+ return Device;
3834
+ }());
3835
+
3836
+ function _getMsfpc() {
3837
+ return this.getMsfpc();
3838
+ }
3839
+ function _getAnid() {
3840
+ return this.getAnid();
3841
+ }
3842
+ var IntWeb = /** @class */ (function () {
3843
+ function IntWeb(propertiesConfig, core, unloadHookContainer) {
3844
+ var _cookieMgr;
3845
+ dynamicProto(IntWeb, this, function (_self) {
3846
+ _populateDefaults(propertiesConfig);
3847
+ _self.getMsfpc = function () {
3848
+ return getCookieValue(_cookieMgr, "MSFPC");
3849
+ };
3850
+ _self.getAnid = function () {
3851
+ return getCookieValue(_cookieMgr, "ANON").slice(0, 34);
3852
+ };
3853
+ function _populateDefaults(config) {
3854
+ var unloadHook = onConfigChange(config, function () {
3855
+ _cookieMgr = core && core.getCookieMgr();
3856
+ var _config = config || {};
3857
+ if (_config.serviceName) {
3858
+ _self.serviceName = _config.serviceName;
3859
+ }
3860
+ });
3861
+ unloadHookContainer && unloadHookContainer.add(unloadHook);
3862
+ }
3863
+ });
3864
+ }
3865
+ IntWeb._staticInit = (function () {
3866
+ var proto = IntWeb.prototype;
3867
+ objDefine(proto, "msfpc", { g: _getMsfpc });
3868
+ objDefine(proto, "anid", { g: _getAnid });
3869
+ })();
3870
+ return IntWeb;
3871
+ }());
3872
+
3873
+ var Loc = /** @class */ (function () {
3874
+ function Loc() {
3875
+ var timeZone = new Date().getTimezoneOffset();
3876
+ var minutes = timeZone % 60;
3877
+ var hours = (timeZone - minutes) / 60;
3878
+ var timeZonePrefix = "+";
3879
+ if (hours > 0) {
3880
+ timeZonePrefix = "-";
3881
+ }
3882
+ hours = Math.abs(hours);
3883
+ minutes = Math.abs(minutes);
3884
+ this.tz = timeZonePrefix + (hours < 10 ? "0" + hours : hours.toString()) + ":"
3885
+ + (minutes < 10 ? "0" + minutes : minutes.toString());
3886
+ }
3887
+ return Loc;
3888
+ }());
3889
+
3890
+ var OSNAMEREGEX = {
3891
+ WIN: /(windows|win32)/i,
3892
+ WINRT: / arm;/i,
3893
+ WINPHONE: /windows\sphone\s\d+\.\d+/i,
3894
+ OSX: /(macintosh|mac os x)/i,
3895
+ IOS: /(ipad|iphone|ipod)(?=.*like mac os x)/i,
3896
+ LINUX: /(linux|joli|[kxln]?ubuntu|debian|[open]*suse|gentoo|arch|slackware|fedora|mandriva|centos|pclinuxos|redhat|zenwalk)/i,
3897
+ ANDROID: /android/i,
3898
+ CROS: /CrOS/i
3899
+ };
3900
+ var VERSION_MAPPINGS = {
3901
+ "5.1": "XP",
3902
+ "6.0": "Vista",
3903
+ "6.1": "7",
3904
+ "6.2": "8",
3905
+ "6.3": "8.1",
3906
+ "10.0": "10"
3907
+ };
3908
+ var REGEX_VERSION$1 = "([\\d,.]+)";
3909
+ var REGEX_VERSION_MAC = "([\\d,_,.]+)";
3910
+ var UNKNOWN$1 = "Unknown";
3911
+ var OSNAMES = [
3912
+ { r: OSNAMEREGEX.WINPHONE, os: "Windows Phone" },
3913
+ { r: OSNAMEREGEX.WINRT, os: "Windows RT" },
3914
+ { r: OSNAMEREGEX.WIN, os: "Windows" },
3915
+ { r: OSNAMEREGEX.IOS, os: "iOS" },
3916
+ { r: OSNAMEREGEX.ANDROID, os: "Android" },
3917
+ { r: OSNAMEREGEX.LINUX, os: "Linux" },
3918
+ { r: OSNAMEREGEX.CROS, os: "Chrome OS" },
3919
+ { s: "x11", os: "Unix" },
3920
+ { s: "blackberry", os: "BlackBerry" },
3921
+ { s: "symbian", os: "Symbian" },
3922
+ { s: "nokia", os: "Nokia" },
3923
+ { r: OSNAMEREGEX.OSX, os: "Mac OS X" }
3924
+ ];
3925
+ function _getOsName(lowerCaseUserAgent) {
3926
+ for (var lp = 0; lp < OSNAMES.length; lp++) {
3927
+ var match = OSNAMES[lp];
3928
+ if (match.r && lowerCaseUserAgent.match(match.r)) {
3929
+ return match.os;
3930
+ }
3931
+ else if (match.s && lowerCaseUserAgent.indexOf(match.s) !== -1) {
3932
+ return match.os;
3933
+ }
3934
+ }
3935
+ return UNKNOWN$1;
3936
+ }
3937
+ function _getOsVersion(userAgent, osName) {
3938
+ if (osName === "Windows" ) {
3939
+ return _getGenericOsVersion(userAgent, "Windows NT");
3940
+ }
3941
+ if (osName === "Android" ) {
3942
+ return _getGenericOsVersion(userAgent, osName);
3943
+ }
3944
+ if (osName === "Mac OS X" ) {
3945
+ return _getMacOsxVersion(userAgent);
3946
+ }
3947
+ if (osName === "iOS" ) {
3948
+ return _getIosVersion(userAgent);
3949
+ }
3950
+ return UNKNOWN$1;
3951
+ }
3952
+ function _getGenericOsVersion(userAgent, osName) {
3953
+ var ntVersionMatches = userAgent.match(new RegExp(osName + " " + REGEX_VERSION$1));
3954
+ if (ntVersionMatches) {
3955
+ if (VERSION_MAPPINGS[ntVersionMatches[1]]) {
3956
+ return VERSION_MAPPINGS[ntVersionMatches[1]];
3957
+ }
3958
+ return ntVersionMatches[1];
3959
+ }
3960
+ return UNKNOWN$1;
3961
+ }
3962
+ function _getMacOsxVersion(userAgent) {
3963
+ var macOsxVersionInUserAgentMatches = userAgent.match(new RegExp("Mac OS X" + " " + REGEX_VERSION_MAC));
3964
+ if (macOsxVersionInUserAgentMatches) {
3965
+ var versionString = macOsxVersionInUserAgentMatches[1].replace(/_/g, ".");
3966
+ if (versionString) {
3967
+ var delimiter = _getDelimiter(versionString);
3968
+ if (delimiter) {
3969
+ var components = versionString.split(delimiter);
3970
+ return components[0];
3971
+ }
3972
+ else {
3973
+ return versionString;
3974
+ }
3975
+ }
3976
+ }
3977
+ return UNKNOWN$1;
3978
+ }
3979
+ function _getIosVersion(userAgent) {
3980
+ var iosVersionInUserAgentMatches = userAgent.match(new RegExp("OS " + REGEX_VERSION_MAC));
3981
+ if (iosVersionInUserAgentMatches) {
3982
+ var versionString = iosVersionInUserAgentMatches[1].replace(/_/g, ".");
3983
+ if (versionString) {
3984
+ var delimiter = _getDelimiter(versionString);
3985
+ if (delimiter) {
3986
+ var components = versionString.split(delimiter);
3987
+ return components[0];
3988
+ }
3989
+ else {
3990
+ return versionString;
3991
+ }
3992
+ }
3993
+ }
3994
+ return UNKNOWN$1;
3995
+ }
3996
+ function _getDelimiter(versionString) {
3997
+ if (versionString.indexOf(".") > -1) {
3998
+ return ".";
3999
+ }
4000
+ if (versionString.indexOf("_") > -1) {
4001
+ return "_";
4002
+ }
4003
+ return null;
4004
+ }
4005
+ var OperatingSystem = /** @class */ (function () {
4006
+ function OperatingSystem(propertiesConfig, unloadHookContainer) {
4007
+ var self = this;
4008
+ var _config;
4009
+ var _name = null;
4010
+ var _ver = null;
4011
+ var _userName = null;
4012
+ var _userVer = null;
4013
+ var _setSysName = function (value) {
4014
+ _userName = value;
4015
+ };
4016
+ var _setSysVer = function (value) {
4017
+ _userVer = value;
4018
+ };
4019
+ var _getSysName = function () {
4020
+ return _userName || _name;
4021
+ };
4022
+ var _getSysVer = function () {
4023
+ return _userVer || _ver;
4024
+ };
4025
+ var unloadHook = onConfigChange(propertiesConfig, function () {
4026
+ _config = propertiesConfig || {};
4027
+ if (_config.populateOperatingSystemInfo) {
4028
+ var theNav = getNavigator() || {};
4029
+ var userAgent = propertiesConfig.userAgent || theNav.userAgent || "";
4030
+ var userAgentDataPlatform = (propertiesConfig.userAgentData || {}).platform || (theNav.userAgentData || {}).platform;
4031
+ if (userAgent) {
4032
+ var osName = _getOsName(userAgent.toLowerCase());
4033
+ _name = osName;
4034
+ _ver = _getOsVersion(userAgent, osName);
4035
+ }
4036
+ if ((!_name || _name === UNKNOWN$1) && isString(userAgentDataPlatform)) {
4037
+ _name = userAgentDataPlatform;
4038
+ }
4039
+ }
4040
+ });
4041
+ unloadHookContainer && unloadHookContainer.add(unloadHook);
4042
+ objDefine(self, "name", { s: _setSysName, g: _getSysName });
4043
+ objDefine(self, "ver", { s: _setSysVer, g: _getSysVer });
4044
+ }
4045
+ return OperatingSystem;
4046
+ }());
4047
+
4048
+ var DEVICE_ID_COOKIE = "MicrosoftApplicationsTelemetryDeviceId";
4049
+ function _saveData(mgr, propertyStorage, name, value) {
4050
+ if (propertyStorage) {
4051
+ propertyStorage.setProperty(name, value);
4052
+ }
4053
+ else {
4054
+ mgr.set(name, value, 31536000);
4055
+ }
4056
+ }
4057
+ function _getData(mgr, propertyStorage, name) {
4058
+ if (propertyStorage) {
4059
+ return propertyStorage.getProperty(name) || "";
4060
+ }
4061
+ return getCookieValue(mgr, name);
4062
+ }
4063
+ var Sdk = /** @class */ (function () {
4064
+ function Sdk(coreConfig, core, unloadHookContainer) {
4065
+ var _sequenceId = 0;
4066
+ var _cookieMgr;
4067
+ dynamicProto(Sdk, this, function (_self) {
4068
+ _self.seq = _sequenceId;
4069
+ _self.epoch = random32(false).toString();
4070
+ _self.getSequenceId = function () {
4071
+ return ++_sequenceId;
4072
+ };
4073
+ var unloadHook = onConfigChange(coreConfig, function (details) {
4074
+ _cookieMgr = core && core.getCookieMgr();
4075
+ var coreConfig = details.cfg;
4076
+ var propertyStorage = coreConfig.propertyStorageOverride;
4077
+ var cookieMgrEnabled = _cookieMgr.isEnabled();
4078
+ if (cookieMgrEnabled || propertyStorage) {
4079
+ var deviceId = _getData(_cookieMgr, propertyStorage, DEVICE_ID_COOKIE);
4080
+ if (!deviceId) {
4081
+ deviceId = newGuid();
4082
+ }
4083
+ _saveData(_cookieMgr, propertyStorage, DEVICE_ID_COOKIE, deviceId);
4084
+ _self.installId = deviceId;
4085
+ }
4086
+ else {
4087
+ _cookieMgr.purge(DEVICE_ID_COOKIE);
4088
+ }
4089
+ });
4090
+ unloadHookContainer && unloadHookContainer.add(unloadHook);
4091
+ });
4092
+ }
4093
+ Sdk.__ieDyn=1;
4094
+ return Sdk;
4095
+ }());
4096
+
4097
+ var Trace = /** @class */ (function () {
4098
+ function Trace(propertiesConfig, id, parentId, name, unloadHookContainer) {
4099
+ var self = this;
4100
+ self.traceId = id || generateW3CId();
4101
+ var unloadHook = onConfigChange(propertiesConfig, function () {
4102
+ var _config = propertiesConfig;
4103
+ if (_config.enableDistributedTracing && !parentId) {
4104
+ parentId = generateW3CId().substring(0, 16);
4105
+ }
4106
+ self.parentId = self.parentId || parentId;
4107
+ if (_config.enableApplicationInsightsTrace && !name) {
4108
+ var loc = getLocation();
4109
+ if (loc && loc.pathname) {
4110
+ name = loc.pathname;
4111
+ }
4112
+ }
4113
+ self.name = self.name || name;
4114
+ });
4115
+ unloadHookContainer && unloadHookContainer.add(unloadHook);
4116
+ }
4117
+ return Trace;
4118
+ }());
4119
+
4120
+ var strSetLocalId = "setLocalId";
4121
+ function _getLocalId() {
4122
+ return this.getLocalId();
4123
+ }
4124
+ function _setLocalId(value) {
4125
+ this[strSetLocalId](value);
4126
+ }
4127
+ var User = /** @class */ (function () {
4128
+ function User(coreConfig, propertiesConfig, core, unloadHookContainer) {
4129
+ var _propertiesConfig;
4130
+ var _customLocalId;
4131
+ var _cookieMgr;
4132
+ dynamicProto(User, this, function (_self) {
4133
+ _populateDefaults(propertiesConfig);
4134
+ if (typeof navigator !== "undefined") {
4135
+ var nav = navigator;
4136
+ _self.locale = nav.userLanguage || nav.language;
4137
+ }
4138
+ _self.getLocalId = function () {
4139
+ if (_customLocalId) {
4140
+ return _customLocalId;
4141
+ }
4142
+ return _populateMuidFromCookie();
4143
+ };
4144
+ _self[strSetLocalId] = function (value) {
4145
+ _customLocalId = value;
4146
+ };
4147
+ function _populateMuidFromCookie() {
4148
+ if (!_propertiesConfig.hashIdentifiers && !_propertiesConfig.dropIdentifiers) {
4149
+ var muidValue = getCookieValue(_cookieMgr, "MUID");
4150
+ if (muidValue) {
4151
+ _customLocalId = "t:" + muidValue;
4152
+ }
4153
+ }
4154
+ return _customLocalId;
4155
+ }
4156
+ function _populateDefaults(config) {
4157
+ var unloadHook = onConfigChange(config, function () {
4158
+ _cookieMgr = core && core.getCookieMgr();
4159
+ _propertiesConfig = config;
4160
+ _customLocalId = null;
4161
+ if (_cookieMgr && _cookieMgr.isEnabled()) {
4162
+ _populateMuidFromCookie();
4163
+ if (_propertiesConfig.enableApplicationInsightsUser) {
4164
+ var aiUser = getCookieValue(_cookieMgr, User.userCookieName);
4165
+ if (aiUser) {
4166
+ var params = aiUser.split(User.cookieSeparator);
4167
+ if (params.length > 0) {
4168
+ _self.id = params[0];
4169
+ }
4170
+ }
4171
+ if (!_self.id) {
4172
+ _self.id = newId((coreConfig && !isUndefined(coreConfig.idLength)) ? coreConfig.idLength : 22);
4173
+ var acqStr = toISOString(new Date());
4174
+ _self.accountAcquisitionDate = acqStr;
4175
+ var newCookie = [_self.id, acqStr];
4176
+ var cookieDomain = _propertiesConfig.cookieDomain ? _propertiesConfig.cookieDomain : undefined;
4177
+ _cookieMgr.set(User.userCookieName, newCookie.join(User.cookieSeparator), 31536000, cookieDomain);
4178
+ }
4179
+ }
4180
+ }
4181
+ });
4182
+ unloadHookContainer && unloadHookContainer.add(unloadHook);
4183
+ }
4184
+ });
4185
+ }
4186
+ User.cookieSeparator = "|";
4187
+ User.userCookieName = "ai_user";
4188
+ User._staticInit = (function () {
4189
+ objDefine(User.prototype, "localId", { g: _getLocalId, s: _setLocalId });
4190
+ })();
4191
+ return User;
4192
+ }());
4193
+
4194
+ var HASH_IDENTIFIERS_FLAG = 0x100000;
4195
+ var DROP_IDENTIFIERS_FLAG = 0x200000;
4196
+ var SCRUB_IP_FLAG = 0x400000;
4197
+ var Utc = /** @class */ (function () {
4198
+ function Utc(propertiesConfig, unloadHookContainer) {
4199
+ var self = this;
4200
+ self.popSample = 100;
4201
+ var unloadHook = onConfigChange(propertiesConfig, function () {
4202
+ self.eventFlags = 0;
4203
+ if (propertiesConfig.hashIdentifiers) {
4204
+ self.eventFlags = self.eventFlags | HASH_IDENTIFIERS_FLAG;
4205
+ }
4206
+ if (propertiesConfig.dropIdentifiers) {
4207
+ self.eventFlags = self.eventFlags | DROP_IDENTIFIERS_FLAG;
4208
+ }
4209
+ if (propertiesConfig.scrubIpOnly) {
4210
+ self.eventFlags = self.eventFlags | SCRUB_IP_FLAG;
4211
+ }
4212
+ });
4213
+ unloadHookContainer && unloadHookContainer.add(unloadHook);
4214
+ }
4215
+ return Utc;
4216
+ }());
4217
+
4218
+ var USER_CONSENT_DETAILS = [
4219
+ "Required", "Analytics", "SocialMedia", "Advertising"
4220
+ ];
4221
+ var REGEX_VERSION = "([\\d,.]+)";
4222
+ var UNKNOWN = "Unknown";
4223
+ var EDGE_CHROMIUM = "Edg/";
4224
+ var EDGE_IOS = "EdgiOS/";
4225
+ var USER_AGENTS = [
4226
+ { ua: "OPR/", b: "Opera" },
4227
+ { ua: "PhantomJS" , b: "PhantomJS" },
4228
+ { ua: "Edge" , b: "Edge" },
4229
+ { ua: EDGE_CHROMIUM, b: "Edge" },
4230
+ { ua: EDGE_IOS, b: "Edge" },
4231
+ { ua: "Electron" , b: "Electron" },
4232
+ { ua: "Chrome" , b: "Chrome" },
4233
+ { ua: "Trident", b: "MSIE" },
4234
+ { ua: "MSIE ", b: "MSIE" },
4235
+ { ua: "Firefox" , b: "Firefox" },
4236
+ { ua: "Safari" , b: "Safari" },
4237
+ { ua: "SkypeShell" , b: "SkypeShell" }
4238
+ ];
4239
+ var BRANDS = [
4240
+ { br: "Microsoft Edge", b: "Edge" },
4241
+ { br: "Google Chrome", b: "Chrome" },
4242
+ { br: "Opera", b: "Opera" }
4243
+ ];
4244
+ function _userAgentContainsString(searchString, userAgent) {
4245
+ return userAgent.indexOf(searchString) > -1;
4246
+ }
4247
+ function _getBrandVersion(match, brands) {
4248
+ for (var lp = 0; lp < brands.length; lp++) {
4249
+ if (match == brands[lp].brand) {
4250
+ return brands[lp].version;
4251
+ }
4252
+ }
4253
+ return null;
4254
+ }
4255
+ function _getBrowserName(userAgent) {
4256
+ if (userAgent) {
4257
+ for (var lp = 0; lp < USER_AGENTS.length; lp++) {
4258
+ var ua = USER_AGENTS[lp].ua;
4259
+ if (_userAgentContainsString(ua, userAgent)) {
4260
+ return USER_AGENTS[lp].b;
4261
+ }
4262
+ }
4263
+ }
4264
+ return UNKNOWN;
4265
+ }
4266
+ function _getBrowserVersion(userAgent, browserName) {
4267
+ if (browserName === "MSIE" ) {
4268
+ return _getIeVersion(userAgent);
4269
+ }
4270
+ return _getOtherVersion(browserName, userAgent);
4271
+ }
4272
+ function _getIeVersion(userAgent) {
4273
+ var classicIeVersionMatches = userAgent.match(new RegExp("MSIE" + " " + REGEX_VERSION));
4274
+ if (classicIeVersionMatches) {
4275
+ return classicIeVersionMatches[1];
4276
+ }
4277
+ var ieVersionMatches = userAgent.match(new RegExp("rv:" + REGEX_VERSION));
4278
+ if (ieVersionMatches) {
4279
+ return ieVersionMatches[1];
4280
+ }
4281
+ }
4282
+ function _getOtherVersion(browserString, userAgent) {
4283
+ if (browserString === "Safari" ) {
4284
+ browserString = "Version";
4285
+ }
4286
+ else if (browserString === "Edge" ) {
4287
+ if (_userAgentContainsString(EDGE_CHROMIUM, userAgent)) {
4288
+ browserString = "Edg";
4289
+ }
4290
+ else if (_userAgentContainsString(EDGE_IOS, userAgent)) {
4291
+ browserString = "EdgiOS";
4292
+ }
4293
+ }
4294
+ var matches = userAgent.match(new RegExp(browserString + "/" + REGEX_VERSION));
4295
+ if (matches) {
4296
+ return matches[1];
4297
+ }
4298
+ if (browserString === "Opera" ) {
4299
+ matches = userAgent.match(new RegExp("OPR/" + REGEX_VERSION));
4300
+ if (matches) {
4301
+ return matches[1];
4302
+ }
4303
+ }
4304
+ return UNKNOWN;
4305
+ }
4306
+ function _getScreenResolution() {
4307
+ var screenRes = { h: 0, w: 0 };
4308
+ var win = getWindow();
4309
+ if (win && win.screen) {
4310
+ screenRes.h = screen.height;
4311
+ screenRes.w = screen.width;
4312
+ }
4313
+ return screenRes;
4314
+ }
4315
+ function _getUserConsent() {
4316
+ return this.getUserConsent();
4317
+ }
4318
+ var Web = /** @class */ (function () {
4319
+ function Web(propertiesConfig, core, unloadHookContainer) {
4320
+ safeGetCookieMgr(core);
4321
+ var _propertiesConfig = propertiesConfig || {};
4322
+ var _userAgent = null;
4323
+ var _userAgentBrands = null;
4324
+ var _userBrowser = null;
4325
+ var _userBrowserVer = null;
4326
+ var _browser = null;
4327
+ var _browserVer = null;
4328
+ var _gpcDataSharingOption = null;
4329
+ dynamicProto(Web, this, function (_self) {
4330
+ _populateDefaults(propertiesConfig);
4331
+ var windowLocation = getLocation();
4332
+ if (windowLocation) {
4333
+ var domain = windowLocation.hostname;
4334
+ if (domain) {
4335
+ _self.domain = windowLocation.protocol === "file:" ? "local" : domain;
4336
+ }
4337
+ }
4338
+ var screenRes = _getScreenResolution();
4339
+ _self.screenRes = screenRes.w + "X" + screenRes.h;
4340
+ _self.getUserConsent = function () {
4341
+ return false;
4342
+ };
4343
+ _self.getUserConsentDetails = function () {
4344
+ var consentDetails = null;
4345
+ try {
4346
+ var callback = _propertiesConfig.callback;
4347
+ if (callback && callback.userConsentDetails) {
4348
+ var result = callback.userConsentDetails();
4349
+ if (result) {
4350
+ if (_propertiesConfig.disableConsentDetailsSanitize) {
4351
+ consentDetails = result;
4352
+ }
4353
+ else {
4354
+ consentDetails = {};
4355
+ }
4356
+ for (var lp = 0; lp < USER_CONSENT_DETAILS.length; lp++) {
4357
+ var key = USER_CONSENT_DETAILS[lp];
4358
+ consentDetails[key] = result[key] || false;
4359
+ }
4360
+ }
4361
+ }
4362
+ if (_gpcDataSharingOption !== null) {
4363
+ consentDetails = consentDetails || {};
4364
+ consentDetails.GPC_DataSharingOptIn = !!_gpcDataSharingOption;
4365
+ }
4366
+ return consentDetails ? JSON.stringify(consentDetails) : null;
4367
+ }
4368
+ catch (e) {
4369
+ }
4370
+ };
4371
+ function _parseUserAgent(userAgent, userAgentBrands) {
4372
+ if (isArray(userAgentBrands)) {
4373
+ try {
4374
+ for (var lp = 0; lp < BRANDS.length; lp++) {
4375
+ var version = _getBrandVersion(BRANDS[lp].br, userAgentBrands);
4376
+ if (version) {
4377
+ _browser = BRANDS[lp].b;
4378
+ _browserVer = version;
4379
+ return;
4380
+ }
4381
+ }
4382
+ }
4383
+ catch (e) {
4384
+ }
4385
+ }
4386
+ if (userAgent) {
4387
+ var browserName = _getBrowserName(userAgent);
4388
+ _browser = browserName;
4389
+ _browserVer = _getBrowserVersion(userAgent, browserName);
4390
+ }
4391
+ }
4392
+ function _setBrowser(value) {
4393
+ _userBrowser = value;
4394
+ }
4395
+ function _setBrowserVer(value) {
4396
+ _userBrowserVer = value;
4397
+ }
4398
+ function _getBrowser() {
4399
+ return _userBrowser || _browser;
4400
+ }
4401
+ function _getBrowserVer() {
4402
+ return _userBrowserVer || _browserVer;
4403
+ }
4404
+ var _getGpcDataSharing = function () {
4405
+ return _gpcDataSharingOption;
4406
+ };
4407
+ var _setGpcDataSharing = function (value) {
4408
+ _gpcDataSharingOption = isBoolean(value) ? value : null;
4409
+ _propertiesConfig.gpcDataSharingOptIn = _gpcDataSharingOption;
4410
+ };
4411
+ function _populateDefaults(config) {
4412
+ var unloadHook = onConfigChange(config, function () {
4413
+ _propertiesConfig = config;
4414
+ if (_propertiesConfig.populateBrowserInfo) {
4415
+ var userAgent = _propertiesConfig.userAgent;
4416
+ var userAgentBrands = (_propertiesConfig.userAgentData || {}).brands;
4417
+ if (userAgent !== _userAgent || userAgentBrands !== _userAgentBrands) {
4418
+ if (!userAgent || !userAgentBrands || userAgentBrands.length === 0) {
4419
+ var theNav = getNavigator();
4420
+ if (theNav) {
4421
+ userAgent = userAgent || theNav.userAgent || "";
4422
+ userAgentBrands = userAgentBrands || (theNav.userAgentData || {}).brands;
4423
+ }
4424
+ }
4425
+ _parseUserAgent(userAgent, userAgentBrands);
4426
+ _userAgent = userAgent;
4427
+ _userAgentBrands = userAgentBrands;
4428
+ }
4429
+ }
4430
+ _gpcDataSharingOption = isBoolean(_propertiesConfig.gpcDataSharingOptIn) ? _propertiesConfig.gpcDataSharingOptIn : null;
4431
+ });
4432
+ unloadHookContainer && unloadHookContainer.add(unloadHook);
4433
+ }
4434
+ objDefineProps(_self, {
4435
+ "userConsent": { g: _self.getUserConsent },
4436
+ "browser": { s: _setBrowser, g: _getBrowser },
4437
+ "browserVer": { s: _setBrowserVer, g: _getBrowserVer },
4438
+ "gpcDataSharingOptIn": { g: _getGpcDataSharing, s: _setGpcDataSharing }
4439
+ });
4440
+ });
4441
+ }
4442
+ Web._staticInit = (function () {
4443
+ objDefine(Web.prototype, "userConsent", { g: _getUserConsent });
4444
+ })();
4445
+ return Web;
4446
+ }());
4447
+
4448
+ function _applyExtValues(extension, event, names, map, overwriteTarget) {
4449
+ var target = event.ext[Extensions[extension]];
4450
+ if (target) {
4451
+ try {
4452
+ objForEachKey(map, function (field, value) {
4453
+ if (isString(value) || isNumber(value) || isBoolean(value)) {
4454
+ var targetValue = target[names[field]];
4455
+ if (!overwriteTarget && (targetValue || isString(targetValue) || isNumber(targetValue) || isBoolean(targetValue))) {
4456
+ value = targetValue;
4457
+ }
4458
+ target[names[field]] = value;
4459
+ }
4460
+ });
4461
+ }
4462
+ catch (e) {
4463
+ }
4464
+ }
4465
+ return target;
4466
+ }
4467
+ var TelemetryContext = /** @class */ (function () {
4468
+ function TelemetryContext(coreConfig, propertiesConfig, core, unloadHookContainer) {
4469
+ dynamicProto(TelemetryContext, this, function (_self) {
4470
+ _self.app = new Application(propertiesConfig, core, unloadHookContainer);
4471
+ _self.cloud = new Cloud();
4472
+ _self.user = new User(coreConfig, propertiesConfig, core, unloadHookContainer);
4473
+ _self.os = new OperatingSystem(propertiesConfig, unloadHookContainer);
4474
+ _self.web = new Web(propertiesConfig, core, unloadHookContainer);
4475
+ var _sdk = new Sdk(coreConfig, core, unloadHookContainer);
4476
+ var _intWeb = new IntWeb(propertiesConfig, core, unloadHookContainer);
4477
+ var _utc = new Utc(propertiesConfig, unloadHookContainer);
4478
+ _self.loc = new Loc();
4479
+ _self.device = new Device();
4480
+ var _sessionManager = new SessionManager(core, propertiesConfig, unloadHookContainer);
4481
+ _self.session = new Session();
4482
+ var undefValue = undefined;
4483
+ var _distributedTraceCtx = createDistributedTraceContextFromTraceCtx(new Trace(propertiesConfig, undefValue, undefValue, undefValue, unloadHookContainer), _getTraceCtx());
4484
+ var _overwriteEventPartA = !(propertiesConfig || {}).eventContainExtFields;
4485
+ function _getSessionId() {
4486
+ var session = _self.session;
4487
+ if (session && isString(session.customId)) {
4488
+ return session.customId;
4489
+ }
4490
+ _sessionManager.update();
4491
+ var autoSession = _sessionManager.automaticSession;
4492
+ if (autoSession) {
4493
+ var autoId = autoSession.getId();
4494
+ if (autoId && isString(autoId)) {
4495
+ session.automaticId = autoId;
4496
+ }
4497
+ }
4498
+ return session.automaticId;
4499
+ }
4500
+ _self.getTraceCtx = function () {
4501
+ return _distributedTraceCtx;
4502
+ };
4503
+ _self.getSessionId = _getSessionId;
4504
+ _self.applyApplicationContext = function (event) {
4505
+ var _a;
4506
+ var app = _self.app;
4507
+ _applyExtValues(4 , event, AppExtensionKeys, (_a = {},
4508
+ _a[0 ] = app.id,
4509
+ _a[1 ] = app.ver,
4510
+ _a[2 ] = app.name,
4511
+ _a[3 ] = app.locale,
4512
+ _a[4 ] = app.getExpId(),
4513
+ _a[5 ] = app.env,
4514
+ _a), _overwriteEventPartA);
4515
+ };
4516
+ _self.applyUserContext = function (event) {
4517
+ var _a;
4518
+ var user = _self.user;
4519
+ _applyExtValues(0 , event, UserExtensionKeys, (_a = {},
4520
+ _a[1 ] = user.getLocalId(),
4521
+ _a[0 ] = user.locale,
4522
+ _a[2 ] = user.id,
4523
+ _a), _overwriteEventPartA);
4524
+ };
4525
+ _self.applyWebContext = function (event) {
4526
+ var _a;
4527
+ var web = _self.web;
4528
+ _applyExtValues(3 , event, WebExtensionKeys, (_a = {},
4529
+ _a[0 ] = web.domain,
4530
+ _a[1 ] = web.browser,
4531
+ _a[2 ] = web.browserVer,
4532
+ _a[3 ] = web.screenRes,
4533
+ _a[5 ] = web.getUserConsentDetails(),
4534
+ _a[4 ] = false,
4535
+ _a), _overwriteEventPartA);
4536
+ };
4537
+ _self.applyOsContext = function (event) {
4538
+ var _a;
4539
+ var os = _self.os;
4540
+ _applyExtValues(5 , event, OSExtKeys, (_a = {},
4541
+ _a[0 ] = os.name,
4542
+ _a[1 ] = os.ver,
4543
+ _a), _overwriteEventPartA);
4544
+ };
4545
+ _self.applySdkContext = function (event) {
4546
+ var _a;
4547
+ _applyExtValues(6 , event, SDKExtKeys, (_a = {},
4548
+ _a[2 ] = _sdk.installId,
4549
+ _a[1 ] = _sdk.getSequenceId(),
4550
+ _a[3 ] = _sdk.epoch,
4551
+ _a), _overwriteEventPartA);
4552
+ };
4553
+ _self.applyIntWebContext = function (event) {
4554
+ var _a;
4555
+ _applyExtValues(7 , event, IntWebExtKeys, (_a = {},
4556
+ _a[0 ] = _intWeb.getMsfpc(),
4557
+ _a[1 ] = _intWeb.getAnid(),
4558
+ _a[2 ] = _intWeb.serviceName,
4559
+ _a), _overwriteEventPartA);
4560
+ };
4561
+ _self.applyUtcContext = function (event) {
4562
+ var _a;
4563
+ var utcFields = (_a = {},
4564
+ _a[0 ] = _utc.popSample,
4565
+ _a);
4566
+ if (_utc.eventFlags > 0) {
4567
+ utcFields[1 ] = _utc.eventFlags;
4568
+ }
4569
+ _applyExtValues(8 , event, UtcExtKeys, utcFields, _overwriteEventPartA);
4570
+ };
4571
+ _self.applyLocContext = function (event) {
4572
+ var _a;
4573
+ _applyExtValues(9 , event, LocExtKeys, (_a = {},
4574
+ _a[0 ] = _self.loc.tz,
4575
+ _a), _overwriteEventPartA);
4576
+ };
4577
+ _self.applySessionContext = function (event) {
4578
+ var _a;
4579
+ _applyExtValues(4 , event, SessionExtKeys, (_a = {},
4580
+ _a[0 ] = _getSessionId(),
4581
+ _a), _overwriteEventPartA);
4582
+ };
4583
+ _self.applyDeviceContext = function (event) {
4584
+ var _a;
4585
+ var device = _self.device;
4586
+ _applyExtValues(1 , event, DeviceExtKeys, (_a = {},
4587
+ _a[0 ] = device.localId,
4588
+ _a[2 ] = device.make,
4589
+ _a[3 ] = device.model,
4590
+ _a[1 ] = device.deviceClass,
4591
+ _a), _overwriteEventPartA);
4592
+ };
4593
+ _self.applyCloudContext = function (event) {
4594
+ var _a;
4595
+ var cloud = _self.cloud;
4596
+ _applyExtValues(10 , event, CloudExtKeys, (_a = {},
4597
+ _a[0 ] = cloud.role,
4598
+ _a[1 ] = cloud.roleInstance,
4599
+ _a[2 ] = cloud.roleVer,
4600
+ _a), _overwriteEventPartA);
4601
+ };
4602
+ _self.applyAITraceContext = function (event) {
4603
+ var _a;
4604
+ if (propertiesConfig.enableApplicationInsightsTrace) {
4605
+ var distributedTrace = _getTraceCtx();
4606
+ if (distributedTrace) {
4607
+ _applyExtValues(2 , event, TraceExtKeys, (_a = {},
4608
+ _a[0 ] = distributedTrace.getTraceId(),
4609
+ _a[1 ] = distributedTrace.getName(),
4610
+ _a[2 ] = distributedTrace.getSpanId(),
4611
+ _a), false);
4612
+ }
4613
+ }
4614
+ };
4615
+ _self.applyDistributedTraceContext = function (event) {
4616
+ var _a;
4617
+ var distributedTrace = _getTraceCtx();
4618
+ if (distributedTrace) {
4619
+ var traceFields = (_a = {},
4620
+ _a[0 ] = distributedTrace.getTraceId(),
4621
+ _a[1 ] = distributedTrace.getSpanId(),
4622
+ _a);
4623
+ var traceFlags = distributedTrace.getTraceFlags();
4624
+ if (!isNullOrUndefined(traceFlags)) {
4625
+ traceFields[2 ] = traceFlags;
4626
+ }
4627
+ _applyExtValues(11 , event, DistributedTraceExtKeys, traceFields, false);
4628
+ }
4629
+ };
4630
+ function _getTraceCtx() {
4631
+ var traceCtx = _distributedTraceCtx;
4632
+ if (core && core.getTraceCtx) {
4633
+ traceCtx = core.getTraceCtx(false) || _distributedTraceCtx;
4634
+ }
4635
+ return traceCtx;
4636
+ }
4637
+ });
4638
+ }
4639
+ TelemetryContext.__ieDyn=1;
4640
+ return TelemetryContext;
4641
+ }());
4642
+ function createDistributedTraceContextFromTraceCtx(traceContext, parentCtx) {
4643
+ var trace = traceContext || {};
4644
+ return {
4645
+ getName: function () {
4646
+ return trace.name;
4647
+ },
4648
+ setName: function (newValue) {
4649
+ parentCtx && parentCtx.setName(newValue);
4650
+ trace.name = newValue;
4651
+ },
4652
+ getTraceId: function () {
4653
+ return trace.traceId;
4654
+ },
4655
+ setTraceId: function (newValue) {
4656
+ parentCtx && parentCtx.setTraceId(newValue);
4657
+ if (isValidTraceId(newValue)) {
4658
+ trace.traceId = newValue;
4659
+ }
4660
+ },
4661
+ getSpanId: function () {
4662
+ return trace.parentId;
4663
+ },
4664
+ setSpanId: function (newValue) {
4665
+ parentCtx && parentCtx.setSpanId(newValue);
4666
+ if (isValidSpanId(newValue)) {
4667
+ trace.parentId = newValue;
4668
+ }
4669
+ },
4670
+ getTraceFlags: function () {
4671
+ return trace.traceFlags;
4672
+ },
4673
+ setTraceFlags: function (newTraceFlags) {
4674
+ parentCtx && parentCtx.setTraceFlags(newTraceFlags);
4675
+ trace.traceFlags = newTraceFlags;
4676
+ }
4677
+ };
4678
+ }
4679
+
4680
+ var undefValue;
4681
+ var extensions = [
4682
+ Extensions[4 ],
4683
+ Extensions[0 ],
4684
+ Extensions[3 ],
4685
+ Extensions[5 ],
4686
+ Extensions[6 ],
4687
+ Extensions[7 ],
4688
+ Extensions[8 ],
4689
+ Extensions[9 ],
4690
+ Extensions[1 ],
4691
+ Extensions[2 ],
4692
+ Extensions[11 ],
4693
+ Extensions[10 ]
4694
+ ];
4695
+ var defaultPropertyConfig = objDeepFreeze({
4696
+ populateBrowserInfo: false,
4697
+ populateOperatingSystemInfo: false,
4698
+ userAgent: cfgDfString(),
4699
+ userAgentData: cfgDfMerge({
4700
+ brands: undefValue,
4701
+ mobile: undefValue,
4702
+ platform: undefValue
4703
+ }),
4704
+ userConsentCookieName: cfgDfString(),
4705
+ userConsented: false,
4706
+ serviceName: cfgDfString(),
4707
+ env: cfgDfString(),
4708
+ expId: cfgDfString(),
4709
+ sessionRenewalMs: 1800000,
4710
+ sessionExpirationMs: 86400000,
4711
+ sessionAsGuid: null,
4712
+ cookieDomain: cfgDfString(),
4713
+ namePrefix: cfgDfString(),
4714
+ enableApplicationInsightsTrace: false,
4715
+ enableApplicationInsightsUser: false,
4716
+ hashIdentifiers: false,
4717
+ dropIdentifiers: false,
4718
+ scrubIpOnly: false,
4719
+ callback: cfgDfMerge({
4720
+ userConsentDetails: null
4721
+ }),
4722
+ gpcDataSharingOptIn: undefValue,
4723
+ idLength: 22,
4724
+ enableDistributedTracing: false,
4725
+ eventContainExtFields: false
4726
+ });
4727
+ var PropertiesPlugin = /** @class */ (function (_super) {
4728
+ __extendsFn(PropertiesPlugin, _super);
4729
+ function PropertiesPlugin() {
4730
+ var _this = _super.call(this) || this;
4731
+ _this.identifier = "SystemPropertiesCollector";
4732
+ _this.priority = 3;
4733
+ _this.version = '4.3.9';
4734
+ var _context;
4735
+ var _properties;
4736
+ var _config;
4737
+ dynamicProto(PropertiesPlugin, _this, function (_self, _base) {
4738
+ _initDefaults();
4739
+ _self.initialize = function (coreConfig, core, extensions) {
4740
+ _base.initialize(coreConfig, core, extensions);
4741
+ _populateDefaults(coreConfig);
4742
+ };
4743
+ _self.processTelemetry = function (event, itemCtx) {
4744
+ setProcessTelemetryTimings(event, _self.identifier);
4745
+ itemCtx = _self._getTelCtx(itemCtx);
4746
+ var evtExt = event.ext = event.ext ? event.ext : {};
4747
+ event.data = event.data ? event.data : {};
4748
+ arrForEach(extensions, function (value) {
4749
+ evtExt[value] = evtExt[value] || {};
4750
+ });
4751
+ if (_context) {
4752
+ _context.applyUtcContext(event);
4753
+ _context.applyApplicationContext(event);
4754
+ _context.applyUserContext(event);
4755
+ _context.applyWebContext(event);
4756
+ _context.applyOsContext(event);
4757
+ _context.applySdkContext(event);
4758
+ _context.applyIntWebContext(event);
4759
+ _context.applyLocContext(event);
4760
+ _context.applySessionContext(event);
4761
+ _context.applyDeviceContext(event);
4762
+ if (_config.enableApplicationInsightsTrace) {
4763
+ _context.applyAITraceContext(event);
4764
+ }
4765
+ if (_config.enableDistributedTracing) {
4766
+ _context.applyDistributedTraceContext(event);
4767
+ }
4768
+ _context.applyCloudContext(event);
4769
+ }
4770
+ arrForEach(objKeys(evtExt), function (key) {
4771
+ if (objKeys(evtExt[key]).length === 0) {
4772
+ delete evtExt[key];
4773
+ }
4774
+ });
4775
+ _addPropertiesIfAbsent(_properties, event.data);
4776
+ _self.processNext(event, itemCtx);
4777
+ };
4778
+ _self.getPropertiesContext = function () {
4779
+ return _context;
4780
+ };
4781
+ _self.setProperty = function (name, value) {
4782
+ _properties[name] = value;
4783
+ };
4784
+ _self._doTeardown = function (unloadCtx, unloadState) {
4785
+ var core = (unloadCtx || {}).core();
4786
+ if (core && core.getTraceCtx && _context) {
4787
+ var traceCtx = core.getTraceCtx(false);
4788
+ if (traceCtx && traceCtx === _context.getTraceCtx()) {
4789
+ core.setTraceCtx(null);
4790
+ }
4791
+ }
4792
+ _initDefaults();
4793
+ };
4794
+ _self["_getDbgPlgTargets"] = function () {
4795
+ return [_config];
4796
+ };
4797
+ function _initDefaults() {
4798
+ _context = null;
4799
+ _properties = {};
4800
+ }
4801
+ function _populateDefaults(config) {
4802
+ var identifier = _self.identifier;
4803
+ var core = _self.core;
4804
+ _self._addHook(onConfigChange(config, function () {
4805
+ var ctx = createProcessTelemetryContext(null, config, core);
4806
+ _config = ctx.getExtCfg(identifier, defaultPropertyConfig);
4807
+ }));
4808
+ _context = new TelemetryContext(config, _config, core, _self._unloadHooks);
4809
+ if (core && core.setTraceCtx) {
4810
+ core.setTraceCtx(_context.getTraceCtx());
4811
+ }
4812
+ }
4813
+ function _addPropertiesIfAbsent(inputMap, outputMap) {
4814
+ if (inputMap) {
4815
+ objForEachKey(inputMap, function (name, inputValue) {
4816
+ if (!outputMap[name]) {
4817
+ outputMap[name] = inputValue;
4818
+ }
4819
+ });
4820
+ }
4821
+ }
4822
+ });
4823
+ return _this;
4824
+ }
4825
+ PropertiesPlugin.__ieDyn=1;
4826
+ return PropertiesPlugin;
4827
+ }(BaseTelemetryPlugin));
4828
+
4829
+ exports.AppExtensionKeys = AppExtensionKeys;
4830
+ exports.Application = Application;
4831
+ exports.Cloud = Cloud;
4832
+ exports.CloudExtKeys = CloudExtKeys;
4833
+ exports.Device = Device;
4834
+ exports.DeviceExtKeys = DeviceExtKeys;
4835
+ exports.Extensions = Extensions;
4836
+ exports.Loc = Loc;
4837
+ exports.LocExtKeys = LocExtKeys;
4838
+ exports.OSExtKeys = OSExtKeys;
4839
+ exports.OperatingSystem = OperatingSystem;
4840
+ exports.PropertiesPlugin = PropertiesPlugin;
4841
+ exports.Session = Session;
4842
+ exports.TelemetryContext = TelemetryContext;
4843
+ exports.UserExtensionKeys = UserExtensionKeys;
4844
+ exports.WebExtensionKeys = WebExtensionKeys;
4845
+ exports.defaultFlightIdNameSpaces = defaultFlightIdNameSpaces;
4846
+
4847
+ }));
4848
+ //# sourceMappingURL=ms.properties.js.map