@ninetailed/experience.js 1.8.1-beta.0 → 2.0.0-beta.10

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.
package/index.esm.js CHANGED
@@ -5,6 +5,8 @@ import Analytics from 'analytics';
5
5
  import flatten from 'lodash/flatten';
6
6
  import find from 'lodash/find';
7
7
  import includes from 'lodash/includes';
8
+ import pickBy from 'lodash/pickBy';
9
+ import { murmur3 } from 'murmurhash-js';
8
10
 
9
11
  var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
10
12
 
@@ -13,7 +15,7 @@ var check = function (it) {
13
15
  };
14
16
 
15
17
  // https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
16
- var global$B =
18
+ var global$H =
17
19
  // eslint-disable-next-line es/no-global-this -- safe
18
20
  check(typeof globalThis == 'object' && globalThis) ||
19
21
  check(typeof window == 'object' && window) ||
@@ -25,7 +27,7 @@ var global$B =
25
27
 
26
28
  var objectGetOwnPropertyDescriptor = {};
27
29
 
28
- var fails$c = function (exec) {
30
+ var fails$h = function (exec) {
29
31
  try {
30
32
  return !!exec();
31
33
  } catch (error) {
@@ -33,17 +35,17 @@ var fails$c = function (exec) {
33
35
  }
34
36
  };
35
37
 
36
- var fails$b = fails$c;
38
+ var fails$g = fails$h;
37
39
 
38
40
  // Detect IE8's incomplete defineProperty implementation
39
- var descriptors = !fails$b(function () {
41
+ var descriptors = !fails$g(function () {
40
42
  // eslint-disable-next-line es/no-object-defineproperty -- required for testing
41
43
  return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;
42
44
  });
43
45
 
44
- var fails$a = fails$c;
46
+ var fails$f = fails$h;
45
47
 
46
- var functionBindNative = !fails$a(function () {
48
+ var functionBindNative = !fails$f(function () {
47
49
  var test = (function () { /* empty */ }).bind();
48
50
  // eslint-disable-next-line no-prototype-builtins -- safe
49
51
  return typeof test != 'function' || test.hasOwnProperty('prototype');
@@ -51,25 +53,25 @@ var functionBindNative = !fails$a(function () {
51
53
 
52
54
  var NATIVE_BIND$3 = functionBindNative;
53
55
 
54
- var call$b = Function.prototype.call;
56
+ var call$e = Function.prototype.call;
55
57
 
56
- var functionCall = NATIVE_BIND$3 ? call$b.bind(call$b) : function () {
57
- return call$b.apply(call$b, arguments);
58
+ var functionCall = NATIVE_BIND$3 ? call$e.bind(call$e) : function () {
59
+ return call$e.apply(call$e, arguments);
58
60
  };
59
61
 
60
62
  var objectPropertyIsEnumerable = {};
61
63
 
62
64
  var $propertyIsEnumerable = {}.propertyIsEnumerable;
63
65
  // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
64
- var getOwnPropertyDescriptor$2 = Object.getOwnPropertyDescriptor;
66
+ var getOwnPropertyDescriptor$3 = Object.getOwnPropertyDescriptor;
65
67
 
66
68
  // Nashorn ~ JDK8 bug
67
- var NASHORN_BUG = getOwnPropertyDescriptor$2 && !$propertyIsEnumerable.call({ 1: 2 }, 1);
69
+ var NASHORN_BUG = getOwnPropertyDescriptor$3 && !$propertyIsEnumerable.call({ 1: 2 }, 1);
68
70
 
69
71
  // `Object.prototype.propertyIsEnumerable` method implementation
70
72
  // https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable
71
73
  objectPropertyIsEnumerable.f = NASHORN_BUG ? function propertyIsEnumerable(V) {
72
- var descriptor = getOwnPropertyDescriptor$2(this, V);
74
+ var descriptor = getOwnPropertyDescriptor$3(this, V);
73
75
  return !!descriptor && descriptor.enumerable;
74
76
  } : $propertyIsEnumerable;
75
77
 
@@ -86,98 +88,98 @@ var NATIVE_BIND$2 = functionBindNative;
86
88
 
87
89
  var FunctionPrototype$2 = Function.prototype;
88
90
  var bind$5 = FunctionPrototype$2.bind;
89
- var call$a = FunctionPrototype$2.call;
90
- var uncurryThis$e = NATIVE_BIND$2 && bind$5.bind(call$a, call$a);
91
+ var call$d = FunctionPrototype$2.call;
92
+ var uncurryThis$k = NATIVE_BIND$2 && bind$5.bind(call$d, call$d);
91
93
 
92
94
  var functionUncurryThis = NATIVE_BIND$2 ? function (fn) {
93
- return fn && uncurryThis$e(fn);
95
+ return fn && uncurryThis$k(fn);
94
96
  } : function (fn) {
95
97
  return fn && function () {
96
- return call$a.apply(fn, arguments);
98
+ return call$d.apply(fn, arguments);
97
99
  };
98
100
  };
99
101
 
100
- var uncurryThis$d = functionUncurryThis;
102
+ var uncurryThis$j = functionUncurryThis;
101
103
 
102
- var toString$1 = uncurryThis$d({}.toString);
103
- var stringSlice = uncurryThis$d(''.slice);
104
+ var toString$6 = uncurryThis$j({}.toString);
105
+ var stringSlice$5 = uncurryThis$j(''.slice);
104
106
 
105
107
  var classofRaw$1 = function (it) {
106
- return stringSlice(toString$1(it), 8, -1);
108
+ return stringSlice$5(toString$6(it), 8, -1);
107
109
  };
108
110
 
109
- var global$A = global$B;
110
- var uncurryThis$c = functionUncurryThis;
111
- var fails$9 = fails$c;
112
- var classof$4 = classofRaw$1;
111
+ var global$G = global$H;
112
+ var uncurryThis$i = functionUncurryThis;
113
+ var fails$e = fails$h;
114
+ var classof$7 = classofRaw$1;
113
115
 
114
- var Object$5 = global$A.Object;
115
- var split = uncurryThis$c(''.split);
116
+ var Object$5 = global$G.Object;
117
+ var split = uncurryThis$i(''.split);
116
118
 
117
119
  // fallback for non-array-like ES3 and non-enumerable old V8 strings
118
- var indexedObject = fails$9(function () {
120
+ var indexedObject = fails$e(function () {
119
121
  // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346
120
122
  // eslint-disable-next-line no-prototype-builtins -- safe
121
123
  return !Object$5('z').propertyIsEnumerable(0);
122
124
  }) ? function (it) {
123
- return classof$4(it) == 'String' ? split(it, '') : Object$5(it);
125
+ return classof$7(it) == 'String' ? split(it, '') : Object$5(it);
124
126
  } : Object$5;
125
127
 
126
- var global$z = global$B;
128
+ var global$F = global$H;
127
129
 
128
- var TypeError$e = global$z.TypeError;
130
+ var TypeError$g = global$F.TypeError;
129
131
 
130
132
  // `RequireObjectCoercible` abstract operation
131
133
  // https://tc39.es/ecma262/#sec-requireobjectcoercible
132
- var requireObjectCoercible$2 = function (it) {
133
- if (it == undefined) throw TypeError$e("Can't call method on " + it);
134
+ var requireObjectCoercible$5 = function (it) {
135
+ if (it == undefined) throw TypeError$g("Can't call method on " + it);
134
136
  return it;
135
137
  };
136
138
 
137
139
  // toObject with fallback for non-array-like ES3 strings
138
140
  var IndexedObject$1 = indexedObject;
139
- var requireObjectCoercible$1 = requireObjectCoercible$2;
141
+ var requireObjectCoercible$4 = requireObjectCoercible$5;
140
142
 
141
143
  var toIndexedObject$5 = function (it) {
142
- return IndexedObject$1(requireObjectCoercible$1(it));
144
+ return IndexedObject$1(requireObjectCoercible$4(it));
143
145
  };
144
146
 
145
147
  // `IsCallable` abstract operation
146
148
  // https://tc39.es/ecma262/#sec-iscallable
147
- var isCallable$h = function (argument) {
149
+ var isCallable$j = function (argument) {
148
150
  return typeof argument == 'function';
149
151
  };
150
152
 
151
- var isCallable$g = isCallable$h;
153
+ var isCallable$i = isCallable$j;
152
154
 
153
- var isObject$7 = function (it) {
154
- return typeof it == 'object' ? it !== null : isCallable$g(it);
155
+ var isObject$8 = function (it) {
156
+ return typeof it == 'object' ? it !== null : isCallable$i(it);
155
157
  };
156
158
 
157
- var global$y = global$B;
158
- var isCallable$f = isCallable$h;
159
+ var global$E = global$H;
160
+ var isCallable$h = isCallable$j;
159
161
 
160
162
  var aFunction = function (argument) {
161
- return isCallable$f(argument) ? argument : undefined;
163
+ return isCallable$h(argument) ? argument : undefined;
162
164
  };
163
165
 
164
166
  var getBuiltIn$7 = function (namespace, method) {
165
- return arguments.length < 2 ? aFunction(global$y[namespace]) : global$y[namespace] && global$y[namespace][method];
167
+ return arguments.length < 2 ? aFunction(global$E[namespace]) : global$E[namespace] && global$E[namespace][method];
166
168
  };
167
169
 
168
- var uncurryThis$b = functionUncurryThis;
170
+ var uncurryThis$h = functionUncurryThis;
169
171
 
170
- var objectIsPrototypeOf = uncurryThis$b({}.isPrototypeOf);
172
+ var objectIsPrototypeOf = uncurryThis$h({}.isPrototypeOf);
171
173
 
172
174
  var getBuiltIn$6 = getBuiltIn$7;
173
175
 
174
176
  var engineUserAgent = getBuiltIn$6('navigator', 'userAgent') || '';
175
177
 
176
- var global$x = global$B;
178
+ var global$D = global$H;
177
179
  var userAgent$3 = engineUserAgent;
178
180
 
179
- var process$4 = global$x.process;
180
- var Deno = global$x.Deno;
181
+ var process$4 = global$D.process;
182
+ var Deno = global$D.Deno;
181
183
  var versions = process$4 && process$4.versions || Deno && Deno.version;
182
184
  var v8 = versions && versions.v8;
183
185
  var match, version;
@@ -204,10 +206,10 @@ var engineV8Version = version;
204
206
  /* eslint-disable es/no-symbol -- required for testing */
205
207
 
206
208
  var V8_VERSION$1 = engineV8Version;
207
- var fails$8 = fails$c;
209
+ var fails$d = fails$h;
208
210
 
209
211
  // eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing
210
- var nativeSymbol = !!Object.getOwnPropertySymbols && !fails$8(function () {
212
+ var nativeSymbol = !!Object.getOwnPropertySymbols && !fails$d(function () {
211
213
  var symbol = Symbol();
212
214
  // Chrome 38 Symbol has incorrect toString conversion
213
215
  // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances
@@ -224,97 +226,97 @@ var useSymbolAsUid = NATIVE_SYMBOL$1
224
226
  && !Symbol.sham
225
227
  && typeof Symbol.iterator == 'symbol';
226
228
 
227
- var global$w = global$B;
229
+ var global$C = global$H;
228
230
  var getBuiltIn$5 = getBuiltIn$7;
229
- var isCallable$e = isCallable$h;
231
+ var isCallable$g = isCallable$j;
230
232
  var isPrototypeOf$2 = objectIsPrototypeOf;
231
233
  var USE_SYMBOL_AS_UID$1 = useSymbolAsUid;
232
234
 
233
- var Object$4 = global$w.Object;
235
+ var Object$4 = global$C.Object;
234
236
 
235
237
  var isSymbol$2 = USE_SYMBOL_AS_UID$1 ? function (it) {
236
238
  return typeof it == 'symbol';
237
239
  } : function (it) {
238
240
  var $Symbol = getBuiltIn$5('Symbol');
239
- return isCallable$e($Symbol) && isPrototypeOf$2($Symbol.prototype, Object$4(it));
241
+ return isCallable$g($Symbol) && isPrototypeOf$2($Symbol.prototype, Object$4(it));
240
242
  };
241
243
 
242
- var global$v = global$B;
244
+ var global$B = global$H;
243
245
 
244
- var String$4 = global$v.String;
246
+ var String$5 = global$B.String;
245
247
 
246
248
  var tryToString$4 = function (argument) {
247
249
  try {
248
- return String$4(argument);
250
+ return String$5(argument);
249
251
  } catch (error) {
250
252
  return 'Object';
251
253
  }
252
254
  };
253
255
 
254
- var global$u = global$B;
255
- var isCallable$d = isCallable$h;
256
+ var global$A = global$H;
257
+ var isCallable$f = isCallable$j;
256
258
  var tryToString$3 = tryToString$4;
257
259
 
258
- var TypeError$d = global$u.TypeError;
260
+ var TypeError$f = global$A.TypeError;
259
261
 
260
262
  // `Assert: IsCallable(argument) is true`
261
263
  var aCallable$5 = function (argument) {
262
- if (isCallable$d(argument)) return argument;
263
- throw TypeError$d(tryToString$3(argument) + ' is not a function');
264
+ if (isCallable$f(argument)) return argument;
265
+ throw TypeError$f(tryToString$3(argument) + ' is not a function');
264
266
  };
265
267
 
266
268
  var aCallable$4 = aCallable$5;
267
269
 
268
270
  // `GetMethod` abstract operation
269
271
  // https://tc39.es/ecma262/#sec-getmethod
270
- var getMethod$3 = function (V, P) {
272
+ var getMethod$4 = function (V, P) {
271
273
  var func = V[P];
272
274
  return func == null ? undefined : aCallable$4(func);
273
275
  };
274
276
 
275
- var global$t = global$B;
276
- var call$9 = functionCall;
277
- var isCallable$c = isCallable$h;
278
- var isObject$6 = isObject$7;
277
+ var global$z = global$H;
278
+ var call$c = functionCall;
279
+ var isCallable$e = isCallable$j;
280
+ var isObject$7 = isObject$8;
279
281
 
280
- var TypeError$c = global$t.TypeError;
282
+ var TypeError$e = global$z.TypeError;
281
283
 
282
284
  // `OrdinaryToPrimitive` abstract operation
283
285
  // https://tc39.es/ecma262/#sec-ordinarytoprimitive
284
286
  var ordinaryToPrimitive$1 = function (input, pref) {
285
287
  var fn, val;
286
- if (pref === 'string' && isCallable$c(fn = input.toString) && !isObject$6(val = call$9(fn, input))) return val;
287
- if (isCallable$c(fn = input.valueOf) && !isObject$6(val = call$9(fn, input))) return val;
288
- if (pref !== 'string' && isCallable$c(fn = input.toString) && !isObject$6(val = call$9(fn, input))) return val;
289
- throw TypeError$c("Can't convert object to primitive value");
288
+ if (pref === 'string' && isCallable$e(fn = input.toString) && !isObject$7(val = call$c(fn, input))) return val;
289
+ if (isCallable$e(fn = input.valueOf) && !isObject$7(val = call$c(fn, input))) return val;
290
+ if (pref !== 'string' && isCallable$e(fn = input.toString) && !isObject$7(val = call$c(fn, input))) return val;
291
+ throw TypeError$e("Can't convert object to primitive value");
290
292
  };
291
293
 
292
- var shared$3 = {exports: {}};
294
+ var shared$4 = {exports: {}};
293
295
 
294
- var global$s = global$B;
296
+ var global$y = global$H;
295
297
 
296
298
  // eslint-disable-next-line es/no-object-defineproperty -- safe
297
299
  var defineProperty$3 = Object.defineProperty;
298
300
 
299
301
  var setGlobal$3 = function (key, value) {
300
302
  try {
301
- defineProperty$3(global$s, key, { value: value, configurable: true, writable: true });
303
+ defineProperty$3(global$y, key, { value: value, configurable: true, writable: true });
302
304
  } catch (error) {
303
- global$s[key] = value;
305
+ global$y[key] = value;
304
306
  } return value;
305
307
  };
306
308
 
307
- var global$r = global$B;
309
+ var global$x = global$H;
308
310
  var setGlobal$2 = setGlobal$3;
309
311
 
310
312
  var SHARED = '__core-js_shared__';
311
- var store$3 = global$r[SHARED] || setGlobal$2(SHARED, {});
313
+ var store$3 = global$x[SHARED] || setGlobal$2(SHARED, {});
312
314
 
313
315
  var sharedStore = store$3;
314
316
 
315
317
  var store$2 = sharedStore;
316
318
 
317
- (shared$3.exports = function (key, value) {
319
+ (shared$4.exports = function (key, value) {
318
320
  return store$2[key] || (store$2[key] = value !== undefined ? value : {});
319
321
  })('versions', []).push({
320
322
  version: '3.21.1',
@@ -324,51 +326,51 @@ var store$2 = sharedStore;
324
326
  source: 'https://github.com/zloirock/core-js'
325
327
  });
326
328
 
327
- var global$q = global$B;
328
- var requireObjectCoercible = requireObjectCoercible$2;
329
+ var global$w = global$H;
330
+ var requireObjectCoercible$3 = requireObjectCoercible$5;
329
331
 
330
- var Object$3 = global$q.Object;
332
+ var Object$3 = global$w.Object;
331
333
 
332
334
  // `ToObject` abstract operation
333
335
  // https://tc39.es/ecma262/#sec-toobject
334
- var toObject$3 = function (argument) {
335
- return Object$3(requireObjectCoercible(argument));
336
+ var toObject$4 = function (argument) {
337
+ return Object$3(requireObjectCoercible$3(argument));
336
338
  };
337
339
 
338
- var uncurryThis$a = functionUncurryThis;
339
- var toObject$2 = toObject$3;
340
+ var uncurryThis$g = functionUncurryThis;
341
+ var toObject$3 = toObject$4;
340
342
 
341
- var hasOwnProperty = uncurryThis$a({}.hasOwnProperty);
343
+ var hasOwnProperty = uncurryThis$g({}.hasOwnProperty);
342
344
 
343
345
  // `HasOwnProperty` abstract operation
344
346
  // https://tc39.es/ecma262/#sec-hasownproperty
345
347
  var hasOwnProperty_1 = Object.hasOwn || function hasOwn(it, key) {
346
- return hasOwnProperty(toObject$2(it), key);
348
+ return hasOwnProperty(toObject$3(it), key);
347
349
  };
348
350
 
349
- var uncurryThis$9 = functionUncurryThis;
351
+ var uncurryThis$f = functionUncurryThis;
350
352
 
351
353
  var id = 0;
352
354
  var postfix = Math.random();
353
- var toString = uncurryThis$9(1.0.toString);
355
+ var toString$5 = uncurryThis$f(1.0.toString);
354
356
 
355
357
  var uid$2 = function (key) {
356
- return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36);
358
+ return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString$5(++id + postfix, 36);
357
359
  };
358
360
 
359
- var global$p = global$B;
360
- var shared$2 = shared$3.exports;
361
+ var global$v = global$H;
362
+ var shared$3 = shared$4.exports;
361
363
  var hasOwn$9 = hasOwnProperty_1;
362
364
  var uid$1 = uid$2;
363
365
  var NATIVE_SYMBOL = nativeSymbol;
364
366
  var USE_SYMBOL_AS_UID = useSymbolAsUid;
365
367
 
366
- var WellKnownSymbolsStore = shared$2('wks');
367
- var Symbol$1 = global$p.Symbol;
368
+ var WellKnownSymbolsStore = shared$3('wks');
369
+ var Symbol$1 = global$v.Symbol;
368
370
  var symbolFor = Symbol$1 && Symbol$1['for'];
369
371
  var createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol$1 : Symbol$1 && Symbol$1.withoutSetter || uid$1;
370
372
 
371
- var wellKnownSymbol$e = function (name) {
373
+ var wellKnownSymbol$i = function (name) {
372
374
  if (!hasOwn$9(WellKnownSymbolsStore, name) || !(NATIVE_SYMBOL || typeof WellKnownSymbolsStore[name] == 'string')) {
373
375
  var description = 'Symbol.' + name;
374
376
  if (NATIVE_SYMBOL && hasOwn$9(Symbol$1, name)) {
@@ -381,28 +383,28 @@ var wellKnownSymbol$e = function (name) {
381
383
  } return WellKnownSymbolsStore[name];
382
384
  };
383
385
 
384
- var global$o = global$B;
385
- var call$8 = functionCall;
386
- var isObject$5 = isObject$7;
386
+ var global$u = global$H;
387
+ var call$b = functionCall;
388
+ var isObject$6 = isObject$8;
387
389
  var isSymbol$1 = isSymbol$2;
388
- var getMethod$2 = getMethod$3;
390
+ var getMethod$3 = getMethod$4;
389
391
  var ordinaryToPrimitive = ordinaryToPrimitive$1;
390
- var wellKnownSymbol$d = wellKnownSymbol$e;
392
+ var wellKnownSymbol$h = wellKnownSymbol$i;
391
393
 
392
- var TypeError$b = global$o.TypeError;
393
- var TO_PRIMITIVE = wellKnownSymbol$d('toPrimitive');
394
+ var TypeError$d = global$u.TypeError;
395
+ var TO_PRIMITIVE = wellKnownSymbol$h('toPrimitive');
394
396
 
395
397
  // `ToPrimitive` abstract operation
396
398
  // https://tc39.es/ecma262/#sec-toprimitive
397
399
  var toPrimitive$1 = function (input, pref) {
398
- if (!isObject$5(input) || isSymbol$1(input)) return input;
399
- var exoticToPrim = getMethod$2(input, TO_PRIMITIVE);
400
+ if (!isObject$6(input) || isSymbol$1(input)) return input;
401
+ var exoticToPrim = getMethod$3(input, TO_PRIMITIVE);
400
402
  var result;
401
403
  if (exoticToPrim) {
402
404
  if (pref === undefined) pref = 'default';
403
- result = call$8(exoticToPrim, input, pref);
404
- if (!isObject$5(result) || isSymbol$1(result)) return result;
405
- throw TypeError$b("Can't convert object to primitive value");
405
+ result = call$b(exoticToPrim, input, pref);
406
+ if (!isObject$6(result) || isSymbol$1(result)) return result;
407
+ throw TypeError$d("Can't convert object to primitive value");
406
408
  }
407
409
  if (pref === undefined) pref = 'number';
408
410
  return ordinaryToPrimitive(input, pref);
@@ -418,23 +420,23 @@ var toPropertyKey$2 = function (argument) {
418
420
  return isSymbol(key) ? key : key + '';
419
421
  };
420
422
 
421
- var global$n = global$B;
422
- var isObject$4 = isObject$7;
423
+ var global$t = global$H;
424
+ var isObject$5 = isObject$8;
423
425
 
424
- var document$3 = global$n.document;
426
+ var document$3 = global$t.document;
425
427
  // typeof document.createElement is 'object' in old IE
426
- var EXISTS$1 = isObject$4(document$3) && isObject$4(document$3.createElement);
428
+ var EXISTS$1 = isObject$5(document$3) && isObject$5(document$3.createElement);
427
429
 
428
430
  var documentCreateElement$2 = function (it) {
429
431
  return EXISTS$1 ? document$3.createElement(it) : {};
430
432
  };
431
433
 
432
434
  var DESCRIPTORS$9 = descriptors;
433
- var fails$7 = fails$c;
435
+ var fails$c = fails$h;
434
436
  var createElement$1 = documentCreateElement$2;
435
437
 
436
438
  // Thanks to IE8 for its funny defineProperty
437
- var ie8DomDefine = !DESCRIPTORS$9 && !fails$7(function () {
439
+ var ie8DomDefine = !DESCRIPTORS$9 && !fails$c(function () {
438
440
  // eslint-disable-next-line es/no-object-defineproperty -- required for testing
439
441
  return Object.defineProperty(createElement$1('div'), 'a', {
440
442
  get: function () { return 7; }
@@ -442,7 +444,7 @@ var ie8DomDefine = !DESCRIPTORS$9 && !fails$7(function () {
442
444
  });
443
445
 
444
446
  var DESCRIPTORS$8 = descriptors;
445
- var call$7 = functionCall;
447
+ var call$a = functionCall;
446
448
  var propertyIsEnumerableModule$1 = objectPropertyIsEnumerable;
447
449
  var createPropertyDescriptor$2 = createPropertyDescriptor$3;
448
450
  var toIndexedObject$4 = toIndexedObject$5;
@@ -461,17 +463,17 @@ objectGetOwnPropertyDescriptor.f = DESCRIPTORS$8 ? $getOwnPropertyDescriptor$1 :
461
463
  if (IE8_DOM_DEFINE$1) try {
462
464
  return $getOwnPropertyDescriptor$1(O, P);
463
465
  } catch (error) { /* empty */ }
464
- if (hasOwn$8(O, P)) return createPropertyDescriptor$2(!call$7(propertyIsEnumerableModule$1.f, O, P), O[P]);
466
+ if (hasOwn$8(O, P)) return createPropertyDescriptor$2(!call$a(propertyIsEnumerableModule$1.f, O, P), O[P]);
465
467
  };
466
468
 
467
469
  var objectDefineProperty = {};
468
470
 
469
471
  var DESCRIPTORS$7 = descriptors;
470
- var fails$6 = fails$c;
472
+ var fails$b = fails$h;
471
473
 
472
474
  // V8 ~ Chrome 36-
473
475
  // https://bugs.chromium.org/p/v8/issues/detail?id=3334
474
- var v8PrototypeDefineBug = DESCRIPTORS$7 && fails$6(function () {
476
+ var v8PrototypeDefineBug = DESCRIPTORS$7 && fails$b(function () {
475
477
  // eslint-disable-next-line es/no-object-defineproperty -- required for testing
476
478
  return Object.defineProperty(function () { /* empty */ }, 'prototype', {
477
479
  value: 42,
@@ -479,26 +481,26 @@ var v8PrototypeDefineBug = DESCRIPTORS$7 && fails$6(function () {
479
481
  }).prototype != 42;
480
482
  });
481
483
 
482
- var global$m = global$B;
483
- var isObject$3 = isObject$7;
484
+ var global$s = global$H;
485
+ var isObject$4 = isObject$8;
484
486
 
485
- var String$3 = global$m.String;
486
- var TypeError$a = global$m.TypeError;
487
+ var String$4 = global$s.String;
488
+ var TypeError$c = global$s.TypeError;
487
489
 
488
490
  // `Assert: Type(argument) is Object`
489
- var anObject$a = function (argument) {
490
- if (isObject$3(argument)) return argument;
491
- throw TypeError$a(String$3(argument) + ' is not an object');
491
+ var anObject$d = function (argument) {
492
+ if (isObject$4(argument)) return argument;
493
+ throw TypeError$c(String$4(argument) + ' is not an object');
492
494
  };
493
495
 
494
- var global$l = global$B;
496
+ var global$r = global$H;
495
497
  var DESCRIPTORS$6 = descriptors;
496
498
  var IE8_DOM_DEFINE = ie8DomDefine;
497
499
  var V8_PROTOTYPE_DEFINE_BUG$1 = v8PrototypeDefineBug;
498
- var anObject$9 = anObject$a;
500
+ var anObject$c = anObject$d;
499
501
  var toPropertyKey = toPropertyKey$2;
500
502
 
501
- var TypeError$9 = global$l.TypeError;
503
+ var TypeError$b = global$r.TypeError;
502
504
  // eslint-disable-next-line es/no-object-defineproperty -- safe
503
505
  var $defineProperty = Object.defineProperty;
504
506
  // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
@@ -510,9 +512,9 @@ var WRITABLE = 'writable';
510
512
  // `Object.defineProperty` method
511
513
  // https://tc39.es/ecma262/#sec-object.defineproperty
512
514
  objectDefineProperty.f = DESCRIPTORS$6 ? V8_PROTOTYPE_DEFINE_BUG$1 ? function defineProperty(O, P, Attributes) {
513
- anObject$9(O);
515
+ anObject$c(O);
514
516
  P = toPropertyKey(P);
515
- anObject$9(Attributes);
517
+ anObject$c(Attributes);
516
518
  if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {
517
519
  var current = $getOwnPropertyDescriptor(O, P);
518
520
  if (current && current[WRITABLE]) {
@@ -525,13 +527,13 @@ objectDefineProperty.f = DESCRIPTORS$6 ? V8_PROTOTYPE_DEFINE_BUG$1 ? function de
525
527
  }
526
528
  } return $defineProperty(O, P, Attributes);
527
529
  } : $defineProperty : function defineProperty(O, P, Attributes) {
528
- anObject$9(O);
530
+ anObject$c(O);
529
531
  P = toPropertyKey(P);
530
- anObject$9(Attributes);
532
+ anObject$c(Attributes);
531
533
  if (IE8_DOM_DEFINE) try {
532
534
  return $defineProperty(O, P, Attributes);
533
535
  } catch (error) { /* empty */ }
534
- if ('get' in Attributes || 'set' in Attributes) throw TypeError$9('Accessors not supported');
536
+ if ('get' in Attributes || 'set' in Attributes) throw TypeError$b('Accessors not supported');
535
537
  if ('value' in Attributes) O[P] = Attributes.value;
536
538
  return O;
537
539
  };
@@ -540,23 +542,23 @@ var DESCRIPTORS$5 = descriptors;
540
542
  var definePropertyModule$4 = objectDefineProperty;
541
543
  var createPropertyDescriptor$1 = createPropertyDescriptor$3;
542
544
 
543
- var createNonEnumerableProperty$5 = DESCRIPTORS$5 ? function (object, key, value) {
545
+ var createNonEnumerableProperty$6 = DESCRIPTORS$5 ? function (object, key, value) {
544
546
  return definePropertyModule$4.f(object, key, createPropertyDescriptor$1(1, value));
545
547
  } : function (object, key, value) {
546
548
  object[key] = value;
547
549
  return object;
548
550
  };
549
551
 
550
- var redefine$5 = {exports: {}};
552
+ var redefine$6 = {exports: {}};
551
553
 
552
- var uncurryThis$8 = functionUncurryThis;
553
- var isCallable$b = isCallable$h;
554
+ var uncurryThis$e = functionUncurryThis;
555
+ var isCallable$d = isCallable$j;
554
556
  var store$1 = sharedStore;
555
557
 
556
- var functionToString = uncurryThis$8(Function.toString);
558
+ var functionToString = uncurryThis$e(Function.toString);
557
559
 
558
560
  // this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper
559
- if (!isCallable$b(store$1.inspectSource)) {
561
+ if (!isCallable$d(store$1.inspectSource)) {
560
562
  store$1.inspectSource = function (it) {
561
563
  return functionToString(it);
562
564
  };
@@ -564,18 +566,18 @@ if (!isCallable$b(store$1.inspectSource)) {
564
566
 
565
567
  var inspectSource$4 = store$1.inspectSource;
566
568
 
567
- var global$k = global$B;
568
- var isCallable$a = isCallable$h;
569
+ var global$q = global$H;
570
+ var isCallable$c = isCallable$j;
569
571
  var inspectSource$3 = inspectSource$4;
570
572
 
571
- var WeakMap$1 = global$k.WeakMap;
573
+ var WeakMap$1 = global$q.WeakMap;
572
574
 
573
- var nativeWeakMap = isCallable$a(WeakMap$1) && /native code/.test(inspectSource$3(WeakMap$1));
575
+ var nativeWeakMap = isCallable$c(WeakMap$1) && /native code/.test(inspectSource$3(WeakMap$1));
574
576
 
575
- var shared$1 = shared$3.exports;
577
+ var shared$2 = shared$4.exports;
576
578
  var uid = uid$2;
577
579
 
578
- var keys = shared$1('keys');
580
+ var keys = shared$2('keys');
579
581
 
580
582
  var sharedKey$3 = function (key) {
581
583
  return keys[key] || (keys[key] = uid(key));
@@ -584,18 +586,18 @@ var sharedKey$3 = function (key) {
584
586
  var hiddenKeys$4 = {};
585
587
 
586
588
  var NATIVE_WEAK_MAP = nativeWeakMap;
587
- var global$j = global$B;
588
- var uncurryThis$7 = functionUncurryThis;
589
- var isObject$2 = isObject$7;
590
- var createNonEnumerableProperty$4 = createNonEnumerableProperty$5;
589
+ var global$p = global$H;
590
+ var uncurryThis$d = functionUncurryThis;
591
+ var isObject$3 = isObject$8;
592
+ var createNonEnumerableProperty$5 = createNonEnumerableProperty$6;
591
593
  var hasOwn$7 = hasOwnProperty_1;
592
- var shared = sharedStore;
594
+ var shared$1 = sharedStore;
593
595
  var sharedKey$2 = sharedKey$3;
594
596
  var hiddenKeys$3 = hiddenKeys$4;
595
597
 
596
598
  var OBJECT_ALREADY_INITIALIZED = 'Object already initialized';
597
- var TypeError$8 = global$j.TypeError;
598
- var WeakMap = global$j.WeakMap;
599
+ var TypeError$a = global$p.TypeError;
600
+ var WeakMap = global$p.WeakMap;
599
601
  var set$2, get$1, has;
600
602
 
601
603
  var enforce = function (it) {
@@ -605,19 +607,19 @@ var enforce = function (it) {
605
607
  var getterFor = function (TYPE) {
606
608
  return function (it) {
607
609
  var state;
608
- if (!isObject$2(it) || (state = get$1(it)).type !== TYPE) {
609
- throw TypeError$8('Incompatible receiver, ' + TYPE + ' required');
610
+ if (!isObject$3(it) || (state = get$1(it)).type !== TYPE) {
611
+ throw TypeError$a('Incompatible receiver, ' + TYPE + ' required');
610
612
  } return state;
611
613
  };
612
614
  };
613
615
 
614
- if (NATIVE_WEAK_MAP || shared.state) {
615
- var store = shared.state || (shared.state = new WeakMap());
616
- var wmget = uncurryThis$7(store.get);
617
- var wmhas = uncurryThis$7(store.has);
618
- var wmset = uncurryThis$7(store.set);
616
+ if (NATIVE_WEAK_MAP || shared$1.state) {
617
+ var store = shared$1.state || (shared$1.state = new WeakMap());
618
+ var wmget = uncurryThis$d(store.get);
619
+ var wmhas = uncurryThis$d(store.has);
620
+ var wmset = uncurryThis$d(store.set);
619
621
  set$2 = function (it, metadata) {
620
- if (wmhas(store, it)) throw new TypeError$8(OBJECT_ALREADY_INITIALIZED);
622
+ if (wmhas(store, it)) throw new TypeError$a(OBJECT_ALREADY_INITIALIZED);
621
623
  metadata.facade = it;
622
624
  wmset(store, it, metadata);
623
625
  return metadata;
@@ -632,9 +634,9 @@ if (NATIVE_WEAK_MAP || shared.state) {
632
634
  var STATE = sharedKey$2('state');
633
635
  hiddenKeys$3[STATE] = true;
634
636
  set$2 = function (it, metadata) {
635
- if (hasOwn$7(it, STATE)) throw new TypeError$8(OBJECT_ALREADY_INITIALIZED);
637
+ if (hasOwn$7(it, STATE)) throw new TypeError$a(OBJECT_ALREADY_INITIALIZED);
636
638
  metadata.facade = it;
637
- createNonEnumerableProperty$4(it, STATE, metadata);
639
+ createNonEnumerableProperty$5(it, STATE, metadata);
638
640
  return metadata;
639
641
  };
640
642
  get$1 = function (it) {
@@ -671,38 +673,38 @@ var functionName = {
671
673
  CONFIGURABLE: CONFIGURABLE
672
674
  };
673
675
 
674
- var global$i = global$B;
675
- var isCallable$9 = isCallable$h;
676
+ var global$o = global$H;
677
+ var isCallable$b = isCallable$j;
676
678
  var hasOwn$5 = hasOwnProperty_1;
677
- var createNonEnumerableProperty$3 = createNonEnumerableProperty$5;
679
+ var createNonEnumerableProperty$4 = createNonEnumerableProperty$6;
678
680
  var setGlobal$1 = setGlobal$3;
679
681
  var inspectSource$2 = inspectSource$4;
680
682
  var InternalStateModule$2 = internalState;
681
683
  var CONFIGURABLE_FUNCTION_NAME$1 = functionName.CONFIGURABLE;
682
684
 
683
- var getInternalState$2 = InternalStateModule$2.get;
685
+ var getInternalState$3 = InternalStateModule$2.get;
684
686
  var enforceInternalState = InternalStateModule$2.enforce;
685
687
  var TEMPLATE = String(String).split('String');
686
688
 
687
- (redefine$5.exports = function (O, key, value, options) {
689
+ (redefine$6.exports = function (O, key, value, options) {
688
690
  var unsafe = options ? !!options.unsafe : false;
689
691
  var simple = options ? !!options.enumerable : false;
690
692
  var noTargetGet = options ? !!options.noTargetGet : false;
691
693
  var name = options && options.name !== undefined ? options.name : key;
692
694
  var state;
693
- if (isCallable$9(value)) {
695
+ if (isCallable$b(value)) {
694
696
  if (String(name).slice(0, 7) === 'Symbol(') {
695
697
  name = '[' + String(name).replace(/^Symbol\(([^)]*)\)/, '$1') + ']';
696
698
  }
697
699
  if (!hasOwn$5(value, 'name') || (CONFIGURABLE_FUNCTION_NAME$1 && value.name !== name)) {
698
- createNonEnumerableProperty$3(value, 'name', name);
700
+ createNonEnumerableProperty$4(value, 'name', name);
699
701
  }
700
702
  state = enforceInternalState(value);
701
703
  if (!state.source) {
702
704
  state.source = TEMPLATE.join(typeof name == 'string' ? name : '');
703
705
  }
704
706
  }
705
- if (O === global$i) {
707
+ if (O === global$o) {
706
708
  if (simple) O[key] = value;
707
709
  else setGlobal$1(key, value);
708
710
  return;
@@ -712,54 +714,54 @@ var TEMPLATE = String(String).split('String');
712
714
  simple = true;
713
715
  }
714
716
  if (simple) O[key] = value;
715
- else createNonEnumerableProperty$3(O, key, value);
717
+ else createNonEnumerableProperty$4(O, key, value);
716
718
  // add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
717
719
  })(Function.prototype, 'toString', function toString() {
718
- return isCallable$9(this) && getInternalState$2(this).source || inspectSource$2(this);
720
+ return isCallable$b(this) && getInternalState$3(this).source || inspectSource$2(this);
719
721
  });
720
722
 
721
723
  var objectGetOwnPropertyNames = {};
722
724
 
723
725
  var ceil = Math.ceil;
724
- var floor = Math.floor;
726
+ var floor$1 = Math.floor;
725
727
 
726
728
  // `ToIntegerOrInfinity` abstract operation
727
729
  // https://tc39.es/ecma262/#sec-tointegerorinfinity
728
- var toIntegerOrInfinity$2 = function (argument) {
730
+ var toIntegerOrInfinity$4 = function (argument) {
729
731
  var number = +argument;
730
732
  // eslint-disable-next-line no-self-compare -- safe
731
- return number !== number || number === 0 ? 0 : (number > 0 ? floor : ceil)(number);
733
+ return number !== number || number === 0 ? 0 : (number > 0 ? floor$1 : ceil)(number);
732
734
  };
733
735
 
734
- var toIntegerOrInfinity$1 = toIntegerOrInfinity$2;
736
+ var toIntegerOrInfinity$3 = toIntegerOrInfinity$4;
735
737
 
736
- var max = Math.max;
737
- var min$1 = Math.min;
738
+ var max$1 = Math.max;
739
+ var min$3 = Math.min;
738
740
 
739
741
  // Helper for a popular repeating case of the spec:
740
742
  // Let integer be ? ToInteger(index).
741
743
  // If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).
742
744
  var toAbsoluteIndex$1 = function (index, length) {
743
- var integer = toIntegerOrInfinity$1(index);
744
- return integer < 0 ? max(integer + length, 0) : min$1(integer, length);
745
+ var integer = toIntegerOrInfinity$3(index);
746
+ return integer < 0 ? max$1(integer + length, 0) : min$3(integer, length);
745
747
  };
746
748
 
747
- var toIntegerOrInfinity = toIntegerOrInfinity$2;
749
+ var toIntegerOrInfinity$2 = toIntegerOrInfinity$4;
748
750
 
749
- var min = Math.min;
751
+ var min$2 = Math.min;
750
752
 
751
753
  // `ToLength` abstract operation
752
754
  // https://tc39.es/ecma262/#sec-tolength
753
- var toLength$1 = function (argument) {
754
- return argument > 0 ? min(toIntegerOrInfinity(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
755
+ var toLength$3 = function (argument) {
756
+ return argument > 0 ? min$2(toIntegerOrInfinity$2(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
755
757
  };
756
758
 
757
- var toLength = toLength$1;
759
+ var toLength$2 = toLength$3;
758
760
 
759
761
  // `LengthOfArrayLike` abstract operation
760
762
  // https://tc39.es/ecma262/#sec-lengthofarraylike
761
763
  var lengthOfArrayLike$2 = function (obj) {
762
- return toLength(obj.length);
764
+ return toLength$2(obj.length);
763
765
  };
764
766
 
765
767
  var toIndexedObject$3 = toIndexedObject$5;
@@ -767,7 +769,7 @@ var toAbsoluteIndex = toAbsoluteIndex$1;
767
769
  var lengthOfArrayLike$1 = lengthOfArrayLike$2;
768
770
 
769
771
  // `Array.prototype.{ indexOf, includes }` methods implementation
770
- var createMethod = function (IS_INCLUDES) {
772
+ var createMethod$1 = function (IS_INCLUDES) {
771
773
  return function ($this, el, fromIndex) {
772
774
  var O = toIndexedObject$3($this);
773
775
  var length = lengthOfArrayLike$1(O);
@@ -789,29 +791,29 @@ var createMethod = function (IS_INCLUDES) {
789
791
  var arrayIncludes = {
790
792
  // `Array.prototype.includes` method
791
793
  // https://tc39.es/ecma262/#sec-array.prototype.includes
792
- includes: createMethod(true),
794
+ includes: createMethod$1(true),
793
795
  // `Array.prototype.indexOf` method
794
796
  // https://tc39.es/ecma262/#sec-array.prototype.indexof
795
- indexOf: createMethod(false)
797
+ indexOf: createMethod$1(false)
796
798
  };
797
799
 
798
- var uncurryThis$6 = functionUncurryThis;
800
+ var uncurryThis$c = functionUncurryThis;
799
801
  var hasOwn$4 = hasOwnProperty_1;
800
802
  var toIndexedObject$2 = toIndexedObject$5;
801
- var indexOf = arrayIncludes.indexOf;
803
+ var indexOf$1 = arrayIncludes.indexOf;
802
804
  var hiddenKeys$2 = hiddenKeys$4;
803
805
 
804
- var push = uncurryThis$6([].push);
806
+ var push$1 = uncurryThis$c([].push);
805
807
 
806
808
  var objectKeysInternal = function (object, names) {
807
809
  var O = toIndexedObject$2(object);
808
810
  var i = 0;
809
811
  var result = [];
810
812
  var key;
811
- for (key in O) !hasOwn$4(hiddenKeys$2, key) && hasOwn$4(O, key) && push(result, key);
813
+ for (key in O) !hasOwn$4(hiddenKeys$2, key) && hasOwn$4(O, key) && push$1(result, key);
812
814
  // Don't enum bug & hidden keys
813
815
  while (names.length > i) if (hasOwn$4(O, key = names[i++])) {
814
- ~indexOf(result, key) || push(result, key);
816
+ ~indexOf$1(result, key) || push$1(result, key);
815
817
  }
816
818
  return result;
817
819
  };
@@ -845,18 +847,18 @@ var objectGetOwnPropertySymbols = {};
845
847
  objectGetOwnPropertySymbols.f = Object.getOwnPropertySymbols;
846
848
 
847
849
  var getBuiltIn$4 = getBuiltIn$7;
848
- var uncurryThis$5 = functionUncurryThis;
850
+ var uncurryThis$b = functionUncurryThis;
849
851
  var getOwnPropertyNamesModule = objectGetOwnPropertyNames;
850
852
  var getOwnPropertySymbolsModule$1 = objectGetOwnPropertySymbols;
851
- var anObject$8 = anObject$a;
853
+ var anObject$b = anObject$d;
852
854
 
853
- var concat$1 = uncurryThis$5([].concat);
855
+ var concat$2 = uncurryThis$b([].concat);
854
856
 
855
857
  // all object keys, includes non-enumerable and symbols
856
858
  var ownKeys$1 = getBuiltIn$4('Reflect', 'ownKeys') || function ownKeys(it) {
857
- var keys = getOwnPropertyNamesModule.f(anObject$8(it));
859
+ var keys = getOwnPropertyNamesModule.f(anObject$b(it));
858
860
  var getOwnPropertySymbols = getOwnPropertySymbolsModule$1.f;
859
- return getOwnPropertySymbols ? concat$1(keys, getOwnPropertySymbols(it)) : keys;
861
+ return getOwnPropertySymbols ? concat$2(keys, getOwnPropertySymbols(it)) : keys;
860
862
  };
861
863
 
862
864
  var hasOwn$3 = hasOwnProperty_1;
@@ -876,20 +878,20 @@ var copyConstructorProperties$1 = function (target, source, exceptions) {
876
878
  }
877
879
  };
878
880
 
879
- var fails$5 = fails$c;
880
- var isCallable$8 = isCallable$h;
881
+ var fails$a = fails$h;
882
+ var isCallable$a = isCallable$j;
881
883
 
882
884
  var replacement = /#|\.prototype\./;
883
885
 
884
886
  var isForced$2 = function (feature, detection) {
885
- var value = data[normalize(feature)];
887
+ var value = data[normalize$1(feature)];
886
888
  return value == POLYFILL ? true
887
889
  : value == NATIVE ? false
888
- : isCallable$8(detection) ? fails$5(detection)
890
+ : isCallable$a(detection) ? fails$a(detection)
889
891
  : !!detection;
890
892
  };
891
893
 
892
- var normalize = isForced$2.normalize = function (string) {
894
+ var normalize$1 = isForced$2.normalize = function (string) {
893
895
  return String(string).replace(replacement, '.').toLowerCase();
894
896
  };
895
897
 
@@ -899,10 +901,10 @@ var POLYFILL = isForced$2.POLYFILL = 'P';
899
901
 
900
902
  var isForced_1 = isForced$2;
901
903
 
902
- var global$h = global$B;
903
- var getOwnPropertyDescriptor$1 = objectGetOwnPropertyDescriptor.f;
904
- var createNonEnumerableProperty$2 = createNonEnumerableProperty$5;
905
- var redefine$4 = redefine$5.exports;
904
+ var global$n = global$H;
905
+ var getOwnPropertyDescriptor$2 = objectGetOwnPropertyDescriptor.f;
906
+ var createNonEnumerableProperty$3 = createNonEnumerableProperty$6;
907
+ var redefine$5 = redefine$6.exports;
906
908
  var setGlobal = setGlobal$3;
907
909
  var copyConstructorProperties = copyConstructorProperties$1;
908
910
  var isForced$1 = isForced_1;
@@ -928,16 +930,16 @@ var _export = function (options, source) {
928
930
  var STATIC = options.stat;
929
931
  var FORCED, target, key, targetProperty, sourceProperty, descriptor;
930
932
  if (GLOBAL) {
931
- target = global$h;
933
+ target = global$n;
932
934
  } else if (STATIC) {
933
- target = global$h[TARGET] || setGlobal(TARGET, {});
935
+ target = global$n[TARGET] || setGlobal(TARGET, {});
934
936
  } else {
935
- target = (global$h[TARGET] || {}).prototype;
937
+ target = (global$n[TARGET] || {}).prototype;
936
938
  }
937
939
  if (target) for (key in source) {
938
940
  sourceProperty = source[key];
939
941
  if (options.noTargetGet) {
940
- descriptor = getOwnPropertyDescriptor$1(target, key);
942
+ descriptor = getOwnPropertyDescriptor$2(target, key);
941
943
  targetProperty = descriptor && descriptor.value;
942
944
  } else targetProperty = target[key];
943
945
  FORCED = isForced$1(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);
@@ -948,39 +950,39 @@ var _export = function (options, source) {
948
950
  }
949
951
  // add a flag to not completely full polyfills
950
952
  if (options.sham || (targetProperty && targetProperty.sham)) {
951
- createNonEnumerableProperty$2(sourceProperty, 'sham', true);
953
+ createNonEnumerableProperty$3(sourceProperty, 'sham', true);
952
954
  }
953
955
  // extend global
954
- redefine$4(target, key, sourceProperty, options);
956
+ redefine$5(target, key, sourceProperty, options);
955
957
  }
956
958
  };
957
959
 
958
- var global$g = global$B;
960
+ var global$m = global$H;
959
961
 
960
- var nativePromiseConstructor = global$g.Promise;
962
+ var nativePromiseConstructor = global$m.Promise;
961
963
 
962
- var redefine$3 = redefine$5.exports;
964
+ var redefine$4 = redefine$6.exports;
963
965
 
964
966
  var redefineAll$1 = function (target, src, options) {
965
- for (var key in src) redefine$3(target, key, src[key], options);
967
+ for (var key in src) redefine$4(target, key, src[key], options);
966
968
  return target;
967
969
  };
968
970
 
969
- var global$f = global$B;
970
- var isCallable$7 = isCallable$h;
971
+ var global$l = global$H;
972
+ var isCallable$9 = isCallable$j;
971
973
 
972
- var String$2 = global$f.String;
973
- var TypeError$7 = global$f.TypeError;
974
+ var String$3 = global$l.String;
975
+ var TypeError$9 = global$l.TypeError;
974
976
 
975
977
  var aPossiblePrototype$1 = function (argument) {
976
- if (typeof argument == 'object' || isCallable$7(argument)) return argument;
977
- throw TypeError$7("Can't set " + String$2(argument) + ' as a prototype');
978
+ if (typeof argument == 'object' || isCallable$9(argument)) return argument;
979
+ throw TypeError$9("Can't set " + String$3(argument) + ' as a prototype');
978
980
  };
979
981
 
980
982
  /* eslint-disable no-proto -- safe */
981
983
 
982
- var uncurryThis$4 = functionUncurryThis;
983
- var anObject$7 = anObject$a;
984
+ var uncurryThis$a = functionUncurryThis;
985
+ var anObject$a = anObject$d;
984
986
  var aPossiblePrototype = aPossiblePrototype$1;
985
987
 
986
988
  // `Object.setPrototypeOf` method
@@ -993,12 +995,12 @@ var objectSetPrototypeOf = Object.setPrototypeOf || ('__proto__' in {} ? functio
993
995
  var setter;
994
996
  try {
995
997
  // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
996
- setter = uncurryThis$4(Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set);
998
+ setter = uncurryThis$a(Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set);
997
999
  setter(test, []);
998
1000
  CORRECT_SETTER = test instanceof Array;
999
1001
  } catch (error) { /* empty */ }
1000
1002
  return function setPrototypeOf(O, proto) {
1001
- anObject$7(O);
1003
+ anObject$a(O);
1002
1004
  aPossiblePrototype(proto);
1003
1005
  if (CORRECT_SETTER) setter(O, proto);
1004
1006
  else O.__proto__ = proto;
@@ -1008,9 +1010,9 @@ var objectSetPrototypeOf = Object.setPrototypeOf || ('__proto__' in {} ? functio
1008
1010
 
1009
1011
  var defineProperty$2 = objectDefineProperty.f;
1010
1012
  var hasOwn$2 = hasOwnProperty_1;
1011
- var wellKnownSymbol$c = wellKnownSymbol$e;
1013
+ var wellKnownSymbol$g = wellKnownSymbol$i;
1012
1014
 
1013
- var TO_STRING_TAG$3 = wellKnownSymbol$c('toStringTag');
1015
+ var TO_STRING_TAG$3 = wellKnownSymbol$g('toStringTag');
1014
1016
 
1015
1017
  var setToStringTag$3 = function (target, TAG, STATIC) {
1016
1018
  if (target && !STATIC) target = target.prototype;
@@ -1021,38 +1023,38 @@ var setToStringTag$3 = function (target, TAG, STATIC) {
1021
1023
 
1022
1024
  var getBuiltIn$3 = getBuiltIn$7;
1023
1025
  var definePropertyModule$2 = objectDefineProperty;
1024
- var wellKnownSymbol$b = wellKnownSymbol$e;
1026
+ var wellKnownSymbol$f = wellKnownSymbol$i;
1025
1027
  var DESCRIPTORS$3 = descriptors;
1026
1028
 
1027
- var SPECIES$2 = wellKnownSymbol$b('species');
1029
+ var SPECIES$3 = wellKnownSymbol$f('species');
1028
1030
 
1029
1031
  var setSpecies$1 = function (CONSTRUCTOR_NAME) {
1030
1032
  var Constructor = getBuiltIn$3(CONSTRUCTOR_NAME);
1031
1033
  var defineProperty = definePropertyModule$2.f;
1032
1034
 
1033
- if (DESCRIPTORS$3 && Constructor && !Constructor[SPECIES$2]) {
1034
- defineProperty(Constructor, SPECIES$2, {
1035
+ if (DESCRIPTORS$3 && Constructor && !Constructor[SPECIES$3]) {
1036
+ defineProperty(Constructor, SPECIES$3, {
1035
1037
  configurable: true,
1036
1038
  get: function () { return this; }
1037
1039
  });
1038
1040
  }
1039
1041
  };
1040
1042
 
1041
- var global$e = global$B;
1043
+ var global$k = global$H;
1042
1044
  var isPrototypeOf$1 = objectIsPrototypeOf;
1043
1045
 
1044
- var TypeError$6 = global$e.TypeError;
1046
+ var TypeError$8 = global$k.TypeError;
1045
1047
 
1046
1048
  var anInstance$1 = function (it, Prototype) {
1047
1049
  if (isPrototypeOf$1(Prototype, it)) return it;
1048
- throw TypeError$6('Incorrect invocation');
1050
+ throw TypeError$8('Incorrect invocation');
1049
1051
  };
1050
1052
 
1051
- var uncurryThis$3 = functionUncurryThis;
1053
+ var uncurryThis$9 = functionUncurryThis;
1052
1054
  var aCallable$3 = aCallable$5;
1053
1055
  var NATIVE_BIND$1 = functionBindNative;
1054
1056
 
1055
- var bind$4 = uncurryThis$3(uncurryThis$3.bind);
1057
+ var bind$4 = uncurryThis$9(uncurryThis$9.bind);
1056
1058
 
1057
1059
  // optional / simple context binding
1058
1060
  var functionBindContext = function (fn, that) {
@@ -1064,10 +1066,10 @@ var functionBindContext = function (fn, that) {
1064
1066
 
1065
1067
  var iterators = {};
1066
1068
 
1067
- var wellKnownSymbol$a = wellKnownSymbol$e;
1069
+ var wellKnownSymbol$e = wellKnownSymbol$i;
1068
1070
  var Iterators$4 = iterators;
1069
1071
 
1070
- var ITERATOR$5 = wellKnownSymbol$a('iterator');
1072
+ var ITERATOR$5 = wellKnownSymbol$e('iterator');
1071
1073
  var ArrayPrototype$1 = Array.prototype;
1072
1074
 
1073
1075
  // check on default Array iterator
@@ -1075,23 +1077,23 @@ var isArrayIteratorMethod$1 = function (it) {
1075
1077
  return it !== undefined && (Iterators$4.Array === it || ArrayPrototype$1[ITERATOR$5] === it);
1076
1078
  };
1077
1079
 
1078
- var wellKnownSymbol$9 = wellKnownSymbol$e;
1080
+ var wellKnownSymbol$d = wellKnownSymbol$i;
1079
1081
 
1080
- var TO_STRING_TAG$2 = wellKnownSymbol$9('toStringTag');
1082
+ var TO_STRING_TAG$2 = wellKnownSymbol$d('toStringTag');
1081
1083
  var test = {};
1082
1084
 
1083
1085
  test[TO_STRING_TAG$2] = 'z';
1084
1086
 
1085
1087
  var toStringTagSupport = String(test) === '[object z]';
1086
1088
 
1087
- var global$d = global$B;
1089
+ var global$j = global$H;
1088
1090
  var TO_STRING_TAG_SUPPORT = toStringTagSupport;
1089
- var isCallable$6 = isCallable$h;
1091
+ var isCallable$8 = isCallable$j;
1090
1092
  var classofRaw = classofRaw$1;
1091
- var wellKnownSymbol$8 = wellKnownSymbol$e;
1093
+ var wellKnownSymbol$c = wellKnownSymbol$i;
1092
1094
 
1093
- var TO_STRING_TAG$1 = wellKnownSymbol$8('toStringTag');
1094
- var Object$2 = global$d.Object;
1095
+ var TO_STRING_TAG$1 = wellKnownSymbol$c('toStringTag');
1096
+ var Object$2 = global$j.Object;
1095
1097
 
1096
1098
  // ES3 wrong here
1097
1099
  var CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';
@@ -1104,7 +1106,7 @@ var tryGet = function (it, key) {
1104
1106
  };
1105
1107
 
1106
1108
  // getting tag from ES6+ `Object.prototype.toString`
1107
- var classof$3 = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {
1109
+ var classof$6 = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {
1108
1110
  var O, tag, result;
1109
1111
  return it === undefined ? 'Undefined' : it === null ? 'Null'
1110
1112
  // @@toStringTag case
@@ -1112,65 +1114,65 @@ var classof$3 = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {
1112
1114
  // builtinTag case
1113
1115
  : CORRECT_ARGUMENTS ? classofRaw(O)
1114
1116
  // ES3 arguments fallback
1115
- : (result = classofRaw(O)) == 'Object' && isCallable$6(O.callee) ? 'Arguments' : result;
1117
+ : (result = classofRaw(O)) == 'Object' && isCallable$8(O.callee) ? 'Arguments' : result;
1116
1118
  };
1117
1119
 
1118
- var classof$2 = classof$3;
1119
- var getMethod$1 = getMethod$3;
1120
+ var classof$5 = classof$6;
1121
+ var getMethod$2 = getMethod$4;
1120
1122
  var Iterators$3 = iterators;
1121
- var wellKnownSymbol$7 = wellKnownSymbol$e;
1123
+ var wellKnownSymbol$b = wellKnownSymbol$i;
1122
1124
 
1123
- var ITERATOR$4 = wellKnownSymbol$7('iterator');
1125
+ var ITERATOR$4 = wellKnownSymbol$b('iterator');
1124
1126
 
1125
1127
  var getIteratorMethod$2 = function (it) {
1126
- if (it != undefined) return getMethod$1(it, ITERATOR$4)
1127
- || getMethod$1(it, '@@iterator')
1128
- || Iterators$3[classof$2(it)];
1128
+ if (it != undefined) return getMethod$2(it, ITERATOR$4)
1129
+ || getMethod$2(it, '@@iterator')
1130
+ || Iterators$3[classof$5(it)];
1129
1131
  };
1130
1132
 
1131
- var global$c = global$B;
1132
- var call$6 = functionCall;
1133
+ var global$i = global$H;
1134
+ var call$9 = functionCall;
1133
1135
  var aCallable$2 = aCallable$5;
1134
- var anObject$6 = anObject$a;
1136
+ var anObject$9 = anObject$d;
1135
1137
  var tryToString$2 = tryToString$4;
1136
1138
  var getIteratorMethod$1 = getIteratorMethod$2;
1137
1139
 
1138
- var TypeError$5 = global$c.TypeError;
1140
+ var TypeError$7 = global$i.TypeError;
1139
1141
 
1140
1142
  var getIterator$1 = function (argument, usingIterator) {
1141
1143
  var iteratorMethod = arguments.length < 2 ? getIteratorMethod$1(argument) : usingIterator;
1142
- if (aCallable$2(iteratorMethod)) return anObject$6(call$6(iteratorMethod, argument));
1143
- throw TypeError$5(tryToString$2(argument) + ' is not iterable');
1144
+ if (aCallable$2(iteratorMethod)) return anObject$9(call$9(iteratorMethod, argument));
1145
+ throw TypeError$7(tryToString$2(argument) + ' is not iterable');
1144
1146
  };
1145
1147
 
1146
- var call$5 = functionCall;
1147
- var anObject$5 = anObject$a;
1148
- var getMethod = getMethod$3;
1148
+ var call$8 = functionCall;
1149
+ var anObject$8 = anObject$d;
1150
+ var getMethod$1 = getMethod$4;
1149
1151
 
1150
1152
  var iteratorClose$1 = function (iterator, kind, value) {
1151
1153
  var innerResult, innerError;
1152
- anObject$5(iterator);
1154
+ anObject$8(iterator);
1153
1155
  try {
1154
- innerResult = getMethod(iterator, 'return');
1156
+ innerResult = getMethod$1(iterator, 'return');
1155
1157
  if (!innerResult) {
1156
1158
  if (kind === 'throw') throw value;
1157
1159
  return value;
1158
1160
  }
1159
- innerResult = call$5(innerResult, iterator);
1161
+ innerResult = call$8(innerResult, iterator);
1160
1162
  } catch (error) {
1161
1163
  innerError = true;
1162
1164
  innerResult = error;
1163
1165
  }
1164
1166
  if (kind === 'throw') throw value;
1165
1167
  if (innerError) throw innerResult;
1166
- anObject$5(innerResult);
1168
+ anObject$8(innerResult);
1167
1169
  return value;
1168
1170
  };
1169
1171
 
1170
- var global$b = global$B;
1172
+ var global$h = global$H;
1171
1173
  var bind$3 = functionBindContext;
1172
- var call$4 = functionCall;
1173
- var anObject$4 = anObject$a;
1174
+ var call$7 = functionCall;
1175
+ var anObject$7 = anObject$d;
1174
1176
  var tryToString$1 = tryToString$4;
1175
1177
  var isArrayIteratorMethod = isArrayIteratorMethod$1;
1176
1178
  var lengthOfArrayLike = lengthOfArrayLike$2;
@@ -1179,7 +1181,7 @@ var getIterator = getIterator$1;
1179
1181
  var getIteratorMethod = getIteratorMethod$2;
1180
1182
  var iteratorClose = iteratorClose$1;
1181
1183
 
1182
- var TypeError$4 = global$b.TypeError;
1184
+ var TypeError$6 = global$h.TypeError;
1183
1185
 
1184
1186
  var Result = function (stopped, result) {
1185
1187
  this.stopped = stopped;
@@ -1203,7 +1205,7 @@ var iterate$1 = function (iterable, unboundFunction, options) {
1203
1205
 
1204
1206
  var callFn = function (value) {
1205
1207
  if (AS_ENTRIES) {
1206
- anObject$4(value);
1208
+ anObject$7(value);
1207
1209
  return INTERRUPTED ? fn(value[0], value[1], stop) : fn(value[0], value[1]);
1208
1210
  } return INTERRUPTED ? fn(value, stop) : fn(value);
1209
1211
  };
@@ -1212,7 +1214,7 @@ var iterate$1 = function (iterable, unboundFunction, options) {
1212
1214
  iterator = iterable;
1213
1215
  } else {
1214
1216
  iterFn = getIteratorMethod(iterable);
1215
- if (!iterFn) throw TypeError$4(tryToString$1(iterable) + ' is not iterable');
1217
+ if (!iterFn) throw TypeError$6(tryToString$1(iterable) + ' is not iterable');
1216
1218
  // optimisation for array iterators
1217
1219
  if (isArrayIteratorMethod(iterFn)) {
1218
1220
  for (index = 0, length = lengthOfArrayLike(iterable); length > index; index++) {
@@ -1224,7 +1226,7 @@ var iterate$1 = function (iterable, unboundFunction, options) {
1224
1226
  }
1225
1227
 
1226
1228
  next = iterator.next;
1227
- while (!(step = call$4(next, iterator)).done) {
1229
+ while (!(step = call$7(next, iterator)).done) {
1228
1230
  try {
1229
1231
  result = callFn(step.value);
1230
1232
  } catch (error) {
@@ -1234,9 +1236,9 @@ var iterate$1 = function (iterable, unboundFunction, options) {
1234
1236
  } return new Result(false);
1235
1237
  };
1236
1238
 
1237
- var wellKnownSymbol$6 = wellKnownSymbol$e;
1239
+ var wellKnownSymbol$a = wellKnownSymbol$i;
1238
1240
 
1239
- var ITERATOR$3 = wellKnownSymbol$6('iterator');
1241
+ var ITERATOR$3 = wellKnownSymbol$a('iterator');
1240
1242
  var SAFE_CLOSING = false;
1241
1243
 
1242
1244
  try {
@@ -1273,10 +1275,10 @@ var checkCorrectnessOfIteration$1 = function (exec, SKIP_CLOSING) {
1273
1275
  return ITERATION_SUPPORT;
1274
1276
  };
1275
1277
 
1276
- var uncurryThis$2 = functionUncurryThis;
1277
- var fails$4 = fails$c;
1278
- var isCallable$5 = isCallable$h;
1279
- var classof$1 = classof$3;
1278
+ var uncurryThis$8 = functionUncurryThis;
1279
+ var fails$9 = fails$h;
1280
+ var isCallable$7 = isCallable$j;
1281
+ var classof$4 = classof$6;
1280
1282
  var getBuiltIn$2 = getBuiltIn$7;
1281
1283
  var inspectSource$1 = inspectSource$4;
1282
1284
 
@@ -1284,11 +1286,11 @@ var noop = function () { /* empty */ };
1284
1286
  var empty = [];
1285
1287
  var construct = getBuiltIn$2('Reflect', 'construct');
1286
1288
  var constructorRegExp = /^\s*(?:class|function)\b/;
1287
- var exec = uncurryThis$2(constructorRegExp.exec);
1289
+ var exec$1 = uncurryThis$8(constructorRegExp.exec);
1288
1290
  var INCORRECT_TO_STRING = !constructorRegExp.exec(noop);
1289
1291
 
1290
1292
  var isConstructorModern = function isConstructor(argument) {
1291
- if (!isCallable$5(argument)) return false;
1293
+ if (!isCallable$7(argument)) return false;
1292
1294
  try {
1293
1295
  construct(noop, empty, argument);
1294
1296
  return true;
@@ -1298,8 +1300,8 @@ var isConstructorModern = function isConstructor(argument) {
1298
1300
  };
1299
1301
 
1300
1302
  var isConstructorLegacy = function isConstructor(argument) {
1301
- if (!isCallable$5(argument)) return false;
1302
- switch (classof$1(argument)) {
1303
+ if (!isCallable$7(argument)) return false;
1304
+ switch (classof$4(argument)) {
1303
1305
  case 'AsyncFunction':
1304
1306
  case 'GeneratorFunction':
1305
1307
  case 'AsyncGeneratorFunction': return false;
@@ -1308,7 +1310,7 @@ var isConstructorLegacy = function isConstructor(argument) {
1308
1310
  // we can't check .prototype since constructors produced by .bind haven't it
1309
1311
  // `Function#toString` throws on some built-it function in some legacy engines
1310
1312
  // (for example, `DOMQuad` and similar in FF41-)
1311
- return INCORRECT_TO_STRING || !!exec(constructorRegExp, inspectSource$1(argument));
1313
+ return INCORRECT_TO_STRING || !!exec$1(constructorRegExp, inspectSource$1(argument));
1312
1314
  } catch (error) {
1313
1315
  return true;
1314
1316
  }
@@ -1318,7 +1320,7 @@ isConstructorLegacy.sham = true;
1318
1320
 
1319
1321
  // `IsConstructor` abstract operation
1320
1322
  // https://tc39.es/ecma262/#sec-isconstructor
1321
- var isConstructor$1 = !construct || fails$4(function () {
1323
+ var isConstructor$1 = !construct || fails$9(function () {
1322
1324
  var called;
1323
1325
  return isConstructorModern(isConstructorModern.call)
1324
1326
  || !isConstructorModern(Object)
@@ -1326,57 +1328,57 @@ var isConstructor$1 = !construct || fails$4(function () {
1326
1328
  || called;
1327
1329
  }) ? isConstructorLegacy : isConstructorModern;
1328
1330
 
1329
- var global$a = global$B;
1331
+ var global$g = global$H;
1330
1332
  var isConstructor = isConstructor$1;
1331
1333
  var tryToString = tryToString$4;
1332
1334
 
1333
- var TypeError$3 = global$a.TypeError;
1335
+ var TypeError$5 = global$g.TypeError;
1334
1336
 
1335
1337
  // `Assert: IsConstructor(argument) is true`
1336
1338
  var aConstructor$1 = function (argument) {
1337
1339
  if (isConstructor(argument)) return argument;
1338
- throw TypeError$3(tryToString(argument) + ' is not a constructor');
1340
+ throw TypeError$5(tryToString(argument) + ' is not a constructor');
1339
1341
  };
1340
1342
 
1341
- var anObject$3 = anObject$a;
1343
+ var anObject$6 = anObject$d;
1342
1344
  var aConstructor = aConstructor$1;
1343
- var wellKnownSymbol$5 = wellKnownSymbol$e;
1345
+ var wellKnownSymbol$9 = wellKnownSymbol$i;
1344
1346
 
1345
- var SPECIES$1 = wellKnownSymbol$5('species');
1347
+ var SPECIES$2 = wellKnownSymbol$9('species');
1346
1348
 
1347
1349
  // `SpeciesConstructor` abstract operation
1348
1350
  // https://tc39.es/ecma262/#sec-speciesconstructor
1349
1351
  var speciesConstructor$1 = function (O, defaultConstructor) {
1350
- var C = anObject$3(O).constructor;
1352
+ var C = anObject$6(O).constructor;
1351
1353
  var S;
1352
- return C === undefined || (S = anObject$3(C)[SPECIES$1]) == undefined ? defaultConstructor : aConstructor(S);
1354
+ return C === undefined || (S = anObject$6(C)[SPECIES$2]) == undefined ? defaultConstructor : aConstructor(S);
1353
1355
  };
1354
1356
 
1355
1357
  var NATIVE_BIND = functionBindNative;
1356
1358
 
1357
1359
  var FunctionPrototype = Function.prototype;
1358
- var apply$1 = FunctionPrototype.apply;
1359
- var call$3 = FunctionPrototype.call;
1360
+ var apply$2 = FunctionPrototype.apply;
1361
+ var call$6 = FunctionPrototype.call;
1360
1362
 
1361
1363
  // eslint-disable-next-line es/no-reflect -- safe
1362
- var functionApply = typeof Reflect == 'object' && Reflect.apply || (NATIVE_BIND ? call$3.bind(apply$1) : function () {
1363
- return call$3.apply(apply$1, arguments);
1364
+ var functionApply = typeof Reflect == 'object' && Reflect.apply || (NATIVE_BIND ? call$6.bind(apply$2) : function () {
1365
+ return call$6.apply(apply$2, arguments);
1364
1366
  });
1365
1367
 
1366
1368
  var getBuiltIn$1 = getBuiltIn$7;
1367
1369
 
1368
1370
  var html$2 = getBuiltIn$1('document', 'documentElement');
1369
1371
 
1370
- var uncurryThis$1 = functionUncurryThis;
1372
+ var uncurryThis$7 = functionUncurryThis;
1371
1373
 
1372
- var arraySlice$1 = uncurryThis$1([].slice);
1374
+ var arraySlice$1 = uncurryThis$7([].slice);
1373
1375
 
1374
- var global$9 = global$B;
1376
+ var global$f = global$H;
1375
1377
 
1376
- var TypeError$2 = global$9.TypeError;
1378
+ var TypeError$4 = global$f.TypeError;
1377
1379
 
1378
1380
  var validateArgumentsLength$1 = function (passed, required) {
1379
- if (passed < required) throw TypeError$2('Not enough arguments');
1381
+ if (passed < required) throw TypeError$4('Not enough arguments');
1380
1382
  return passed;
1381
1383
  };
1382
1384
 
@@ -1384,17 +1386,17 @@ var userAgent$2 = engineUserAgent;
1384
1386
 
1385
1387
  var engineIsIos = /(?:ipad|iphone|ipod).*applewebkit/i.test(userAgent$2);
1386
1388
 
1387
- var classof = classofRaw$1;
1388
- var global$8 = global$B;
1389
+ var classof$3 = classofRaw$1;
1390
+ var global$e = global$H;
1389
1391
 
1390
- var engineIsNode = classof(global$8.process) == 'process';
1392
+ var engineIsNode = classof$3(global$e.process) == 'process';
1391
1393
 
1392
- var global$7 = global$B;
1393
- var apply = functionApply;
1394
+ var global$d = global$H;
1395
+ var apply$1 = functionApply;
1394
1396
  var bind$2 = functionBindContext;
1395
- var isCallable$4 = isCallable$h;
1397
+ var isCallable$6 = isCallable$j;
1396
1398
  var hasOwn$1 = hasOwnProperty_1;
1397
- var fails$3 = fails$c;
1399
+ var fails$8 = fails$h;
1398
1400
  var html$1 = html$2;
1399
1401
  var arraySlice = arraySlice$1;
1400
1402
  var createElement = documentCreateElement$2;
@@ -1402,13 +1404,13 @@ var validateArgumentsLength = validateArgumentsLength$1;
1402
1404
  var IS_IOS$1 = engineIsIos;
1403
1405
  var IS_NODE$2 = engineIsNode;
1404
1406
 
1405
- var set$1 = global$7.setImmediate;
1406
- var clear = global$7.clearImmediate;
1407
- var process$3 = global$7.process;
1408
- var Dispatch = global$7.Dispatch;
1409
- var Function$1 = global$7.Function;
1410
- var MessageChannel = global$7.MessageChannel;
1411
- var String$1 = global$7.String;
1407
+ var set$1 = global$d.setImmediate;
1408
+ var clear = global$d.clearImmediate;
1409
+ var process$3 = global$d.process;
1410
+ var Dispatch = global$d.Dispatch;
1411
+ var Function$1 = global$d.Function;
1412
+ var MessageChannel = global$d.MessageChannel;
1413
+ var String$2 = global$d.String;
1412
1414
  var counter = 0;
1413
1415
  var queue$1 = {};
1414
1416
  var ONREADYSTATECHANGE = 'onreadystatechange';
@@ -1416,7 +1418,7 @@ var location, defer, channel, port;
1416
1418
 
1417
1419
  try {
1418
1420
  // Deno throws a ReferenceError on `location` access without `--location` flag
1419
- location = global$7.location;
1421
+ location = global$d.location;
1420
1422
  } catch (error) { /* empty */ }
1421
1423
 
1422
1424
  var run = function (id) {
@@ -1439,17 +1441,17 @@ var listener = function (event) {
1439
1441
 
1440
1442
  var post = function (id) {
1441
1443
  // old engines have not location.origin
1442
- global$7.postMessage(String$1(id), location.protocol + '//' + location.host);
1444
+ global$d.postMessage(String$2(id), location.protocol + '//' + location.host);
1443
1445
  };
1444
1446
 
1445
1447
  // Node.js 0.9+ & IE10+ has setImmediate, otherwise:
1446
1448
  if (!set$1 || !clear) {
1447
1449
  set$1 = function setImmediate(handler) {
1448
1450
  validateArgumentsLength(arguments.length, 1);
1449
- var fn = isCallable$4(handler) ? handler : Function$1(handler);
1451
+ var fn = isCallable$6(handler) ? handler : Function$1(handler);
1450
1452
  var args = arraySlice(arguments, 1);
1451
1453
  queue$1[++counter] = function () {
1452
- apply(fn, undefined, args);
1454
+ apply$1(fn, undefined, args);
1453
1455
  };
1454
1456
  defer(counter);
1455
1457
  return counter;
@@ -1477,14 +1479,14 @@ if (!set$1 || !clear) {
1477
1479
  // Browsers with postMessage, skip WebWorkers
1478
1480
  // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'
1479
1481
  } else if (
1480
- global$7.addEventListener &&
1481
- isCallable$4(global$7.postMessage) &&
1482
- !global$7.importScripts &&
1482
+ global$d.addEventListener &&
1483
+ isCallable$6(global$d.postMessage) &&
1484
+ !global$d.importScripts &&
1483
1485
  location && location.protocol !== 'file:' &&
1484
- !fails$3(post)
1486
+ !fails$8(post)
1485
1487
  ) {
1486
1488
  defer = post;
1487
- global$7.addEventListener('message', listener, false);
1489
+ global$d.addEventListener('message', listener, false);
1488
1490
  // IE8-
1489
1491
  } else if (ONREADYSTATECHANGE in createElement('script')) {
1490
1492
  defer = function (id) {
@@ -1507,29 +1509,29 @@ var task$1 = {
1507
1509
  };
1508
1510
 
1509
1511
  var userAgent$1 = engineUserAgent;
1510
- var global$6 = global$B;
1512
+ var global$c = global$H;
1511
1513
 
1512
- var engineIsIosPebble = /ipad|iphone|ipod/i.test(userAgent$1) && global$6.Pebble !== undefined;
1514
+ var engineIsIosPebble = /ipad|iphone|ipod/i.test(userAgent$1) && global$c.Pebble !== undefined;
1513
1515
 
1514
1516
  var userAgent = engineUserAgent;
1515
1517
 
1516
1518
  var engineIsWebosWebkit = /web0s(?!.*chrome)/i.test(userAgent);
1517
1519
 
1518
- var global$5 = global$B;
1520
+ var global$b = global$H;
1519
1521
  var bind$1 = functionBindContext;
1520
- var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;
1522
+ var getOwnPropertyDescriptor$1 = objectGetOwnPropertyDescriptor.f;
1521
1523
  var macrotask = task$1.set;
1522
1524
  var IS_IOS = engineIsIos;
1523
1525
  var IS_IOS_PEBBLE = engineIsIosPebble;
1524
1526
  var IS_WEBOS_WEBKIT = engineIsWebosWebkit;
1525
1527
  var IS_NODE$1 = engineIsNode;
1526
1528
 
1527
- var MutationObserver = global$5.MutationObserver || global$5.WebKitMutationObserver;
1528
- var document$2 = global$5.document;
1529
- var process$2 = global$5.process;
1530
- var Promise$1 = global$5.Promise;
1529
+ var MutationObserver = global$b.MutationObserver || global$b.WebKitMutationObserver;
1530
+ var document$2 = global$b.document;
1531
+ var process$2 = global$b.process;
1532
+ var Promise$1 = global$b.Promise;
1531
1533
  // Node.js 11 shows ExperimentalWarning on getting `queueMicrotask`
1532
- var queueMicrotaskDescriptor = getOwnPropertyDescriptor(global$5, 'queueMicrotask');
1534
+ var queueMicrotaskDescriptor = getOwnPropertyDescriptor$1(global$b, 'queueMicrotask');
1533
1535
  var queueMicrotask = queueMicrotaskDescriptor && queueMicrotaskDescriptor.value;
1534
1536
 
1535
1537
  var flush, head, last, notify$1, toggle, node, promise, then;
@@ -1585,7 +1587,7 @@ if (!queueMicrotask) {
1585
1587
  // - setTimeout
1586
1588
  } else {
1587
1589
  // strange IE + webpack dev server bug - use .bind(global)
1588
- macrotask = bind$1(macrotask, global$5);
1590
+ macrotask = bind$1(macrotask, global$b);
1589
1591
  notify$1 = function () {
1590
1592
  macrotask(flush);
1591
1593
  };
@@ -1622,23 +1624,23 @@ newPromiseCapability$2.f = function (C) {
1622
1624
  return new PromiseCapability(C);
1623
1625
  };
1624
1626
 
1625
- var anObject$2 = anObject$a;
1626
- var isObject$1 = isObject$7;
1627
+ var anObject$5 = anObject$d;
1628
+ var isObject$2 = isObject$8;
1627
1629
  var newPromiseCapability$1 = newPromiseCapability$2;
1628
1630
 
1629
1631
  var promiseResolve$1 = function (C, x) {
1630
- anObject$2(C);
1631
- if (isObject$1(x) && x.constructor === C) return x;
1632
+ anObject$5(C);
1633
+ if (isObject$2(x) && x.constructor === C) return x;
1632
1634
  var promiseCapability = newPromiseCapability$1.f(C);
1633
1635
  var resolve = promiseCapability.resolve;
1634
1636
  resolve(x);
1635
1637
  return promiseCapability.promise;
1636
1638
  };
1637
1639
 
1638
- var global$4 = global$B;
1640
+ var global$a = global$H;
1639
1641
 
1640
1642
  var hostReportErrors$1 = function (a, b) {
1641
- var console = global$4.console;
1643
+ var console = global$a.console;
1642
1644
  if (console && console.error) {
1643
1645
  arguments.length == 1 ? console.error(a) : console.error(a, b);
1644
1646
  }
@@ -1678,19 +1680,19 @@ var queue = Queue$1;
1678
1680
 
1679
1681
  var engineIsBrowser = typeof window == 'object';
1680
1682
 
1681
- var $$2 = _export;
1682
- var global$3 = global$B;
1683
+ var $$4 = _export;
1684
+ var global$9 = global$H;
1683
1685
  var getBuiltIn = getBuiltIn$7;
1684
- var call$2 = functionCall;
1686
+ var call$5 = functionCall;
1685
1687
  var NativePromise = nativePromiseConstructor;
1686
- var redefine$2 = redefine$5.exports;
1688
+ var redefine$3 = redefine$6.exports;
1687
1689
  var redefineAll = redefineAll$1;
1688
1690
  var setPrototypeOf$1 = objectSetPrototypeOf;
1689
1691
  var setToStringTag$2 = setToStringTag$3;
1690
1692
  var setSpecies = setSpecies$1;
1691
1693
  var aCallable = aCallable$5;
1692
- var isCallable$3 = isCallable$h;
1693
- var isObject = isObject$7;
1694
+ var isCallable$5 = isCallable$j;
1695
+ var isObject$1 = isObject$8;
1694
1696
  var anInstance = anInstance$1;
1695
1697
  var inspectSource = inspectSource$4;
1696
1698
  var iterate = iterate$1;
@@ -1705,28 +1707,28 @@ var perform = perform$1;
1705
1707
  var Queue = queue;
1706
1708
  var InternalStateModule$1 = internalState;
1707
1709
  var isForced = isForced_1;
1708
- var wellKnownSymbol$4 = wellKnownSymbol$e;
1710
+ var wellKnownSymbol$8 = wellKnownSymbol$i;
1709
1711
  var IS_BROWSER = engineIsBrowser;
1710
1712
  var IS_NODE = engineIsNode;
1711
1713
  var V8_VERSION = engineV8Version;
1712
1714
 
1713
- var SPECIES = wellKnownSymbol$4('species');
1715
+ var SPECIES$1 = wellKnownSymbol$8('species');
1714
1716
  var PROMISE = 'Promise';
1715
1717
 
1716
- var getInternalState$1 = InternalStateModule$1.getterFor(PROMISE);
1718
+ var getInternalState$2 = InternalStateModule$1.getterFor(PROMISE);
1717
1719
  var setInternalState$1 = InternalStateModule$1.set;
1718
1720
  var getInternalPromiseState = InternalStateModule$1.getterFor(PROMISE);
1719
1721
  var NativePromisePrototype = NativePromise && NativePromise.prototype;
1720
1722
  var PromiseConstructor = NativePromise;
1721
1723
  var PromisePrototype = NativePromisePrototype;
1722
- var TypeError$1 = global$3.TypeError;
1723
- var document$1 = global$3.document;
1724
- var process$1 = global$3.process;
1724
+ var TypeError$3 = global$9.TypeError;
1725
+ var document$1 = global$9.document;
1726
+ var process$1 = global$9.process;
1725
1727
  var newPromiseCapability = newPromiseCapabilityModule.f;
1726
1728
  var newGenericPromiseCapability = newPromiseCapability;
1727
1729
 
1728
- var DISPATCH_EVENT = !!(document$1 && document$1.createEvent && global$3.dispatchEvent);
1729
- var NATIVE_REJECTION_EVENT = isCallable$3(global$3.PromiseRejectionEvent);
1730
+ var DISPATCH_EVENT = !!(document$1 && document$1.createEvent && global$9.dispatchEvent);
1731
+ var NATIVE_REJECTION_EVENT = isCallable$5(global$9.PromiseRejectionEvent);
1730
1732
  var UNHANDLED_REJECTION = 'unhandledrejection';
1731
1733
  var REJECTION_HANDLED = 'rejectionhandled';
1732
1734
  var PENDING = 0;
@@ -1755,7 +1757,7 @@ var FORCED = isForced(PROMISE, function () {
1755
1757
  exec(function () { /* empty */ }, function () { /* empty */ });
1756
1758
  };
1757
1759
  var constructor = promise.constructor = {};
1758
- constructor[SPECIES] = FakePromise;
1760
+ constructor[SPECIES$1] = FakePromise;
1759
1761
  SUBCLASSING = promise.then(function () { /* empty */ }) instanceof FakePromise;
1760
1762
  if (!SUBCLASSING) return true;
1761
1763
  // Unhandled rejections tracking support, NodeJS Promise without it fails @@species test
@@ -1769,7 +1771,7 @@ var INCORRECT_ITERATION = FORCED || !checkCorrectnessOfIteration(function (itera
1769
1771
  // helpers
1770
1772
  var isThenable = function (it) {
1771
1773
  var then;
1772
- return isObject(it) && isCallable$3(then = it.then) ? then : false;
1774
+ return isObject$1(it) && isCallable$5(then = it.then) ? then : false;
1773
1775
  };
1774
1776
 
1775
1777
  var callReaction = function (reaction, state) {
@@ -1796,9 +1798,9 @@ var callReaction = function (reaction, state) {
1796
1798
  }
1797
1799
  }
1798
1800
  if (result === reaction.promise) {
1799
- reject(TypeError$1('Promise-chain cycle'));
1801
+ reject(TypeError$3('Promise-chain cycle'));
1800
1802
  } else if (then = isThenable(result)) {
1801
- call$2(then, result, resolve, reject);
1803
+ call$5(then, result, resolve, reject);
1802
1804
  } else resolve(result);
1803
1805
  } else reject(value);
1804
1806
  } catch (error) {
@@ -1828,14 +1830,14 @@ var dispatchEvent = function (name, promise, reason) {
1828
1830
  event.promise = promise;
1829
1831
  event.reason = reason;
1830
1832
  event.initEvent(name, false, true);
1831
- global$3.dispatchEvent(event);
1833
+ global$9.dispatchEvent(event);
1832
1834
  } else event = { promise: promise, reason: reason };
1833
- if (!NATIVE_REJECTION_EVENT && (handler = global$3['on' + name])) handler(event);
1835
+ if (!NATIVE_REJECTION_EVENT && (handler = global$9['on' + name])) handler(event);
1834
1836
  else if (name === UNHANDLED_REJECTION) hostReportErrors('Unhandled promise rejection', reason);
1835
1837
  };
1836
1838
 
1837
1839
  var onUnhandled = function (state) {
1838
- call$2(task, global$3, function () {
1840
+ call$5(task, global$9, function () {
1839
1841
  var promise = state.facade;
1840
1842
  var value = state.value;
1841
1843
  var IS_UNHANDLED = isUnhandled(state);
@@ -1858,7 +1860,7 @@ var isUnhandled = function (state) {
1858
1860
  };
1859
1861
 
1860
1862
  var onHandleUnhandled = function (state) {
1861
- call$2(task, global$3, function () {
1863
+ call$5(task, global$9, function () {
1862
1864
  var promise = state.facade;
1863
1865
  if (IS_NODE) {
1864
1866
  process$1.emit('rejectionHandled', promise);
@@ -1886,13 +1888,13 @@ var internalResolve = function (state, value, unwrap) {
1886
1888
  state.done = true;
1887
1889
  if (unwrap) state = unwrap;
1888
1890
  try {
1889
- if (state.facade === value) throw TypeError$1("Promise can't be resolved itself");
1891
+ if (state.facade === value) throw TypeError$3("Promise can't be resolved itself");
1890
1892
  var then = isThenable(value);
1891
1893
  if (then) {
1892
1894
  microtask(function () {
1893
1895
  var wrapper = { done: false };
1894
1896
  try {
1895
- call$2(then, value,
1897
+ call$5(then, value,
1896
1898
  bind(internalResolve, wrapper, state),
1897
1899
  bind(internalReject, wrapper, state)
1898
1900
  );
@@ -1916,8 +1918,8 @@ if (FORCED) {
1916
1918
  PromiseConstructor = function Promise(executor) {
1917
1919
  anInstance(this, PromisePrototype);
1918
1920
  aCallable(executor);
1919
- call$2(Internal, this);
1920
- var state = getInternalState$1(this);
1921
+ call$5(Internal, this);
1922
+ var state = getInternalState$2(this);
1921
1923
  try {
1922
1924
  executor(bind(internalResolve, state), bind(internalReject, state));
1923
1925
  } catch (error) {
@@ -1946,8 +1948,8 @@ if (FORCED) {
1946
1948
  var state = getInternalPromiseState(this);
1947
1949
  var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor));
1948
1950
  state.parent = true;
1949
- reaction.ok = isCallable$3(onFulfilled) ? onFulfilled : true;
1950
- reaction.fail = isCallable$3(onRejected) && onRejected;
1951
+ reaction.ok = isCallable$5(onFulfilled) ? onFulfilled : true;
1952
+ reaction.fail = isCallable$5(onRejected) && onRejected;
1951
1953
  reaction.domain = IS_NODE ? process$1.domain : undefined;
1952
1954
  if (state.state == PENDING) state.reactions.add(reaction);
1953
1955
  else microtask(function () {
@@ -1963,7 +1965,7 @@ if (FORCED) {
1963
1965
  });
1964
1966
  OwnPromiseCapability = function () {
1965
1967
  var promise = new Internal();
1966
- var state = getInternalState$1(promise);
1968
+ var state = getInternalState$2(promise);
1967
1969
  this.promise = promise;
1968
1970
  this.resolve = bind(internalResolve, state);
1969
1971
  this.reject = bind(internalReject, state);
@@ -1974,21 +1976,21 @@ if (FORCED) {
1974
1976
  : newGenericPromiseCapability(C);
1975
1977
  };
1976
1978
 
1977
- if (isCallable$3(NativePromise) && NativePromisePrototype !== Object.prototype) {
1979
+ if (isCallable$5(NativePromise) && NativePromisePrototype !== Object.prototype) {
1978
1980
  nativeThen = NativePromisePrototype.then;
1979
1981
 
1980
1982
  if (!SUBCLASSING) {
1981
1983
  // make `Promise#then` return a polyfilled `Promise` for native promise-based APIs
1982
- redefine$2(NativePromisePrototype, 'then', function then(onFulfilled, onRejected) {
1984
+ redefine$3(NativePromisePrototype, 'then', function then(onFulfilled, onRejected) {
1983
1985
  var that = this;
1984
1986
  return new PromiseConstructor(function (resolve, reject) {
1985
- call$2(nativeThen, that, resolve, reject);
1987
+ call$5(nativeThen, that, resolve, reject);
1986
1988
  }).then(onFulfilled, onRejected);
1987
1989
  // https://github.com/zloirock/core-js/issues/640
1988
1990
  }, { unsafe: true });
1989
1991
 
1990
1992
  // makes sure that native promise-based APIs `Promise#catch` properly works with patched `Promise#then`
1991
- redefine$2(NativePromisePrototype, 'catch', PromisePrototype['catch'], { unsafe: true });
1993
+ redefine$3(NativePromisePrototype, 'catch', PromisePrototype['catch'], { unsafe: true });
1992
1994
  }
1993
1995
 
1994
1996
  // make `.constructor === Promise` work for native promise-based APIs
@@ -2003,7 +2005,7 @@ if (FORCED) {
2003
2005
  }
2004
2006
  }
2005
2007
 
2006
- $$2({ global: true, wrap: true, forced: FORCED }, {
2008
+ $$4({ global: true, wrap: true, forced: FORCED }, {
2007
2009
  Promise: PromiseConstructor
2008
2010
  });
2009
2011
 
@@ -2013,17 +2015,17 @@ setSpecies(PROMISE);
2013
2015
  PromiseWrapper = getBuiltIn(PROMISE);
2014
2016
 
2015
2017
  // statics
2016
- $$2({ target: PROMISE, stat: true, forced: FORCED }, {
2018
+ $$4({ target: PROMISE, stat: true, forced: FORCED }, {
2017
2019
  // `Promise.reject` method
2018
2020
  // https://tc39.es/ecma262/#sec-promise.reject
2019
2021
  reject: function reject(r) {
2020
2022
  var capability = newPromiseCapability(this);
2021
- call$2(capability.reject, undefined, r);
2023
+ call$5(capability.reject, undefined, r);
2022
2024
  return capability.promise;
2023
2025
  }
2024
2026
  });
2025
2027
 
2026
- $$2({ target: PROMISE, stat: true, forced: FORCED }, {
2028
+ $$4({ target: PROMISE, stat: true, forced: FORCED }, {
2027
2029
  // `Promise.resolve` method
2028
2030
  // https://tc39.es/ecma262/#sec-promise.resolve
2029
2031
  resolve: function resolve(x) {
@@ -2031,7 +2033,7 @@ $$2({ target: PROMISE, stat: true, forced: FORCED }, {
2031
2033
  }
2032
2034
  });
2033
2035
 
2034
- $$2({ target: PROMISE, stat: true, forced: INCORRECT_ITERATION }, {
2036
+ $$4({ target: PROMISE, stat: true, forced: INCORRECT_ITERATION }, {
2035
2037
  // `Promise.all` method
2036
2038
  // https://tc39.es/ecma262/#sec-promise.all
2037
2039
  all: function all(iterable) {
@@ -2048,7 +2050,7 @@ $$2({ target: PROMISE, stat: true, forced: INCORRECT_ITERATION }, {
2048
2050
  var index = counter++;
2049
2051
  var alreadyCalled = false;
2050
2052
  remaining++;
2051
- call$2($promiseResolve, C, promise).then(function (value) {
2053
+ call$5($promiseResolve, C, promise).then(function (value) {
2052
2054
  if (alreadyCalled) return;
2053
2055
  alreadyCalled = true;
2054
2056
  values[index] = value;
@@ -2069,7 +2071,7 @@ $$2({ target: PROMISE, stat: true, forced: INCORRECT_ITERATION }, {
2069
2071
  var result = perform(function () {
2070
2072
  var $promiseResolve = aCallable(C.resolve);
2071
2073
  iterate(iterable, function (promise) {
2072
- call$2($promiseResolve, C, promise).then(capability.resolve, reject);
2074
+ call$5($promiseResolve, C, promise).then(capability.resolve, reject);
2073
2075
  });
2074
2076
  });
2075
2077
  if (result.error) reject(result.value);
@@ -2088,24 +2090,24 @@ var objectKeys$2 = Object.keys || function keys(O) {
2088
2090
  };
2089
2091
 
2090
2092
  var DESCRIPTORS$2 = descriptors;
2091
- var uncurryThis = functionUncurryThis;
2092
- var call$1 = functionCall;
2093
- var fails$2 = fails$c;
2093
+ var uncurryThis$6 = functionUncurryThis;
2094
+ var call$4 = functionCall;
2095
+ var fails$7 = fails$h;
2094
2096
  var objectKeys$1 = objectKeys$2;
2095
2097
  var getOwnPropertySymbolsModule = objectGetOwnPropertySymbols;
2096
2098
  var propertyIsEnumerableModule = objectPropertyIsEnumerable;
2097
- var toObject$1 = toObject$3;
2099
+ var toObject$2 = toObject$4;
2098
2100
  var IndexedObject = indexedObject;
2099
2101
 
2100
2102
  // eslint-disable-next-line es/no-object-assign -- safe
2101
2103
  var $assign = Object.assign;
2102
2104
  // eslint-disable-next-line es/no-object-defineproperty -- required for testing
2103
2105
  var defineProperty$1 = Object.defineProperty;
2104
- var concat = uncurryThis([].concat);
2106
+ var concat$1 = uncurryThis$6([].concat);
2105
2107
 
2106
2108
  // `Object.assign` method
2107
2109
  // https://tc39.es/ecma262/#sec-object.assign
2108
- var objectAssign = !$assign || fails$2(function () {
2110
+ var objectAssign = !$assign || fails$7(function () {
2109
2111
  // should have correct order of operations (Edge bug)
2110
2112
  if (DESCRIPTORS$2 && $assign({ b: 1 }, $assign(defineProperty$1({}, 'a', {
2111
2113
  enumerable: true,
@@ -2126,31 +2128,31 @@ var objectAssign = !$assign || fails$2(function () {
2126
2128
  alphabet.split('').forEach(function (chr) { B[chr] = chr; });
2127
2129
  return $assign({}, A)[symbol] != 7 || objectKeys$1($assign({}, B)).join('') != alphabet;
2128
2130
  }) ? function assign(target, source) { // eslint-disable-line no-unused-vars -- required for `.length`
2129
- var T = toObject$1(target);
2131
+ var T = toObject$2(target);
2130
2132
  var argumentsLength = arguments.length;
2131
2133
  var index = 1;
2132
2134
  var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;
2133
2135
  var propertyIsEnumerable = propertyIsEnumerableModule.f;
2134
2136
  while (argumentsLength > index) {
2135
2137
  var S = IndexedObject(arguments[index++]);
2136
- var keys = getOwnPropertySymbols ? concat(objectKeys$1(S), getOwnPropertySymbols(S)) : objectKeys$1(S);
2138
+ var keys = getOwnPropertySymbols ? concat$1(objectKeys$1(S), getOwnPropertySymbols(S)) : objectKeys$1(S);
2137
2139
  var length = keys.length;
2138
2140
  var j = 0;
2139
2141
  var key;
2140
2142
  while (length > j) {
2141
2143
  key = keys[j++];
2142
- if (!DESCRIPTORS$2 || call$1(propertyIsEnumerable, S, key)) T[key] = S[key];
2144
+ if (!DESCRIPTORS$2 || call$4(propertyIsEnumerable, S, key)) T[key] = S[key];
2143
2145
  }
2144
2146
  } return T;
2145
2147
  } : $assign;
2146
2148
 
2147
- var $$1 = _export;
2149
+ var $$3 = _export;
2148
2150
  var assign = objectAssign;
2149
2151
 
2150
2152
  // `Object.assign` method
2151
2153
  // https://tc39.es/ecma262/#sec-object.assign
2152
2154
  // eslint-disable-next-line es/no-object-assign -- required for testing
2153
- $$1({ target: 'Object', stat: true, forced: Object.assign !== assign }, {
2155
+ $$3({ target: 'Object', stat: true, forced: Object.assign !== assign }, {
2154
2156
  assign: assign
2155
2157
  });
2156
2158
 
@@ -3261,7 +3263,7 @@ var objectDefineProperties = {};
3261
3263
  var DESCRIPTORS$1 = descriptors;
3262
3264
  var V8_PROTOTYPE_DEFINE_BUG = v8PrototypeDefineBug;
3263
3265
  var definePropertyModule$1 = objectDefineProperty;
3264
- var anObject$1 = anObject$a;
3266
+ var anObject$4 = anObject$d;
3265
3267
  var toIndexedObject$1 = toIndexedObject$5;
3266
3268
  var objectKeys = objectKeys$2;
3267
3269
 
@@ -3269,7 +3271,7 @@ var objectKeys = objectKeys$2;
3269
3271
  // https://tc39.es/ecma262/#sec-object.defineproperties
3270
3272
  // eslint-disable-next-line es/no-object-defineproperties -- safe
3271
3273
  objectDefineProperties.f = DESCRIPTORS$1 && !V8_PROTOTYPE_DEFINE_BUG ? Object.defineProperties : function defineProperties(O, Properties) {
3272
- anObject$1(O);
3274
+ anObject$4(O);
3273
3275
  var props = toIndexedObject$1(Properties);
3274
3276
  var keys = objectKeys(Properties);
3275
3277
  var length = keys.length;
@@ -3281,7 +3283,7 @@ objectDefineProperties.f = DESCRIPTORS$1 && !V8_PROTOTYPE_DEFINE_BUG ? Object.de
3281
3283
 
3282
3284
  /* global ActiveXObject -- old IE, WSH */
3283
3285
 
3284
- var anObject = anObject$a;
3286
+ var anObject$3 = anObject$d;
3285
3287
  var definePropertiesModule = objectDefineProperties;
3286
3288
  var enumBugKeys = enumBugKeys$3;
3287
3289
  var hiddenKeys = hiddenKeys$4;
@@ -3354,7 +3356,7 @@ hiddenKeys[IE_PROTO$1] = true;
3354
3356
  var objectCreate = Object.create || function create(O, Properties) {
3355
3357
  var result;
3356
3358
  if (O !== null) {
3357
- EmptyConstructor[PROTOTYPE] = anObject(O);
3359
+ EmptyConstructor[PROTOTYPE] = anObject$3(O);
3358
3360
  result = new EmptyConstructor();
3359
3361
  EmptyConstructor[PROTOTYPE] = null;
3360
3362
  // add "__proto__" for Object.getPrototypeOf polyfill
@@ -3363,11 +3365,11 @@ var objectCreate = Object.create || function create(O, Properties) {
3363
3365
  return Properties === undefined ? result : definePropertiesModule.f(result, Properties);
3364
3366
  };
3365
3367
 
3366
- var wellKnownSymbol$3 = wellKnownSymbol$e;
3367
- var create$1 = objectCreate;
3368
+ var wellKnownSymbol$7 = wellKnownSymbol$i;
3369
+ var create$2 = objectCreate;
3368
3370
  var definePropertyModule = objectDefineProperty;
3369
3371
 
3370
- var UNSCOPABLES = wellKnownSymbol$3('unscopables');
3372
+ var UNSCOPABLES = wellKnownSymbol$7('unscopables');
3371
3373
  var ArrayPrototype = Array.prototype;
3372
3374
 
3373
3375
  // Array.prototype[@@unscopables]
@@ -3375,7 +3377,7 @@ var ArrayPrototype = Array.prototype;
3375
3377
  if (ArrayPrototype[UNSCOPABLES] == undefined) {
3376
3378
  definePropertyModule.f(ArrayPrototype, UNSCOPABLES, {
3377
3379
  configurable: true,
3378
- value: create$1(null)
3380
+ value: create$2(null)
3379
3381
  });
3380
3382
  }
3381
3383
 
@@ -3384,44 +3386,44 @@ var addToUnscopables$1 = function (key) {
3384
3386
  ArrayPrototype[UNSCOPABLES][key] = true;
3385
3387
  };
3386
3388
 
3387
- var fails$1 = fails$c;
3389
+ var fails$6 = fails$h;
3388
3390
 
3389
- var correctPrototypeGetter = !fails$1(function () {
3391
+ var correctPrototypeGetter = !fails$6(function () {
3390
3392
  function F() { /* empty */ }
3391
3393
  F.prototype.constructor = null;
3392
3394
  // eslint-disable-next-line es/no-object-getprototypeof -- required for testing
3393
3395
  return Object.getPrototypeOf(new F()) !== F.prototype;
3394
3396
  });
3395
3397
 
3396
- var global$2 = global$B;
3398
+ var global$8 = global$H;
3397
3399
  var hasOwn = hasOwnProperty_1;
3398
- var isCallable$2 = isCallable$h;
3399
- var toObject = toObject$3;
3400
+ var isCallable$4 = isCallable$j;
3401
+ var toObject$1 = toObject$4;
3400
3402
  var sharedKey = sharedKey$3;
3401
3403
  var CORRECT_PROTOTYPE_GETTER = correctPrototypeGetter;
3402
3404
 
3403
3405
  var IE_PROTO = sharedKey('IE_PROTO');
3404
- var Object$1 = global$2.Object;
3406
+ var Object$1 = global$8.Object;
3405
3407
  var ObjectPrototype = Object$1.prototype;
3406
3408
 
3407
3409
  // `Object.getPrototypeOf` method
3408
3410
  // https://tc39.es/ecma262/#sec-object.getprototypeof
3409
3411
  var objectGetPrototypeOf = CORRECT_PROTOTYPE_GETTER ? Object$1.getPrototypeOf : function (O) {
3410
- var object = toObject(O);
3412
+ var object = toObject$1(O);
3411
3413
  if (hasOwn(object, IE_PROTO)) return object[IE_PROTO];
3412
3414
  var constructor = object.constructor;
3413
- if (isCallable$2(constructor) && object instanceof constructor) {
3415
+ if (isCallable$4(constructor) && object instanceof constructor) {
3414
3416
  return constructor.prototype;
3415
3417
  } return object instanceof Object$1 ? ObjectPrototype : null;
3416
3418
  };
3417
3419
 
3418
- var fails = fails$c;
3419
- var isCallable$1 = isCallable$h;
3420
+ var fails$5 = fails$h;
3421
+ var isCallable$3 = isCallable$j;
3420
3422
  var getPrototypeOf$1 = objectGetPrototypeOf;
3421
- var redefine$1 = redefine$5.exports;
3422
- var wellKnownSymbol$2 = wellKnownSymbol$e;
3423
+ var redefine$2 = redefine$6.exports;
3424
+ var wellKnownSymbol$6 = wellKnownSymbol$i;
3423
3425
 
3424
- var ITERATOR$2 = wellKnownSymbol$2('iterator');
3426
+ var ITERATOR$2 = wellKnownSymbol$6('iterator');
3425
3427
  var BUGGY_SAFARI_ITERATORS$1 = false;
3426
3428
 
3427
3429
  // `%IteratorPrototype%` object
@@ -3439,7 +3441,7 @@ if ([].keys) {
3439
3441
  }
3440
3442
  }
3441
3443
 
3442
- var NEW_ITERATOR_PROTOTYPE = IteratorPrototype$2 == undefined || fails(function () {
3444
+ var NEW_ITERATOR_PROTOTYPE = IteratorPrototype$2 == undefined || fails$5(function () {
3443
3445
  var test = {};
3444
3446
  // FF44- legacy iterators case
3445
3447
  return IteratorPrototype$2[ITERATOR$2].call(test) !== test;
@@ -3449,8 +3451,8 @@ if (NEW_ITERATOR_PROTOTYPE) IteratorPrototype$2 = {};
3449
3451
 
3450
3452
  // `%IteratorPrototype%[@@iterator]()` method
3451
3453
  // https://tc39.es/ecma262/#sec-%iteratorprototype%-@@iterator
3452
- if (!isCallable$1(IteratorPrototype$2[ITERATOR$2])) {
3453
- redefine$1(IteratorPrototype$2, ITERATOR$2, function () {
3454
+ if (!isCallable$3(IteratorPrototype$2[ITERATOR$2])) {
3455
+ redefine$2(IteratorPrototype$2, ITERATOR$2, function () {
3454
3456
  return this;
3455
3457
  });
3456
3458
  }
@@ -3461,7 +3463,7 @@ var iteratorsCore = {
3461
3463
  };
3462
3464
 
3463
3465
  var IteratorPrototype$1 = iteratorsCore.IteratorPrototype;
3464
- var create = objectCreate;
3466
+ var create$1 = objectCreate;
3465
3467
  var createPropertyDescriptor = createPropertyDescriptor$3;
3466
3468
  var setToStringTag$1 = setToStringTag$3;
3467
3469
  var Iterators$2 = iterators;
@@ -3470,23 +3472,23 @@ var returnThis$1 = function () { return this; };
3470
3472
 
3471
3473
  var createIteratorConstructor$1 = function (IteratorConstructor, NAME, next, ENUMERABLE_NEXT) {
3472
3474
  var TO_STRING_TAG = NAME + ' Iterator';
3473
- IteratorConstructor.prototype = create(IteratorPrototype$1, { next: createPropertyDescriptor(+!ENUMERABLE_NEXT, next) });
3475
+ IteratorConstructor.prototype = create$1(IteratorPrototype$1, { next: createPropertyDescriptor(+!ENUMERABLE_NEXT, next) });
3474
3476
  setToStringTag$1(IteratorConstructor, TO_STRING_TAG, false);
3475
3477
  Iterators$2[TO_STRING_TAG] = returnThis$1;
3476
3478
  return IteratorConstructor;
3477
3479
  };
3478
3480
 
3479
- var $ = _export;
3480
- var call = functionCall;
3481
+ var $$2 = _export;
3482
+ var call$3 = functionCall;
3481
3483
  var FunctionName = functionName;
3482
- var isCallable = isCallable$h;
3484
+ var isCallable$2 = isCallable$j;
3483
3485
  var createIteratorConstructor = createIteratorConstructor$1;
3484
3486
  var getPrototypeOf = objectGetPrototypeOf;
3485
3487
  var setPrototypeOf = objectSetPrototypeOf;
3486
3488
  var setToStringTag = setToStringTag$3;
3487
- var createNonEnumerableProperty$1 = createNonEnumerableProperty$5;
3488
- var redefine = redefine$5.exports;
3489
- var wellKnownSymbol$1 = wellKnownSymbol$e;
3489
+ var createNonEnumerableProperty$2 = createNonEnumerableProperty$6;
3490
+ var redefine$1 = redefine$6.exports;
3491
+ var wellKnownSymbol$5 = wellKnownSymbol$i;
3490
3492
  var Iterators$1 = iterators;
3491
3493
  var IteratorsCore = iteratorsCore;
3492
3494
 
@@ -3494,7 +3496,7 @@ var PROPER_FUNCTION_NAME = FunctionName.PROPER;
3494
3496
  var CONFIGURABLE_FUNCTION_NAME = FunctionName.CONFIGURABLE;
3495
3497
  var IteratorPrototype = IteratorsCore.IteratorPrototype;
3496
3498
  var BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;
3497
- var ITERATOR$1 = wellKnownSymbol$1('iterator');
3499
+ var ITERATOR$1 = wellKnownSymbol$5('iterator');
3498
3500
  var KEYS = 'keys';
3499
3501
  var VALUES = 'values';
3500
3502
  var ENTRIES = 'entries';
@@ -3531,8 +3533,8 @@ var defineIterator$1 = function (Iterable, NAME, IteratorConstructor, next, DEFA
3531
3533
  if (getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {
3532
3534
  if (setPrototypeOf) {
3533
3535
  setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);
3534
- } else if (!isCallable(CurrentIteratorPrototype[ITERATOR$1])) {
3535
- redefine(CurrentIteratorPrototype, ITERATOR$1, returnThis);
3536
+ } else if (!isCallable$2(CurrentIteratorPrototype[ITERATOR$1])) {
3537
+ redefine$1(CurrentIteratorPrototype, ITERATOR$1, returnThis);
3536
3538
  }
3537
3539
  }
3538
3540
  // Set @@toStringTag to native iterators
@@ -3543,10 +3545,10 @@ var defineIterator$1 = function (Iterable, NAME, IteratorConstructor, next, DEFA
3543
3545
  // fix Array.prototype.{ values, @@iterator }.name in V8 / FF
3544
3546
  if (PROPER_FUNCTION_NAME && DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {
3545
3547
  if (CONFIGURABLE_FUNCTION_NAME) {
3546
- createNonEnumerableProperty$1(IterablePrototype, 'name', VALUES);
3548
+ createNonEnumerableProperty$2(IterablePrototype, 'name', VALUES);
3547
3549
  } else {
3548
3550
  INCORRECT_VALUES_NAME = true;
3549
- defaultIterator = function values() { return call(nativeIterator, this); };
3551
+ defaultIterator = function values() { return call$3(nativeIterator, this); };
3550
3552
  }
3551
3553
  }
3552
3554
 
@@ -3559,14 +3561,14 @@ var defineIterator$1 = function (Iterable, NAME, IteratorConstructor, next, DEFA
3559
3561
  };
3560
3562
  if (FORCED) for (KEY in methods) {
3561
3563
  if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {
3562
- redefine(IterablePrototype, KEY, methods[KEY]);
3564
+ redefine$1(IterablePrototype, KEY, methods[KEY]);
3563
3565
  }
3564
- } else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);
3566
+ } else $$2({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);
3565
3567
  }
3566
3568
 
3567
3569
  // define iterator
3568
3570
  if (IterablePrototype[ITERATOR$1] !== defaultIterator) {
3569
- redefine(IterablePrototype, ITERATOR$1, defaultIterator, { name: DEFAULT });
3571
+ redefine$1(IterablePrototype, ITERATOR$1, defaultIterator, { name: DEFAULT });
3570
3572
  }
3571
3573
  Iterators$1[NAME] = defaultIterator;
3572
3574
 
@@ -3583,7 +3585,7 @@ var DESCRIPTORS = descriptors;
3583
3585
 
3584
3586
  var ARRAY_ITERATOR = 'Array Iterator';
3585
3587
  var setInternalState = InternalStateModule.set;
3586
- var getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR);
3588
+ var getInternalState$1 = InternalStateModule.getterFor(ARRAY_ITERATOR);
3587
3589
 
3588
3590
  // `Array.prototype.entries` method
3589
3591
  // https://tc39.es/ecma262/#sec-array.prototype.entries
@@ -3605,7 +3607,7 @@ var es_array_iterator = defineIterator(Array, 'Array', function (iterated, kind)
3605
3607
  // `%ArrayIteratorPrototype%.next` method
3606
3608
  // https://tc39.es/ecma262/#sec-%arrayiteratorprototype%.next
3607
3609
  }, function () {
3608
- var state = getInternalState(this);
3610
+ var state = getInternalState$1(this);
3609
3611
  var target = state.target;
3610
3612
  var kind = state.kind;
3611
3613
  var index = state.index++;
@@ -3677,32 +3679,32 @@ var DOMTokenListPrototype$1 = classList && classList.constructor && classList.co
3677
3679
 
3678
3680
  var domTokenListPrototype = DOMTokenListPrototype$1 === Object.prototype ? undefined : DOMTokenListPrototype$1;
3679
3681
 
3680
- var global$1 = global$B;
3682
+ var global$7 = global$H;
3681
3683
  var DOMIterables = domIterables;
3682
3684
  var DOMTokenListPrototype = domTokenListPrototype;
3683
3685
  var ArrayIteratorMethods = es_array_iterator;
3684
- var createNonEnumerableProperty = createNonEnumerableProperty$5;
3685
- var wellKnownSymbol = wellKnownSymbol$e;
3686
+ var createNonEnumerableProperty$1 = createNonEnumerableProperty$6;
3687
+ var wellKnownSymbol$4 = wellKnownSymbol$i;
3686
3688
 
3687
- var ITERATOR = wellKnownSymbol('iterator');
3688
- var TO_STRING_TAG = wellKnownSymbol('toStringTag');
3689
+ var ITERATOR = wellKnownSymbol$4('iterator');
3690
+ var TO_STRING_TAG = wellKnownSymbol$4('toStringTag');
3689
3691
  var ArrayValues = ArrayIteratorMethods.values;
3690
3692
 
3691
3693
  var handlePrototype = function (CollectionPrototype, COLLECTION_NAME) {
3692
3694
  if (CollectionPrototype) {
3693
3695
  // some Chrome versions have non-configurable methods on DOMTokenList
3694
3696
  if (CollectionPrototype[ITERATOR] !== ArrayValues) try {
3695
- createNonEnumerableProperty(CollectionPrototype, ITERATOR, ArrayValues);
3697
+ createNonEnumerableProperty$1(CollectionPrototype, ITERATOR, ArrayValues);
3696
3698
  } catch (error) {
3697
3699
  CollectionPrototype[ITERATOR] = ArrayValues;
3698
3700
  }
3699
3701
  if (!CollectionPrototype[TO_STRING_TAG]) {
3700
- createNonEnumerableProperty(CollectionPrototype, TO_STRING_TAG, COLLECTION_NAME);
3702
+ createNonEnumerableProperty$1(CollectionPrototype, TO_STRING_TAG, COLLECTION_NAME);
3701
3703
  }
3702
3704
  if (DOMIterables[COLLECTION_NAME]) for (var METHOD_NAME in ArrayIteratorMethods) {
3703
3705
  // some Chrome versions have non-configurable methods on DOMTokenList
3704
3706
  if (CollectionPrototype[METHOD_NAME] !== ArrayIteratorMethods[METHOD_NAME]) try {
3705
- createNonEnumerableProperty(CollectionPrototype, METHOD_NAME, ArrayIteratorMethods[METHOD_NAME]);
3707
+ createNonEnumerableProperty$1(CollectionPrototype, METHOD_NAME, ArrayIteratorMethods[METHOD_NAME]);
3706
3708
  } catch (error) {
3707
3709
  CollectionPrototype[METHOD_NAME] = ArrayIteratorMethods[METHOD_NAME];
3708
3710
  }
@@ -3711,7 +3713,7 @@ var handlePrototype = function (CollectionPrototype, COLLECTION_NAME) {
3711
3713
  };
3712
3714
 
3713
3715
  for (var COLLECTION_NAME in DOMIterables) {
3714
- handlePrototype(global$1[COLLECTION_NAME] && global$1[COLLECTION_NAME].prototype, COLLECTION_NAME);
3716
+ handlePrototype(global$7[COLLECTION_NAME] && global$7[COLLECTION_NAME].prototype, COLLECTION_NAME);
3715
3717
  }
3716
3718
 
3717
3719
  handlePrototype(DOMTokenListPrototype, 'DOMTokenList');
@@ -3762,7 +3764,7 @@ class Ninetailed {
3762
3764
  payload
3763
3765
  }) => {
3764
3766
  cb(Object.assign(Object.assign({}, this._profileState), {
3765
- loading: false,
3767
+ status: 'success',
3766
3768
  profile: payload.profile,
3767
3769
  error: undefined
3768
3770
  }));
@@ -3770,12 +3772,23 @@ class Ninetailed {
3770
3772
  };
3771
3773
 
3772
3774
  this.plugins = flatten(plugins || []);
3773
- this._profileState = {
3774
- loading: !profile,
3775
- profile,
3776
- error: undefined,
3777
- from: profile ? 'hydrated' : 'api'
3778
- };
3775
+
3776
+ if (profile) {
3777
+ this._profileState = {
3778
+ status: 'success',
3779
+ profile,
3780
+ error: undefined,
3781
+ from: 'hydrated'
3782
+ };
3783
+ } else {
3784
+ this._profileState = {
3785
+ status: 'loading',
3786
+ profile: null,
3787
+ error: undefined,
3788
+ from: 'api'
3789
+ };
3790
+ }
3791
+
3779
3792
  this.instance = Analytics({
3780
3793
  app: 'ninetailed',
3781
3794
  plugins: [...this.plugins, ninetailedPlugin({
@@ -3817,14 +3830,14 @@ class Ninetailed {
3817
3830
 
3818
3831
  }
3819
3832
 
3820
- const selectVariant = (baseline, variants, {
3821
- loading,
3833
+ const selectVariant$1 = (baseline, variants, {
3834
+ status,
3822
3835
  profile,
3823
3836
  error
3824
3837
  }, options = {
3825
3838
  holdout: -1
3826
3839
  }) => {
3827
- if (loading) {
3840
+ if (status === 'loading') {
3828
3841
  return {
3829
3842
  loading: true,
3830
3843
  variant: Object.assign({
@@ -3841,7 +3854,7 @@ const selectVariant = (baseline, variants, {
3841
3854
  };
3842
3855
  }
3843
3856
 
3844
- if (error) {
3857
+ if (status === 'error') {
3845
3858
  return {
3846
3859
  loading: false,
3847
3860
  variant: Object.assign({
@@ -3913,4 +3926,734 @@ const selectVariant = (baseline, variants, {
3913
3926
  };
3914
3927
  };
3915
3928
 
3916
- export { NINETAILED_TRACKER_EVENTS, Ninetailed, PLUGIN_NAME, ninetailedPlugin, selectVariant };
3929
+ const selectBaselineWithVariants = (experience, baseline) => {
3930
+ return experience.components.find(baselineWithVariants => baselineWithVariants.baseline.id === baseline.id);
3931
+ };
3932
+
3933
+ const selectVariants = (experience, baseline) => {
3934
+ const baselineWithVariants = selectBaselineWithVariants(experience, baseline);
3935
+
3936
+ if (!baselineWithVariants) {
3937
+ return [];
3938
+ }
3939
+
3940
+ return baselineWithVariants.variants;
3941
+ };
3942
+
3943
+ const selectHasVariants = (experience, baseline) => {
3944
+ const variants = selectVariants(experience, baseline);
3945
+ return variants.length > 0;
3946
+ };
3947
+
3948
+ var global$6 = global$H;
3949
+ var classof$2 = classof$6;
3950
+
3951
+ var String$1 = global$6.String;
3952
+
3953
+ var toString$4 = function (argument) {
3954
+ if (classof$2(argument) === 'Symbol') throw TypeError('Cannot convert a Symbol value to a string');
3955
+ return String$1(argument);
3956
+ };
3957
+
3958
+ var isObject = isObject$8;
3959
+ var classof$1 = classofRaw$1;
3960
+ var wellKnownSymbol$3 = wellKnownSymbol$i;
3961
+
3962
+ var MATCH$1 = wellKnownSymbol$3('match');
3963
+
3964
+ // `IsRegExp` abstract operation
3965
+ // https://tc39.es/ecma262/#sec-isregexp
3966
+ var isRegexp = function (it) {
3967
+ var isRegExp;
3968
+ return isObject(it) && ((isRegExp = it[MATCH$1]) !== undefined ? !!isRegExp : classof$1(it) == 'RegExp');
3969
+ };
3970
+
3971
+ var global$5 = global$H;
3972
+ var isRegExp = isRegexp;
3973
+
3974
+ var TypeError$2 = global$5.TypeError;
3975
+
3976
+ var notARegexp = function (it) {
3977
+ if (isRegExp(it)) {
3978
+ throw TypeError$2("The method doesn't accept regular expressions");
3979
+ } return it;
3980
+ };
3981
+
3982
+ var wellKnownSymbol$2 = wellKnownSymbol$i;
3983
+
3984
+ var MATCH = wellKnownSymbol$2('match');
3985
+
3986
+ var correctIsRegexpLogic = function (METHOD_NAME) {
3987
+ var regexp = /./;
3988
+ try {
3989
+ '/./'[METHOD_NAME](regexp);
3990
+ } catch (error1) {
3991
+ try {
3992
+ regexp[MATCH] = false;
3993
+ return '/./'[METHOD_NAME](regexp);
3994
+ } catch (error2) { /* empty */ }
3995
+ } return false;
3996
+ };
3997
+
3998
+ var $$1 = _export;
3999
+ var uncurryThis$5 = functionUncurryThis;
4000
+ var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;
4001
+ var toLength$1 = toLength$3;
4002
+ var toString$3 = toString$4;
4003
+ var notARegExp = notARegexp;
4004
+ var requireObjectCoercible$2 = requireObjectCoercible$5;
4005
+ var correctIsRegExpLogic = correctIsRegexpLogic;
4006
+
4007
+ // eslint-disable-next-line es/no-string-prototype-startswith -- safe
4008
+ var un$StartsWith = uncurryThis$5(''.startsWith);
4009
+ var stringSlice$4 = uncurryThis$5(''.slice);
4010
+ var min$1 = Math.min;
4011
+
4012
+ var CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('startsWith');
4013
+ // https://github.com/zloirock/core-js/pull/702
4014
+ var MDN_POLYFILL_BUG = !CORRECT_IS_REGEXP_LOGIC && !!function () {
4015
+ var descriptor = getOwnPropertyDescriptor(String.prototype, 'startsWith');
4016
+ return descriptor && !descriptor.writable;
4017
+ }();
4018
+
4019
+ // `String.prototype.startsWith` method
4020
+ // https://tc39.es/ecma262/#sec-string.prototype.startswith
4021
+ $$1({ target: 'String', proto: true, forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC }, {
4022
+ startsWith: function startsWith(searchString /* , position = 0 */) {
4023
+ var that = toString$3(requireObjectCoercible$2(this));
4024
+ notARegExp(searchString);
4025
+ var index = toLength$1(min$1(arguments.length > 1 ? arguments[1] : undefined, that.length));
4026
+ var search = toString$3(searchString);
4027
+ return un$StartsWith
4028
+ ? un$StartsWith(that, search, index)
4029
+ : stringSlice$4(that, index, index + search.length) === search;
4030
+ }
4031
+ });
4032
+
4033
+ var anObject$2 = anObject$d;
4034
+
4035
+ // `RegExp.prototype.flags` getter implementation
4036
+ // https://tc39.es/ecma262/#sec-get-regexp.prototype.flags
4037
+ var regexpFlags$1 = function () {
4038
+ var that = anObject$2(this);
4039
+ var result = '';
4040
+ if (that.global) result += 'g';
4041
+ if (that.ignoreCase) result += 'i';
4042
+ if (that.multiline) result += 'm';
4043
+ if (that.dotAll) result += 's';
4044
+ if (that.unicode) result += 'u';
4045
+ if (that.sticky) result += 'y';
4046
+ return result;
4047
+ };
4048
+
4049
+ var fails$4 = fails$h;
4050
+ var global$4 = global$H;
4051
+
4052
+ // babel-minify and Closure Compiler transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError
4053
+ var $RegExp$2 = global$4.RegExp;
4054
+
4055
+ var UNSUPPORTED_Y$1 = fails$4(function () {
4056
+ var re = $RegExp$2('a', 'y');
4057
+ re.lastIndex = 2;
4058
+ return re.exec('abcd') != null;
4059
+ });
4060
+
4061
+ // UC Browser bug
4062
+ // https://github.com/zloirock/core-js/issues/1008
4063
+ var MISSED_STICKY = UNSUPPORTED_Y$1 || fails$4(function () {
4064
+ return !$RegExp$2('a', 'y').sticky;
4065
+ });
4066
+
4067
+ var BROKEN_CARET = UNSUPPORTED_Y$1 || fails$4(function () {
4068
+ // https://bugzilla.mozilla.org/show_bug.cgi?id=773687
4069
+ var re = $RegExp$2('^r', 'gy');
4070
+ re.lastIndex = 2;
4071
+ return re.exec('str') != null;
4072
+ });
4073
+
4074
+ var regexpStickyHelpers = {
4075
+ BROKEN_CARET: BROKEN_CARET,
4076
+ MISSED_STICKY: MISSED_STICKY,
4077
+ UNSUPPORTED_Y: UNSUPPORTED_Y$1
4078
+ };
4079
+
4080
+ var fails$3 = fails$h;
4081
+ var global$3 = global$H;
4082
+
4083
+ // babel-minify and Closure Compiler transpiles RegExp('.', 's') -> /./s and it causes SyntaxError
4084
+ var $RegExp$1 = global$3.RegExp;
4085
+
4086
+ var regexpUnsupportedDotAll = fails$3(function () {
4087
+ var re = $RegExp$1('.', 's');
4088
+ return !(re.dotAll && re.exec('\n') && re.flags === 's');
4089
+ });
4090
+
4091
+ var fails$2 = fails$h;
4092
+ var global$2 = global$H;
4093
+
4094
+ // babel-minify and Closure Compiler transpiles RegExp('(?<a>b)', 'g') -> /(?<a>b)/g and it causes SyntaxError
4095
+ var $RegExp = global$2.RegExp;
4096
+
4097
+ var regexpUnsupportedNcg = fails$2(function () {
4098
+ var re = $RegExp('(?<a>b)', 'g');
4099
+ return re.exec('b').groups.a !== 'b' ||
4100
+ 'b'.replace(re, '$<a>c') !== 'bc';
4101
+ });
4102
+
4103
+ /* eslint-disable regexp/no-empty-capturing-group, regexp/no-empty-group, regexp/no-lazy-ends -- testing */
4104
+ /* eslint-disable regexp/no-useless-quantifier -- testing */
4105
+ var call$2 = functionCall;
4106
+ var uncurryThis$4 = functionUncurryThis;
4107
+ var toString$2 = toString$4;
4108
+ var regexpFlags = regexpFlags$1;
4109
+ var stickyHelpers = regexpStickyHelpers;
4110
+ var shared = shared$4.exports;
4111
+ var create = objectCreate;
4112
+ var getInternalState = internalState.get;
4113
+ var UNSUPPORTED_DOT_ALL = regexpUnsupportedDotAll;
4114
+ var UNSUPPORTED_NCG = regexpUnsupportedNcg;
4115
+
4116
+ var nativeReplace = shared('native-string-replace', String.prototype.replace);
4117
+ var nativeExec = RegExp.prototype.exec;
4118
+ var patchedExec = nativeExec;
4119
+ var charAt$3 = uncurryThis$4(''.charAt);
4120
+ var indexOf = uncurryThis$4(''.indexOf);
4121
+ var replace$1 = uncurryThis$4(''.replace);
4122
+ var stringSlice$3 = uncurryThis$4(''.slice);
4123
+
4124
+ var UPDATES_LAST_INDEX_WRONG = (function () {
4125
+ var re1 = /a/;
4126
+ var re2 = /b*/g;
4127
+ call$2(nativeExec, re1, 'a');
4128
+ call$2(nativeExec, re2, 'a');
4129
+ return re1.lastIndex !== 0 || re2.lastIndex !== 0;
4130
+ })();
4131
+
4132
+ var UNSUPPORTED_Y = stickyHelpers.BROKEN_CARET;
4133
+
4134
+ // nonparticipating capturing group, copied from es5-shim's String#split patch.
4135
+ var NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;
4136
+
4137
+ var PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED || UNSUPPORTED_Y || UNSUPPORTED_DOT_ALL || UNSUPPORTED_NCG;
4138
+
4139
+ if (PATCH) {
4140
+ patchedExec = function exec(string) {
4141
+ var re = this;
4142
+ var state = getInternalState(re);
4143
+ var str = toString$2(string);
4144
+ var raw = state.raw;
4145
+ var result, reCopy, lastIndex, match, i, object, group;
4146
+
4147
+ if (raw) {
4148
+ raw.lastIndex = re.lastIndex;
4149
+ result = call$2(patchedExec, raw, str);
4150
+ re.lastIndex = raw.lastIndex;
4151
+ return result;
4152
+ }
4153
+
4154
+ var groups = state.groups;
4155
+ var sticky = UNSUPPORTED_Y && re.sticky;
4156
+ var flags = call$2(regexpFlags, re);
4157
+ var source = re.source;
4158
+ var charsAdded = 0;
4159
+ var strCopy = str;
4160
+
4161
+ if (sticky) {
4162
+ flags = replace$1(flags, 'y', '');
4163
+ if (indexOf(flags, 'g') === -1) {
4164
+ flags += 'g';
4165
+ }
4166
+
4167
+ strCopy = stringSlice$3(str, re.lastIndex);
4168
+ // Support anchored sticky behavior.
4169
+ if (re.lastIndex > 0 && (!re.multiline || re.multiline && charAt$3(str, re.lastIndex - 1) !== '\n')) {
4170
+ source = '(?: ' + source + ')';
4171
+ strCopy = ' ' + strCopy;
4172
+ charsAdded++;
4173
+ }
4174
+ // ^(? + rx + ) is needed, in combination with some str slicing, to
4175
+ // simulate the 'y' flag.
4176
+ reCopy = new RegExp('^(?:' + source + ')', flags);
4177
+ }
4178
+
4179
+ if (NPCG_INCLUDED) {
4180
+ reCopy = new RegExp('^' + source + '$(?!\\s)', flags);
4181
+ }
4182
+ if (UPDATES_LAST_INDEX_WRONG) lastIndex = re.lastIndex;
4183
+
4184
+ match = call$2(nativeExec, sticky ? reCopy : re, strCopy);
4185
+
4186
+ if (sticky) {
4187
+ if (match) {
4188
+ match.input = stringSlice$3(match.input, charsAdded);
4189
+ match[0] = stringSlice$3(match[0], charsAdded);
4190
+ match.index = re.lastIndex;
4191
+ re.lastIndex += match[0].length;
4192
+ } else re.lastIndex = 0;
4193
+ } else if (UPDATES_LAST_INDEX_WRONG && match) {
4194
+ re.lastIndex = re.global ? match.index + match[0].length : lastIndex;
4195
+ }
4196
+ if (NPCG_INCLUDED && match && match.length > 1) {
4197
+ // Fix browsers whose `exec` methods don't consistently return `undefined`
4198
+ // for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/
4199
+ call$2(nativeReplace, match[0], reCopy, function () {
4200
+ for (i = 1; i < arguments.length - 2; i++) {
4201
+ if (arguments[i] === undefined) match[i] = undefined;
4202
+ }
4203
+ });
4204
+ }
4205
+
4206
+ if (match && groups) {
4207
+ match.groups = object = create(null);
4208
+ for (i = 0; i < groups.length; i++) {
4209
+ group = groups[i];
4210
+ object[group[0]] = match[group[1]];
4211
+ }
4212
+ }
4213
+
4214
+ return match;
4215
+ };
4216
+ }
4217
+
4218
+ var regexpExec$2 = patchedExec;
4219
+
4220
+ var $ = _export;
4221
+ var exec = regexpExec$2;
4222
+
4223
+ // `RegExp.prototype.exec` method
4224
+ // https://tc39.es/ecma262/#sec-regexp.prototype.exec
4225
+ $({ target: 'RegExp', proto: true, forced: /./.exec !== exec }, {
4226
+ exec: exec
4227
+ });
4228
+
4229
+ // TODO: Remove from `core-js@4` since it's moved to entry points
4230
+
4231
+ var uncurryThis$3 = functionUncurryThis;
4232
+ var redefine = redefine$6.exports;
4233
+ var regexpExec$1 = regexpExec$2;
4234
+ var fails$1 = fails$h;
4235
+ var wellKnownSymbol$1 = wellKnownSymbol$i;
4236
+ var createNonEnumerableProperty = createNonEnumerableProperty$6;
4237
+
4238
+ var SPECIES = wellKnownSymbol$1('species');
4239
+ var RegExpPrototype = RegExp.prototype;
4240
+
4241
+ var fixRegexpWellKnownSymbolLogic = function (KEY, exec, FORCED, SHAM) {
4242
+ var SYMBOL = wellKnownSymbol$1(KEY);
4243
+
4244
+ var DELEGATES_TO_SYMBOL = !fails$1(function () {
4245
+ // String methods call symbol-named RegEp methods
4246
+ var O = {};
4247
+ O[SYMBOL] = function () { return 7; };
4248
+ return ''[KEY](O) != 7;
4249
+ });
4250
+
4251
+ var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL && !fails$1(function () {
4252
+ // Symbol-named RegExp methods call .exec
4253
+ var execCalled = false;
4254
+ var re = /a/;
4255
+
4256
+ if (KEY === 'split') {
4257
+ // We can't use real regex here since it causes deoptimization
4258
+ // and serious performance degradation in V8
4259
+ // https://github.com/zloirock/core-js/issues/306
4260
+ re = {};
4261
+ // RegExp[@@split] doesn't call the regex's exec method, but first creates
4262
+ // a new one. We need to return the patched regex when creating the new one.
4263
+ re.constructor = {};
4264
+ re.constructor[SPECIES] = function () { return re; };
4265
+ re.flags = '';
4266
+ re[SYMBOL] = /./[SYMBOL];
4267
+ }
4268
+
4269
+ re.exec = function () { execCalled = true; return null; };
4270
+
4271
+ re[SYMBOL]('');
4272
+ return !execCalled;
4273
+ });
4274
+
4275
+ if (
4276
+ !DELEGATES_TO_SYMBOL ||
4277
+ !DELEGATES_TO_EXEC ||
4278
+ FORCED
4279
+ ) {
4280
+ var uncurriedNativeRegExpMethod = uncurryThis$3(/./[SYMBOL]);
4281
+ var methods = exec(SYMBOL, ''[KEY], function (nativeMethod, regexp, str, arg2, forceStringMethod) {
4282
+ var uncurriedNativeMethod = uncurryThis$3(nativeMethod);
4283
+ var $exec = regexp.exec;
4284
+ if ($exec === regexpExec$1 || $exec === RegExpPrototype.exec) {
4285
+ if (DELEGATES_TO_SYMBOL && !forceStringMethod) {
4286
+ // The native String method already delegates to @@method (this
4287
+ // polyfilled function), leasing to infinite recursion.
4288
+ // We avoid it by directly calling the native @@method method.
4289
+ return { done: true, value: uncurriedNativeRegExpMethod(regexp, str, arg2) };
4290
+ }
4291
+ return { done: true, value: uncurriedNativeMethod(str, regexp, arg2) };
4292
+ }
4293
+ return { done: false };
4294
+ });
4295
+
4296
+ redefine(String.prototype, KEY, methods[0]);
4297
+ redefine(RegExpPrototype, SYMBOL, methods[1]);
4298
+ }
4299
+
4300
+ if (SHAM) createNonEnumerableProperty(RegExpPrototype[SYMBOL], 'sham', true);
4301
+ };
4302
+
4303
+ var uncurryThis$2 = functionUncurryThis;
4304
+ var toIntegerOrInfinity$1 = toIntegerOrInfinity$4;
4305
+ var toString$1 = toString$4;
4306
+ var requireObjectCoercible$1 = requireObjectCoercible$5;
4307
+
4308
+ var charAt$2 = uncurryThis$2(''.charAt);
4309
+ var charCodeAt = uncurryThis$2(''.charCodeAt);
4310
+ var stringSlice$2 = uncurryThis$2(''.slice);
4311
+
4312
+ var createMethod = function (CONVERT_TO_STRING) {
4313
+ return function ($this, pos) {
4314
+ var S = toString$1(requireObjectCoercible$1($this));
4315
+ var position = toIntegerOrInfinity$1(pos);
4316
+ var size = S.length;
4317
+ var first, second;
4318
+ if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;
4319
+ first = charCodeAt(S, position);
4320
+ return first < 0xD800 || first > 0xDBFF || position + 1 === size
4321
+ || (second = charCodeAt(S, position + 1)) < 0xDC00 || second > 0xDFFF
4322
+ ? CONVERT_TO_STRING
4323
+ ? charAt$2(S, position)
4324
+ : first
4325
+ : CONVERT_TO_STRING
4326
+ ? stringSlice$2(S, position, position + 2)
4327
+ : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;
4328
+ };
4329
+ };
4330
+
4331
+ var stringMultibyte = {
4332
+ // `String.prototype.codePointAt` method
4333
+ // https://tc39.es/ecma262/#sec-string.prototype.codepointat
4334
+ codeAt: createMethod(false),
4335
+ // `String.prototype.at` method
4336
+ // https://github.com/mathiasbynens/String.prototype.at
4337
+ charAt: createMethod(true)
4338
+ };
4339
+
4340
+ var charAt$1 = stringMultibyte.charAt;
4341
+
4342
+ // `AdvanceStringIndex` abstract operation
4343
+ // https://tc39.es/ecma262/#sec-advancestringindex
4344
+ var advanceStringIndex$1 = function (S, index, unicode) {
4345
+ return index + (unicode ? charAt$1(S, index).length : 1);
4346
+ };
4347
+
4348
+ var uncurryThis$1 = functionUncurryThis;
4349
+ var toObject = toObject$4;
4350
+
4351
+ var floor = Math.floor;
4352
+ var charAt = uncurryThis$1(''.charAt);
4353
+ var replace = uncurryThis$1(''.replace);
4354
+ var stringSlice$1 = uncurryThis$1(''.slice);
4355
+ var SUBSTITUTION_SYMBOLS = /\$([$&'`]|\d{1,2}|<[^>]*>)/g;
4356
+ var SUBSTITUTION_SYMBOLS_NO_NAMED = /\$([$&'`]|\d{1,2})/g;
4357
+
4358
+ // `GetSubstitution` abstract operation
4359
+ // https://tc39.es/ecma262/#sec-getsubstitution
4360
+ var getSubstitution$1 = function (matched, str, position, captures, namedCaptures, replacement) {
4361
+ var tailPos = position + matched.length;
4362
+ var m = captures.length;
4363
+ var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;
4364
+ if (namedCaptures !== undefined) {
4365
+ namedCaptures = toObject(namedCaptures);
4366
+ symbols = SUBSTITUTION_SYMBOLS;
4367
+ }
4368
+ return replace(replacement, symbols, function (match, ch) {
4369
+ var capture;
4370
+ switch (charAt(ch, 0)) {
4371
+ case '$': return '$';
4372
+ case '&': return matched;
4373
+ case '`': return stringSlice$1(str, 0, position);
4374
+ case "'": return stringSlice$1(str, tailPos);
4375
+ case '<':
4376
+ capture = namedCaptures[stringSlice$1(ch, 1, -1)];
4377
+ break;
4378
+ default: // \d\d?
4379
+ var n = +ch;
4380
+ if (n === 0) return match;
4381
+ if (n > m) {
4382
+ var f = floor(n / 10);
4383
+ if (f === 0) return match;
4384
+ if (f <= m) return captures[f - 1] === undefined ? charAt(ch, 1) : captures[f - 1] + charAt(ch, 1);
4385
+ return match;
4386
+ }
4387
+ capture = captures[n - 1];
4388
+ }
4389
+ return capture === undefined ? '' : capture;
4390
+ });
4391
+ };
4392
+
4393
+ var global$1 = global$H;
4394
+ var call$1 = functionCall;
4395
+ var anObject$1 = anObject$d;
4396
+ var isCallable$1 = isCallable$j;
4397
+ var classof = classofRaw$1;
4398
+ var regexpExec = regexpExec$2;
4399
+
4400
+ var TypeError$1 = global$1.TypeError;
4401
+
4402
+ // `RegExpExec` abstract operation
4403
+ // https://tc39.es/ecma262/#sec-regexpexec
4404
+ var regexpExecAbstract = function (R, S) {
4405
+ var exec = R.exec;
4406
+ if (isCallable$1(exec)) {
4407
+ var result = call$1(exec, R, S);
4408
+ if (result !== null) anObject$1(result);
4409
+ return result;
4410
+ }
4411
+ if (classof(R) === 'RegExp') return call$1(regexpExec, R, S);
4412
+ throw TypeError$1('RegExp#exec called on incompatible receiver');
4413
+ };
4414
+
4415
+ var apply = functionApply;
4416
+ var call = functionCall;
4417
+ var uncurryThis = functionUncurryThis;
4418
+ var fixRegExpWellKnownSymbolLogic = fixRegexpWellKnownSymbolLogic;
4419
+ var fails = fails$h;
4420
+ var anObject = anObject$d;
4421
+ var isCallable = isCallable$j;
4422
+ var toIntegerOrInfinity = toIntegerOrInfinity$4;
4423
+ var toLength = toLength$3;
4424
+ var toString = toString$4;
4425
+ var requireObjectCoercible = requireObjectCoercible$5;
4426
+ var advanceStringIndex = advanceStringIndex$1;
4427
+ var getMethod = getMethod$4;
4428
+ var getSubstitution = getSubstitution$1;
4429
+ var regExpExec = regexpExecAbstract;
4430
+ var wellKnownSymbol = wellKnownSymbol$i;
4431
+
4432
+ var REPLACE = wellKnownSymbol('replace');
4433
+ var max = Math.max;
4434
+ var min = Math.min;
4435
+ var concat = uncurryThis([].concat);
4436
+ var push = uncurryThis([].push);
4437
+ var stringIndexOf = uncurryThis(''.indexOf);
4438
+ var stringSlice = uncurryThis(''.slice);
4439
+
4440
+ var maybeToString = function (it) {
4441
+ return it === undefined ? it : String(it);
4442
+ };
4443
+
4444
+ // IE <= 11 replaces $0 with the whole match, as if it was $&
4445
+ // https://stackoverflow.com/questions/6024666/getting-ie-to-replace-a-regex-with-the-literal-string-0
4446
+ var REPLACE_KEEPS_$0 = (function () {
4447
+ // eslint-disable-next-line regexp/prefer-escape-replacement-dollar-char -- required for testing
4448
+ return 'a'.replace(/./, '$0') === '$0';
4449
+ })();
4450
+
4451
+ // Safari <= 13.0.3(?) substitutes nth capture where n>m with an empty string
4452
+ var REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = (function () {
4453
+ if (/./[REPLACE]) {
4454
+ return /./[REPLACE]('a', '$0') === '';
4455
+ }
4456
+ return false;
4457
+ })();
4458
+
4459
+ var REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {
4460
+ var re = /./;
4461
+ re.exec = function () {
4462
+ var result = [];
4463
+ result.groups = { a: '7' };
4464
+ return result;
4465
+ };
4466
+ // eslint-disable-next-line regexp/no-useless-dollar-replacements -- false positive
4467
+ return ''.replace(re, '$<a>') !== '7';
4468
+ });
4469
+
4470
+ // @@replace logic
4471
+ fixRegExpWellKnownSymbolLogic('replace', function (_, nativeReplace, maybeCallNative) {
4472
+ var UNSAFE_SUBSTITUTE = REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE ? '$' : '$0';
4473
+
4474
+ return [
4475
+ // `String.prototype.replace` method
4476
+ // https://tc39.es/ecma262/#sec-string.prototype.replace
4477
+ function replace(searchValue, replaceValue) {
4478
+ var O = requireObjectCoercible(this);
4479
+ var replacer = searchValue == undefined ? undefined : getMethod(searchValue, REPLACE);
4480
+ return replacer
4481
+ ? call(replacer, searchValue, O, replaceValue)
4482
+ : call(nativeReplace, toString(O), searchValue, replaceValue);
4483
+ },
4484
+ // `RegExp.prototype[@@replace]` method
4485
+ // https://tc39.es/ecma262/#sec-regexp.prototype-@@replace
4486
+ function (string, replaceValue) {
4487
+ var rx = anObject(this);
4488
+ var S = toString(string);
4489
+
4490
+ if (
4491
+ typeof replaceValue == 'string' &&
4492
+ stringIndexOf(replaceValue, UNSAFE_SUBSTITUTE) === -1 &&
4493
+ stringIndexOf(replaceValue, '$<') === -1
4494
+ ) {
4495
+ var res = maybeCallNative(nativeReplace, rx, S, replaceValue);
4496
+ if (res.done) return res.value;
4497
+ }
4498
+
4499
+ var functionalReplace = isCallable(replaceValue);
4500
+ if (!functionalReplace) replaceValue = toString(replaceValue);
4501
+
4502
+ var global = rx.global;
4503
+ if (global) {
4504
+ var fullUnicode = rx.unicode;
4505
+ rx.lastIndex = 0;
4506
+ }
4507
+ var results = [];
4508
+ while (true) {
4509
+ var result = regExpExec(rx, S);
4510
+ if (result === null) break;
4511
+
4512
+ push(results, result);
4513
+ if (!global) break;
4514
+
4515
+ var matchStr = toString(result[0]);
4516
+ if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);
4517
+ }
4518
+
4519
+ var accumulatedResult = '';
4520
+ var nextSourcePosition = 0;
4521
+ for (var i = 0; i < results.length; i++) {
4522
+ result = results[i];
4523
+
4524
+ var matched = toString(result[0]);
4525
+ var position = max(min(toIntegerOrInfinity(result.index), S.length), 0);
4526
+ var captures = [];
4527
+ // NOTE: This is equivalent to
4528
+ // captures = result.slice(1).map(maybeToString)
4529
+ // but for some reason `nativeSlice.call(result, 1, result.length)` (called in
4530
+ // the slice polyfill when slicing native arrays) "doesn't work" in safari 9 and
4531
+ // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it.
4532
+ for (var j = 1; j < result.length; j++) push(captures, maybeToString(result[j]));
4533
+ var namedCaptures = result.groups;
4534
+ if (functionalReplace) {
4535
+ var replacerArgs = concat([matched], captures, position, S);
4536
+ if (namedCaptures !== undefined) push(replacerArgs, namedCaptures);
4537
+ var replacement = toString(apply(replaceValue, undefined, replacerArgs));
4538
+ } else {
4539
+ replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);
4540
+ }
4541
+ if (position >= nextSourcePosition) {
4542
+ accumulatedResult += stringSlice(S, nextSourcePosition, position) + replacement;
4543
+ nextSourcePosition = position + matched.length;
4544
+ }
4545
+ }
4546
+ return accumulatedResult + stringSlice(S, nextSourcePosition);
4547
+ }
4548
+ ];
4549
+ }, !REPLACE_SUPPORTS_NAMED_GROUPS || !REPLACE_KEEPS_$0 || REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE);
4550
+
4551
+ const EXPERIENCE_TRAIT_PREFIX = 'nt_experiment_';
4552
+
4553
+ const selectActiveExperiments = (experiments, profile) => {
4554
+ const experimentTraits = pickBy(profile.traits, (value, key) => key.startsWith(EXPERIENCE_TRAIT_PREFIX) && value === true);
4555
+ const experimentTraitsIds = Object.keys(experimentTraits).map(id => id.replace(EXPERIENCE_TRAIT_PREFIX, '')); // a experiment is active when the use has it set as a true value on the traits and the experiment config is still active
4556
+
4557
+ const activeExperiments = experiments.filter(experiment => includes(experimentTraitsIds, experiment.id));
4558
+ return activeExperiments;
4559
+ };
4560
+
4561
+ /**
4562
+ * We can use any personalization as eglible experience
4563
+ * When going for an experiment we can only select a active experiment when 1 or more experiments are active
4564
+ * If the profile is not in any active experiments, we can select any expermiment
4565
+ */
4566
+
4567
+ const selectEglibleExperiences = ({
4568
+ experiences,
4569
+ activeExperiments
4570
+ }) => {
4571
+ return experiences.filter(experience => experience.type === 'nt_personalization' || activeExperiments.length === 0 || find(activeExperiments, {
4572
+ id: experience.id
4573
+ }));
4574
+ };
4575
+
4576
+ const LOWER_BOUND = 0;
4577
+ const UPPER_BOUND = 4294967295;
4578
+
4579
+ const normalize = (val, min, max) => (val - min) / (max - min);
4580
+
4581
+ const getRandom = text => {
4582
+ const hash = murmur3(text, 0);
4583
+ const random = normalize(hash, LOWER_BOUND, UPPER_BOUND);
4584
+ return random;
4585
+ };
4586
+
4587
+ const getTrafficRandom = (profile, experience) => getRandom(`traffic-${experience.id}-${profile.id}`);
4588
+ const getDistributionRandom = (profile, experience) => getRandom(`distribution-${experience.id}-${profile.id}`);
4589
+
4590
+ const selectExperience = ({
4591
+ experiences,
4592
+ activeExperiments,
4593
+ profile
4594
+ }) => {
4595
+ const eglibleExperiences = selectEglibleExperiences({
4596
+ experiences,
4597
+ activeExperiments
4598
+ });
4599
+ const selectedExperience = eglibleExperiences.find(experience => {
4600
+ const trafficRandom = getTrafficRandom(profile, experience);
4601
+ return experience.trafficAllocation > trafficRandom && (includes(profile.audiences, experience.audience.id) || // if the expriment is active already then it's selectible without further contraints to be fullfilled
4602
+ find(activeExperiments, {
4603
+ id: experience.id
4604
+ }));
4605
+ });
4606
+ return selectedExperience;
4607
+ };
4608
+
4609
+ const selectVariant = ({
4610
+ baseline,
4611
+ experience,
4612
+ profile
4613
+ }) => {
4614
+ const variants = selectVariants(experience, baseline);
4615
+
4616
+ if (!variants.length) {
4617
+ return null;
4618
+ }
4619
+
4620
+ if (experience.type === 'nt_personalization') {
4621
+ // Personalization Expriences can have only one variant.
4622
+ return variants[0];
4623
+ }
4624
+
4625
+ const distributionRandom = getDistributionRandom(profile, experience); // Experiment
4626
+
4627
+ const distribution = find(experience.distribution, ({
4628
+ start,
4629
+ end
4630
+ }) => distributionRandom > start && distributionRandom < end);
4631
+
4632
+ if (!distribution) {
4633
+ return null;
4634
+ }
4635
+
4636
+ if (distribution.index === 0) {
4637
+ return Object.assign(Object.assign({}, baseline), {
4638
+ hidden: false
4639
+ });
4640
+ }
4641
+
4642
+ const correctedVariantIndex = distribution.index - 1;
4643
+
4644
+ if (variants.length <= correctedVariantIndex) {
4645
+ console.warn("A distribution for a variant was selected but it's metadata could not be found.");
4646
+ return null;
4647
+ }
4648
+
4649
+ const variant = variants[correctedVariantIndex];
4650
+
4651
+ if (!variant) {
4652
+ console.warn("A distribution for a variant was selected but it's metadata could not be found.");
4653
+ return null;
4654
+ }
4655
+
4656
+ return variant;
4657
+ };
4658
+
4659
+ export { NINETAILED_TRACKER_EVENTS, Ninetailed, PLUGIN_NAME, ninetailedPlugin, selectActiveExperiments, selectEglibleExperiences, selectExperience, selectBaselineWithVariants as selectExperienceBaselineWithVariants, selectVariant as selectExperienceVariant, selectVariants as selectExperienceVariants, selectHasVariants as selectHasExperienceVariants, selectVariant$1 as selectVariant };