@microsoft/applicationinsights-cfgsync-js 0.0.2

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 (48) hide show
  1. package/browser/es5/ai.cfgsync.0.0.2.cjs.js +3678 -0
  2. package/browser/es5/ai.cfgsync.0.0.2.cjs.js.map +1 -0
  3. package/browser/es5/ai.cfgsync.0.0.2.cjs.min.js +6 -0
  4. package/browser/es5/ai.cfgsync.0.0.2.cjs.min.js.map +1 -0
  5. package/browser/es5/ai.cfgsync.0.0.2.gbl.js +3701 -0
  6. package/browser/es5/ai.cfgsync.0.0.2.gbl.js.map +1 -0
  7. package/browser/es5/ai.cfgsync.0.0.2.gbl.min.js +6 -0
  8. package/browser/es5/ai.cfgsync.0.0.2.gbl.min.js.map +1 -0
  9. package/browser/es5/ai.cfgsync.0.0.2.integrity.json +66 -0
  10. package/browser/es5/ai.cfgsync.0.0.2.js +3705 -0
  11. package/browser/es5/ai.cfgsync.0.0.2.js.map +1 -0
  12. package/browser/es5/ai.cfgsync.0.0.2.min.js +6 -0
  13. package/browser/es5/ai.cfgsync.0.0.2.min.js.map +1 -0
  14. package/browser/es5/ai.cfgsync.0.cjs.js +3678 -0
  15. package/browser/es5/ai.cfgsync.0.cjs.js.map +1 -0
  16. package/browser/es5/ai.cfgsync.0.cjs.min.js +6 -0
  17. package/browser/es5/ai.cfgsync.0.cjs.min.js.map +1 -0
  18. package/browser/es5/ai.cfgsync.0.gbl.js +3701 -0
  19. package/browser/es5/ai.cfgsync.0.gbl.js.map +1 -0
  20. package/browser/es5/ai.cfgsync.0.gbl.min.js +6 -0
  21. package/browser/es5/ai.cfgsync.0.gbl.min.js.map +1 -0
  22. package/browser/es5/ai.cfgsync.0.integrity.json +66 -0
  23. package/browser/es5/ai.cfgsync.0.js +3705 -0
  24. package/browser/es5/ai.cfgsync.0.js.map +1 -0
  25. package/browser/es5/ai.cfgsync.0.min.js +6 -0
  26. package/browser/es5/ai.cfgsync.0.min.js.map +1 -0
  27. package/dist/es5/applicationinsights-cfgsync-js.js +3683 -0
  28. package/dist/es5/applicationinsights-cfgsync-js.js.map +1 -0
  29. package/dist/es5/applicationinsights-cfgsync-js.min.js +6 -0
  30. package/dist/es5/applicationinsights-cfgsync-js.min.js.map +1 -0
  31. package/dist-es5/CfgSyncHelperFuncs.js +170 -0
  32. package/dist-es5/CfgSyncHelperFuncs.js.map +1 -0
  33. package/dist-es5/CfgSyncPlugin.js +385 -0
  34. package/dist-es5/CfgSyncPlugin.js.map +1 -0
  35. package/dist-es5/Interfaces/ICfgSyncCdnConfig.js +6 -0
  36. package/dist-es5/Interfaces/ICfgSyncCdnConfig.js.map +1 -0
  37. package/dist-es5/Interfaces/ICfgSyncConfig.js +6 -0
  38. package/dist-es5/Interfaces/ICfgSyncConfig.js.map +1 -0
  39. package/dist-es5/Interfaces/ICfgSyncPlugin.js +6 -0
  40. package/dist-es5/Interfaces/ICfgSyncPlugin.js.map +1 -0
  41. package/dist-es5/__DynamicConstants.js +18 -0
  42. package/dist-es5/__DynamicConstants.js.map +1 -0
  43. package/dist-es5/applicationinsights-cfgsync-js.js +7 -0
  44. package/dist-es5/applicationinsights-cfgsync-js.js.map +1 -0
  45. package/package.json +64 -0
  46. package/tsconfig.json +28 -0
  47. package/types/applicationinsights-cfgsync-js.d.ts +176 -0
  48. package/types/applicationinsights-cfgsync-js.namespaced.d.ts +172 -0
@@ -0,0 +1,3678 @@
1
+ /*!
2
+ * Application Insights JavaScript SDK - Properties Plugin, 0.0.2
3
+ * Copyright (c) Microsoft and contributors. All rights reserved.
4
+ */
5
+ 'use strict';
6
+
7
+
8
+ var strShimFunction = "function";
9
+ var strShimObject = "object";
10
+ var strShimUndefined = "undefined";
11
+ var strShimPrototype = "prototype";
12
+ var ObjClass$1 = Object;
13
+
14
+ var UNDEF_VALUE = undefined;
15
+ var NULL_VALUE = null;
16
+ var EMPTY = "";
17
+ var BOOLEAN = "boolean";
18
+ var FUNCTION = "function";
19
+ var NUMBER = "number";
20
+ var OBJECT = "object";
21
+ var PROTOTYPE = "prototype";
22
+ var __PROTO__ = "__proto__";
23
+ var STRING = "string";
24
+ var UNDEFINED = "undefined";
25
+ var CONSTRUCTOR = "constructor";
26
+ var SYMBOL = "Symbol";
27
+ var POLYFILL_TAG = "_polyfill";
28
+ var INDEX_OF = "indexOf";
29
+ var LENGTH = "length";
30
+ var DONE = "done";
31
+ var VALUE = "value";
32
+ var NAME = "name";
33
+ var SLICE = "slice";
34
+ var ObjClass = Object;
35
+ var ObjProto = ObjClass[PROTOTYPE];
36
+ var StrCls = String;
37
+ var StrProto = StrCls[PROTOTYPE];
38
+ var ArrCls = Array;
39
+ var ArrProto = ArrCls[PROTOTYPE];
40
+
41
+ function safeGet(cb, defValue) {
42
+ var result = defValue;
43
+ try {
44
+ result = cb();
45
+ }
46
+ catch (e) {
47
+ }
48
+ return result;
49
+ }
50
+
51
+ var PRIMITIVE_TYPES = [STRING, NUMBER, BOOLEAN, UNDEFINED, "symbol", "bigint"];
52
+ function _createIs(theType) {
53
+ return function (value) {
54
+ return typeof value === theType;
55
+ };
56
+ }
57
+ function _createObjIs(theName) {
58
+ var theType = "[object " + theName + "]";
59
+ return function (value) {
60
+ return !!(value && objToString(value) === theType);
61
+ };
62
+ }
63
+ function objToString(value) {
64
+ return ObjProto.toString.call(value);
65
+ }
66
+ function isUndefined(value) {
67
+ return typeof value === UNDEFINED || value === UNDEFINED;
68
+ }
69
+ function isNullOrUndefined(value) {
70
+ return value === NULL_VALUE || isUndefined(value);
71
+ }
72
+ function isStrictNullOrUndefined(value) {
73
+ return value === NULL_VALUE || !isDefined(value);
74
+ }
75
+ function isDefined(arg) {
76
+ return !!arg || arg !== UNDEF_VALUE;
77
+ }
78
+ var isPrimitiveType = function (theType) {
79
+ return theType !== OBJECT && PRIMITIVE_TYPES.indexOf(theType) !== -1;
80
+ };
81
+ var isString = _createIs(STRING);
82
+ var isFunction = _createIs(FUNCTION);
83
+ function isObject(value) {
84
+ if (!value && isNullOrUndefined(value)) {
85
+ return false;
86
+ }
87
+ return !!value && typeof value === OBJECT;
88
+ }
89
+ var isArray = ArrCls.isArray;
90
+ var isDate = _createObjIs("Date");
91
+ var isNumber = _createIs(NUMBER);
92
+ var isError = _createObjIs("Error");
93
+ function isPromiseLike(value) {
94
+ return !!value && isFunction(value.then);
95
+ }
96
+
97
+ var objGetOwnPropertyDescriptor = ObjClass.getOwnPropertyDescriptor;
98
+
99
+ function objHasOwnProperty(obj, prop) {
100
+ return obj && ObjProto.hasOwnProperty.call(obj, prop);
101
+ }
102
+
103
+ var objHasOwn = ObjClass["hasOwn"] || polyObjHasOwn;
104
+ function polyObjHasOwn(obj, prop) {
105
+ return objHasOwnProperty(obj, prop) || !!objGetOwnPropertyDescriptor(obj, prop);
106
+ }
107
+
108
+ function objForEachKey(theObject, callbackfn, thisArg) {
109
+ if (theObject && isObject(theObject)) {
110
+ for (var prop in theObject) {
111
+ if (objHasOwn(theObject, prop)) {
112
+ if (callbackfn.call(thisArg || theObject, prop, theObject[prop]) === -1) {
113
+ break;
114
+ }
115
+ }
116
+ }
117
+ }
118
+ }
119
+
120
+ function _createKeyValueMap(values, keyType, valueType, completeFn) {
121
+ var theMap = {};
122
+ objForEachKey(values, function (key, value) {
123
+ theMap[key] = keyType ? value : key;
124
+ theMap[value] = valueType ? value : key;
125
+ });
126
+ return completeFn(theMap);
127
+ }
128
+
129
+ function throwTypeError(message) {
130
+ throw new TypeError(message);
131
+ }
132
+
133
+ var _objFreeze = ObjClass["freeze"];
134
+ var _doNothing = function (value) { return value; };
135
+ var _getProto = function (value) { return value[__PROTO__] || NULL_VALUE; };
136
+ function objKeys(value) {
137
+ if (!isObject(value) || value === NULL_VALUE) {
138
+ throwTypeError("objKeys called on non-object");
139
+ }
140
+ return ObjClass.keys(value);
141
+ }
142
+ function objDeepFreeze(value) {
143
+ if (_objFreeze) {
144
+ objForEachKey(value, function (key, value) {
145
+ if (isArray(value) || isObject(value)) {
146
+ _objFreeze(value);
147
+ }
148
+ });
149
+ }
150
+ return objFreeze(value);
151
+ }
152
+ var objFreeze = _objFreeze || _doNothing;
153
+ var objGetPrototypeOf = ObjClass["getPrototypeOf"] || _getProto;
154
+
155
+ function createEnumKeyMap(values) {
156
+ return _createKeyValueMap(values, 0 , 0 , objDeepFreeze);
157
+ }
158
+
159
+ var _wellKnownSymbolMap = createEnumKeyMap({
160
+ asyncIterator: 0 ,
161
+ hasInstance: 1 ,
162
+ isConcatSpreadable: 2 ,
163
+ iterator: 3 ,
164
+ match: 4 ,
165
+ matchAll: 5 ,
166
+ replace: 6 ,
167
+ search: 7 ,
168
+ species: 8 ,
169
+ split: 9 ,
170
+ toPrimitive: 10 ,
171
+ toStringTag: 11 ,
172
+ unscopables: 12
173
+ });
174
+
175
+ var asString = StrCls;
176
+
177
+ var GLOBAL_CONFIG_KEY = "__tsUtils$gblCfg";
178
+ var _globalCfg;
179
+ function _getGlobalValue() {
180
+ var result;
181
+ if (typeof globalThis !== UNDEFINED) {
182
+ result = globalThis;
183
+ }
184
+ if (!result && typeof self !== UNDEFINED) {
185
+ result = self;
186
+ }
187
+ if (!result && typeof window !== UNDEFINED) {
188
+ result = window;
189
+ }
190
+ if (!result && typeof global !== UNDEFINED) {
191
+ result = global;
192
+ }
193
+ return result;
194
+ }
195
+ function _getGlobalConfig() {
196
+ if (!_globalCfg) {
197
+ var gbl = _getGlobalValue() || {};
198
+ _globalCfg = gbl[GLOBAL_CONFIG_KEY] = gbl[GLOBAL_CONFIG_KEY] || {};
199
+ }
200
+ return _globalCfg;
201
+ }
202
+
203
+ function dumpObj(object, format) {
204
+ var propertyValueDump = EMPTY;
205
+ if (isError(object)) {
206
+ propertyValueDump = "{ stack: '" + object.stack + "', message: '" + object.message + "', name: '" + object.name + "'";
207
+ }
208
+ else {
209
+ try {
210
+ propertyValueDump = JSON.stringify(object, NULL_VALUE, format ? (isNumber(format) ? format : 4) : UNDEF_VALUE);
211
+ }
212
+ catch (e) {
213
+ propertyValueDump = " - " + dumpObj(e, format);
214
+ }
215
+ }
216
+ return objToString(object) + ": " + propertyValueDump;
217
+ }
218
+
219
+ var _arrSlice = ArrProto[SLICE];
220
+ var _throwMissingFunction = function (funcName, thisArg) {
221
+ throwTypeError("'" + asString(funcName) + "' not defined for " + dumpObj(thisArg));
222
+ };
223
+ var _unwrapInstFunction = function (funcName) {
224
+ return function (thisArg) {
225
+ return thisArg[funcName].apply(thisArg, _arrSlice.call(arguments, 1));
226
+ };
227
+ };
228
+ var _unwrapFunction = function (funcName, clsProto) {
229
+ var clsFn = clsProto && clsProto[funcName];
230
+ return function (thisArg) {
231
+ var theFunc = (thisArg && thisArg[funcName]) || clsFn;
232
+ if (theFunc) {
233
+ return theFunc.apply(thisArg, _arrSlice.call(arguments, 1));
234
+ }
235
+ _throwMissingFunction(funcName, thisArg);
236
+ };
237
+ };
238
+
239
+ var UNIQUE_REGISTRY_ID = "_urid";
240
+ var _polySymbols;
241
+ function _globalSymbolRegistry() {
242
+ if (!_polySymbols) {
243
+ var gblCfg = _getGlobalConfig();
244
+ _polySymbols = gblCfg.gblSym = gblCfg.gblSym || { k: {}, s: {} };
245
+ }
246
+ return _polySymbols;
247
+ }
248
+ var _wellKnownSymbolCache = {};
249
+ function polyNewSymbol(description) {
250
+ var theSymbol = {
251
+ description: asString(description),
252
+ toString: function () { return SYMBOL + "(" + description + ")"; }
253
+ };
254
+ theSymbol[POLYFILL_TAG] = true;
255
+ return theSymbol;
256
+ }
257
+ function polySymbolFor(key) {
258
+ var registry = _globalSymbolRegistry();
259
+ if (!objHasOwn(registry.k, key)) {
260
+ var newSymbol_1 = polyNewSymbol(key);
261
+ var regId_1 = objKeys(registry.s).length;
262
+ newSymbol_1[UNIQUE_REGISTRY_ID] = function () { return regId_1 + "_" + newSymbol_1.toString(); };
263
+ registry.k[key] = newSymbol_1;
264
+ registry.s[newSymbol_1[UNIQUE_REGISTRY_ID]()] = asString(key);
265
+ }
266
+ return registry.k[key];
267
+ }
268
+ function polyGetKnownSymbol(name) {
269
+ var result;
270
+ var knownName = _wellKnownSymbolMap[name];
271
+ if (knownName) {
272
+ result = _wellKnownSymbolCache[knownName] = _wellKnownSymbolCache[knownName] || polyNewSymbol(SYMBOL + "." + knownName);
273
+ }
274
+ return result;
275
+ }
276
+
277
+ var propMap = {
278
+ e: "enumerable",
279
+ c: "configurable",
280
+ v: VALUE,
281
+ w: "writable",
282
+ g: "get",
283
+ s: "set"
284
+ };
285
+ function _createProp(value) {
286
+ var prop = {};
287
+ prop[propMap["c"]] = true;
288
+ prop[propMap["e"]] = true;
289
+ if (value.l) {
290
+ prop.get = function () { return value.l.v; };
291
+ var desc = objGetOwnPropertyDescriptor(value.l, "v");
292
+ if (desc && desc.set) {
293
+ prop.set = function (newValue) {
294
+ value.l.v = newValue;
295
+ };
296
+ }
297
+ }
298
+ objForEachKey(value, function (key, value) {
299
+ prop[propMap[key]] = isUndefined(value) ? prop[propMap[key]] : value;
300
+ });
301
+ return prop;
302
+ }
303
+ var objDefineProp = ObjClass["defineProperty"];
304
+ function objDefine(target, key, propDesc) {
305
+ return objDefineProp(target, key, _createProp(propDesc));
306
+ }
307
+
308
+ var _globalLazyTestHooks;
309
+ var _fetchLazyTestHooks = function () {
310
+ _globalLazyTestHooks = _getGlobalConfig();
311
+ _fetchLazyTestHooks = NULL_VALUE;
312
+ };
313
+ function getLazy(cb) {
314
+ var lazyValue = {};
315
+ _fetchLazyTestHooks && _fetchLazyTestHooks();
316
+ lazyValue.b = _globalLazyTestHooks.lzy;
317
+ objDefineProp(lazyValue, "v", {
318
+ configurable: true,
319
+ get: function () {
320
+ var result = cb();
321
+ if (!_globalLazyTestHooks.lzy) {
322
+ objDefineProp(lazyValue, "v", {
323
+ value: result
324
+ });
325
+ if (lazyValue.b) {
326
+ delete lazyValue.b;
327
+ }
328
+ }
329
+ if (_globalLazyTestHooks.lzy && lazyValue.b !== _globalLazyTestHooks.lzy) {
330
+ lazyValue.b = _globalLazyTestHooks.lzy;
331
+ }
332
+ return result;
333
+ }
334
+ });
335
+ return lazyValue;
336
+ }
337
+
338
+ function safeGetLazy(cb, defValue) {
339
+ return getLazy(function () { return safeGet(cb, defValue); });
340
+ }
341
+
342
+ var WINDOW = "window";
343
+ var _cachedGlobal;
344
+ var _cachedWindow;
345
+ var _cachedDocument;
346
+ var _cachedNavigator;
347
+ var lazySafeGetInst = function (name) { return safeGetLazy(function () { return getInst(name) || UNDEF_VALUE; }, UNDEF_VALUE); };
348
+ var getGlobal = function (useCached) {
349
+ (!_cachedGlobal || useCached === false || (_globalLazyTestHooks && _globalLazyTestHooks.lzy && !_cachedGlobal.b)) && (_cachedGlobal = safeGetLazy(_getGlobalValue, NULL_VALUE));
350
+ return _cachedGlobal.v;
351
+ };
352
+ var getInst = function (name, useCached) {
353
+ var gbl = (!_cachedGlobal || useCached === false) ? getGlobal(useCached) : _cachedGlobal.v;
354
+ if (gbl && gbl[name]) {
355
+ return gbl[name];
356
+ }
357
+ if (name === WINDOW && _cachedWindow) {
358
+ return _cachedWindow.v;
359
+ }
360
+ return NULL_VALUE;
361
+ };
362
+ var getDocument = function () {
363
+ (!_cachedDocument || (_globalLazyTestHooks && _globalLazyTestHooks.lzy && !_cachedDocument.b)) && (_cachedDocument = lazySafeGetInst("document"));
364
+ return _cachedDocument.v;
365
+ };
366
+ var hasWindow = function () { return !!getWindow(); };
367
+ var getWindow = function () {
368
+ (!_cachedWindow || (_globalLazyTestHooks && _globalLazyTestHooks.lzy && !_cachedWindow.b)) && (_cachedWindow = lazySafeGetInst(WINDOW));
369
+ return _cachedWindow.v;
370
+ };
371
+ var getNavigator = function () {
372
+ (!_cachedNavigator || (_globalLazyTestHooks && _globalLazyTestHooks.lzy && !_cachedNavigator.b)) && (_cachedNavigator = lazySafeGetInst("navigator"));
373
+ return _cachedNavigator.v;
374
+ };
375
+
376
+ var _symbol;
377
+ var _symbolFor;
378
+ var _symbolKeyFor;
379
+ function _getSymbolValue(name) {
380
+ return safeGetLazy(function () {
381
+ return (_symbol.v ? _symbol.v[name] : UNDEF_VALUE);
382
+ }, UNDEF_VALUE);
383
+ }
384
+ function hasSymbol() {
385
+ return !!getSymbol();
386
+ }
387
+ function getSymbol() {
388
+ var resetCache = !_symbol || (_globalLazyTestHooks && _globalLazyTestHooks.lzy && !_symbol.b);
389
+ resetCache && (_symbol = lazySafeGetInst(SYMBOL));
390
+ (!_symbolFor || resetCache) && (_symbolFor = _getSymbolValue("for"));
391
+ (!_symbolKeyFor || resetCache) && (_symbolKeyFor = _getSymbolValue("keyFor"));
392
+ return _symbol.v;
393
+ }
394
+ function getKnownSymbol(name, noPoly) {
395
+ var knownName = _wellKnownSymbolMap[name];
396
+ (!_symbol || (_globalLazyTestHooks.lzy && !_symbol.b)) && getSymbol();
397
+ return _symbol.v ? _symbol.v[knownName || name] : (!noPoly ? polyGetKnownSymbol(name) : UNDEF_VALUE);
398
+ }
399
+ function newSymbol(description, noPoly) {
400
+ (!_symbol || (_globalLazyTestHooks.lzy && !_symbol.b)) && getSymbol();
401
+ return _symbol.v ? _symbol.v(description) : (!noPoly ? polyNewSymbol(description) : NULL_VALUE);
402
+ }
403
+ function symbolFor(key) {
404
+ (!_symbolFor || (_globalLazyTestHooks.lzy && !_symbol.b)) && getSymbol();
405
+ return (_symbolFor.v || polySymbolFor)(key);
406
+ }
407
+
408
+ function isIterator(value) {
409
+ return !!value && isFunction(value.next);
410
+ }
411
+ function isIterable(value) {
412
+ return !isStrictNullOrUndefined(value) && isFunction(value[getKnownSymbol(3 )]);
413
+ }
414
+
415
+ var _iterSymbol;
416
+ function iterForOf(iter, callbackfn, thisArg) {
417
+ if (iter) {
418
+ if (!isIterator(iter)) {
419
+ !_iterSymbol && (_iterSymbol = getLazy(function () { return getKnownSymbol(3 ); }));
420
+ iter = iter[_iterSymbol.v] ? iter[_iterSymbol.v]() : null;
421
+ }
422
+ if (isIterator(iter)) {
423
+ var err = void 0;
424
+ var iterResult = void 0;
425
+ try {
426
+ var count = 0;
427
+ while (!(iterResult = iter.next())[DONE]) {
428
+ if (callbackfn.call(thisArg || iter, iterResult[VALUE], count, iter) === -1) {
429
+ break;
430
+ }
431
+ count++;
432
+ }
433
+ }
434
+ catch (failed) {
435
+ err = { e: failed };
436
+ if (iter.throw) {
437
+ iterResult = null;
438
+ iter.throw(err);
439
+ }
440
+ }
441
+ finally {
442
+ try {
443
+ if (iterResult && !iterResult[DONE]) {
444
+ iter.return && iter.return(iterResult);
445
+ }
446
+ }
447
+ finally {
448
+ if (err) {
449
+ throw err.e;
450
+ }
451
+ }
452
+ }
453
+ }
454
+ }
455
+ }
456
+
457
+ var fnApply = _unwrapInstFunction("apply");
458
+
459
+ function arrAppend(target, elms) {
460
+ if (!isUndefined(elms) && target) {
461
+ if (isArray(elms)) {
462
+ fnApply(target.push, target, elms);
463
+ }
464
+ else if (isIterator(elms) || isIterable(elms)) {
465
+ iterForOf(elms, function (elm) {
466
+ target.push(elm);
467
+ });
468
+ }
469
+ else {
470
+ target.push(elms);
471
+ }
472
+ }
473
+ return target;
474
+ }
475
+
476
+ function arrForEach(theArray, callbackfn, thisArg) {
477
+ if (theArray) {
478
+ var len = theArray[LENGTH] >>> 0;
479
+ for (var idx = 0; idx < len; idx++) {
480
+ if (idx in theArray) {
481
+ if (callbackfn.call(thisArg || theArray, theArray[idx], idx, theArray) === -1) {
482
+ break;
483
+ }
484
+ }
485
+ }
486
+ }
487
+ }
488
+
489
+ var arrIndexOf = _unwrapFunction(INDEX_OF, ArrProto);
490
+
491
+ var arrSlice = _unwrapFunction(SLICE, ArrProto);
492
+
493
+ var fnCall = _unwrapInstFunction("call");
494
+
495
+ var _objCreate = ObjClass["create"];
496
+ var objCreate = _objCreate || polyObjCreate;
497
+ function polyObjCreate(obj) {
498
+ if (!obj) {
499
+ return {};
500
+ }
501
+ var type = typeof obj;
502
+ if (type !== OBJECT && type !== FUNCTION) {
503
+ throw new TypeError("Prototype must be an Object or function: " + dumpObj(obj));
504
+ }
505
+ function tempFunc() { }
506
+ tempFunc[PROTOTYPE] = obj;
507
+ return new tempFunc();
508
+ }
509
+
510
+ var _isProtoArray;
511
+ function objSetPrototypeOf(obj, proto) {
512
+ var fn = ObjClass["setPrototypeOf"] ||
513
+ function (d, b) {
514
+ !_isProtoArray && (_isProtoArray = getLazy(function () {
515
+ var _a;
516
+ return ((_a = {}, _a[__PROTO__] = [], _a) instanceof Array);
517
+ }));
518
+ _isProtoArray.v ? d[__PROTO__] = b : objForEachKey(b, function (key, value) { return d[key] = value; });
519
+ };
520
+ return fn(obj, proto);
521
+ }
522
+
523
+ var _createCustomError = function (name, d, b) {
524
+ _safeDefineName(d, name);
525
+ d = objSetPrototypeOf(d, b);
526
+ function __() {
527
+ this.constructor = d;
528
+ _safeDefineName(this, name);
529
+ }
530
+ d[PROTOTYPE] = b === NULL_VALUE ? objCreate(b) : (__[PROTOTYPE] = b[PROTOTYPE], new __());
531
+ return d;
532
+ };
533
+ var _safeSetName = function (baseClass, name) {
534
+ try {
535
+ name && (baseClass[NAME] = name);
536
+ }
537
+ catch (e) {
538
+ }
539
+ };
540
+ var _safeDefineName = function (target, name) {
541
+ try {
542
+ objDefine(target, NAME, { v: name, c: true, e: false });
543
+ }
544
+ catch (e) {
545
+ }
546
+ };
547
+ function createCustomError(name, constructCb, errorBase) {
548
+ var theBaseClass = errorBase || Error;
549
+ var orgName = theBaseClass[PROTOTYPE][NAME];
550
+ var captureFn = Error.captureStackTrace;
551
+ return _createCustomError(name, function () {
552
+ var _this = this;
553
+ try {
554
+ _safeSetName(theBaseClass, name);
555
+ var _self = fnApply(theBaseClass, _this, arrSlice(arguments)) || _this;
556
+ if (_self !== _this) {
557
+ var orgProto = objGetPrototypeOf(_this);
558
+ if (orgProto !== objGetPrototypeOf(_self)) {
559
+ objSetPrototypeOf(_self, orgProto);
560
+ }
561
+ }
562
+ captureFn && captureFn(_self, _this[CONSTRUCTOR]);
563
+ constructCb && constructCb(_self, arguments);
564
+ return _self;
565
+ }
566
+ finally {
567
+ _safeSetName(theBaseClass, orgName);
568
+ }
569
+ }, theBaseClass);
570
+ }
571
+
572
+ function utcNow() {
573
+ return (Date.now || polyUtcNow)();
574
+ }
575
+ function polyUtcNow() {
576
+ return new Date().getTime();
577
+ }
578
+
579
+ var _fnToString;
580
+ var _objCtrFnString;
581
+ var _gblWindow;
582
+ function isPlainObject(value) {
583
+ if (!value || typeof value !== OBJECT) {
584
+ return false;
585
+ }
586
+ if (!_gblWindow) {
587
+ _gblWindow = hasWindow() ? getWindow() : true;
588
+ }
589
+ var result = false;
590
+ if (value !== _gblWindow) {
591
+ if (!_objCtrFnString) {
592
+ _fnToString = Function[PROTOTYPE].toString;
593
+ _objCtrFnString = fnCall(_fnToString, ObjClass);
594
+ }
595
+ try {
596
+ var proto = objGetPrototypeOf(value);
597
+ result = !proto;
598
+ if (!result) {
599
+ if (objHasOwnProperty(proto, CONSTRUCTOR)) {
600
+ proto = proto[CONSTRUCTOR];
601
+ }
602
+ result = proto && typeof proto === FUNCTION && _fnToString.call(proto) === _objCtrFnString;
603
+ }
604
+ }
605
+ catch (ex) {
606
+ }
607
+ }
608
+ return result;
609
+ }
610
+
611
+ var _defaultDeepCopyHandler = function (details) {
612
+ details.value && plainObjDeepCopyHandler(details);
613
+ return true;
614
+ };
615
+ var defaultDeepCopyHandlers = [
616
+ arrayDeepCopyHandler,
617
+ plainObjDeepCopyHandler,
618
+ functionDeepCopyHandler,
619
+ dateDeepCopyHandler
620
+ ];
621
+ function _getSetVisited(visitMap, source, newPath, cb) {
622
+ var theEntry;
623
+ arrForEach(visitMap, function (entry) {
624
+ if (entry.k === source) {
625
+ theEntry = entry;
626
+ return -1;
627
+ }
628
+ });
629
+ if (!theEntry) {
630
+ theEntry = { k: source, v: source };
631
+ visitMap.push(theEntry);
632
+ cb(theEntry);
633
+ }
634
+ return theEntry.v;
635
+ }
636
+ function _deepCopy(visitMap, value, ctx, key) {
637
+ var userHandler = ctx.handler;
638
+ var newPath = ctx.path ? (key ? ctx.path.concat(key) : ctx.path) : [];
639
+ var newCtx = {
640
+ handler: ctx.handler,
641
+ src: ctx.src,
642
+ path: newPath
643
+ };
644
+ var theType = typeof value;
645
+ var isPlain = false;
646
+ var isPrim = false;
647
+ if (value && theType === OBJECT) {
648
+ isPlain = isPlainObject(value);
649
+ }
650
+ else {
651
+ isPrim = value === NULL_VALUE || isPrimitiveType(theType);
652
+ }
653
+ var details = {
654
+ type: theType,
655
+ isPrim: isPrim,
656
+ isPlain: isPlain,
657
+ value: value,
658
+ result: value,
659
+ path: newPath,
660
+ origin: ctx.src,
661
+ copy: function (source, newKey) {
662
+ return _deepCopy(visitMap, source, newKey ? newCtx : ctx, newKey);
663
+ },
664
+ copyTo: function (target, source) {
665
+ return _copyProps(visitMap, target, source, newCtx);
666
+ }
667
+ };
668
+ if (!details.isPrim) {
669
+ return _getSetVisited(visitMap, value, newPath, function (newEntry) {
670
+ objDefine(details, "result", {
671
+ g: function () {
672
+ return newEntry.v;
673
+ },
674
+ s: function (newValue) {
675
+ newEntry.v = newValue;
676
+ }
677
+ });
678
+ var idx = 0;
679
+ var handler = userHandler;
680
+ while (!fnCall(handler || (idx < defaultDeepCopyHandlers.length ? defaultDeepCopyHandlers[idx++] : _defaultDeepCopyHandler), ctx, details)) {
681
+ handler = NULL_VALUE;
682
+ }
683
+ });
684
+ }
685
+ if (userHandler && fnCall(userHandler, ctx, details)) {
686
+ return details.result;
687
+ }
688
+ return value;
689
+ }
690
+ function _copyProps(visitMap, target, source, ctx) {
691
+ if (!isNullOrUndefined(source)) {
692
+ for (var key in source) {
693
+ target[key] = _deepCopy(visitMap, source[key], ctx, key);
694
+ }
695
+ }
696
+ return target;
697
+ }
698
+ function objCopyProps(target, source, handler) {
699
+ var ctx = {
700
+ handler: handler,
701
+ src: source,
702
+ path: []
703
+ };
704
+ return _copyProps([], target, source, ctx);
705
+ }
706
+ function arrayDeepCopyHandler(details) {
707
+ var value = details.value;
708
+ if (isArray(value)) {
709
+ var target = details.result = [];
710
+ target.length = value.length;
711
+ details.copyTo(target, value);
712
+ return true;
713
+ }
714
+ return false;
715
+ }
716
+ function dateDeepCopyHandler(details) {
717
+ var value = details.value;
718
+ if (isDate(value)) {
719
+ details.result = new Date(value.getTime());
720
+ return true;
721
+ }
722
+ return false;
723
+ }
724
+ function functionDeepCopyHandler(details) {
725
+ if (details.type === FUNCTION) {
726
+ return true;
727
+ }
728
+ return false;
729
+ }
730
+ function plainObjDeepCopyHandler(details) {
731
+ var value = details.value;
732
+ if (value && details.isPlain) {
733
+ var target = details.result = {};
734
+ details.copyTo(target, value);
735
+ return true;
736
+ }
737
+ return false;
738
+ }
739
+
740
+ function _doExtend(target, theArgs) {
741
+ arrForEach(theArgs, function (theArg) {
742
+ objCopyProps(target, theArg);
743
+ });
744
+ return target;
745
+ }
746
+ function objExtend(target, obj1, obj2, obj3, obj4, obj5, obj6) {
747
+ return _doExtend(target || {}, arrSlice(arguments));
748
+ }
749
+
750
+ function polyStrSymSplit(value, splitter, limit) {
751
+ var splitFn = splitter && splitter[getKnownSymbol(9 )];
752
+ return splitFn ? splitFn(value, limit) : [value];
753
+ }
754
+
755
+ var strSplit = _unwrapFunction("split", StrProto);
756
+ hasSymbol() ? _unwrapFunction("split", StrProto) : polyStrSymSplit;
757
+
758
+ function setValueByKey(target, path, value) {
759
+ if (target && path) {
760
+ var parts = strSplit(path, ".");
761
+ var lastKey = parts.pop();
762
+ arrForEach(parts, function (key) {
763
+ if (isNullOrUndefined(target[key])) {
764
+ target[key] = {};
765
+ }
766
+ target = target[key];
767
+ });
768
+ target[lastKey] = value;
769
+ }
770
+ }
771
+
772
+ var strIndexOf = _unwrapFunction(INDEX_OF, StrProto);
773
+
774
+ var REF = "ref";
775
+ var UNREF = "un" + REF;
776
+ var HAS_REF = "hasRef";
777
+ var ENABLED = "enabled";
778
+ function _createTimerHandler(startTimer, refreshFn, cancelFn) {
779
+ var _a;
780
+ var ref = true;
781
+ var timerId = startTimer ? refreshFn(NULL_VALUE) : NULL_VALUE;
782
+ var theTimerHandler;
783
+ var _unref = function () {
784
+ ref = false;
785
+ timerId && timerId[UNREF] && timerId[UNREF]();
786
+ return theTimerHandler;
787
+ };
788
+ var _ref = function () {
789
+ ref = true;
790
+ timerId && timerId[REF] && timerId[REF]();
791
+ return theTimerHandler;
792
+ };
793
+ var _hasRef = function () {
794
+ if (timerId && timerId[HAS_REF]) {
795
+ return timerId[HAS_REF]();
796
+ }
797
+ return ref;
798
+ };
799
+ var _refresh = function () {
800
+ timerId = refreshFn(timerId);
801
+ if (!ref) {
802
+ _unref();
803
+ }
804
+ return theTimerHandler;
805
+ };
806
+ var _cancel = function () {
807
+ timerId && cancelFn(timerId);
808
+ timerId = NULL_VALUE;
809
+ };
810
+ var _setEnabled = function (value) {
811
+ !value && timerId && _cancel();
812
+ value && !timerId && _refresh();
813
+ };
814
+ theTimerHandler = (_a = {
815
+ cancel: _cancel,
816
+ refresh: _refresh
817
+ },
818
+ _a[HAS_REF] = _hasRef,
819
+ _a[REF] = _ref,
820
+ _a[UNREF] = _unref,
821
+ _a[ENABLED] = false,
822
+ _a);
823
+ objDefineProp(theTimerHandler, ENABLED, {
824
+ get: function () { return !!timerId; },
825
+ set: _setEnabled
826
+ });
827
+ return {
828
+ h: theTimerHandler,
829
+ dn: function () {
830
+ timerId = NULL_VALUE;
831
+ }
832
+ };
833
+ }
834
+
835
+ function _createTimeoutWith(self, startTimer, overrideFn, theArgs) {
836
+ var isArr = isArray(overrideFn);
837
+ var len = isArr ? overrideFn.length : 0;
838
+ var setFn = (len > 0 ? overrideFn[0] : (!isArr ? overrideFn : UNDEF_VALUE)) || setTimeout;
839
+ var clearFn = (len > 1 ? overrideFn[1] : UNDEF_VALUE) || clearTimeout;
840
+ var timerFn = theArgs[0];
841
+ theArgs[0] = function () {
842
+ handler.dn();
843
+ fnApply(timerFn, self, arrSlice(arguments));
844
+ };
845
+ var handler = _createTimerHandler(startTimer, function (timerId) {
846
+ if (timerId) {
847
+ if (timerId.refresh) {
848
+ timerId.refresh();
849
+ return timerId;
850
+ }
851
+ fnApply(clearFn, self, [timerId]);
852
+ }
853
+ return fnApply(setFn, self, theArgs);
854
+ }, function (timerId) {
855
+ fnApply(clearFn, self, [timerId]);
856
+ });
857
+ return handler.h;
858
+ }
859
+ function scheduleTimeout(callback, timeout) {
860
+ return _createTimeoutWith(this, true, UNDEF_VALUE, arrSlice(arguments));
861
+ }
862
+
863
+ (getGlobal() || {})["Symbol"];
864
+ (getGlobal() || {})["Reflect"];
865
+ var strHasOwnProperty = "hasOwnProperty";
866
+ var extendStaticsFn = function (d, b) {
867
+ extendStaticsFn = ObjClass$1["setPrototypeOf"] ||
868
+ ({ __proto__: [] } instanceof Array && function (d, b) {
869
+ d.__proto__ = b;
870
+ }) ||
871
+ function (d, b) {
872
+ for (var p in b) {
873
+ if (b[strHasOwnProperty](p)) {
874
+ d[p] = b[p];
875
+ }
876
+ }
877
+ };
878
+ return extendStaticsFn(d, b);
879
+ };
880
+ function __extendsFn(d, b) {
881
+ if (typeof b !== strShimFunction && b !== null) {
882
+ throwTypeError("Class extends value " + String(b) + " is not a constructor or null");
883
+ }
884
+ extendStaticsFn(d, b);
885
+ function __() {
886
+ this.constructor = d;
887
+ }
888
+ d[strShimPrototype] = b === null ? objCreate(b) : (__[strShimPrototype] = b[strShimPrototype], new __());
889
+ }
890
+
891
+ var _a$3;
892
+ var Constructor = 'constructor';
893
+ var Prototype = 'prototype';
894
+ var strFunction = 'function';
895
+ var DynInstFuncTable = '_dynInstFuncs';
896
+ var DynProxyTag = '_isDynProxy';
897
+ var DynClassName = '_dynClass';
898
+ var DynClassNamePrefix = '_dynCls$';
899
+ var DynInstChkTag = '_dynInstChk';
900
+ var DynAllowInstChkTag = DynInstChkTag;
901
+ var DynProtoDefaultOptions = '_dfOpts';
902
+ var UnknownValue = '_unknown_';
903
+ var str__Proto = "__proto__";
904
+ var DynProtoBaseProto = "_dyn" + str__Proto;
905
+ var DynProtoGlobalSettings = "__dynProto$Gbl";
906
+ var DynProtoCurrent = "_dynInstProto";
907
+ var strUseBaseInst = 'useBaseInst';
908
+ var strSetInstFuncs = 'setInstFuncs';
909
+ var Obj = Object;
910
+ var _objGetPrototypeOf = Obj["getPrototypeOf"];
911
+ var _objGetOwnProps = Obj["getOwnPropertyNames"];
912
+ var _gbl = getGlobal();
913
+ var _gblInst = _gbl[DynProtoGlobalSettings] || (_gbl[DynProtoGlobalSettings] = {
914
+ o: (_a$3 = {},
915
+ _a$3[strSetInstFuncs] = true,
916
+ _a$3[strUseBaseInst] = true,
917
+ _a$3),
918
+ n: 1000
919
+ });
920
+ function _isObjectOrArrayPrototype(target) {
921
+ return target && (target === Obj[Prototype] || target === Array[Prototype]);
922
+ }
923
+ function _isObjectArrayOrFunctionPrototype(target) {
924
+ return _isObjectOrArrayPrototype(target) || target === Function[Prototype];
925
+ }
926
+ function _getObjProto(target) {
927
+ var newProto;
928
+ if (target) {
929
+ if (_objGetPrototypeOf) {
930
+ return _objGetPrototypeOf(target);
931
+ }
932
+ var curProto = target[str__Proto] || target[Prototype] || (target[Constructor] ? target[Constructor][Prototype] : null);
933
+ newProto = target[DynProtoBaseProto] || curProto;
934
+ if (!objHasOwnProperty(target, DynProtoBaseProto)) {
935
+ delete target[DynProtoCurrent];
936
+ newProto = target[DynProtoBaseProto] = target[DynProtoCurrent] || target[DynProtoBaseProto];
937
+ target[DynProtoCurrent] = curProto;
938
+ }
939
+ }
940
+ return newProto;
941
+ }
942
+ function _forEachProp(target, func) {
943
+ var props = [];
944
+ if (_objGetOwnProps) {
945
+ props = _objGetOwnProps(target);
946
+ }
947
+ else {
948
+ for (var name_1 in target) {
949
+ if (typeof name_1 === "string" && objHasOwnProperty(target, name_1)) {
950
+ props.push(name_1);
951
+ }
952
+ }
953
+ }
954
+ if (props && props.length > 0) {
955
+ for (var lp = 0; lp < props.length; lp++) {
956
+ func(props[lp]);
957
+ }
958
+ }
959
+ }
960
+ function _isDynamicCandidate(target, funcName, skipOwn) {
961
+ return (funcName !== Constructor && typeof target[funcName] === strFunction && (skipOwn || objHasOwnProperty(target, funcName)));
962
+ }
963
+ function _throwTypeError(message) {
964
+ throwTypeError("DynamicProto: " + message);
965
+ }
966
+ function _getInstanceFuncs(thisTarget) {
967
+ var instFuncs = {};
968
+ _forEachProp(thisTarget, function (name) {
969
+ if (!instFuncs[name] && _isDynamicCandidate(thisTarget, name, false)) {
970
+ instFuncs[name] = thisTarget[name];
971
+ }
972
+ });
973
+ return instFuncs;
974
+ }
975
+ function _hasVisited(values, value) {
976
+ for (var lp = values.length - 1; lp >= 0; lp--) {
977
+ if (values[lp] === value) {
978
+ return true;
979
+ }
980
+ }
981
+ return false;
982
+ }
983
+ function _getBaseFuncs(classProto, thisTarget, instFuncs, useBaseInst) {
984
+ function _instFuncProxy(target, funcHost, funcName) {
985
+ var theFunc = funcHost[funcName];
986
+ if (theFunc[DynProxyTag] && useBaseInst) {
987
+ var instFuncTable = target[DynInstFuncTable] || {};
988
+ if (instFuncTable[DynAllowInstChkTag] !== false) {
989
+ theFunc = (instFuncTable[funcHost[DynClassName]] || {})[funcName] || theFunc;
990
+ }
991
+ }
992
+ return function () {
993
+ return theFunc.apply(target, arguments);
994
+ };
995
+ }
996
+ var baseFuncs = {};
997
+ _forEachProp(instFuncs, function (name) {
998
+ baseFuncs[name] = _instFuncProxy(thisTarget, instFuncs, name);
999
+ });
1000
+ var baseProto = _getObjProto(classProto);
1001
+ var visited = [];
1002
+ while (baseProto && !_isObjectArrayOrFunctionPrototype(baseProto) && !_hasVisited(visited, baseProto)) {
1003
+ _forEachProp(baseProto, function (name) {
1004
+ if (!baseFuncs[name] && _isDynamicCandidate(baseProto, name, !_objGetPrototypeOf)) {
1005
+ baseFuncs[name] = _instFuncProxy(thisTarget, baseProto, name);
1006
+ }
1007
+ });
1008
+ visited.push(baseProto);
1009
+ baseProto = _getObjProto(baseProto);
1010
+ }
1011
+ return baseFuncs;
1012
+ }
1013
+ function _getInstFunc(target, funcName, proto, currentDynProtoProxy) {
1014
+ var instFunc = null;
1015
+ if (target && objHasOwnProperty(proto, DynClassName)) {
1016
+ var instFuncTable = target[DynInstFuncTable] || {};
1017
+ instFunc = (instFuncTable[proto[DynClassName]] || {})[funcName];
1018
+ if (!instFunc) {
1019
+ _throwTypeError("Missing [" + funcName + "] " + strFunction);
1020
+ }
1021
+ if (!instFunc[DynInstChkTag] && instFuncTable[DynAllowInstChkTag] !== false) {
1022
+ var canAddInst = !objHasOwnProperty(target, funcName);
1023
+ var objProto = _getObjProto(target);
1024
+ var visited = [];
1025
+ while (canAddInst && objProto && !_isObjectArrayOrFunctionPrototype(objProto) && !_hasVisited(visited, objProto)) {
1026
+ var protoFunc = objProto[funcName];
1027
+ if (protoFunc) {
1028
+ canAddInst = (protoFunc === currentDynProtoProxy);
1029
+ break;
1030
+ }
1031
+ visited.push(objProto);
1032
+ objProto = _getObjProto(objProto);
1033
+ }
1034
+ try {
1035
+ if (canAddInst) {
1036
+ target[funcName] = instFunc;
1037
+ }
1038
+ instFunc[DynInstChkTag] = 1;
1039
+ }
1040
+ catch (e) {
1041
+ instFuncTable[DynAllowInstChkTag] = false;
1042
+ }
1043
+ }
1044
+ }
1045
+ return instFunc;
1046
+ }
1047
+ function _getProtoFunc(funcName, proto, currentDynProtoProxy) {
1048
+ var protoFunc = proto[funcName];
1049
+ if (protoFunc === currentDynProtoProxy) {
1050
+ protoFunc = _getObjProto(proto)[funcName];
1051
+ }
1052
+ if (typeof protoFunc !== strFunction) {
1053
+ _throwTypeError("[" + funcName + "] is not a " + strFunction);
1054
+ }
1055
+ return protoFunc;
1056
+ }
1057
+ function _populatePrototype(proto, className, target, baseInstFuncs, setInstanceFunc) {
1058
+ function _createDynamicPrototype(proto, funcName) {
1059
+ var dynProtoProxy = function () {
1060
+ var instFunc = _getInstFunc(this, funcName, proto, dynProtoProxy) || _getProtoFunc(funcName, proto, dynProtoProxy);
1061
+ return instFunc.apply(this, arguments);
1062
+ };
1063
+ dynProtoProxy[DynProxyTag] = 1;
1064
+ return dynProtoProxy;
1065
+ }
1066
+ if (!_isObjectOrArrayPrototype(proto)) {
1067
+ var instFuncTable = target[DynInstFuncTable] = target[DynInstFuncTable] || {};
1068
+ var instFuncs_1 = instFuncTable[className] = (instFuncTable[className] || {});
1069
+ if (instFuncTable[DynAllowInstChkTag] !== false) {
1070
+ instFuncTable[DynAllowInstChkTag] = !!setInstanceFunc;
1071
+ }
1072
+ _forEachProp(target, function (name) {
1073
+ if (_isDynamicCandidate(target, name, false) && target[name] !== baseInstFuncs[name]) {
1074
+ instFuncs_1[name] = target[name];
1075
+ delete target[name];
1076
+ if (!objHasOwnProperty(proto, name) || (proto[name] && !proto[name][DynProxyTag])) {
1077
+ proto[name] = _createDynamicPrototype(proto, name);
1078
+ }
1079
+ }
1080
+ });
1081
+ }
1082
+ }
1083
+ function _checkPrototype(classProto, thisTarget) {
1084
+ if (_objGetPrototypeOf) {
1085
+ var visited = [];
1086
+ var thisProto = _getObjProto(thisTarget);
1087
+ while (thisProto && !_isObjectArrayOrFunctionPrototype(thisProto) && !_hasVisited(visited, thisProto)) {
1088
+ if (thisProto === classProto) {
1089
+ return true;
1090
+ }
1091
+ visited.push(thisProto);
1092
+ thisProto = _getObjProto(thisProto);
1093
+ }
1094
+ return false;
1095
+ }
1096
+ return true;
1097
+ }
1098
+ function _getObjName(target, unknownValue) {
1099
+ if (objHasOwnProperty(target, Prototype)) {
1100
+ return target.name || unknownValue || UnknownValue;
1101
+ }
1102
+ return (((target || {})[Constructor]) || {}).name || unknownValue || UnknownValue;
1103
+ }
1104
+ function dynamicProto(theClass, target, delegateFunc, options) {
1105
+ if (!objHasOwnProperty(theClass, Prototype)) {
1106
+ _throwTypeError("theClass is an invalid class definition.");
1107
+ }
1108
+ var classProto = theClass[Prototype];
1109
+ if (!_checkPrototype(classProto, target)) {
1110
+ _throwTypeError("[" + _getObjName(theClass) + "] not in hierarchy of [" + _getObjName(target) + "]");
1111
+ }
1112
+ var className = null;
1113
+ if (objHasOwnProperty(classProto, DynClassName)) {
1114
+ className = classProto[DynClassName];
1115
+ }
1116
+ else {
1117
+ className = DynClassNamePrefix + _getObjName(theClass, "_") + "$" + _gblInst.n;
1118
+ _gblInst.n++;
1119
+ classProto[DynClassName] = className;
1120
+ }
1121
+ var perfOptions = dynamicProto[DynProtoDefaultOptions];
1122
+ var useBaseInst = !!perfOptions[strUseBaseInst];
1123
+ if (useBaseInst && options && options[strUseBaseInst] !== undefined) {
1124
+ useBaseInst = !!options[strUseBaseInst];
1125
+ }
1126
+ var instFuncs = _getInstanceFuncs(target);
1127
+ var baseFuncs = _getBaseFuncs(classProto, target, instFuncs, useBaseInst);
1128
+ delegateFunc(target, baseFuncs);
1129
+ var setInstanceFunc = !!_objGetPrototypeOf && !!perfOptions[strSetInstFuncs];
1130
+ if (setInstanceFunc && options) {
1131
+ setInstanceFunc = !!options[strSetInstFuncs];
1132
+ }
1133
+ _populatePrototype(classProto, className, target, instFuncs, setInstanceFunc !== false);
1134
+ }
1135
+ dynamicProto[DynProtoDefaultOptions] = _gblInst.o;
1136
+
1137
+ var _DYN_TO_LOWER_CASE = "toLowerCase";
1138
+ var _DYN_BLK_VAL = "blkVal";
1139
+ var _DYN_LENGTH = "length";
1140
+ var _DYN_RD_ONLY = "rdOnly";
1141
+ var _DYN_NOTIFY = "notify";
1142
+ var _DYN_WARN_TO_CONSOLE = "warnToConsole";
1143
+ var _DYN_THROW_INTERNAL = "throwInternal";
1144
+ var _DYN_SET_DF = "setDf";
1145
+ var _DYN_WATCH = "watch";
1146
+ var _DYN_LOGGER = "logger";
1147
+ var _DYN_APPLY = "apply";
1148
+ var _DYN_PUSH = "push";
1149
+ var _DYN_SPLICE = "splice";
1150
+ var _DYN_HDLR = "hdlr";
1151
+ var _DYN_CANCEL = "cancel";
1152
+ var _DYN_INITIALIZE = "initialize";
1153
+ var _DYN_IDENTIFIER = "identifier";
1154
+ var _DYN_IS_INITIALIZED = "isInitialized";
1155
+ var _DYN_GET_PLUGIN = "getPlugin";
1156
+ var _DYN_NAME = "name";
1157
+ var _DYN_TIME = "time";
1158
+ var _DYN_PROCESS_NEXT = "processNext";
1159
+ var _DYN_GET_PROCESS_TEL_CONT0 = "getProcessTelContext";
1160
+ var _DYN_UNLOAD = "unload";
1161
+ var _DYN_LOGGING_LEVEL_CONSOL4 = "loggingLevelConsole";
1162
+ var _DYN_CREATE_NEW = "createNew";
1163
+ var _DYN_TEARDOWN = "teardown";
1164
+ var _DYN_MESSAGE_ID = "messageId";
1165
+ var _DYN_MESSAGE = "message";
1166
+ var _DYN_IS_ASYNC = "isAsync";
1167
+ var _DYN_DIAG_LOG = "diagLog";
1168
+ var _DYN__DO_TEARDOWN = "_doTeardown";
1169
+ var _DYN_UPDATE = "update";
1170
+ var _DYN_GET_NEXT = "getNext";
1171
+ var _DYN_SET_NEXT_PLUGIN = "setNextPlugin";
1172
+ var _DYN_USER_AGENT = "userAgent";
1173
+ var _DYN_SPLIT = "split";
1174
+ var _DYN_NODE_TYPE = "nodeType";
1175
+ var _DYN_REPLACE = "replace";
1176
+ var _DYN_LOG_INTERNAL_MESSAGE = "logInternalMessage";
1177
+ var _DYN_TYPE = "type";
1178
+ var _DYN_HANDLER = "handler";
1179
+ var _DYN_IS_CHILD_EVT = "isChildEvt";
1180
+ var _DYN_GET_CTX = "getCtx";
1181
+ var _DYN_SET_CTX = "setCtx";
1182
+ var _DYN_COMPLETE = "complete";
1183
+
1184
+ var aggregationErrorType;
1185
+ function throwAggregationError(message, sourceErrors) {
1186
+ if (!aggregationErrorType) {
1187
+ aggregationErrorType = createCustomError("AggregationError", function (self, args) {
1188
+ if (args[_DYN_LENGTH ] > 1) {
1189
+ self.errors = args[1];
1190
+ }
1191
+ });
1192
+ }
1193
+ var theMessage = message || "One or more errors occurred.";
1194
+ arrForEach(sourceErrors, function (srcError, idx) {
1195
+ theMessage += "\n".concat(idx, " > ").concat(dumpObj(srcError));
1196
+ });
1197
+ throw new aggregationErrorType(theMessage, sourceErrors || []);
1198
+ }
1199
+
1200
+ function doAwaitResponse(value, cb) {
1201
+ return doAwait(value, function (value) {
1202
+ cb && cb({
1203
+ value: value,
1204
+ rejected: false
1205
+ });
1206
+ }, function (reason) {
1207
+ cb && cb({
1208
+ rejected: true,
1209
+ reason: reason
1210
+ });
1211
+ });
1212
+ }
1213
+ function doAwait(value, resolveFn, rejectFn, finallyFn) {
1214
+ var result = value;
1215
+ if (isPromiseLike(value)) {
1216
+ if (resolveFn || rejectFn) {
1217
+ result = value.then(resolveFn, rejectFn);
1218
+ }
1219
+ }
1220
+ else {
1221
+ resolveFn && resolveFn(value);
1222
+ }
1223
+ if (finallyFn) {
1224
+ result = doFinally(result, finallyFn);
1225
+ }
1226
+ return result;
1227
+ }
1228
+ function doFinally(value, finallyFn) {
1229
+ var result = value;
1230
+ if (finallyFn) {
1231
+ if (isPromiseLike(value)) {
1232
+ if (value.finally) {
1233
+ result = value.finally(finallyFn);
1234
+ }
1235
+ else {
1236
+ result = value.then(function (value) {
1237
+ finallyFn();
1238
+ return value;
1239
+ }, function (reason) {
1240
+ finallyFn();
1241
+ throw reason;
1242
+ });
1243
+ }
1244
+ }
1245
+ else {
1246
+ finallyFn();
1247
+ }
1248
+ }
1249
+ return result;
1250
+ }
1251
+
1252
+ var UNDEFINED_VALUE = undefined;
1253
+ var STR_EMPTY = "";
1254
+ var STR_CORE = "core";
1255
+ var STR_DISABLED = "disabled";
1256
+ var STR_EXTENSION_CONFIG = "extensionConfig";
1257
+ var STR_PROCESS_TELEMETRY = "processTelemetry";
1258
+ var STR_PRIORITY = "priority";
1259
+ var STR_GET_PERF_MGR = "getPerfMgr";
1260
+ var STR_NOT_DYNAMIC_ERROR = "Not dynamic - ";
1261
+
1262
+ var rCamelCase = /-([a-z])/g;
1263
+ var rNormalizeInvalid = /([^\w\d_$])/g;
1264
+ var rLeadingNumeric = /^(\d+[\w\d_$])/;
1265
+ function isNotNullOrUndefined(value) {
1266
+ return !isNullOrUndefined(value);
1267
+ }
1268
+ function normalizeJsName(name) {
1269
+ var value = name;
1270
+ if (value && isString(value)) {
1271
+ value = value[_DYN_REPLACE ](rCamelCase, function (_all, letter) {
1272
+ return letter.toUpperCase();
1273
+ });
1274
+ value = value[_DYN_REPLACE ](rNormalizeInvalid, "_");
1275
+ value = value[_DYN_REPLACE ](rLeadingNumeric, function (_all, match) {
1276
+ return "_" + match;
1277
+ });
1278
+ }
1279
+ return value;
1280
+ }
1281
+ function strContains(value, search) {
1282
+ if (value && search) {
1283
+ return strIndexOf(value, search) !== -1;
1284
+ }
1285
+ return false;
1286
+ }
1287
+ function _createProxyFunction(source, funcName) {
1288
+ var srcFunc = null;
1289
+ var src = null;
1290
+ if (isFunction(source)) {
1291
+ srcFunc = source;
1292
+ }
1293
+ else {
1294
+ src = source;
1295
+ }
1296
+ return function () {
1297
+ var originalArguments = arguments;
1298
+ if (srcFunc) {
1299
+ src = srcFunc();
1300
+ }
1301
+ if (src) {
1302
+ return src[funcName][_DYN_APPLY ](src, originalArguments);
1303
+ }
1304
+ };
1305
+ }
1306
+ function proxyFunctionAs(target, name, source, theFunc, overwriteTarget) {
1307
+ if (target && name && source) {
1308
+ if (overwriteTarget !== false || isUndefined(target[name])) {
1309
+ target[name] = _createProxyFunction(source, theFunc);
1310
+ }
1311
+ }
1312
+ }
1313
+
1314
+ var strConsole = "console";
1315
+ var strJSON = "JSON";
1316
+ var strCrypto = "crypto";
1317
+ var strMsCrypto = "msCrypto";
1318
+ var strMsie = "msie";
1319
+ var strTrident = "trident/";
1320
+ var strXMLHttpRequest = "XMLHttpRequest";
1321
+ var _isTrident = null;
1322
+ var _navUserAgentCheck = null;
1323
+ function _hasProperty(theClass, property) {
1324
+ var supported = false;
1325
+ if (theClass) {
1326
+ try {
1327
+ supported = property in theClass;
1328
+ if (!supported) {
1329
+ var proto = theClass[strShimPrototype];
1330
+ if (proto) {
1331
+ supported = property in proto;
1332
+ }
1333
+ }
1334
+ }
1335
+ catch (e) {
1336
+ }
1337
+ if (!supported) {
1338
+ try {
1339
+ var tmp = new theClass();
1340
+ supported = !isUndefined(tmp[property]);
1341
+ }
1342
+ catch (e) {
1343
+ }
1344
+ }
1345
+ }
1346
+ return supported;
1347
+ }
1348
+ function getConsole() {
1349
+ if (typeof console !== strShimUndefined) {
1350
+ return console;
1351
+ }
1352
+ return getInst(strConsole);
1353
+ }
1354
+ function hasJSON() {
1355
+ return Boolean((typeof JSON === strShimObject && JSON) || getInst(strJSON) !== null);
1356
+ }
1357
+ function getJSON() {
1358
+ if (hasJSON()) {
1359
+ return JSON || getInst(strJSON);
1360
+ }
1361
+ return null;
1362
+ }
1363
+ function getCrypto() {
1364
+ return getInst(strCrypto);
1365
+ }
1366
+ function getMsCrypto() {
1367
+ return getInst(strMsCrypto);
1368
+ }
1369
+ function isIE() {
1370
+ var nav = getNavigator();
1371
+ if (nav && (nav[_DYN_USER_AGENT ] !== _navUserAgentCheck || _isTrident === null)) {
1372
+ _navUserAgentCheck = nav[_DYN_USER_AGENT ];
1373
+ var userAgent = (_navUserAgentCheck || STR_EMPTY)[_DYN_TO_LOWER_CASE ]();
1374
+ _isTrident = (strContains(userAgent, strMsie) || strContains(userAgent, strTrident));
1375
+ }
1376
+ return _isTrident;
1377
+ }
1378
+ function isFetchSupported(withKeepAlive) {
1379
+ var isSupported = false;
1380
+ try {
1381
+ isSupported = !!getInst("fetch");
1382
+ var request = getInst("Request");
1383
+ if (isSupported && withKeepAlive && request) {
1384
+ isSupported = _hasProperty(request, "keepalive");
1385
+ }
1386
+ }
1387
+ catch (e) {
1388
+ }
1389
+ return isSupported;
1390
+ }
1391
+ function isXhrSupported() {
1392
+ var isSupported = false;
1393
+ try {
1394
+ var xmlHttpRequest = getInst(strXMLHttpRequest);
1395
+ isSupported = !!xmlHttpRequest;
1396
+ }
1397
+ catch (e) {
1398
+ }
1399
+ return isSupported;
1400
+ }
1401
+ function dispatchEvent(target, evnt) {
1402
+ if (target && target.dispatchEvent && evnt) {
1403
+ target.dispatchEvent(evnt);
1404
+ return true;
1405
+ }
1406
+ return false;
1407
+ }
1408
+ function createCustomDomEvent(eventName, details) {
1409
+ var event = null;
1410
+ var detail = { detail: details || null };
1411
+ if (isFunction(CustomEvent)) {
1412
+ event = new CustomEvent(eventName, detail);
1413
+ }
1414
+ else {
1415
+ var doc = getDocument();
1416
+ if (doc && doc.createEvent) {
1417
+ event = doc.createEvent("CustomEvent");
1418
+ event.initCustomEvent(eventName, true, true, detail);
1419
+ }
1420
+ }
1421
+ return event;
1422
+ }
1423
+ function sendCustomEvent(evtName, cfg, customDetails) {
1424
+ var global = getGlobal();
1425
+ if (global && global.CustomEvent) {
1426
+ try {
1427
+ var details = { cfg: cfg || null, customDetails: customDetails || null };
1428
+ return dispatchEvent(global, createCustomDomEvent(evtName, details));
1429
+ }
1430
+ catch (e) {
1431
+ }
1432
+ }
1433
+ return false;
1434
+ }
1435
+
1436
+ var UInt32Mask = 0x100000000;
1437
+ var MaxUInt32 = 0xffffffff;
1438
+ var SEED1 = 123456789;
1439
+ var SEED2 = 987654321;
1440
+ var _mwcSeeded = false;
1441
+ var _mwcW = SEED1;
1442
+ var _mwcZ = SEED2;
1443
+ function _mwcSeed(seedValue) {
1444
+ if (seedValue < 0) {
1445
+ seedValue >>>= 0;
1446
+ }
1447
+ _mwcW = (SEED1 + seedValue) & MaxUInt32;
1448
+ _mwcZ = (SEED2 - seedValue) & MaxUInt32;
1449
+ _mwcSeeded = true;
1450
+ }
1451
+ function _autoSeedMwc() {
1452
+ try {
1453
+ var now = utcNow() & 0x7fffffff;
1454
+ _mwcSeed(((Math.random() * UInt32Mask) ^ now) + now);
1455
+ }
1456
+ catch (e) {
1457
+ }
1458
+ }
1459
+ function random32(signed) {
1460
+ var value = 0;
1461
+ var c = getCrypto() || getMsCrypto();
1462
+ if (c && c.getRandomValues) {
1463
+ value = c.getRandomValues(new Uint32Array(1))[0] & MaxUInt32;
1464
+ }
1465
+ if (value === 0 && isIE()) {
1466
+ if (!_mwcSeeded) {
1467
+ _autoSeedMwc();
1468
+ }
1469
+ value = mwcRandom32() & MaxUInt32;
1470
+ }
1471
+ if (value === 0) {
1472
+ value = Math.floor((UInt32Mask * Math.random()) | 0);
1473
+ }
1474
+ if (!signed) {
1475
+ value >>>= 0;
1476
+ }
1477
+ return value;
1478
+ }
1479
+ function mwcRandom32(signed) {
1480
+ _mwcZ = (36969 * (_mwcZ & 0xFFFF) + (_mwcZ >> 16)) & MaxUInt32;
1481
+ _mwcW = (18000 * (_mwcW & 0xFFFF) + (_mwcW >> 16)) & MaxUInt32;
1482
+ var value = (((_mwcZ << 16) + (_mwcW & 0xFFFF)) >>> 0) & MaxUInt32 | 0;
1483
+ if (!signed) {
1484
+ value >>>= 0;
1485
+ }
1486
+ return value;
1487
+ }
1488
+ function newId(maxLength) {
1489
+ if (maxLength === void 0) { maxLength = 22; }
1490
+ var base64chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
1491
+ var number = random32() >>> 0;
1492
+ var chars = 0;
1493
+ var result = STR_EMPTY;
1494
+ while (result[_DYN_LENGTH ] < maxLength) {
1495
+ chars++;
1496
+ result += base64chars.charAt(number & 0x3F);
1497
+ number >>>= 6;
1498
+ if (chars === 5) {
1499
+ number = (((random32() << 2) & 0xFFFFFFFF) | (number & 0x03)) >>> 0;
1500
+ chars = 0;
1501
+ }
1502
+ }
1503
+ return result;
1504
+ }
1505
+
1506
+ var version = '3.0.3';
1507
+ var instanceName = "." + newId(6);
1508
+ var _dataUid = 0;
1509
+ function _canAcceptData(target) {
1510
+ return target[_DYN_NODE_TYPE ] === 1 || target[_DYN_NODE_TYPE ] === 9 || !(+target[_DYN_NODE_TYPE ]);
1511
+ }
1512
+ function _getCache(data, target) {
1513
+ var theCache = target[data.id];
1514
+ if (!theCache) {
1515
+ theCache = {};
1516
+ try {
1517
+ if (_canAcceptData(target)) {
1518
+ objDefine(target, data.id, {
1519
+ e: false,
1520
+ v: theCache
1521
+ });
1522
+ }
1523
+ }
1524
+ catch (e) {
1525
+ }
1526
+ }
1527
+ return theCache;
1528
+ }
1529
+ function createUniqueNamespace(name, includeVersion) {
1530
+ if (includeVersion === void 0) { includeVersion = false; }
1531
+ return normalizeJsName(name + (_dataUid++) + (includeVersion ? "." + version : STR_EMPTY) + instanceName);
1532
+ }
1533
+ function createElmNodeData(name) {
1534
+ var data = {
1535
+ id: createUniqueNamespace("_aiData-" + (name || STR_EMPTY) + "." + version),
1536
+ accept: function (target) {
1537
+ return _canAcceptData(target);
1538
+ },
1539
+ get: function (target, name, defValue, addDefault) {
1540
+ var theCache = target[data.id];
1541
+ if (!theCache) {
1542
+ if (addDefault) {
1543
+ theCache = _getCache(data, target);
1544
+ theCache[normalizeJsName(name)] = defValue;
1545
+ }
1546
+ return defValue;
1547
+ }
1548
+ return theCache[normalizeJsName(name)];
1549
+ },
1550
+ kill: function (target, name) {
1551
+ if (target && target[name]) {
1552
+ try {
1553
+ delete target[name];
1554
+ }
1555
+ catch (e) {
1556
+ }
1557
+ }
1558
+ }
1559
+ };
1560
+ return data;
1561
+ }
1562
+
1563
+ function _isConfigDefaults(value) {
1564
+ return (value && isObject(value) && (value.isVal || value.fb || objHasOwn(value, "v") || objHasOwn(value, "mrg") || objHasOwn(value, "ref") || value.set));
1565
+ }
1566
+ function _getDefault(dynamicHandler, theConfig, cfgDefaults) {
1567
+ var defValue;
1568
+ var isDefaultValid = cfgDefaults.dfVal || isDefined;
1569
+ if (theConfig && cfgDefaults.fb) {
1570
+ var fallbacks = cfgDefaults.fb;
1571
+ if (!isArray(fallbacks)) {
1572
+ fallbacks = [fallbacks];
1573
+ }
1574
+ for (var lp = 0; lp < fallbacks[_DYN_LENGTH ]; lp++) {
1575
+ var fallback = fallbacks[lp];
1576
+ var fbValue = theConfig[fallback];
1577
+ if (isDefaultValid(fbValue)) {
1578
+ defValue = fbValue;
1579
+ }
1580
+ else if (dynamicHandler) {
1581
+ fbValue = dynamicHandler.cfg[fallback];
1582
+ if (isDefaultValid(fbValue)) {
1583
+ defValue = fbValue;
1584
+ }
1585
+ dynamicHandler.set(dynamicHandler.cfg, asString(fallback), fbValue);
1586
+ }
1587
+ if (isDefaultValid(defValue)) {
1588
+ break;
1589
+ }
1590
+ }
1591
+ }
1592
+ if (!isDefaultValid(defValue) && isDefaultValid(cfgDefaults.v)) {
1593
+ defValue = cfgDefaults.v;
1594
+ }
1595
+ return defValue;
1596
+ }
1597
+ function _resolveDefaultValue(dynamicHandler, theConfig, cfgDefaults) {
1598
+ var theValue = cfgDefaults;
1599
+ if (cfgDefaults && _isConfigDefaults(cfgDefaults)) {
1600
+ theValue = _getDefault(dynamicHandler, theConfig, cfgDefaults);
1601
+ }
1602
+ if (theValue) {
1603
+ if (_isConfigDefaults(theValue)) {
1604
+ theValue = _resolveDefaultValue(dynamicHandler, theConfig, theValue);
1605
+ }
1606
+ var newValue_1;
1607
+ if (isArray(theValue)) {
1608
+ newValue_1 = [];
1609
+ newValue_1[_DYN_LENGTH ] = theValue[_DYN_LENGTH ];
1610
+ }
1611
+ else if (isPlainObject(theValue)) {
1612
+ newValue_1 = {};
1613
+ }
1614
+ if (newValue_1) {
1615
+ objForEachKey(theValue, function (key, value) {
1616
+ if (value && _isConfigDefaults(value)) {
1617
+ value = _resolveDefaultValue(dynamicHandler, theConfig, value);
1618
+ }
1619
+ newValue_1[key] = value;
1620
+ });
1621
+ theValue = newValue_1;
1622
+ }
1623
+ }
1624
+ return theValue;
1625
+ }
1626
+ function _applyDefaultValue(dynamicHandler, theConfig, name, defaultValue) {
1627
+ var isValid;
1628
+ var setFn;
1629
+ var defValue;
1630
+ var cfgDefaults = defaultValue;
1631
+ var mergeDf;
1632
+ var reference;
1633
+ var readOnly;
1634
+ var blkDynamicValue;
1635
+ if (_isConfigDefaults(cfgDefaults)) {
1636
+ isValid = cfgDefaults.isVal;
1637
+ setFn = cfgDefaults.set;
1638
+ readOnly = cfgDefaults[_DYN_RD_ONLY ];
1639
+ blkDynamicValue = cfgDefaults[_DYN_BLK_VAL ];
1640
+ mergeDf = cfgDefaults.mrg;
1641
+ reference = cfgDefaults.ref;
1642
+ if (!reference && isUndefined(reference)) {
1643
+ reference = !!mergeDf;
1644
+ }
1645
+ defValue = _getDefault(dynamicHandler, theConfig, cfgDefaults);
1646
+ }
1647
+ else {
1648
+ defValue = defaultValue;
1649
+ }
1650
+ if (blkDynamicValue) {
1651
+ dynamicHandler[_DYN_BLK_VAL ](theConfig, name);
1652
+ }
1653
+ var theValue;
1654
+ var usingDefault = true;
1655
+ var cfgValue = theConfig[name];
1656
+ if (cfgValue || !isNullOrUndefined(cfgValue)) {
1657
+ theValue = cfgValue;
1658
+ usingDefault = false;
1659
+ if (isValid && theValue !== defValue && !isValid(theValue)) {
1660
+ theValue = defValue;
1661
+ usingDefault = true;
1662
+ }
1663
+ if (setFn) {
1664
+ theValue = setFn(theValue, defValue, theConfig);
1665
+ usingDefault = theValue === defValue;
1666
+ }
1667
+ }
1668
+ if (!usingDefault) {
1669
+ if (isPlainObject(theValue) || isArray(defValue)) {
1670
+ if (mergeDf && defValue && (isPlainObject(defValue) || isArray(defValue))) {
1671
+ objForEachKey(defValue, function (dfName, dfValue) {
1672
+ _applyDefaultValue(dynamicHandler, theValue, dfName, dfValue);
1673
+ });
1674
+ }
1675
+ }
1676
+ }
1677
+ else if (defValue) {
1678
+ theValue = _resolveDefaultValue(dynamicHandler, theConfig, defValue);
1679
+ }
1680
+ else {
1681
+ theValue = defValue;
1682
+ }
1683
+ dynamicHandler.set(theConfig, name, theValue);
1684
+ if (reference) {
1685
+ dynamicHandler.ref(theConfig, name);
1686
+ }
1687
+ if (readOnly) {
1688
+ dynamicHandler[_DYN_RD_ONLY ](theConfig, name);
1689
+ }
1690
+ }
1691
+
1692
+ var CFG_HANDLER_LINK = symbolFor("[[ai_dynCfg_1]]");
1693
+ var BLOCK_DYNAMIC = symbolFor("[[ai_blkDynCfg_1]]");
1694
+ var FORCE_DYNAMIC = symbolFor("[[ai_frcDynCfg_1]]");
1695
+ function _cfgDeepCopy(source) {
1696
+ if (source) {
1697
+ var target_1;
1698
+ if (isArray(source)) {
1699
+ target_1 = [];
1700
+ target_1[_DYN_LENGTH ] = source[_DYN_LENGTH ];
1701
+ }
1702
+ else if (isPlainObject(source)) {
1703
+ target_1 = {};
1704
+ }
1705
+ if (target_1) {
1706
+ objForEachKey(source, function (key, value) {
1707
+ target_1[key] = _cfgDeepCopy(value);
1708
+ });
1709
+ return target_1;
1710
+ }
1711
+ }
1712
+ return source;
1713
+ }
1714
+ function getDynamicConfigHandler(value) {
1715
+ if (value) {
1716
+ var handler = value[CFG_HANDLER_LINK] || value;
1717
+ if (handler.cfg && (handler.cfg === value || handler.cfg[CFG_HANDLER_LINK] === handler)) {
1718
+ return handler;
1719
+ }
1720
+ }
1721
+ return null;
1722
+ }
1723
+ function blockDynamicConversion(value) {
1724
+ if (value && (isPlainObject(value) || isArray(value))) {
1725
+ try {
1726
+ value[BLOCK_DYNAMIC] = true;
1727
+ }
1728
+ catch (e) {
1729
+ }
1730
+ }
1731
+ return value;
1732
+ }
1733
+ function _canMakeDynamic(getFunc, state, value) {
1734
+ var result = false;
1735
+ if (value && !getFunc[state.blkVal]) {
1736
+ result = value[FORCE_DYNAMIC];
1737
+ if (!result && !value[BLOCK_DYNAMIC]) {
1738
+ result = isPlainObject(value) || isArray(value);
1739
+ }
1740
+ }
1741
+ return result;
1742
+ }
1743
+ function throwInvalidAccess(message) {
1744
+ throwTypeError("InvalidAccess:" + message);
1745
+ }
1746
+
1747
+ var arrayMethodsToPatch = [
1748
+ "push",
1749
+ "pop",
1750
+ "shift",
1751
+ "unshift",
1752
+ "splice"
1753
+ ];
1754
+ var _throwDynamicError = function (logger, name, desc, e) {
1755
+ logger && logger[_DYN_THROW_INTERNAL ](3 , 108 , "".concat(desc, " [").concat(name, "] failed - ") + dumpObj(e));
1756
+ };
1757
+ function _patchArray(state, target, name) {
1758
+ if (isArray(target)) {
1759
+ arrForEach(arrayMethodsToPatch, function (method) {
1760
+ var orgMethod = target[method];
1761
+ target[method] = function () {
1762
+ var args = [];
1763
+ for (var _i = 0; _i < arguments.length; _i++) {
1764
+ args[_i] = arguments[_i];
1765
+ }
1766
+ var result = orgMethod[_DYN_APPLY ](this, args);
1767
+ _makeDynamicObject(state, target, name, "Patching");
1768
+ return result;
1769
+ };
1770
+ });
1771
+ }
1772
+ }
1773
+ function _getOwnPropGetter(target, name) {
1774
+ var propDesc = objGetOwnPropertyDescriptor(target, name);
1775
+ return propDesc && propDesc.get;
1776
+ }
1777
+ function _createDynamicProperty(state, theConfig, name, value) {
1778
+ var detail = {
1779
+ n: name,
1780
+ h: [],
1781
+ trk: function (handler) {
1782
+ if (handler && handler.fn) {
1783
+ if (arrIndexOf(detail.h, handler) === -1) {
1784
+ detail.h[_DYN_PUSH ](handler);
1785
+ }
1786
+ state.trk(handler, detail);
1787
+ }
1788
+ },
1789
+ clr: function (handler) {
1790
+ var idx = arrIndexOf(detail.h, handler);
1791
+ if (idx !== -1) {
1792
+ detail.h[_DYN_SPLICE ](idx, 1);
1793
+ }
1794
+ }
1795
+ };
1796
+ var checkDynamic = true;
1797
+ var isObjectOrArray = false;
1798
+ function _getProperty() {
1799
+ if (checkDynamic) {
1800
+ isObjectOrArray = isObjectOrArray || _canMakeDynamic(_getProperty, state, value);
1801
+ if (value && !value[CFG_HANDLER_LINK] && isObjectOrArray) {
1802
+ value = _makeDynamicObject(state, value, name, "Converting");
1803
+ }
1804
+ checkDynamic = false;
1805
+ }
1806
+ var activeHandler = state.act;
1807
+ if (activeHandler) {
1808
+ detail.trk(activeHandler);
1809
+ }
1810
+ return value;
1811
+ }
1812
+ _getProperty[state.prop] = {
1813
+ chng: function () {
1814
+ state.add(detail);
1815
+ }
1816
+ };
1817
+ function _setProperty(newValue) {
1818
+ if (value !== newValue) {
1819
+ if (!!_getProperty[state.ro] && !state.upd) {
1820
+ throwInvalidAccess("[" + name + "] is read-only:" + dumpObj(theConfig));
1821
+ }
1822
+ if (checkDynamic) {
1823
+ isObjectOrArray = isObjectOrArray || _canMakeDynamic(_getProperty, state, value);
1824
+ checkDynamic = false;
1825
+ }
1826
+ var isReferenced = isObjectOrArray && _getProperty[state.rf];
1827
+ if (isObjectOrArray) {
1828
+ if (isReferenced) {
1829
+ objForEachKey(value, function (key) {
1830
+ value[key] = newValue ? newValue[key] : UNDEFINED_VALUE;
1831
+ });
1832
+ try {
1833
+ objForEachKey(newValue, function (key, theValue) {
1834
+ _setDynamicProperty(state, value, key, theValue);
1835
+ });
1836
+ newValue = value;
1837
+ }
1838
+ catch (e) {
1839
+ _throwDynamicError((state.hdlr || {})[_DYN_LOGGER ], name, "Assigning", e);
1840
+ isObjectOrArray = false;
1841
+ }
1842
+ }
1843
+ else if (value && value[CFG_HANDLER_LINK]) {
1844
+ objForEachKey(value, function (key) {
1845
+ var getter = _getOwnPropGetter(value, key);
1846
+ if (getter) {
1847
+ var valueState = getter[state.prop];
1848
+ valueState && valueState.chng();
1849
+ }
1850
+ });
1851
+ }
1852
+ }
1853
+ if (newValue !== value) {
1854
+ var newIsObjectOrArray = newValue && _canMakeDynamic(_getProperty, state, newValue);
1855
+ if (!isReferenced && newIsObjectOrArray) {
1856
+ newValue = _makeDynamicObject(state, newValue, name, "Converting");
1857
+ }
1858
+ value = newValue;
1859
+ isObjectOrArray = newIsObjectOrArray;
1860
+ }
1861
+ state.add(detail);
1862
+ }
1863
+ }
1864
+ objDefine(theConfig, detail.n, { g: _getProperty, s: _setProperty });
1865
+ }
1866
+ function _setDynamicProperty(state, target, name, value) {
1867
+ if (target) {
1868
+ var getter = _getOwnPropGetter(target, name);
1869
+ var isDynamic = getter && !!getter[state.prop];
1870
+ if (!isDynamic) {
1871
+ _createDynamicProperty(state, target, name, value);
1872
+ }
1873
+ else {
1874
+ target[name] = value;
1875
+ }
1876
+ }
1877
+ return target;
1878
+ }
1879
+ function _setDynamicPropertyState(state, target, name, flags) {
1880
+ if (target) {
1881
+ var getter = _getOwnPropGetter(target, name);
1882
+ var isDynamic = getter && !!getter[state.prop];
1883
+ var inPlace = flags && flags[0 ];
1884
+ var rdOnly = flags && flags[1 ];
1885
+ var blkProp = flags && flags[2 ];
1886
+ if (!isDynamic) {
1887
+ if (blkProp) {
1888
+ try {
1889
+ blockDynamicConversion(target);
1890
+ }
1891
+ catch (e) {
1892
+ _throwDynamicError((state.hdlr || {})[_DYN_LOGGER ], name, "Blocking", e);
1893
+ }
1894
+ }
1895
+ try {
1896
+ _setDynamicProperty(state, target, name, target[name]);
1897
+ getter = _getOwnPropGetter(target, name);
1898
+ }
1899
+ catch (e) {
1900
+ _throwDynamicError((state.hdlr || {})[_DYN_LOGGER ], name, "State", e);
1901
+ }
1902
+ }
1903
+ if (inPlace) {
1904
+ getter[state.rf] = inPlace;
1905
+ }
1906
+ if (rdOnly) {
1907
+ getter[state.ro] = rdOnly;
1908
+ }
1909
+ if (blkProp) {
1910
+ getter[state.blkVal] = true;
1911
+ }
1912
+ }
1913
+ return target;
1914
+ }
1915
+ function _makeDynamicObject(state, target, name, desc) {
1916
+ try {
1917
+ objForEachKey(target, function (key, value) {
1918
+ _setDynamicProperty(state, target, key, value);
1919
+ });
1920
+ if (!target[CFG_HANDLER_LINK]) {
1921
+ objDefineProp(target, CFG_HANDLER_LINK, {
1922
+ get: function () {
1923
+ return state[_DYN_HDLR ];
1924
+ }
1925
+ });
1926
+ _patchArray(state, target, name);
1927
+ }
1928
+ }
1929
+ catch (e) {
1930
+ _throwDynamicError((state.hdlr || {})[_DYN_LOGGER ], name, desc, e);
1931
+ }
1932
+ return target;
1933
+ }
1934
+
1935
+ var symPrefix = "[[ai_";
1936
+ var symPostfix = "]]";
1937
+ function _createState(cfgHandler) {
1938
+ var _a;
1939
+ var dynamicPropertySymbol = newSymbol(symPrefix + "get" + cfgHandler.uid + symPostfix);
1940
+ var dynamicPropertyReadOnly = newSymbol(symPrefix + "ro" + cfgHandler.uid + symPostfix);
1941
+ var dynamicPropertyReferenced = newSymbol(symPrefix + "rf" + cfgHandler.uid + symPostfix);
1942
+ var dynamicPropertyBlockValue = newSymbol(symPrefix + "blkVal" + cfgHandler.uid + symPostfix);
1943
+ var dynamicPropertyDetail = newSymbol(symPrefix + "dtl" + cfgHandler.uid + symPostfix);
1944
+ var _waitingHandlers = null;
1945
+ var _watcherTimer = null;
1946
+ var theState;
1947
+ function _useHandler(activeHandler, callback) {
1948
+ var prevWatcher = theState.act;
1949
+ try {
1950
+ theState.act = activeHandler;
1951
+ if (activeHandler && activeHandler[dynamicPropertyDetail]) {
1952
+ arrForEach(activeHandler[dynamicPropertyDetail], function (detail) {
1953
+ detail.clr(activeHandler);
1954
+ });
1955
+ activeHandler[dynamicPropertyDetail] = [];
1956
+ }
1957
+ callback({
1958
+ cfg: cfgHandler.cfg,
1959
+ set: cfgHandler.set.bind(cfgHandler),
1960
+ setDf: cfgHandler[_DYN_SET_DF ].bind(cfgHandler),
1961
+ ref: cfgHandler.ref.bind(cfgHandler),
1962
+ rdOnly: cfgHandler[_DYN_RD_ONLY ].bind(cfgHandler)
1963
+ });
1964
+ }
1965
+ catch (e) {
1966
+ var logger = cfgHandler[_DYN_LOGGER ];
1967
+ if (logger) {
1968
+ logger[_DYN_THROW_INTERNAL ](1 , 107 , dumpObj(e));
1969
+ }
1970
+ throw e;
1971
+ }
1972
+ finally {
1973
+ theState.act = prevWatcher || null;
1974
+ }
1975
+ }
1976
+ function _notifyWatchers() {
1977
+ if (_waitingHandlers) {
1978
+ var notifyHandlers = _waitingHandlers;
1979
+ _waitingHandlers = null;
1980
+ _watcherTimer && _watcherTimer[_DYN_CANCEL ]();
1981
+ _watcherTimer = null;
1982
+ var watcherFailures_1 = [];
1983
+ arrForEach(notifyHandlers, function (handler) {
1984
+ if (handler) {
1985
+ if (handler[dynamicPropertyDetail]) {
1986
+ arrForEach(handler[dynamicPropertyDetail], function (detail) {
1987
+ detail.clr(handler);
1988
+ });
1989
+ handler[dynamicPropertyDetail] = null;
1990
+ }
1991
+ if (handler.fn) {
1992
+ try {
1993
+ _useHandler(handler, handler.fn);
1994
+ }
1995
+ catch (e) {
1996
+ watcherFailures_1[_DYN_PUSH ](e);
1997
+ }
1998
+ }
1999
+ }
2000
+ });
2001
+ if (_waitingHandlers) {
2002
+ try {
2003
+ _notifyWatchers();
2004
+ }
2005
+ catch (e) {
2006
+ watcherFailures_1[_DYN_PUSH ](e);
2007
+ }
2008
+ }
2009
+ if (watcherFailures_1[_DYN_LENGTH ] > 0) {
2010
+ throwAggregationError("Watcher error(s): ", watcherFailures_1);
2011
+ }
2012
+ }
2013
+ }
2014
+ function _addWatcher(detail) {
2015
+ if (detail && detail.h[_DYN_LENGTH ] > 0) {
2016
+ if (!_waitingHandlers) {
2017
+ _waitingHandlers = [];
2018
+ }
2019
+ if (!_watcherTimer) {
2020
+ _watcherTimer = scheduleTimeout(function () {
2021
+ _watcherTimer = null;
2022
+ _notifyWatchers();
2023
+ }, 0);
2024
+ }
2025
+ for (var idx = 0; idx < detail.h[_DYN_LENGTH ]; idx++) {
2026
+ var handler = detail.h[idx];
2027
+ if (handler && arrIndexOf(_waitingHandlers, handler) === -1) {
2028
+ _waitingHandlers[_DYN_PUSH ](handler);
2029
+ }
2030
+ }
2031
+ }
2032
+ }
2033
+ function _trackHandler(handler, detail) {
2034
+ if (handler) {
2035
+ var details = handler[dynamicPropertyDetail] = handler[dynamicPropertyDetail] || [];
2036
+ if (arrIndexOf(details, detail) === -1) {
2037
+ details[_DYN_PUSH ](detail);
2038
+ }
2039
+ }
2040
+ }
2041
+ theState = (_a = {
2042
+ prop: dynamicPropertySymbol,
2043
+ ro: dynamicPropertyReadOnly,
2044
+ rf: dynamicPropertyReferenced
2045
+ },
2046
+ _a[_DYN_BLK_VAL ] = dynamicPropertyBlockValue,
2047
+ _a[_DYN_HDLR ] = cfgHandler,
2048
+ _a.add = _addWatcher,
2049
+ _a[_DYN_NOTIFY ] = _notifyWatchers,
2050
+ _a.use = _useHandler,
2051
+ _a.trk = _trackHandler,
2052
+ _a);
2053
+ return theState;
2054
+ }
2055
+
2056
+ function _createAndUseHandler(state, configHandler) {
2057
+ var handler = {
2058
+ fn: configHandler,
2059
+ rm: function () {
2060
+ handler.fn = null;
2061
+ state = null;
2062
+ configHandler = null;
2063
+ }
2064
+ };
2065
+ state.use(handler, configHandler);
2066
+ return handler;
2067
+ }
2068
+ function _createDynamicHandler(logger, target, inPlace) {
2069
+ var _a;
2070
+ var dynamicHandler = getDynamicConfigHandler(target);
2071
+ if (dynamicHandler) {
2072
+ return dynamicHandler;
2073
+ }
2074
+ var uid = createUniqueNamespace("dyncfg", true);
2075
+ var newTarget = (target && inPlace !== false) ? target : _cfgDeepCopy(target);
2076
+ var theState;
2077
+ function _notifyWatchers() {
2078
+ theState[_DYN_NOTIFY ]();
2079
+ }
2080
+ function _setValue(target, name, value) {
2081
+ try {
2082
+ target = _setDynamicProperty(theState, target, name, value);
2083
+ }
2084
+ catch (e) {
2085
+ _throwDynamicError(logger, name, "Setting value", e);
2086
+ }
2087
+ return target[name];
2088
+ }
2089
+ function _watch(configHandler) {
2090
+ return _createAndUseHandler(theState, configHandler);
2091
+ }
2092
+ function _block(configHandler, allowUpdate) {
2093
+ theState.use(null, function (details) {
2094
+ var prevUpd = theState.upd;
2095
+ try {
2096
+ if (!isUndefined(allowUpdate)) {
2097
+ theState.upd = allowUpdate;
2098
+ }
2099
+ configHandler(details);
2100
+ }
2101
+ finally {
2102
+ theState.upd = prevUpd;
2103
+ }
2104
+ });
2105
+ }
2106
+ function _ref(target, name) {
2107
+ var _a;
2108
+ return _setDynamicPropertyState(theState, target, name, (_a = {}, _a[0 ] = true, _a))[name];
2109
+ }
2110
+ function _rdOnly(target, name) {
2111
+ var _a;
2112
+ return _setDynamicPropertyState(theState, target, name, (_a = {}, _a[1 ] = true, _a))[name];
2113
+ }
2114
+ function _blkPropValue(target, name) {
2115
+ var _a;
2116
+ return _setDynamicPropertyState(theState, target, name, (_a = {}, _a[2 ] = true, _a))[name];
2117
+ }
2118
+ function _applyDefaults(theConfig, defaultValues) {
2119
+ if (defaultValues) {
2120
+ objForEachKey(defaultValues, function (name, value) {
2121
+ _applyDefaultValue(cfgHandler, theConfig, name, value);
2122
+ });
2123
+ }
2124
+ return theConfig;
2125
+ }
2126
+ var cfgHandler = (_a = {
2127
+ uid: null,
2128
+ cfg: newTarget
2129
+ },
2130
+ _a[_DYN_LOGGER ] = logger,
2131
+ _a[_DYN_NOTIFY ] = _notifyWatchers,
2132
+ _a.set = _setValue,
2133
+ _a[_DYN_SET_DF ] = _applyDefaults,
2134
+ _a[_DYN_WATCH ] = _watch,
2135
+ _a.ref = _ref,
2136
+ _a[_DYN_RD_ONLY ] = _rdOnly,
2137
+ _a[_DYN_BLK_VAL ] = _blkPropValue,
2138
+ _a._block = _block,
2139
+ _a);
2140
+ objDefine(cfgHandler, "uid", {
2141
+ c: false,
2142
+ e: false,
2143
+ w: false,
2144
+ v: uid
2145
+ });
2146
+ theState = _createState(cfgHandler);
2147
+ _makeDynamicObject(theState, newTarget, "config", "Creating");
2148
+ return cfgHandler;
2149
+ }
2150
+ function _logInvalidAccess(logger, message) {
2151
+ if (logger) {
2152
+ logger[_DYN_WARN_TO_CONSOLE ](message);
2153
+ logger[_DYN_THROW_INTERNAL ](2 , 108 , message);
2154
+ }
2155
+ else {
2156
+ throwInvalidAccess(message);
2157
+ }
2158
+ }
2159
+ function createDynamicConfig(config, defaultConfig, logger, inPlace) {
2160
+ var dynamicHandler = _createDynamicHandler(logger, config || {}, inPlace);
2161
+ if (defaultConfig) {
2162
+ dynamicHandler[_DYN_SET_DF ](dynamicHandler.cfg, defaultConfig);
2163
+ }
2164
+ return dynamicHandler;
2165
+ }
2166
+ function onConfigChange(config, configHandler, logger) {
2167
+ var handler = config[CFG_HANDLER_LINK] || config;
2168
+ if (handler.cfg && (handler.cfg === config || handler.cfg[CFG_HANDLER_LINK] === handler)) {
2169
+ return handler[_DYN_WATCH ](configHandler);
2170
+ }
2171
+ _logInvalidAccess(logger, STR_NOT_DYNAMIC_ERROR + dumpObj(config));
2172
+ return createDynamicConfig(config, null, logger)[_DYN_WATCH ](configHandler);
2173
+ }
2174
+
2175
+ var _aiNamespace = null;
2176
+ function _getExtensionNamespace() {
2177
+ var target = getInst("Microsoft");
2178
+ if (target) {
2179
+ _aiNamespace = target["ApplicationInsights"];
2180
+ }
2181
+ return _aiNamespace;
2182
+ }
2183
+ function getDebugExt(config) {
2184
+ var ns = _aiNamespace;
2185
+ if (!ns && config.disableDbgExt !== true) {
2186
+ ns = _aiNamespace || _getExtensionNamespace();
2187
+ }
2188
+ return ns ? ns["ChromeDbgExt"] : null;
2189
+ }
2190
+
2191
+ var _a$2;
2192
+ var STR_WARN_TO_CONSOLE = "warnToConsole";
2193
+ var AiNonUserActionablePrefix = "AI (Internal): ";
2194
+ var AiUserActionablePrefix = "AI: ";
2195
+ var AIInternalMessagePrefix = "AITR_";
2196
+ var defaultValues$1 = {
2197
+ loggingLevelConsole: 0,
2198
+ loggingLevelTelemetry: 1,
2199
+ maxMessageLimit: 25,
2200
+ enableDebug: false
2201
+ };
2202
+ var _logFuncs = (_a$2 = {},
2203
+ _a$2[0 ] = null,
2204
+ _a$2[1 ] = "errorToConsole",
2205
+ _a$2[2 ] = STR_WARN_TO_CONSOLE,
2206
+ _a$2[3 ] = "debugToConsole",
2207
+ _a$2);
2208
+ function _sanitizeDiagnosticText(text) {
2209
+ if (text) {
2210
+ return "\"" + text[_DYN_REPLACE ](/\"/g, STR_EMPTY) + "\"";
2211
+ }
2212
+ return STR_EMPTY;
2213
+ }
2214
+ function _logToConsole(func, message) {
2215
+ var theConsole = getConsole();
2216
+ if (!!theConsole) {
2217
+ var logFunc = "log";
2218
+ if (theConsole[func]) {
2219
+ logFunc = func;
2220
+ }
2221
+ if (isFunction(theConsole[logFunc])) {
2222
+ theConsole[logFunc](message);
2223
+ }
2224
+ }
2225
+ }
2226
+ var _InternalLogMessage = /** @class */ (function () {
2227
+ function _InternalLogMessage(msgId, msg, isUserAct, properties) {
2228
+ if (isUserAct === void 0) { isUserAct = false; }
2229
+ var _self = this;
2230
+ _self[_DYN_MESSAGE_ID ] = msgId;
2231
+ _self[_DYN_MESSAGE ] =
2232
+ (isUserAct ? AiUserActionablePrefix : AiNonUserActionablePrefix) +
2233
+ msgId;
2234
+ var strProps = STR_EMPTY;
2235
+ if (hasJSON()) {
2236
+ strProps = getJSON().stringify(properties);
2237
+ }
2238
+ var diagnosticText = (msg ? " message:" + _sanitizeDiagnosticText(msg) : STR_EMPTY) +
2239
+ (properties ? " props:" + _sanitizeDiagnosticText(strProps) : STR_EMPTY);
2240
+ _self[_DYN_MESSAGE ] += diagnosticText;
2241
+ }
2242
+ _InternalLogMessage.dataType = "MessageData";
2243
+ return _InternalLogMessage;
2244
+ }());
2245
+ function safeGetLogger(core, config) {
2246
+ return (core || {})[_DYN_LOGGER ] || new DiagnosticLogger(config);
2247
+ }
2248
+ var DiagnosticLogger = /** @class */ (function () {
2249
+ function DiagnosticLogger(config) {
2250
+ this.identifier = "DiagnosticLogger";
2251
+ this.queue = [];
2252
+ var _messageCount = 0;
2253
+ var _messageLogged = {};
2254
+ var _loggingLevelConsole;
2255
+ var _loggingLevelTelemetry;
2256
+ var _maxInternalMessageLimit;
2257
+ var _enableDebug;
2258
+ var _unloadHandler;
2259
+ dynamicProto(DiagnosticLogger, this, function (_self) {
2260
+ _unloadHandler = _setDefaultsFromConfig(config || {});
2261
+ _self.consoleLoggingLevel = function () { return _loggingLevelConsole; };
2262
+ _self[_DYN_THROW_INTERNAL ] = function (severity, msgId, msg, properties, isUserAct) {
2263
+ if (isUserAct === void 0) { isUserAct = false; }
2264
+ var message = new _InternalLogMessage(msgId, msg, isUserAct, properties);
2265
+ if (_enableDebug) {
2266
+ throw dumpObj(message);
2267
+ }
2268
+ else {
2269
+ var logFunc = _logFuncs[severity] || STR_WARN_TO_CONSOLE;
2270
+ if (!isUndefined(message[_DYN_MESSAGE ])) {
2271
+ if (isUserAct) {
2272
+ var messageKey = +message[_DYN_MESSAGE_ID ];
2273
+ if (!_messageLogged[messageKey] && _loggingLevelConsole >= severity) {
2274
+ _self[logFunc](message[_DYN_MESSAGE ]);
2275
+ _messageLogged[messageKey] = true;
2276
+ }
2277
+ }
2278
+ else {
2279
+ if (_loggingLevelConsole >= severity) {
2280
+ _self[logFunc](message[_DYN_MESSAGE ]);
2281
+ }
2282
+ }
2283
+ _logInternalMessage(severity, message);
2284
+ }
2285
+ else {
2286
+ _debugExtMsg("throw" + (severity === 1 ? "Critical" : "Warning"), message);
2287
+ }
2288
+ }
2289
+ };
2290
+ _self.debugToConsole = function (message) {
2291
+ _logToConsole("debug", message);
2292
+ _debugExtMsg("warning", message);
2293
+ };
2294
+ _self[_DYN_WARN_TO_CONSOLE ] = function (message) {
2295
+ _logToConsole("warn", message);
2296
+ _debugExtMsg("warning", message);
2297
+ };
2298
+ _self.errorToConsole = function (message) {
2299
+ _logToConsole("error", message);
2300
+ _debugExtMsg("error", message);
2301
+ };
2302
+ _self.resetInternalMessageCount = function () {
2303
+ _messageCount = 0;
2304
+ _messageLogged = {};
2305
+ };
2306
+ _self[_DYN_LOG_INTERNAL_MESSAGE ] = _logInternalMessage;
2307
+ _self[_DYN_UNLOAD ] = function (isAsync) {
2308
+ _unloadHandler && _unloadHandler.rm();
2309
+ _unloadHandler = null;
2310
+ };
2311
+ function _logInternalMessage(severity, message) {
2312
+ if (_areInternalMessagesThrottled()) {
2313
+ return;
2314
+ }
2315
+ var logMessage = true;
2316
+ var messageKey = AIInternalMessagePrefix + message[_DYN_MESSAGE_ID ];
2317
+ if (_messageLogged[messageKey]) {
2318
+ logMessage = false;
2319
+ }
2320
+ else {
2321
+ _messageLogged[messageKey] = true;
2322
+ }
2323
+ if (logMessage) {
2324
+ if (severity <= _loggingLevelTelemetry) {
2325
+ _self.queue[_DYN_PUSH ](message);
2326
+ _messageCount++;
2327
+ _debugExtMsg((severity === 1 ? "error" : "warn"), message);
2328
+ }
2329
+ if (_messageCount === _maxInternalMessageLimit) {
2330
+ var throttleLimitMessage = "Internal events throttle limit per PageView reached for this app.";
2331
+ var throttleMessage = new _InternalLogMessage(23 , throttleLimitMessage, false);
2332
+ _self.queue[_DYN_PUSH ](throttleMessage);
2333
+ if (severity === 1 ) {
2334
+ _self.errorToConsole(throttleLimitMessage);
2335
+ }
2336
+ else {
2337
+ _self[_DYN_WARN_TO_CONSOLE ](throttleLimitMessage);
2338
+ }
2339
+ }
2340
+ }
2341
+ }
2342
+ function _setDefaultsFromConfig(config) {
2343
+ return onConfigChange(createDynamicConfig(config, defaultValues$1, _self).cfg, function (details) {
2344
+ var config = details.cfg;
2345
+ _loggingLevelConsole = config[_DYN_LOGGING_LEVEL_CONSOL4 ];
2346
+ _loggingLevelTelemetry = config.loggingLevelTelemetry;
2347
+ _maxInternalMessageLimit = config.maxMessageLimit;
2348
+ _enableDebug = config.enableDebug;
2349
+ });
2350
+ }
2351
+ function _areInternalMessagesThrottled() {
2352
+ return _messageCount >= _maxInternalMessageLimit;
2353
+ }
2354
+ function _debugExtMsg(name, data) {
2355
+ var dbgExt = getDebugExt(config || {});
2356
+ if (dbgExt && dbgExt[_DYN_DIAG_LOG ]) {
2357
+ dbgExt[_DYN_DIAG_LOG ](name, data);
2358
+ }
2359
+ }
2360
+ });
2361
+ }
2362
+ DiagnosticLogger.__ieDyn=1;
2363
+ return DiagnosticLogger;
2364
+ }());
2365
+ function _getLogger(logger) {
2366
+ return (logger || new DiagnosticLogger());
2367
+ }
2368
+ function _throwInternal(logger, severity, msgId, msg, properties, isUserAct) {
2369
+ if (isUserAct === void 0) { isUserAct = false; }
2370
+ _getLogger(logger)[_DYN_THROW_INTERNAL ](severity, msgId, msg, properties, isUserAct);
2371
+ }
2372
+
2373
+ var strExecutionContextKey = "ctx";
2374
+ var strParentContextKey = "ParentContextKey";
2375
+ var strChildrenContextKey = "ChildrenContextKey";
2376
+ var PerfEvent = /** @class */ (function () {
2377
+ function PerfEvent(name, payloadDetails, isAsync) {
2378
+ var _self = this;
2379
+ _self.start = utcNow();
2380
+ _self[_DYN_NAME ] = name;
2381
+ _self[_DYN_IS_ASYNC ] = isAsync;
2382
+ _self[_DYN_IS_CHILD_EVT ] = function () { return false; };
2383
+ if (isFunction(payloadDetails)) {
2384
+ var theDetails_1;
2385
+ objDefine(_self, "payload", {
2386
+ g: function () {
2387
+ if (!theDetails_1 && isFunction(payloadDetails)) {
2388
+ theDetails_1 = payloadDetails();
2389
+ payloadDetails = null;
2390
+ }
2391
+ return theDetails_1;
2392
+ }
2393
+ });
2394
+ }
2395
+ _self[_DYN_GET_CTX ] = function (key) {
2396
+ if (key) {
2397
+ if (key === PerfEvent[strParentContextKey] || key === PerfEvent[strChildrenContextKey]) {
2398
+ return _self[key];
2399
+ }
2400
+ return (_self[strExecutionContextKey] || {})[key];
2401
+ }
2402
+ return null;
2403
+ };
2404
+ _self[_DYN_SET_CTX ] = function (key, value) {
2405
+ if (key) {
2406
+ if (key === PerfEvent[strParentContextKey]) {
2407
+ if (!_self[key]) {
2408
+ _self[_DYN_IS_CHILD_EVT ] = function () { return true; };
2409
+ }
2410
+ _self[key] = value;
2411
+ }
2412
+ else if (key === PerfEvent[strChildrenContextKey]) {
2413
+ _self[key] = value;
2414
+ }
2415
+ else {
2416
+ var ctx = _self[strExecutionContextKey] = _self[strExecutionContextKey] || {};
2417
+ ctx[key] = value;
2418
+ }
2419
+ }
2420
+ };
2421
+ _self[_DYN_COMPLETE ] = function () {
2422
+ var childTime = 0;
2423
+ var childEvts = _self[_DYN_GET_CTX ](PerfEvent[strChildrenContextKey]);
2424
+ if (isArray(childEvts)) {
2425
+ for (var lp = 0; lp < childEvts[_DYN_LENGTH ]; lp++) {
2426
+ var childEvt = childEvts[lp];
2427
+ if (childEvt) {
2428
+ childTime += childEvt[_DYN_TIME ];
2429
+ }
2430
+ }
2431
+ }
2432
+ _self[_DYN_TIME ] = utcNow() - _self.start;
2433
+ _self.exTime = _self[_DYN_TIME ] - childTime;
2434
+ _self[_DYN_COMPLETE ] = function () { };
2435
+ };
2436
+ }
2437
+ PerfEvent.ParentContextKey = "parent";
2438
+ PerfEvent.ChildrenContextKey = "childEvts";
2439
+ return PerfEvent;
2440
+ }());
2441
+ var doPerfActiveKey = "CoreUtils.doPerf";
2442
+ function doPerf(mgrSource, getSource, func, details, isAsync) {
2443
+ if (mgrSource) {
2444
+ var perfMgr = mgrSource;
2445
+ if (perfMgr[STR_GET_PERF_MGR]) {
2446
+ perfMgr = perfMgr[STR_GET_PERF_MGR]();
2447
+ }
2448
+ if (perfMgr) {
2449
+ var perfEvt = void 0;
2450
+ var currentActive = perfMgr[_DYN_GET_CTX ](doPerfActiveKey);
2451
+ try {
2452
+ perfEvt = perfMgr.create(getSource(), details, isAsync);
2453
+ if (perfEvt) {
2454
+ if (currentActive && perfEvt[_DYN_SET_CTX ]) {
2455
+ perfEvt[_DYN_SET_CTX ](PerfEvent[strParentContextKey], currentActive);
2456
+ if (currentActive[_DYN_GET_CTX ] && currentActive[_DYN_SET_CTX ]) {
2457
+ var children = currentActive[_DYN_GET_CTX ](PerfEvent[strChildrenContextKey]);
2458
+ if (!children) {
2459
+ children = [];
2460
+ currentActive[_DYN_SET_CTX ](PerfEvent[strChildrenContextKey], children);
2461
+ }
2462
+ children[_DYN_PUSH ](perfEvt);
2463
+ }
2464
+ }
2465
+ perfMgr[_DYN_SET_CTX ](doPerfActiveKey, perfEvt);
2466
+ return func(perfEvt);
2467
+ }
2468
+ }
2469
+ catch (ex) {
2470
+ if (perfEvt && perfEvt[_DYN_SET_CTX ]) {
2471
+ perfEvt[_DYN_SET_CTX ]("exception", ex);
2472
+ }
2473
+ }
2474
+ finally {
2475
+ if (perfEvt) {
2476
+ perfMgr.fire(perfEvt);
2477
+ }
2478
+ perfMgr[_DYN_SET_CTX ](doPerfActiveKey, currentActive);
2479
+ }
2480
+ }
2481
+ }
2482
+ return func();
2483
+ }
2484
+
2485
+ var pluginStateData = createElmNodeData("plugin");
2486
+ function _getPluginState(plugin) {
2487
+ return pluginStateData.get(plugin, "state", {}, true);
2488
+ }
2489
+
2490
+ var strTelemetryPluginChain = "TelemetryPluginChain";
2491
+ var strHasRunFlags = "_hasRun";
2492
+ var strGetTelCtx = "_getTelCtx";
2493
+ var _chainId = 0;
2494
+ function _getNextProxyStart(proxy, core, startAt) {
2495
+ while (proxy) {
2496
+ if (proxy[_DYN_GET_PLUGIN ]() === startAt) {
2497
+ return proxy;
2498
+ }
2499
+ proxy = proxy[_DYN_GET_NEXT ]();
2500
+ }
2501
+ return createTelemetryProxyChain([startAt], core.config || {}, core);
2502
+ }
2503
+ function _createInternalContext(telemetryChain, dynamicHandler, core, startAt) {
2504
+ var _nextProxy = null;
2505
+ var _onComplete = [];
2506
+ if (!dynamicHandler) {
2507
+ dynamicHandler = createDynamicConfig({}, null, core[_DYN_LOGGER ]);
2508
+ }
2509
+ if (startAt !== null) {
2510
+ _nextProxy = startAt ? _getNextProxyStart(telemetryChain, core, startAt) : telemetryChain;
2511
+ }
2512
+ var context = {
2513
+ _next: _moveNext,
2514
+ ctx: {
2515
+ core: function () {
2516
+ return core;
2517
+ },
2518
+ diagLog: function () {
2519
+ return safeGetLogger(core, dynamicHandler.cfg);
2520
+ },
2521
+ getCfg: function () {
2522
+ return dynamicHandler.cfg;
2523
+ },
2524
+ getExtCfg: _resolveExtCfg,
2525
+ getConfig: _getConfig,
2526
+ hasNext: function () {
2527
+ return !!_nextProxy;
2528
+ },
2529
+ getNext: function () {
2530
+ return _nextProxy;
2531
+ },
2532
+ setNext: function (nextPlugin) {
2533
+ _nextProxy = nextPlugin;
2534
+ },
2535
+ iterate: _iterateChain,
2536
+ onComplete: _addOnComplete
2537
+ }
2538
+ };
2539
+ function _addOnComplete(onComplete, that) {
2540
+ var args = [];
2541
+ for (var _i = 2; _i < arguments.length; _i++) {
2542
+ args[_i - 2] = arguments[_i];
2543
+ }
2544
+ if (onComplete) {
2545
+ _onComplete[_DYN_PUSH ]({
2546
+ func: onComplete,
2547
+ self: !isUndefined(that) ? that : context.ctx,
2548
+ args: args
2549
+ });
2550
+ }
2551
+ }
2552
+ function _moveNext() {
2553
+ var nextProxy = _nextProxy;
2554
+ _nextProxy = nextProxy ? nextProxy[_DYN_GET_NEXT ]() : null;
2555
+ if (!nextProxy) {
2556
+ var onComplete = _onComplete;
2557
+ if (onComplete && onComplete[_DYN_LENGTH ] > 0) {
2558
+ arrForEach(onComplete, function (completeDetails) {
2559
+ try {
2560
+ completeDetails.func.call(completeDetails.self, completeDetails.args);
2561
+ }
2562
+ catch (e) {
2563
+ _throwInternal(core[_DYN_LOGGER ], 2 , 73 , "Unexpected Exception during onComplete - " + dumpObj(e));
2564
+ }
2565
+ });
2566
+ _onComplete = [];
2567
+ }
2568
+ }
2569
+ return nextProxy;
2570
+ }
2571
+ function _getExtCfg(identifier, createIfMissing) {
2572
+ var idCfg = null;
2573
+ var cfg = dynamicHandler.cfg;
2574
+ if (cfg && identifier) {
2575
+ var extCfg = cfg[STR_EXTENSION_CONFIG ];
2576
+ if (!extCfg && createIfMissing) {
2577
+ extCfg = {};
2578
+ }
2579
+ cfg[STR_EXTENSION_CONFIG] = extCfg;
2580
+ extCfg = dynamicHandler.ref(cfg, STR_EXTENSION_CONFIG);
2581
+ if (extCfg) {
2582
+ idCfg = extCfg[identifier];
2583
+ if (!idCfg && createIfMissing) {
2584
+ idCfg = {};
2585
+ }
2586
+ extCfg[identifier] = idCfg;
2587
+ idCfg = dynamicHandler.ref(extCfg, identifier);
2588
+ }
2589
+ }
2590
+ return idCfg;
2591
+ }
2592
+ function _resolveExtCfg(identifier, defaultValues) {
2593
+ var newConfig = _getExtCfg(identifier, true);
2594
+ if (defaultValues) {
2595
+ objForEachKey(defaultValues, function (field, defaultValue) {
2596
+ if (isNullOrUndefined(newConfig[field])) {
2597
+ var cfgValue = dynamicHandler.cfg[field];
2598
+ if (cfgValue || !isNullOrUndefined(cfgValue)) {
2599
+ newConfig[field] = cfgValue;
2600
+ }
2601
+ }
2602
+ _applyDefaultValue(dynamicHandler, newConfig, field, defaultValue);
2603
+ });
2604
+ }
2605
+ return dynamicHandler[_DYN_SET_DF ](newConfig, defaultValues);
2606
+ }
2607
+ function _getConfig(identifier, field, defaultValue) {
2608
+ if (defaultValue === void 0) { defaultValue = false; }
2609
+ var theValue;
2610
+ var extConfig = _getExtCfg(identifier, false);
2611
+ var rootConfig = dynamicHandler.cfg;
2612
+ if (extConfig && (extConfig[field] || !isNullOrUndefined(extConfig[field]))) {
2613
+ theValue = extConfig[field];
2614
+ }
2615
+ else if (rootConfig[field] || !isNullOrUndefined(rootConfig[field])) {
2616
+ theValue = rootConfig[field];
2617
+ }
2618
+ return (theValue || !isNullOrUndefined(theValue)) ? theValue : defaultValue;
2619
+ }
2620
+ function _iterateChain(cb) {
2621
+ var nextPlugin;
2622
+ while (!!(nextPlugin = context._next())) {
2623
+ var plugin = nextPlugin[_DYN_GET_PLUGIN ]();
2624
+ if (plugin) {
2625
+ cb(plugin);
2626
+ }
2627
+ }
2628
+ }
2629
+ return context;
2630
+ }
2631
+ function createProcessTelemetryContext(telemetryChain, cfg, core, startAt) {
2632
+ var config = createDynamicConfig(cfg);
2633
+ var internalContext = _createInternalContext(telemetryChain, config, core, startAt);
2634
+ var context = internalContext.ctx;
2635
+ function _processNext(env) {
2636
+ var nextPlugin = internalContext._next();
2637
+ if (nextPlugin) {
2638
+ nextPlugin[STR_PROCESS_TELEMETRY ](env, context);
2639
+ }
2640
+ return !nextPlugin;
2641
+ }
2642
+ function _createNew(plugins, startAt) {
2643
+ if (plugins === void 0) { plugins = null; }
2644
+ if (isArray(plugins)) {
2645
+ plugins = createTelemetryProxyChain(plugins, config.cfg, core, startAt);
2646
+ }
2647
+ return createProcessTelemetryContext(plugins || context[_DYN_GET_NEXT ](), config.cfg, core, startAt);
2648
+ }
2649
+ context[_DYN_PROCESS_NEXT ] = _processNext;
2650
+ context[_DYN_CREATE_NEW ] = _createNew;
2651
+ return context;
2652
+ }
2653
+ function createProcessTelemetryUnloadContext(telemetryChain, core, startAt) {
2654
+ var config = createDynamicConfig(core.config);
2655
+ var internalContext = _createInternalContext(telemetryChain, config, core, startAt);
2656
+ var context = internalContext.ctx;
2657
+ function _processNext(unloadState) {
2658
+ var nextPlugin = internalContext._next();
2659
+ nextPlugin && nextPlugin[_DYN_UNLOAD ](context, unloadState);
2660
+ return !nextPlugin;
2661
+ }
2662
+ function _createNew(plugins, startAt) {
2663
+ if (plugins === void 0) { plugins = null; }
2664
+ if (isArray(plugins)) {
2665
+ plugins = createTelemetryProxyChain(plugins, config.cfg, core, startAt);
2666
+ }
2667
+ return createProcessTelemetryUnloadContext(plugins || context[_DYN_GET_NEXT ](), core, startAt);
2668
+ }
2669
+ context[_DYN_PROCESS_NEXT ] = _processNext;
2670
+ context[_DYN_CREATE_NEW ] = _createNew;
2671
+ return context;
2672
+ }
2673
+ function createProcessTelemetryUpdateContext(telemetryChain, core, startAt) {
2674
+ var config = createDynamicConfig(core.config);
2675
+ var internalContext = _createInternalContext(telemetryChain, config, core, startAt);
2676
+ var context = internalContext.ctx;
2677
+ function _processNext(updateState) {
2678
+ return context.iterate(function (plugin) {
2679
+ if (isFunction(plugin[_DYN_UPDATE ])) {
2680
+ plugin[_DYN_UPDATE ](context, updateState);
2681
+ }
2682
+ });
2683
+ }
2684
+ function _createNew(plugins, startAt) {
2685
+ if (plugins === void 0) { plugins = null; }
2686
+ if (isArray(plugins)) {
2687
+ plugins = createTelemetryProxyChain(plugins, config.cfg, core, startAt);
2688
+ }
2689
+ return createProcessTelemetryUpdateContext(plugins || context[_DYN_GET_NEXT ](), core, startAt);
2690
+ }
2691
+ context[_DYN_PROCESS_NEXT ] = _processNext;
2692
+ context[_DYN_CREATE_NEW ] = _createNew;
2693
+ return context;
2694
+ }
2695
+ function createTelemetryProxyChain(plugins, config, core, startAt) {
2696
+ var firstProxy = null;
2697
+ var add = startAt ? false : true;
2698
+ if (isArray(plugins) && plugins[_DYN_LENGTH ] > 0) {
2699
+ var lastProxy_1 = null;
2700
+ arrForEach(plugins, function (thePlugin) {
2701
+ if (!add && startAt === thePlugin) {
2702
+ add = true;
2703
+ }
2704
+ if (add && thePlugin && isFunction(thePlugin[STR_PROCESS_TELEMETRY ])) {
2705
+ var newProxy = createTelemetryPluginProxy(thePlugin, config, core);
2706
+ if (!firstProxy) {
2707
+ firstProxy = newProxy;
2708
+ }
2709
+ if (lastProxy_1) {
2710
+ lastProxy_1._setNext(newProxy);
2711
+ }
2712
+ lastProxy_1 = newProxy;
2713
+ }
2714
+ });
2715
+ }
2716
+ if (startAt && !firstProxy) {
2717
+ return createTelemetryProxyChain([startAt], config, core);
2718
+ }
2719
+ return firstProxy;
2720
+ }
2721
+ function createTelemetryPluginProxy(plugin, config, core) {
2722
+ var nextProxy = null;
2723
+ var hasProcessTelemetry = isFunction(plugin[STR_PROCESS_TELEMETRY ]);
2724
+ var hasSetNext = isFunction(plugin[_DYN_SET_NEXT_PLUGIN ]);
2725
+ var chainId;
2726
+ if (plugin) {
2727
+ chainId = plugin[_DYN_IDENTIFIER ] + "-" + plugin[STR_PRIORITY ] + "-" + _chainId++;
2728
+ }
2729
+ else {
2730
+ chainId = "Unknown-0-" + _chainId++;
2731
+ }
2732
+ var proxyChain = {
2733
+ getPlugin: function () {
2734
+ return plugin;
2735
+ },
2736
+ getNext: function () {
2737
+ return nextProxy;
2738
+ },
2739
+ processTelemetry: _processTelemetry,
2740
+ unload: _unloadPlugin,
2741
+ update: _updatePlugin,
2742
+ _id: chainId,
2743
+ _setNext: function (nextPlugin) {
2744
+ nextProxy = nextPlugin;
2745
+ }
2746
+ };
2747
+ function _getTelCtx() {
2748
+ var itemCtx;
2749
+ if (plugin && isFunction(plugin[strGetTelCtx])) {
2750
+ itemCtx = plugin[strGetTelCtx]();
2751
+ }
2752
+ if (!itemCtx) {
2753
+ itemCtx = createProcessTelemetryContext(proxyChain, config, core);
2754
+ }
2755
+ return itemCtx;
2756
+ }
2757
+ function _processChain(itemCtx, processPluginFn, name, details, isAsync) {
2758
+ var hasRun = false;
2759
+ var identifier = plugin ? plugin[_DYN_IDENTIFIER ] : strTelemetryPluginChain;
2760
+ var hasRunContext = itemCtx[strHasRunFlags];
2761
+ if (!hasRunContext) {
2762
+ hasRunContext = itemCtx[strHasRunFlags] = {};
2763
+ }
2764
+ itemCtx.setNext(nextProxy);
2765
+ if (plugin) {
2766
+ doPerf(itemCtx[STR_CORE ](), function () { return identifier + ":" + name; }, function () {
2767
+ hasRunContext[chainId] = true;
2768
+ try {
2769
+ var nextId = nextProxy ? nextProxy._id : STR_EMPTY;
2770
+ if (nextId) {
2771
+ hasRunContext[nextId] = false;
2772
+ }
2773
+ hasRun = processPluginFn(itemCtx);
2774
+ }
2775
+ catch (error) {
2776
+ var hasNextRun = nextProxy ? hasRunContext[nextProxy._id] : true;
2777
+ if (hasNextRun) {
2778
+ hasRun = true;
2779
+ }
2780
+ if (!nextProxy || !hasNextRun) {
2781
+ _throwInternal(itemCtx[_DYN_DIAG_LOG ](), 1 , 73 , "Plugin [" + identifier + "] failed during " + name + " - " + dumpObj(error) + ", run flags: " + dumpObj(hasRunContext));
2782
+ }
2783
+ }
2784
+ }, details, isAsync);
2785
+ }
2786
+ return hasRun;
2787
+ }
2788
+ function _processTelemetry(env, itemCtx) {
2789
+ itemCtx = itemCtx || _getTelCtx();
2790
+ function _callProcessTelemetry(itemCtx) {
2791
+ if (!plugin || !hasProcessTelemetry) {
2792
+ return false;
2793
+ }
2794
+ var pluginState = _getPluginState(plugin);
2795
+ if (pluginState[_DYN_TEARDOWN ] || pluginState[STR_DISABLED]) {
2796
+ return false;
2797
+ }
2798
+ if (hasSetNext) {
2799
+ plugin[_DYN_SET_NEXT_PLUGIN ](nextProxy);
2800
+ }
2801
+ plugin[STR_PROCESS_TELEMETRY ](env, itemCtx);
2802
+ return true;
2803
+ }
2804
+ if (!_processChain(itemCtx, _callProcessTelemetry, "processTelemetry", function () { return ({ item: env }); }, !(env.sync))) {
2805
+ itemCtx[_DYN_PROCESS_NEXT ](env);
2806
+ }
2807
+ }
2808
+ function _unloadPlugin(unloadCtx, unloadState) {
2809
+ function _callTeardown() {
2810
+ var hasRun = false;
2811
+ if (plugin) {
2812
+ var pluginState = _getPluginState(plugin);
2813
+ var pluginCore = plugin[STR_CORE] || pluginState[STR_CORE ];
2814
+ if (plugin && (!pluginCore || pluginCore === unloadCtx.core()) && !pluginState[_DYN_TEARDOWN ]) {
2815
+ pluginState[STR_CORE ] = null;
2816
+ pluginState[_DYN_TEARDOWN ] = true;
2817
+ pluginState[_DYN_IS_INITIALIZED ] = false;
2818
+ if (plugin[_DYN_TEARDOWN ] && plugin[_DYN_TEARDOWN ](unloadCtx, unloadState) === true) {
2819
+ hasRun = true;
2820
+ }
2821
+ }
2822
+ }
2823
+ return hasRun;
2824
+ }
2825
+ if (!_processChain(unloadCtx, _callTeardown, "unload", function () { }, unloadState[_DYN_IS_ASYNC ])) {
2826
+ unloadCtx[_DYN_PROCESS_NEXT ](unloadState);
2827
+ }
2828
+ }
2829
+ function _updatePlugin(updateCtx, updateState) {
2830
+ function _callUpdate() {
2831
+ var hasRun = false;
2832
+ if (plugin) {
2833
+ var pluginState = _getPluginState(plugin);
2834
+ var pluginCore = plugin[STR_CORE] || pluginState[STR_CORE ];
2835
+ if (plugin && (!pluginCore || pluginCore === updateCtx.core()) && !pluginState[_DYN_TEARDOWN ]) {
2836
+ if (plugin[_DYN_UPDATE ] && plugin[_DYN_UPDATE ](updateCtx, updateState) === true) {
2837
+ hasRun = true;
2838
+ }
2839
+ }
2840
+ }
2841
+ return hasRun;
2842
+ }
2843
+ if (!_processChain(updateCtx, _callUpdate, "update", function () { }, false)) {
2844
+ updateCtx[_DYN_PROCESS_NEXT ](updateState);
2845
+ }
2846
+ }
2847
+ return objFreeze(proxyChain);
2848
+ }
2849
+
2850
+ function createUnloadHandlerContainer() {
2851
+ var handlers = [];
2852
+ function _addHandler(handler) {
2853
+ if (handler) {
2854
+ handlers[_DYN_PUSH ](handler);
2855
+ }
2856
+ }
2857
+ function _runHandlers(unloadCtx, unloadState) {
2858
+ arrForEach(handlers, function (handler) {
2859
+ try {
2860
+ handler(unloadCtx, unloadState);
2861
+ }
2862
+ catch (e) {
2863
+ _throwInternal(unloadCtx[_DYN_DIAG_LOG ](), 2 , 73 , "Unexpected error calling unload handler - " + dumpObj(e));
2864
+ }
2865
+ });
2866
+ handlers = [];
2867
+ }
2868
+ return {
2869
+ add: _addHandler,
2870
+ run: _runHandlers
2871
+ };
2872
+ }
2873
+
2874
+ function createUnloadHookContainer() {
2875
+ var _hooks = [];
2876
+ function _doUnload(logger) {
2877
+ var oldHooks = _hooks;
2878
+ _hooks = [];
2879
+ arrForEach(oldHooks, function (fn) {
2880
+ try {
2881
+ (fn.rm || fn.remove).call(fn);
2882
+ }
2883
+ catch (e) {
2884
+ _throwInternal(logger, 2 , 73 , "Unloading:" + dumpObj(e));
2885
+ }
2886
+ });
2887
+ }
2888
+ function _addHook(hooks) {
2889
+ if (hooks) {
2890
+ arrAppend(_hooks, hooks);
2891
+ }
2892
+ }
2893
+ return {
2894
+ run: _doUnload,
2895
+ add: _addHook
2896
+ };
2897
+ }
2898
+
2899
+ var _a$1;
2900
+ var strGetPlugin = "getPlugin";
2901
+ var defaultValues = (_a$1 = {},
2902
+ _a$1[STR_EXTENSION_CONFIG] = { isVal: isNotNullOrUndefined, v: {} },
2903
+ _a$1);
2904
+ var BaseTelemetryPlugin = /** @class */ (function () {
2905
+ function BaseTelemetryPlugin() {
2906
+ var _self = this;
2907
+ var _isinitialized;
2908
+ var _rootCtx;
2909
+ var _nextPlugin;
2910
+ var _unloadHandlerContainer;
2911
+ var _hookContainer;
2912
+ _initDefaults();
2913
+ dynamicProto(BaseTelemetryPlugin, _self, function (_self) {
2914
+ _self[_DYN_INITIALIZE ] = function (config, core, extensions, pluginChain) {
2915
+ _setDefaults(config, core, pluginChain);
2916
+ _isinitialized = true;
2917
+ };
2918
+ _self[_DYN_TEARDOWN ] = function (unloadCtx, unloadState) {
2919
+ var _a;
2920
+ var core = _self[STR_CORE ];
2921
+ if (!core || (unloadCtx && core !== unloadCtx[STR_CORE ]())) {
2922
+ return;
2923
+ }
2924
+ var result;
2925
+ var unloadDone = false;
2926
+ var theUnloadCtx = unloadCtx || createProcessTelemetryUnloadContext(null, core, _nextPlugin && _nextPlugin[strGetPlugin] ? _nextPlugin[strGetPlugin]() : _nextPlugin);
2927
+ var theUnloadState = unloadState || (_a = {
2928
+ reason: 0
2929
+ },
2930
+ _a[_DYN_IS_ASYNC ] = false,
2931
+ _a);
2932
+ function _unloadCallback() {
2933
+ if (!unloadDone) {
2934
+ unloadDone = true;
2935
+ _unloadHandlerContainer.run(theUnloadCtx, unloadState);
2936
+ _hookContainer.run(theUnloadCtx[_DYN_DIAG_LOG ]());
2937
+ if (result === true) {
2938
+ theUnloadCtx[_DYN_PROCESS_NEXT ](theUnloadState);
2939
+ }
2940
+ _initDefaults();
2941
+ }
2942
+ }
2943
+ if (!_self[_DYN__DO_TEARDOWN ] || _self[_DYN__DO_TEARDOWN ](theUnloadCtx, theUnloadState, _unloadCallback) !== true) {
2944
+ _unloadCallback();
2945
+ }
2946
+ else {
2947
+ result = true;
2948
+ }
2949
+ return result;
2950
+ };
2951
+ _self[_DYN_UPDATE ] = function (updateCtx, updateState) {
2952
+ var core = _self[STR_CORE ];
2953
+ if (!core || (updateCtx && core !== updateCtx[STR_CORE ]())) {
2954
+ return;
2955
+ }
2956
+ var result;
2957
+ var updateDone = false;
2958
+ var theUpdateCtx = updateCtx || createProcessTelemetryUpdateContext(null, core, _nextPlugin && _nextPlugin[strGetPlugin] ? _nextPlugin[strGetPlugin]() : _nextPlugin);
2959
+ var theUpdateState = updateState || {
2960
+ reason: 0
2961
+ };
2962
+ function _updateCallback() {
2963
+ if (!updateDone) {
2964
+ updateDone = true;
2965
+ _setDefaults(theUpdateCtx.getCfg(), theUpdateCtx.core(), theUpdateCtx[_DYN_GET_NEXT ]());
2966
+ }
2967
+ }
2968
+ if (!_self._doUpdate || _self._doUpdate(theUpdateCtx, theUpdateState, _updateCallback) !== true) {
2969
+ _updateCallback();
2970
+ }
2971
+ else {
2972
+ result = true;
2973
+ }
2974
+ return result;
2975
+ };
2976
+ proxyFunctionAs(_self, "_addUnloadCb", function () { return _unloadHandlerContainer; }, "add");
2977
+ proxyFunctionAs(_self, "_addHook", function () { return _hookContainer; }, "add");
2978
+ objDefine(_self, "_unloadHooks", { g: function () { return _hookContainer; } });
2979
+ });
2980
+ _self[_DYN_DIAG_LOG ] = function (itemCtx) {
2981
+ return _getTelCtx(itemCtx)[_DYN_DIAG_LOG ]();
2982
+ };
2983
+ _self[_DYN_IS_INITIALIZED ] = function () {
2984
+ return _isinitialized;
2985
+ };
2986
+ _self.setInitialized = function (isInitialized) {
2987
+ _isinitialized = isInitialized;
2988
+ };
2989
+ _self[_DYN_SET_NEXT_PLUGIN ] = function (next) {
2990
+ _nextPlugin = next;
2991
+ };
2992
+ _self[_DYN_PROCESS_NEXT ] = function (env, itemCtx) {
2993
+ if (itemCtx) {
2994
+ itemCtx[_DYN_PROCESS_NEXT ](env);
2995
+ }
2996
+ else if (_nextPlugin && isFunction(_nextPlugin[STR_PROCESS_TELEMETRY ])) {
2997
+ _nextPlugin[STR_PROCESS_TELEMETRY ](env, null);
2998
+ }
2999
+ };
3000
+ _self._getTelCtx = _getTelCtx;
3001
+ function _getTelCtx(currentCtx) {
3002
+ if (currentCtx === void 0) { currentCtx = null; }
3003
+ var itemCtx = currentCtx;
3004
+ if (!itemCtx) {
3005
+ var rootCtx = _rootCtx || createProcessTelemetryContext(null, {}, _self[STR_CORE ]);
3006
+ if (_nextPlugin && _nextPlugin[strGetPlugin]) {
3007
+ itemCtx = rootCtx[_DYN_CREATE_NEW ](null, _nextPlugin[strGetPlugin]);
3008
+ }
3009
+ else {
3010
+ itemCtx = rootCtx[_DYN_CREATE_NEW ](null, _nextPlugin);
3011
+ }
3012
+ }
3013
+ return itemCtx;
3014
+ }
3015
+ function _setDefaults(config, core, pluginChain) {
3016
+ createDynamicConfig(config, defaultValues, safeGetLogger(core));
3017
+ if (!pluginChain && core) {
3018
+ pluginChain = core[_DYN_GET_PROCESS_TEL_CONT0 ]()[_DYN_GET_NEXT ]();
3019
+ }
3020
+ var nextPlugin = _nextPlugin;
3021
+ if (_nextPlugin && _nextPlugin[strGetPlugin]) {
3022
+ nextPlugin = _nextPlugin[strGetPlugin]();
3023
+ }
3024
+ _self[STR_CORE ] = core;
3025
+ _rootCtx = createProcessTelemetryContext(pluginChain, config, core, nextPlugin);
3026
+ }
3027
+ function _initDefaults() {
3028
+ _isinitialized = false;
3029
+ _self[STR_CORE ] = null;
3030
+ _rootCtx = null;
3031
+ _nextPlugin = null;
3032
+ _hookContainer = createUnloadHookContainer();
3033
+ _unloadHandlerContainer = createUnloadHandlerContainer();
3034
+ }
3035
+ }
3036
+ BaseTelemetryPlugin.__ieDyn=1;
3037
+ return BaseTelemetryPlugin;
3038
+ }());
3039
+
3040
+ var strOnPrefix = "on";
3041
+ var strAttachEvent = "attachEvent";
3042
+ var strAddEventHelper = "addEventListener";
3043
+ var strDetachEvent = "detachEvent";
3044
+ var strRemoveEventListener = "removeEventListener";
3045
+ var strEvents = "events";
3046
+ createUniqueNamespace("aiEvtPageHide");
3047
+ createUniqueNamespace("aiEvtPageShow");
3048
+ var rRemoveEmptyNs = /\.[\.]+/g;
3049
+ var rRemoveTrailingEmptyNs = /[\.]+$/;
3050
+ var _guid = 1;
3051
+ var elmNodeData = createElmNodeData("events");
3052
+ var eventNamespace = /^([^.]*)(?:\.(.+)|)/;
3053
+ function _normalizeNamespace(name) {
3054
+ if (name && name[_DYN_REPLACE ]) {
3055
+ return name[_DYN_REPLACE ](/^[\s\.]+|(?=[\s\.])[\.\s]+$/g, STR_EMPTY);
3056
+ }
3057
+ return name;
3058
+ }
3059
+ function _getEvtNamespace(eventName, evtNamespace) {
3060
+ var _a;
3061
+ if (evtNamespace) {
3062
+ var theNamespace_1 = STR_EMPTY;
3063
+ if (isArray(evtNamespace)) {
3064
+ theNamespace_1 = STR_EMPTY;
3065
+ arrForEach(evtNamespace, function (name) {
3066
+ name = _normalizeNamespace(name);
3067
+ if (name) {
3068
+ if (name[0] !== ".") {
3069
+ name = "." + name;
3070
+ }
3071
+ theNamespace_1 += name;
3072
+ }
3073
+ });
3074
+ }
3075
+ else {
3076
+ theNamespace_1 = _normalizeNamespace(evtNamespace);
3077
+ }
3078
+ if (theNamespace_1) {
3079
+ if (theNamespace_1[0] !== ".") {
3080
+ theNamespace_1 = "." + theNamespace_1;
3081
+ }
3082
+ eventName = (eventName || STR_EMPTY) + theNamespace_1;
3083
+ }
3084
+ }
3085
+ var parsedEvent = (eventNamespace.exec(eventName || STR_EMPTY) || []);
3086
+ return _a = {},
3087
+ _a[_DYN_TYPE ] = parsedEvent[1],
3088
+ _a.ns = ((parsedEvent[2] || STR_EMPTY).replace(rRemoveEmptyNs, ".").replace(rRemoveTrailingEmptyNs, STR_EMPTY)[_DYN_SPLIT ](".").sort()).join("."),
3089
+ _a;
3090
+ }
3091
+ function _getRegisteredEvents(target, evtName, addDefault) {
3092
+ if (addDefault === void 0) { addDefault = true; }
3093
+ var aiEvts = elmNodeData.get(target, strEvents, {}, addDefault);
3094
+ var registeredEvents = aiEvts[evtName];
3095
+ if (!registeredEvents) {
3096
+ registeredEvents = aiEvts[evtName] = [];
3097
+ }
3098
+ return registeredEvents;
3099
+ }
3100
+ function _doDetach(obj, evtName, handlerRef, useCapture) {
3101
+ if (obj && evtName && evtName[_DYN_TYPE ]) {
3102
+ if (obj[strRemoveEventListener]) {
3103
+ obj[strRemoveEventListener](evtName[_DYN_TYPE ], handlerRef, useCapture);
3104
+ }
3105
+ else if (obj[strDetachEvent]) {
3106
+ obj[strDetachEvent](strOnPrefix + evtName[_DYN_TYPE ], handlerRef);
3107
+ }
3108
+ }
3109
+ }
3110
+ function _doAttach(obj, evtName, handlerRef, useCapture) {
3111
+ var result = false;
3112
+ if (obj && evtName && evtName[_DYN_TYPE ] && handlerRef) {
3113
+ if (obj[strAddEventHelper]) {
3114
+ obj[strAddEventHelper](evtName[_DYN_TYPE ], handlerRef, useCapture);
3115
+ result = true;
3116
+ }
3117
+ else if (obj[strAttachEvent]) {
3118
+ obj[strAttachEvent](strOnPrefix + evtName[_DYN_TYPE ], handlerRef);
3119
+ result = true;
3120
+ }
3121
+ }
3122
+ return result;
3123
+ }
3124
+ function _doUnregister(target, events, evtName, unRegFn) {
3125
+ var idx = events[_DYN_LENGTH ];
3126
+ while (idx--) {
3127
+ var theEvent = events[idx];
3128
+ if (theEvent) {
3129
+ if (!evtName.ns || evtName.ns === theEvent.evtName.ns) {
3130
+ if (!unRegFn || unRegFn(theEvent)) {
3131
+ _doDetach(target, theEvent.evtName, theEvent[_DYN_HANDLER ], theEvent.capture);
3132
+ events[_DYN_SPLICE ](idx, 1);
3133
+ }
3134
+ }
3135
+ }
3136
+ }
3137
+ }
3138
+ function _unregisterEvents(target, evtName, unRegFn) {
3139
+ if (evtName[_DYN_TYPE ]) {
3140
+ _doUnregister(target, _getRegisteredEvents(target, evtName[_DYN_TYPE ]), evtName, unRegFn);
3141
+ }
3142
+ else {
3143
+ var eventCache = elmNodeData.get(target, strEvents, {});
3144
+ objForEachKey(eventCache, function (evtType, events) {
3145
+ _doUnregister(target, events, evtName, unRegFn);
3146
+ });
3147
+ if (objKeys(eventCache)[_DYN_LENGTH ] === 0) {
3148
+ elmNodeData.kill(target, strEvents);
3149
+ }
3150
+ }
3151
+ }
3152
+ function mergeEvtNamespace(theNamespace, namespaces) {
3153
+ var newNamespaces;
3154
+ if (namespaces) {
3155
+ if (isArray(namespaces)) {
3156
+ newNamespaces = [theNamespace].concat(namespaces);
3157
+ }
3158
+ else {
3159
+ newNamespaces = [theNamespace, namespaces];
3160
+ }
3161
+ newNamespaces = (_getEvtNamespace("xx", newNamespaces).ns)[_DYN_SPLIT ](".");
3162
+ }
3163
+ else {
3164
+ newNamespaces = theNamespace;
3165
+ }
3166
+ return newNamespaces;
3167
+ }
3168
+ function eventOn(target, eventName, handlerRef, evtNamespace, useCapture) {
3169
+ var _a;
3170
+ if (useCapture === void 0) { useCapture = false; }
3171
+ var result = false;
3172
+ if (target) {
3173
+ try {
3174
+ var evtName = _getEvtNamespace(eventName, evtNamespace);
3175
+ result = _doAttach(target, evtName, handlerRef, useCapture);
3176
+ if (result && elmNodeData.accept(target)) {
3177
+ var registeredEvent = (_a = {
3178
+ guid: _guid++,
3179
+ evtName: evtName
3180
+ },
3181
+ _a[_DYN_HANDLER ] = handlerRef,
3182
+ _a.capture = useCapture,
3183
+ _a);
3184
+ _getRegisteredEvents(target, evtName.type)[_DYN_PUSH ](registeredEvent);
3185
+ }
3186
+ }
3187
+ catch (e) {
3188
+ }
3189
+ }
3190
+ return result;
3191
+ }
3192
+ function eventOff(target, eventName, handlerRef, evtNamespace, useCapture) {
3193
+ if (useCapture === void 0) { useCapture = false; }
3194
+ if (target) {
3195
+ try {
3196
+ var evtName_1 = _getEvtNamespace(eventName, evtNamespace);
3197
+ var found_1 = false;
3198
+ _unregisterEvents(target, evtName_1, function (regEvent) {
3199
+ if ((evtName_1.ns && !handlerRef) || regEvent[_DYN_HANDLER ] === handlerRef) {
3200
+ found_1 = true;
3201
+ return true;
3202
+ }
3203
+ return false;
3204
+ });
3205
+ if (!found_1) {
3206
+ _doDetach(target, evtName_1, handlerRef, useCapture);
3207
+ }
3208
+ }
3209
+ catch (e) {
3210
+ }
3211
+ }
3212
+ }
3213
+
3214
+ var _DYN_FEATURE_OPT_IN = "featureOptIn";
3215
+ var _DYN_ON_CFG_CHANGE_RECEIV0 = "onCfgChangeReceive";
3216
+ var _DYN_NON_OVERRIDE_CONFIGS = "nonOverrideConfigs";
3217
+ var _DYN_SCHEDULE_FETCH_TIMEO1 = "scheduleFetchTimeout";
3218
+
3219
+ function replaceByNonOverrideCfg(cfg, nonOverrideConfigs, curLevel, maxLevel) {
3220
+ try {
3221
+ var exceedMaxLevel = curLevel > maxLevel;
3222
+ if (exceedMaxLevel) {
3223
+ cfg = null;
3224
+ }
3225
+ var curCfg_1 = curLevel == 0 ? objExtend({}, cfg) : cfg;
3226
+ if (curCfg_1 && nonOverrideConfigs && !exceedMaxLevel) {
3227
+ objForEachKey(curCfg_1, function (key) {
3228
+ var nonOverrideVal = nonOverrideConfigs[key];
3229
+ if (!!nonOverrideVal) {
3230
+ if (isObject(curCfg_1[key]) && isObject(nonOverrideVal)) {
3231
+ curCfg_1[key] = replaceByNonOverrideCfg(curCfg_1[key], nonOverrideVal, ++curLevel, maxLevel);
3232
+ }
3233
+ else {
3234
+ delete curCfg_1[key];
3235
+ }
3236
+ }
3237
+ });
3238
+ }
3239
+ return curCfg_1;
3240
+ }
3241
+ catch (e) {
3242
+ }
3243
+ return cfg;
3244
+ }
3245
+ var F = "featureOptIn.";
3246
+ var M = ".mode";
3247
+ var ON = ".onCfg";
3248
+ var OFF = ".offCfg";
3249
+ function resolveCdnFeatureCfg(field, cdnCfg, userOptInDetails) {
3250
+ var _a;
3251
+ if (!cdnCfg || !cdnCfg.enabled) {
3252
+ return null;
3253
+ }
3254
+ var cdnFt = (cdnCfg[_DYN_FEATURE_OPT_IN ] || {})[field] || { mode: 1 };
3255
+ var cdnM = cdnFt.mode;
3256
+ var cdnOnV = cdnFt.onCfg;
3257
+ var cdnOffV = cdnFt.offCfg;
3258
+ var userFt = (userOptInDetails || {})[field] || { mode: 2 };
3259
+ var userM = userFt.mode;
3260
+ var userOnV = userFt.onCfg;
3261
+ var userOffV = userFt.offCfg;
3262
+ var blockCdn = !!userFt.blockCdnCfg;
3263
+ var mFld = F + field + M;
3264
+ var onFld = F + field + ON;
3265
+ var offFld = F + field + OFF;
3266
+ var mode = userM;
3267
+ var onV = userOnV;
3268
+ var offV = userOffV;
3269
+ if (!blockCdn) {
3270
+ if (cdnM === 4 || cdnM === 5 ) {
3271
+ mode = (cdnM == 4 ? 3 : 2 );
3272
+ onV = cdnOnV || userOnV;
3273
+ offV = cdnOffV || userOffV;
3274
+ }
3275
+ else if (cdnM === 2 || userM === 2 ) {
3276
+ mode = 2 ;
3277
+ onV = userOnV || cdnOnV;
3278
+ offV = userOffV || cdnOffV;
3279
+ }
3280
+ else if (cdnM === 3 ) {
3281
+ mode = 3 ;
3282
+ onV = userOnV || cdnOnV;
3283
+ offV = userOffV || cdnOffV;
3284
+ }
3285
+ else if (cdnM === 1 && userM === 1 ) {
3286
+ mode = 1 ;
3287
+ }
3288
+ }
3289
+ return _a = {},
3290
+ _a[mFld] = mode,
3291
+ _a[onFld] = onV,
3292
+ _a[offFld] = offV,
3293
+ _a;
3294
+ }
3295
+ function applyCdnfeatureCfg(cdnCfg, core) {
3296
+ try {
3297
+ if (!cdnCfg || !cdnCfg.enabled) {
3298
+ return null;
3299
+ }
3300
+ if (!cdnCfg[_DYN_FEATURE_OPT_IN ]) {
3301
+ return cdnCfg.config;
3302
+ }
3303
+ var optInMap = cdnCfg[_DYN_FEATURE_OPT_IN ];
3304
+ var cdnConfig_1 = cdnCfg.config || {};
3305
+ objForEachKey(optInMap, function (key) {
3306
+ var featureVal = resolveCdnFeatureCfg(key, cdnCfg, core.config[_DYN_FEATURE_OPT_IN ]);
3307
+ if (!isNullOrUndefined(featureVal)) {
3308
+ objForEachKey(featureVal, function (config, val) {
3309
+ setValueByKey(cdnConfig_1, config, val);
3310
+ });
3311
+ _overrideCdnCfgByFeature(key, featureVal, cdnConfig_1);
3312
+ }
3313
+ });
3314
+ return cdnConfig_1;
3315
+ }
3316
+ catch (e) {
3317
+ }
3318
+ return null;
3319
+ }
3320
+ function _overrideCdnCfgByFeature(field, ftVal, config) {
3321
+ var mode = ftVal[F + field + M];
3322
+ var val = ftVal[F + field + ON];
3323
+ var dVal = ftVal[F + field + OFF];
3324
+ var target = null;
3325
+ if (mode === 3 ) {
3326
+ target = val;
3327
+ }
3328
+ if (mode === 2 ) {
3329
+ target = dVal;
3330
+ }
3331
+ if (target) {
3332
+ objForEachKey(target, function (key, cfg) {
3333
+ setValueByKey(config, key, cfg);
3334
+ });
3335
+ }
3336
+ }
3337
+
3338
+ var _a;
3339
+ var EVENT_NAME = "ai_cfgsync";
3340
+ var STR_GET_METHOD = "GET";
3341
+ var FETCH_TIMEOUT = 1800000;
3342
+ var udfVal = undefined;
3343
+ var defaultNonOverrideCfg = { instrumentationKey: true, connectionString: true, endpointUrl: true };
3344
+ var _defaultConfig = objDeepFreeze((_a = {
3345
+ syncMode: 1 ,
3346
+ blkCdnCfg: udfVal,
3347
+ customEvtName: udfVal,
3348
+ cfgUrl: udfVal,
3349
+ overrideSyncFn: udfVal,
3350
+ overrideFetchFn: udfVal
3351
+ },
3352
+ _a[_DYN_ON_CFG_CHANGE_RECEIV0 ] = udfVal,
3353
+ _a[_DYN_SCHEDULE_FETCH_TIMEO1 ] = FETCH_TIMEOUT,
3354
+ _a[_DYN_NON_OVERRIDE_CONFIGS ] = defaultNonOverrideCfg,
3355
+ _a));
3356
+ var CfgSyncPlugin = /** @class */ (function (_super) {
3357
+ __extendsFn(CfgSyncPlugin, _super);
3358
+ function CfgSyncPlugin() {
3359
+ var _this = _super.call(this) || this;
3360
+ _this.priority = 198;
3361
+ _this.identifier = "AppInsightsCfgSyncPlugin";
3362
+ var _extensionConfig;
3363
+ var _mainConfig;
3364
+ var _evtName;
3365
+ var _evtNamespace;
3366
+ var _cfgUrl;
3367
+ var _timeoutHandle;
3368
+ var _receiveChanges;
3369
+ var _broadcastChanges;
3370
+ var _blkCdnCfg;
3371
+ var _fetchTimeout;
3372
+ var _retryCnt;
3373
+ var _onCfgChangeReceive;
3374
+ var _nonOverrideConfigs;
3375
+ var _fetchFn;
3376
+ var _overrideFetchFn;
3377
+ var _overrideSyncFn;
3378
+ var _paused = false;
3379
+ dynamicProto(CfgSyncPlugin, _this, function (_self, _base) {
3380
+ _initDefaults();
3381
+ _self.initialize = function (config, core, extensions, pluginChain) {
3382
+ _base.initialize(config, core, extensions, pluginChain);
3383
+ _evtNamespace = mergeEvtNamespace(createUniqueNamespace(_self.identifier), core.evtNamespace && core.evtNamespace());
3384
+ _populateDefaults(config);
3385
+ };
3386
+ _self.getCfg = function () {
3387
+ return _mainConfig;
3388
+ };
3389
+ _self.pause = function () {
3390
+ _paused = true;
3391
+ _clearScheduledTimer();
3392
+ };
3393
+ _self.resume = function () {
3394
+ _paused = false;
3395
+ _setupTimer();
3396
+ };
3397
+ _self.setCfg = function (config) {
3398
+ return _setCfg(config);
3399
+ };
3400
+ _self.sync = function (customDetails) {
3401
+ return _sendCfgsyncEvents(customDetails);
3402
+ };
3403
+ _self.updateEventListenerName = function (eventName) {
3404
+ return _updateEventListenerName(eventName);
3405
+ };
3406
+ _self._doTeardown = function (unloadCtx, unloadState) {
3407
+ _eventOff();
3408
+ _clearScheduledTimer();
3409
+ _initDefaults();
3410
+ };
3411
+ _self["_getDbgPlgTargets"] = function () {
3412
+ return [_broadcastChanges, _receiveChanges, _evtName, _blkCdnCfg];
3413
+ };
3414
+ function _initDefaults() {
3415
+ _mainConfig = null;
3416
+ _evtName = null;
3417
+ _evtNamespace = null;
3418
+ _cfgUrl = null;
3419
+ _receiveChanges = null;
3420
+ _broadcastChanges = null;
3421
+ _nonOverrideConfigs = null;
3422
+ _timeoutHandle = null;
3423
+ _fetchTimeout = null;
3424
+ _retryCnt = null;
3425
+ _blkCdnCfg = null;
3426
+ _overrideFetchFn = null;
3427
+ _overrideSyncFn = null;
3428
+ _onCfgChangeReceive = null;
3429
+ }
3430
+ function _populateDefaults(config) {
3431
+ var identifier = _self.identifier;
3432
+ var core = _self.core;
3433
+ _self._addHook(onConfigChange(config, function () {
3434
+ var ctx = createProcessTelemetryContext(null, config, core);
3435
+ _extensionConfig = ctx.getExtCfg(identifier, _defaultConfig);
3436
+ var preBlkCdn = _blkCdnCfg;
3437
+ _blkCdnCfg = !!_extensionConfig.blkCdnCfg;
3438
+ if (!isNullOrUndefined(preBlkCdn) && preBlkCdn !== _blkCdnCfg) {
3439
+ if (!_blkCdnCfg && _cfgUrl) {
3440
+ _fetchFn && _fetchFn(_cfgUrl, _onFetchComplete, _broadcastChanges);
3441
+ }
3442
+ else {
3443
+ _clearScheduledTimer();
3444
+ }
3445
+ }
3446
+ if (isNullOrUndefined(_receiveChanges)) {
3447
+ _receiveChanges = _extensionConfig.syncMode === 2 ;
3448
+ }
3449
+ if (isNullOrUndefined(_broadcastChanges)) {
3450
+ _broadcastChanges = _extensionConfig.syncMode === 1 ;
3451
+ }
3452
+ var newEvtName = _extensionConfig.customEvtName || EVENT_NAME;
3453
+ if (_evtName !== newEvtName) {
3454
+ if (_receiveChanges) {
3455
+ _updateEventListenerName(newEvtName);
3456
+ }
3457
+ else {
3458
+ _eventOff();
3459
+ _evtName = newEvtName;
3460
+ }
3461
+ }
3462
+ if (isNullOrUndefined(_cfgUrl)) {
3463
+ _cfgUrl = _extensionConfig.cfgUrl;
3464
+ }
3465
+ if (!_cfgUrl) {
3466
+ _mainConfig = config;
3467
+ if (_broadcastChanges) {
3468
+ _sendCfgsyncEvents();
3469
+ }
3470
+ }
3471
+ }));
3472
+ _overrideSyncFn = _extensionConfig.overrideSyncFn;
3473
+ _overrideFetchFn = _extensionConfig.overrideFetchFn;
3474
+ _onCfgChangeReceive = _extensionConfig[_DYN_ON_CFG_CHANGE_RECEIV0 ];
3475
+ _nonOverrideConfigs = _extensionConfig[_DYN_NON_OVERRIDE_CONFIGS ];
3476
+ _fetchTimeout = _extensionConfig[_DYN_SCHEDULE_FETCH_TIMEO1 ];
3477
+ _fetchFn = _getFetchFnInterface();
3478
+ _retryCnt = 0;
3479
+ if (_cfgUrl && !_blkCdnCfg) {
3480
+ _fetchFn && _fetchFn(_cfgUrl, _onFetchComplete, _broadcastChanges);
3481
+ }
3482
+ }
3483
+ function _setCfg(config, isAutoSync) {
3484
+ if (config) {
3485
+ _mainConfig = config;
3486
+ if (!!isAutoSync && !_paused) {
3487
+ return _sendCfgsyncEvents();
3488
+ }
3489
+ if (_receiveChanges && !_paused) {
3490
+ _self.core.updateCfg(config);
3491
+ return true;
3492
+ }
3493
+ }
3494
+ return false;
3495
+ }
3496
+ function _eventOff() {
3497
+ try {
3498
+ var global_1 = getGlobal();
3499
+ if (global_1) {
3500
+ eventOff(global_1, null, null, _evtNamespace);
3501
+ }
3502
+ }
3503
+ catch (e) {
3504
+ }
3505
+ }
3506
+ function _sendCfgsyncEvents(customDetails) {
3507
+ try {
3508
+ if (!!_overrideSyncFn && isFunction(_overrideSyncFn)) {
3509
+ return _overrideSyncFn(_mainConfig, customDetails);
3510
+ }
3511
+ return sendCustomEvent(_evtName, _mainConfig, customDetails);
3512
+ }
3513
+ catch (e) {
3514
+ }
3515
+ return false;
3516
+ }
3517
+ function _updateEventListenerName(name) {
3518
+ try {
3519
+ _eventOff();
3520
+ if (name) {
3521
+ _evtName = name;
3522
+ _addEventListener();
3523
+ }
3524
+ return true;
3525
+ }
3526
+ catch (e) {
3527
+ }
3528
+ return false;
3529
+ }
3530
+ function _getFetchFnInterface() {
3531
+ var _fetchFn = _overrideFetchFn;
3532
+ if (isNullOrUndefined(_fetchFn)) {
3533
+ if (isFetchSupported()) {
3534
+ _fetchFn = _fetchSender;
3535
+ }
3536
+ else if (isXhrSupported()) {
3537
+ _fetchFn = _xhrSender;
3538
+ }
3539
+ }
3540
+ return _fetchFn;
3541
+ }
3542
+ function _fetchSender(url, oncomplete, isAutoSync) {
3543
+ var global = getGlobal();
3544
+ var fetchFn = (global && global.fetch) || null;
3545
+ if (url && fetchFn && isFunction(fetchFn)) {
3546
+ try {
3547
+ var init = {
3548
+ method: STR_GET_METHOD
3549
+ };
3550
+ var request = new Request(url, init);
3551
+ doAwaitResponse(fetch(request), function (result) {
3552
+ var response = result.value;
3553
+ if (!result.rejected) {
3554
+ if (response.ok) {
3555
+ doAwaitResponse(response.text(), function (res) {
3556
+ _doOnComplete(oncomplete, response.status, res.value, isAutoSync);
3557
+ });
3558
+ }
3559
+ else {
3560
+ _doOnComplete(oncomplete, response.status, null, isAutoSync);
3561
+ }
3562
+ }
3563
+ else {
3564
+ _doOnComplete(oncomplete, 400);
3565
+ }
3566
+ });
3567
+ }
3568
+ catch (e) {
3569
+ }
3570
+ }
3571
+ }
3572
+ function _xhrSender(url, oncomplete, isAutoSync) {
3573
+ try {
3574
+ var xhr_1 = new XMLHttpRequest();
3575
+ xhr_1.open(STR_GET_METHOD, url);
3576
+ xhr_1.onreadystatechange = function () {
3577
+ if (xhr_1.readyState === XMLHttpRequest.DONE) {
3578
+ _doOnComplete(oncomplete, xhr_1.status, xhr_1.responseText, isAutoSync);
3579
+ }
3580
+ };
3581
+ xhr_1.onerror = function () {
3582
+ _doOnComplete(oncomplete, 400);
3583
+ };
3584
+ xhr_1.ontimeout = function () {
3585
+ _doOnComplete(oncomplete, 400);
3586
+ };
3587
+ xhr_1.send();
3588
+ }
3589
+ catch (e) {
3590
+ }
3591
+ }
3592
+ function _onFetchComplete(status, response, isAutoSync) {
3593
+ try {
3594
+ if (status >= 200 && status < 400 && response) {
3595
+ _retryCnt = 0;
3596
+ var JSON_1 = getJSON();
3597
+ if (JSON_1) {
3598
+ var cdnCfg = JSON_1.parse(response);
3599
+ var cfg = applyCdnfeatureCfg(cdnCfg, _self.core);
3600
+ cfg && _setCfg(cfg, isAutoSync);
3601
+ }
3602
+ }
3603
+ else {
3604
+ _retryCnt++;
3605
+ }
3606
+ if (_retryCnt < 3) {
3607
+ _setupTimer();
3608
+ }
3609
+ }
3610
+ catch (e) {
3611
+ }
3612
+ }
3613
+ function _doOnComplete(oncomplete, status, response, isAutoSync) {
3614
+ try {
3615
+ oncomplete(status, response, isAutoSync);
3616
+ }
3617
+ catch (e) {
3618
+ }
3619
+ }
3620
+ function _addEventListener() {
3621
+ if (_receiveChanges) {
3622
+ var global_2 = getGlobal();
3623
+ if (global_2) {
3624
+ try {
3625
+ eventOn(global_2, _evtName, function (event) {
3626
+ var cfgEvent = event && event.detail;
3627
+ if (_onCfgChangeReceive && cfgEvent) {
3628
+ _onCfgChangeReceive(cfgEvent);
3629
+ }
3630
+ else {
3631
+ var cfg = cfgEvent && cfgEvent.cfg;
3632
+ var newCfg = cfg && isPlainObject(cfg) && _replaceTartgetByKeys(cfg);
3633
+ newCfg && _setCfg(newCfg);
3634
+ }
3635
+ }, _evtNamespace, true);
3636
+ }
3637
+ catch (e) {
3638
+ }
3639
+ }
3640
+ }
3641
+ }
3642
+ function _replaceTartgetByKeys(cfg, level) {
3643
+ var _cfg = null;
3644
+ try {
3645
+ if (cfg) {
3646
+ _cfg = replaceByNonOverrideCfg(cfg, _nonOverrideConfigs, 0, 5);
3647
+ }
3648
+ }
3649
+ catch (e) {
3650
+ }
3651
+ return _cfg;
3652
+ }
3653
+ function _setupTimer() {
3654
+ if (!_timeoutHandle && _fetchTimeout) {
3655
+ _timeoutHandle = scheduleTimeout(function () {
3656
+ _timeoutHandle = null;
3657
+ _fetchFn(_cfgUrl, _onFetchComplete, _broadcastChanges);
3658
+ }, _fetchTimeout);
3659
+ _timeoutHandle.unref();
3660
+ }
3661
+ }
3662
+ function _clearScheduledTimer() {
3663
+ _timeoutHandle && _timeoutHandle.cancel();
3664
+ _timeoutHandle = null;
3665
+ _retryCnt = 0;
3666
+ }
3667
+ _self.processTelemetry = function (env, itemCtx) {
3668
+ _self.processNext(env, itemCtx);
3669
+ };
3670
+ });
3671
+ return _this;
3672
+ }
3673
+ CfgSyncPlugin.__ieDyn=1;
3674
+ return CfgSyncPlugin;
3675
+ }(BaseTelemetryPlugin));
3676
+
3677
+ exports.CfgSyncPlugin = CfgSyncPlugin;
3678
+ //# sourceMappingURL=ai.cfgsync.0.0.2.cjs.js.map