PageSourceSearch

https://www.bondsolon.com/dist/main.0ba3c627a67071207dd4.js

js bondsolon.com collected 2026-09-29 12:13:04 UTC 527,859 bytes, 14,261 lines download raw bytes

vendor: 9,288 bytes, lines 1-290
1/******/ (function() { // webpackBootstrap
2/******/ 	var __webpack_modules__ = ({
3
4/***/ 9662:
5/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
6
7var isCallable = __webpack_require__(614);
8var tryToString = __webpack_require__(6330);
9
10var $TypeError = TypeError;
11
12// `Assert: IsCallable(argument) is true`
13module.exports = function (argument) {
14  if (isCallable(argument)) return argument;
15  throw $TypeError(tryToString(argument) + ' is not a function');
16};
17
18
19/***/ }),
20
21/***/ 9483:
22/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
23
24var isConstructor = __webpack_require__(4411);
25var tryToString = __webpack_require__(6330);
26
27var $TypeError = TypeError;
28
29// `Assert: IsConstructor(argument) is true`
30module.exports = function (argument) {
31  if (isConstructor(argument)) return argument;
32  throw $TypeError(tryToString(argument) + ' is not a constructor');
33};
34
35
36/***/ }),
37
38/***/ 6077:
39/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
40
41var isCallable = __webpack_require__(614);
42
43var $String = String;
44var $TypeError = TypeError;
45
46module.exports = function (argument) {
47  if (typeof argument == 'object' || isCallable(argument)) return argument;
48  throw $TypeError("Can't set " + $String(argument) + ' as a prototype');
49};
50
51
52/***/ }),
53
54/***/ 1223:
55/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
56
57var wellKnownSymbol = __webpack_require__(5112);
58var create = __webpack_require__(30);
59var defineProperty = (__webpack_require__(3070).f);
60
61var UNSCOPABLES = wellKnownSymbol('unscopables');
62var ArrayPrototype = Array.prototype;
63
64// Array.prototype[@@unscopables]
65// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables
66if (ArrayPrototype[UNSCOPABLES] == undefined) {
67  defineProperty(ArrayPrototype, UNSCOPABLES, {
68    configurable: true,
69    value: create(null)
70  });
71}
72
73// add a key to Array.prototype[@@unscopables]
74module.exports = function (key) {
75  ArrayPrototype[UNSCOPABLES][key] = true;
76};
77
78
79/***/ }),
80
81/***/ 1530:
82/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
83
84"use strict";
85
86var charAt = (__webpack_require__(8710).charAt);
87
88// `AdvanceStringIndex` abstract operation
89// https://tc39.es/ecma262/#sec-advancestringindex
90module.exports = function (S, index, unicode) {
91  return index + (unicode ? charAt(S, index).length : 1);
92};
93
94
95/***/ }),
96
97/***/ 5787:
98/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
99
100var isPrototypeOf = __webpack_require__(7976);
101
102var $TypeError = TypeError;
103
104module.exports = function (it, Prototype) {
105  if (isPrototypeOf(Prototype, it)) return it;
106  throw $TypeError('Incorrect invocation');
107};
108
109
110/***/ }),
111
112/***/ 9670:
113/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
114
115var isObject = __webpack_require__(111);
116
117var $String = String;
118var $TypeError = TypeError;
119
120// `Assert: Type(argument) is Object`
121module.exports = function (argument) {
122  if (isObject(argument)) return argument;
123  throw $TypeError($String(argument) + ' is not an object');
124};
125
126
127/***/ }),
128
129/***/ 8533:
130/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
131
132"use strict";
133
134var $forEach = (__webpack_require__(2092).forEach);
135var arrayMethodIsStrict = __webpack_require__(9341);
136
137var STRICT_METHOD = arrayMethodIsStrict('forEach');
138
139// `Array.prototype.forEach` method implementation
140// https://tc39.es/ecma262/#sec-array.prototype.foreach
141module.exports = !STRICT_METHOD ? function forEach(callbackfn /* , thisArg */) {
142  return $forEach(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
143// eslint-disable-next-line es/no-array-prototype-foreach -- safe
144} : [].forEach;
145
146
147/***/ }),
148
149/***/ 8457:
150/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
151
152"use strict";
153
154var bind = __webpack_require__(9974);
155var call = __webpack_require__(6916);
156var toObject = __webpack_require__(7908);
157var callWithSafeIterationClosing = __webpack_require__(3411);
158var isArrayIteratorMethod = __webpack_require__(7659);
159var isConstructor = __webpack_require__(4411);
160var lengthOfArrayLike = __webpack_require__(6244);
161var createProperty = __webpack_require__(6135);
162var getIterator = __webpack_require__(4121);
163var getIteratorMethod = __webpack_require__(1246);
164
165var $Array = Array;
166
167// `Array.from` method implementation
168// https://tc39.es/ecma262/#sec-array.from
169module.exports = function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {
170  var O = toObject(arrayLike);
171  var IS_CONSTRUCTOR = isConstructor(this);
172  var argumentsLength = arguments.length;
173  var mapfn = argumentsLength > 1 ? arguments[1] : undefined;
174  var mapping = mapfn !== undefined;
175  if (mapping) mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : undefined);
176  var iteratorMethod = getIteratorMethod(O);
177  var index = 0;
178  var length, result, step, iterator, next, value;
179  // if the target is not iterable or it's an array with the default iterator - use a simple case
180  if (iteratorMethod && !(this === $Array && isArrayIteratorMethod(iteratorMethod))) {
181    iterator = getIterator(O, iteratorMethod);
182    next = iterator.next;
183    result = IS_CONSTRUCTOR ? new this() : [];
184    for (;!(step = call(next, iterator)).done; index++) {
185      value = mapping ? callWithSafeIterationClosing(iterator, mapfn, [step.value, index], true) : step.value;
186      createProperty(result, index, value);
187    }
188  } else {
189    length = lengthOfArrayLike(O);
190    result = IS_CONSTRUCTOR ? new this(length) : $Array(length);
191    for (;length > index; index++) {
192      value = mapping ? mapfn(O[index], index) : O[index];
193      createProperty(result, index, value);
194    }
195  }
196  result.length = index;
197  return result;
198};
199
200
201/***/ }),
202
203/***/ 1318:
204/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
205
206var toIndexedObject = __webpack_require__(5656);
207var toAbsoluteIndex = __webpack_require__(1400);
208var lengthOfArrayLike = __webpack_require__(6244);
209
210// `Array.prototype.{ indexOf, includes }` methods implementation
211var createMethod = function (IS_INCLUDES) {
212  return function ($this, el, fromIndex) {
213    var O = toIndexedObject($this);
214    var length = lengthOfArrayLike(O);
215    var index = toAbsoluteIndex(fromIndex, length);
216    var value;
217    // Array#includes uses SameValueZero equality algorithm
218    // eslint-disable-next-line no-self-compare -- NaN check
219    if (IS_INCLUDES && el != el) while (length > index) {
220      value = O[index++];
221      // eslint-disable-next-line no-self-compare -- NaN check
222      if (value != value) return true;
223    // Array#indexOf ignores holes, Array#includes - not
224    } else for (;length > index; index++) {
225      if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;
226    } return !IS_INCLUDES && -1;
227  };
228};
229
230module.exports = {
231  // `Array.prototype.includes` method
232  // https://tc39.es/ecma262/#sec-array.prototype.includes
233  includes: createMethod(true),
234  // `Array.prototype.indexOf` method
235  // https://tc39.es/ecma262/#sec-array.prototype.indexof
236  indexOf: createMethod(false)
237};
238
239
240/***/ }),
241
242/***/ 2092:
243/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
244
245var bind = __webpack_require__(9974);
246var uncurryThis = __webpack_require__(1702);
247var IndexedObject = __webpack_require__(8361);
248var toObject = __webpack_require__(7908);
249var lengthOfArrayLike = __webpack_require__(6244);
250var arraySpeciesCreate = __webpack_require__(5417);
251
252var push = uncurryThis([].push);
253
254// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex, filterReject }` methods implementation
255var createMethod = function (TYPE) {
256  var IS_MAP = TYPE == 1;
257  var IS_FILTER = TYPE == 2;
258  var IS_SOME = TYPE == 3;
259  var IS_EVERY = TYPE == 4;
260  var IS_FIND_INDEX = TYPE == 6;
261  var IS_FILTER_REJECT = TYPE == 7;
262  var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;
263  return function ($this, callbackfn, that, specificCreate) {
264    var O = toObject($this);
265    var self = IndexedObject(O);
266    var boundFunction = bind(callbackfn, that);
267    var length = lengthOfArrayLike(self);
268    var index = 0;
269    var create = specificCreate || arraySpeciesCreate;
270    var target = IS_MAP ? create($this, length) : IS_FILTER || IS_FILTER_REJECT ? create($this, 0) : undefined;
271    var value, result;
272    for (;length > index; index++) if (NO_HOLES || index in self) {
273      value = self[index];
274      result = boundFunction(value, index, O);
275      if (TYPE) {
276        if (IS_MAP) target[index] = result; // map
277        else if (result) switch (TYPE) {
278          case 3: return true;              // some
279          case 5: return value;             // find
280          case 6: return index;             // findIndex
281          case 2: push(target, value);      // filter
282        } else switch (TYPE) {
283          case 4: return false;             // every
284          case 7: push(target, value);      // filterReject
285        }
286      }
287    }
288    return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;
289  };
290};
vendor: 6,425 bytes, lines 291-513
291
292module.exports = {
293  // `Array.prototype.forEach` method
294  // https://tc39.es/ecma262/#sec-array.prototype.foreach
295  forEach: createMethod(0),
296  // `Array.prototype.map` method
297  // https://tc39.es/ecma262/#sec-array.prototype.map
298  map: createMethod(1),
299  // `Array.prototype.filter` method
300  // https://tc39.es/ecma262/#sec-array.prototype.filter
301  filter: createMethod(2),
302  // `Array.prototype.some` method
303  // https://tc39.es/ecma262/#sec-array.prototype.some
304  some: createMethod(3),
305  // `Array.prototype.every` method
306  // https://tc39.es/ecma262/#sec-array.prototype.every
307  every: createMethod(4),
308  // `Array.prototype.find` method
309  // https://tc39.es/ecma262/#sec-array.prototype.find
310  find: createMethod(5),
311  // `Array.prototype.findIndex` method
312  // https://tc39.es/ecma262/#sec-array.prototype.findIndex
313  findIndex: createMethod(6),
314  // `Array.prototype.filterReject` method
315  // https://github.com/tc39/proposal-array-filtering
316  filterReject: createMethod(7)
317};
318
319
320/***/ }),
321
322/***/ 1194:
323/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
324
325var fails = __webpack_require__(7293);
326var wellKnownSymbol = __webpack_require__(5112);
327var V8_VERSION = __webpack_require__(7392);
328
329var SPECIES = wellKnownSymbol('species');
330
331module.exports = function (METHOD_NAME) {
332  // We can't use this feature detection in V8 since it causes
333  // deoptimization and serious performance degradation
334  // https://github.com/zloirock/core-js/issues/677
335  return V8_VERSION >= 51 || !fails(function () {
336    var array = [];
337    var constructor = array.constructor = {};
338    constructor[SPECIES] = function () {
339      return { foo: 1 };
340    };
341    return array[METHOD_NAME](Boolean).foo !== 1;
342  });
343};
344
345
346/***/ }),
347
348/***/ 9341:
349/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
350
351"use strict";
352
353var fails = __webpack_require__(7293);
354
355module.exports = function (METHOD_NAME, argument) {
356  var method = [][METHOD_NAME];
357  return !!method && fails(function () {
358    // eslint-disable-next-line no-useless-call -- required for testing
359    method.call(null, argument || function () { return 1; }, 1);
360  });
361};
362
363
364/***/ }),
365
366/***/ 3671:
367/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
368
369var aCallable = __webpack_require__(9662);
370var toObject = __webpack_require__(7908);
371var IndexedObject = __webpack_require__(8361);
372var lengthOfArrayLike = __webpack_require__(6244);
373
374var $TypeError = TypeError;
375
376// `Array.prototype.{ reduce, reduceRight }` methods implementation
377var createMethod = function (IS_RIGHT) {
378  return function (that, callbackfn, argumentsLength, memo) {
379    aCallable(callbackfn);
380    var O = toObject(that);
381    var self = IndexedObject(O);
382    var length = lengthOfArrayLike(O);
383    var index = IS_RIGHT ? length - 1 : 0;
384    var i = IS_RIGHT ? -1 : 1;
385    if (argumentsLength < 2) while (true) {
386      if (index in self) {
387        memo = self[index];
388        index += i;
389        break;
390      }
391      index += i;
392      if (IS_RIGHT ? index < 0 : length <= index) {
393        throw $TypeError('Reduce of empty array with no initial value');
394      }
395    }
396    for (;IS_RIGHT ? index >= 0 : length > index; index += i) if (index in self) {
397      memo = callbackfn(memo, self[index], index, O);
398    }
399    return memo;
400  };
401};
402
403module.exports = {
404  // `Array.prototype.reduce` method
405  // https://tc39.es/ecma262/#sec-array.prototype.reduce
406  left: createMethod(false),
407  // `Array.prototype.reduceRight` method
408  // https://tc39.es/ecma262/#sec-array.prototype.reduceright
409  right: createMethod(true)
410};
411
412
413/***/ }),
414
415/***/ 1589:
416/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
417
418var toAbsoluteIndex = __webpack_require__(1400);
419var lengthOfArrayLike = __webpack_require__(6244);
420var createProperty = __webpack_require__(6135);
421
422var $Array = Array;
423var max = Math.max;
424
425module.exports = function (O, start, end) {
426  var length = lengthOfArrayLike(O);
427  var k = toAbsoluteIndex(start, length);
428  var fin = toAbsoluteIndex(end === undefined ? length : end, length);
429  var result = $Array(max(fin - k, 0));
430  for (var n = 0; k < fin; k++, n++) createProperty(result, n, O[k]);
431  result.length = n;
432  return result;
433};
434
435
436/***/ }),
437
438/***/ 206:
439/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
440
441var uncurryThis = __webpack_require__(1702);
442
443module.exports = uncurryThis([].slice);
444
445
446/***/ }),
447
448/***/ 7475:
449/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
450
451var isArray = __webpack_require__(3157);
452var isConstructor = __webpack_require__(4411);
453var isObject = __webpack_require__(111);
454var wellKnownSymbol = __webpack_require__(5112);
455
456var SPECIES = wellKnownSymbol('species');
457var $Array = Array;
458
459// a part of `ArraySpeciesCreate` abstract operation
460// https://tc39.es/ecma262/#sec-arrayspeciescreate
461module.exports = function (originalArray) {
462  var C;
463  if (isArray(originalArray)) {
464    C = originalArray.constructor;
465    // cross-realm fallback
466    if (isConstructor(C) && (C === $Array || isArray(C.prototype))) C = undefined;
467    else if (isObject(C)) {
468      C = C[SPECIES];
469      if (C === null) C = undefined;
470    }
471  } return C === undefined ? $Array : C;
472};
473
474
475/***/ }),
476
477/***/ 5417:
478/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
479
480var arraySpeciesConstructor = __webpack_require__(7475);
481
482// `ArraySpeciesCreate` abstract operation
483// https://tc39.es/ecma262/#sec-arrayspeciescreate
484module.exports = function (originalArray, length) {
485  return new (arraySpeciesConstructor(originalArray))(length === 0 ? 0 : length);
486};
487
488
489/***/ }),
490
491/***/ 3411:
492/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
493
494var anObject = __webpack_require__(9670);
495var iteratorClose = __webpack_require__(9212);
496
497// call something on iterator step with safe closing on error
498module.exports = function (iterator, fn, value, ENTRIES) {
499  try {
500    return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value);
501  } catch (error) {
502    iteratorClose(iterator, 'throw', error);
503  }
504};
505
506
507/***/ }),
508
509/***/ 7072:
510/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
511
512var wellKnownSymbol = __webpack_require__(5112);
513
vendor: 8,692 bytes, lines 514-835
514var ITERATOR = wellKnownSymbol('iterator');
515var SAFE_CLOSING = false;
516
517try {
518  var called = 0;
519  var iteratorWithReturn = {
520    next: function () {
521      return { done: !!called++ };
522    },
523    'return': function () {
524      SAFE_CLOSING = true;
525    }
526  };
527  iteratorWithReturn[ITERATOR] = function () {
528    return this;
529  };
530  // eslint-disable-next-line es/no-array-from, no-throw-literal -- required for testing
531  Array.from(iteratorWithReturn, function () { throw 2; });
532} catch (error) { /* empty */ }
533
534module.exports = function (exec, SKIP_CLOSING) {
535  if (!SKIP_CLOSING && !SAFE_CLOSING) return false;
536  var ITERATION_SUPPORT = false;
537  try {
538    var object = {};
539    object[ITERATOR] = function () {
540      return {
541        next: function () {
542          return { done: ITERATION_SUPPORT = true };
543        }
544      };
545    };
546    exec(object);
547  } catch (error) { /* empty */ }
548  return ITERATION_SUPPORT;
549};
550
551
552/***/ }),
553
554/***/ 4326:
555/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
556
557var uncurryThis = __webpack_require__(1702);
558
559var toString = uncurryThis({}.toString);
560var stringSlice = uncurryThis(''.slice);
561
562module.exports = function (it) {
563  return stringSlice(toString(it), 8, -1);
564};
565
566
567/***/ }),
568
569/***/ 648:
570/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
571
572var TO_STRING_TAG_SUPPORT = __webpack_require__(1694);
573var isCallable = __webpack_require__(614);
574var classofRaw = __webpack_require__(4326);
575var wellKnownSymbol = __webpack_require__(5112);
576
577var TO_STRING_TAG = wellKnownSymbol('toStringTag');
578var $Object = Object;
579
580// ES3 wrong here
581var CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';
582
583// fallback for IE11 Script Access Denied error
584var tryGet = function (it, key) {
585  try {
586    return it[key];
587  } catch (error) { /* empty */ }
588};
589
590// getting tag from ES6+ `Object.prototype.toString`
591module.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {
592  var O, tag, result;
593  return it === undefined ? 'Undefined' : it === null ? 'Null'
594    // @@toStringTag case
595    : typeof (tag = tryGet(O = $Object(it), TO_STRING_TAG)) == 'string' ? tag
596    // builtinTag case
597    : CORRECT_ARGUMENTS ? classofRaw(O)
598    // ES3 arguments fallback
599    : (result = classofRaw(O)) == 'Object' && isCallable(O.callee) ? 'Arguments' : result;
600};
601
602
603/***/ }),
604
605/***/ 9920:
606/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
607
608var hasOwn = __webpack_require__(2597);
609var ownKeys = __webpack_require__(3887);
610var getOwnPropertyDescriptorModule = __webpack_require__(1236);
611var definePropertyModule = __webpack_require__(3070);
612
613module.exports = function (target, source, exceptions) {
614  var keys = ownKeys(source);
615  var defineProperty = definePropertyModule.f;
616  var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;
617  for (var i = 0; i < keys.length; i++) {
618    var key = keys[i];
619    if (!hasOwn(target, key) && !(exceptions && hasOwn(exceptions, key))) {
620      defineProperty(target, key, getOwnPropertyDescriptor(source, key));
621    }
622  }
623};
624
625
626/***/ }),
627
628/***/ 4964:
629/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
630
631var wellKnownSymbol = __webpack_require__(5112);
632
633var MATCH = wellKnownSymbol('match');
634
635module.exports = function (METHOD_NAME) {
636  var regexp = /./;
637  try {
638    '/./'[METHOD_NAME](regexp);
639  } catch (error1) {
640    try {
641      regexp[MATCH] = false;
642      return '/./'[METHOD_NAME](regexp);
643    } catch (error2) { /* empty */ }
644  } return false;
645};
646
647
648/***/ }),
649
650/***/ 8544:
651/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
652
653var fails = __webpack_require__(7293);
654
655module.exports = !fails(function () {
656  function F() { /* empty */ }
657  F.prototype.constructor = null;
658  // eslint-disable-next-line es/no-object-getprototypeof -- required for testing
659  return Object.getPrototypeOf(new F()) !== F.prototype;
660});
661
662
663/***/ }),
664
665/***/ 6178:
666/***/ (function(module) {
667
668// `CreateIterResultObject` abstract operation
669// https://tc39.es/ecma262/#sec-createiterresultobject
670module.exports = function (value, done) {
671  return { value: value, done: done };
672};
673
674
675/***/ }),
676
677/***/ 8880:
678/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
679
680var DESCRIPTORS = __webpack_require__(9781);
681var definePropertyModule = __webpack_require__(3070);
682var createPropertyDescriptor = __webpack_require__(9114);
683
684module.exports = DESCRIPTORS ? function (object, key, value) {
685  return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));
686} : function (object, key, value) {
687  object[key] = value;
688  return object;
689};
690
691
692/***/ }),
693
694/***/ 9114:
695/***/ (function(module) {
696
697module.exports = function (bitmap, value) {
698  return {
699    enumerable: !(bitmap & 1),
700    configurable: !(bitmap & 2),
701    writable: !(bitmap & 4),
702    value: value
703  };
704};
705
706
707/***/ }),
708
709/***/ 6135:
710/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
711
712"use strict";
713
714var toPropertyKey = __webpack_require__(4948);
715var definePropertyModule = __webpack_require__(3070);
716var createPropertyDescriptor = __webpack_require__(9114);
717
718module.exports = function (object, key, value) {
719  var propertyKey = toPropertyKey(key);
720  if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));
721  else object[propertyKey] = value;
722};
723
724
725/***/ }),
726
727/***/ 8709:
728/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
729
730"use strict";
731
732var anObject = __webpack_require__(9670);
733var ordinaryToPrimitive = __webpack_require__(2140);
734
735var $TypeError = TypeError;
736
737// `Date.prototype[@@toPrimitive](hint)` method implementation
738// https://tc39.es/ecma262/#sec-date.prototype-@@toprimitive
739module.exports = function (hint) {
740  anObject(this);
741  if (hint === 'string' || hint === 'default') hint = 'string';
742  else if (hint !== 'number') throw $TypeError('Incorrect hint');
743  return ordinaryToPrimitive(this, hint);
744};
745
746
747/***/ }),
748
749/***/ 7045:
750/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
751
752var makeBuiltIn = __webpack_require__(6339);
753var defineProperty = __webpack_require__(3070);
754
755module.exports = function (target, name, descriptor) {
756  if (descriptor.get) makeBuiltIn(descriptor.get, name, { getter: true });
757  if (descriptor.set) makeBuiltIn(descriptor.set, name, { setter: true });
758  return defineProperty.f(target, name, descriptor);
759};
760
761
762/***/ }),
763
764/***/ 8052:
765/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
766
767var isCallable = __webpack_require__(614);
768var definePropertyModule = __webpack_require__(3070);
769var makeBuiltIn = __webpack_require__(6339);
770var defineGlobalProperty = __webpack_require__(3072);
771
772module.exports = function (O, key, value, options) {
773  if (!options) options = {};
774  var simple = options.enumerable;
775  var name = options.name !== undefined ? options.name : key;
776  if (isCallable(value)) makeBuiltIn(value, name, options);
777  if (options.global) {
778    if (simple) O[key] = value;
779    else defineGlobalProperty(key, value);
780  } else {
781    try {
782      if (!options.unsafe) delete O[key];
783      else if (O[key]) simple = true;
784    } catch (error) { /* empty */ }
785    if (simple) O[key] = value;
786    else definePropertyModule.f(O, key, {
787      value: value,
788      enumerable: false,
789      configurable: !options.nonConfigurable,
790      writable: !options.nonWritable
791    });
792  } return O;
793};
794
795
796/***/ }),
797
798/***/ 3072:
799/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
800
801var global = __webpack_require__(7854);
802
803// eslint-disable-next-line es/no-object-defineproperty -- safe
804var defineProperty = Object.defineProperty;
805
806module.exports = function (key, value) {
807  try {
808    defineProperty(global, key, { value: value, configurable: true, writable: true });
809  } catch (error) {
810    global[key] = value;
811  } return value;
812};
813
814
815/***/ }),
816
817/***/ 9781:
818/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
819
820var fails = __webpack_require__(7293);
821
822// Detect IE8's incomplete defineProperty implementation
823module.exports = !fails(function () {
824  // eslint-disable-next-line es/no-object-defineproperty -- required for testing
825  return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;
826});
827
828
829/***/ }),
830
831/***/ 4154:
832/***/ (function(module) {
833
834var documentAll = typeof document == 'object' && document.all;
835
vendor: 5,132 bytes, lines 836-1048
836// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot
837// eslint-disable-next-line unicorn/no-typeof-undefined -- required for testing
838var IS_HTMLDDA = typeof documentAll == 'undefined' && documentAll !== undefined;
839
840module.exports = {
841  all: documentAll,
842  IS_HTMLDDA: IS_HTMLDDA
843};
844
845
846/***/ }),
847
848/***/ 317:
849/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
850
851var global = __webpack_require__(7854);
852var isObject = __webpack_require__(111);
853
854var document = global.document;
855// typeof document.createElement is 'object' in old IE
856var EXISTS = isObject(document) && isObject(document.createElement);
857
858module.exports = function (it) {
859  return EXISTS ? document.createElement(it) : {};
860};
861
862
863/***/ }),
864
865/***/ 7207:
866/***/ (function(module) {
867
868var $TypeError = TypeError;
869var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF; // 2 ** 53 - 1 == 9007199254740991
870
871module.exports = function (it) {
872  if (it > MAX_SAFE_INTEGER) throw $TypeError('Maximum allowed index exceeded');
873  return it;
874};
875
876
877/***/ }),
878
879/***/ 8324:
880/***/ (function(module) {
881
882// iterable DOM collections
883// flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods
884module.exports = {
885  CSSRuleList: 0,
886  CSSStyleDeclaration: 0,
887  CSSValueList: 0,
888  ClientRectList: 0,
889  DOMRectList: 0,
890  DOMStringList: 0,
891  DOMTokenList: 1,
892  DataTransferItemList: 0,
893  FileList: 0,
894  HTMLAllCollection: 0,
895  HTMLCollection: 0,
896  HTMLFormElement: 0,
897  HTMLSelectElement: 0,
898  MediaList: 0,
899  MimeTypeArray: 0,
900  NamedNodeMap: 0,
901  NodeList: 1,
902  PaintRequestList: 0,
903  Plugin: 0,
904  PluginArray: 0,
905  SVGLengthList: 0,
906  SVGNumberList: 0,
907  SVGPathSegList: 0,
908  SVGPointList: 0,
909  SVGStringList: 0,
910  SVGTransformList: 0,
911  SourceBufferList: 0,
912  StyleSheetList: 0,
913  TextTrackCueList: 0,
914  TextTrackList: 0,
915  TouchList: 0
916};
917
918
919/***/ }),
920
921/***/ 8509:
922/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
923
924// in old WebKit versions, `element.classList` is not an instance of global `DOMTokenList`
925var documentCreateElement = __webpack_require__(317);
926
927var classList = documentCreateElement('span').classList;
928var DOMTokenListPrototype = classList && classList.constructor && classList.constructor.prototype;
929
930module.exports = DOMTokenListPrototype === Object.prototype ? undefined : DOMTokenListPrototype;
931
932
933/***/ }),
934
935/***/ 7871:
936/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
937
938var IS_DENO = __webpack_require__(3823);
939var IS_NODE = __webpack_require__(5268);
940
941module.exports = !IS_DENO && !IS_NODE
942  && typeof window == 'object'
943  && typeof document == 'object';
944
945
946/***/ }),
947
948/***/ 3823:
949/***/ (function(module) {
950
951/* global Deno -- Deno case */
952module.exports = typeof Deno == 'object' && Deno && typeof Deno.version == 'object';
953
954
955/***/ }),
956
957/***/ 1528:
958/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
959
960var userAgent = __webpack_require__(8113);
961
962module.exports = /ipad|iphone|ipod/i.test(userAgent) && typeof Pebble != 'undefined';
963
964
965/***/ }),
966
967/***/ 6833:
968/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
969
970var userAgent = __webpack_require__(8113);
971
972// eslint-disable-next-line redos/no-vulnerable -- safe
973module.exports = /(?:ipad|iphone|ipod).*applewebkit/i.test(userAgent);
974
975
976/***/ }),
977
978/***/ 5268:
979/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
980
981var classof = __webpack_require__(4326);
982
983module.exports = typeof process != 'undefined' && classof(process) == 'process';
984
985
986/***/ }),
987
988/***/ 1036:
989/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
990
991var userAgent = __webpack_require__(8113);
992
993module.exports = /web0s(?!.*chrome)/i.test(userAgent);
994
995
996/***/ }),
997
998/***/ 8113:
999/***/ (function(module) {
1000
1001module.exports = typeof navigator != 'undefined' && String(navigator.userAgent) || '';
1002
1003
1004/***/ }),
1005
1006/***/ 7392:
1007/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
1008
1009var global = __webpack_require__(7854);
1010var userAgent = __webpack_require__(8113);
1011
1012var process = global.process;
1013var Deno = global.Deno;
1014var versions = process && process.versions || Deno && Deno.version;
1015var v8 = versions && versions.v8;
1016var match, version;
1017
1018if (v8) {
1019  match = v8.split('.');
1020  // in old Chrome, versions of V8 isn't V8 = Chrome / 10
1021  // but their correct versions are not interesting for us
1022  version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);
1023}
1024
1025// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`
1026// so check `userAgent` even if `.v8` exists, but 0
1027if (!version && userAgent) {
1028  match = userAgent.match(/Edge\/(\d+)/);
1029  if (!match || match[1] >= 74) {
1030    match = userAgent.match(/Chrome\/(\d+)/);
1031    if (match) version = +match[1];
1032  }
1033}
1034
1035module.exports = version;
1036
1037
1038/***/ }),
1039
1040/***/ 748:
1041/***/ (function(module) {
1042
1043// IE8- don't enum bug keys
1044module.exports = [
1045  'constructor',
1046  'hasOwnProperty',
1047  'isPrototypeOf',
1048  'propertyIsEnumerable',
vendor: 5,569 bytes, lines 1049-1202
1049  'toLocaleString',
1050  'toString',
1051  'valueOf'
1052];
1053
1054
1055/***/ }),
1056
1057/***/ 2109:
1058/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
1059
1060var global = __webpack_require__(7854);
1061var getOwnPropertyDescriptor = (__webpack_require__(1236).f);
1062var createNonEnumerableProperty = __webpack_require__(8880);
1063var defineBuiltIn = __webpack_require__(8052);
1064var defineGlobalProperty = __webpack_require__(3072);
1065var copyConstructorProperties = __webpack_require__(9920);
1066var isForced = __webpack_require__(4705);
1067
1068/*
1069  options.target         - name of the target object
1070  options.global         - target is the global object
1071  options.stat           - export as static methods of target
1072  options.proto          - export as prototype methods of target
1073  options.real           - real prototype method for the `pure` version
1074  options.forced         - export even if the native feature is available
1075  options.bind           - bind methods to the target, required for the `pure` version
1076  options.wrap           - wrap constructors to preventing global pollution, required for the `pure` version
1077  options.unsafe         - use the simple assignment of property instead of delete + defineProperty
1078  options.sham           - add a flag to not completely full polyfills
1079  options.enumerable     - export as enumerable property
1080  options.dontCallGetSet - prevent calling a getter on target
1081  options.name           - the .name of the function if it does not match the key
1082*/
1083module.exports = function (options, source) {
1084  var TARGET = options.target;
1085  var GLOBAL = options.global;
1086  var STATIC = options.stat;
1087  var FORCED, target, key, targetProperty, sourceProperty, descriptor;
1088  if (GLOBAL) {
1089    target = global;
1090  } else if (STATIC) {
1091    target = global[TARGET] || defineGlobalProperty(TARGET, {});
1092  } else {
1093    target = (global[TARGET] || {}).prototype;
1094  }
1095  if (target) for (key in source) {
1096    sourceProperty = source[key];
1097    if (options.dontCallGetSet) {
1098      descriptor = getOwnPropertyDescriptor(target, key);
1099      targetProperty = descriptor && descriptor.value;
1100    } else targetProperty = target[key];
1101    FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);
1102    // contained in target
1103    if (!FORCED && targetProperty !== undefined) {
1104      if (typeof sourceProperty == typeof targetProperty) continue;
1105      copyConstructorProperties(sourceProperty, targetProperty);
1106    }
1107    // add a flag to not completely full polyfills
1108    if (options.sham || (targetProperty && targetProperty.sham)) {
1109      createNonEnumerableProperty(sourceProperty, 'sham', true);
1110    }
1111    defineBuiltIn(target, key, sourceProperty, options);
1112  }
1113};
1114
1115
1116/***/ }),
1117
1118/***/ 7293:
1119/***/ (function(module) {
1120
1121module.exports = function (exec) {
1122  try {
1123    return !!exec();
1124  } catch (error) {
1125    return true;
1126  }
1127};
1128
1129
1130/***/ }),
1131
1132/***/ 7007:
1133/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
1134
1135"use strict";
1136
1137// TODO: Remove from `core-js@4` since it's moved to entry points
1138__webpack_require__(4916);
1139var uncurryThis = __webpack_require__(1470);
1140var defineBuiltIn = __webpack_require__(8052);
1141var regexpExec = __webpack_require__(2261);
1142var fails = __webpack_require__(7293);
1143var wellKnownSymbol = __webpack_require__(5112);
1144var createNonEnumerableProperty = __webpack_require__(8880);
1145
1146var SPECIES = wellKnownSymbol('species');
1147var RegExpPrototype = RegExp.prototype;
1148
1149module.exports = function (KEY, exec, FORCED, SHAM) {
1150  var SYMBOL = wellKnownSymbol(KEY);
1151
1152  var DELEGATES_TO_SYMBOL = !fails(function () {
1153    // String methods call symbol-named RegEp methods
1154    var O = {};
1155    O[SYMBOL] = function () { return 7; };
1156    return ''[KEY](O) != 7;
1157  });
1158
1159  var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL && !fails(function () {
1160    // Symbol-named RegExp methods call .exec
1161    var execCalled = false;
1162    var re = /a/;
1163
1164    if (KEY === 'split') {
1165      // We can't use real regex here since it causes deoptimization
1166      // and serious performance degradation in V8
1167      // https://github.com/zloirock/core-js/issues/306
1168      re = {};
1169      // RegExp[@@split] doesn't call the regex's exec method, but first creates
1170      // a new one. We need to return the patched regex when creating the new one.
1171      re.constructor = {};
1172      re.constructor[SPECIES] = function () { return re; };
1173      re.flags = '';
1174      re[SYMBOL] = /./[SYMBOL];
1175    }
1176
1177    re.exec = function () { execCalled = true; return null; };
1178
1179    re[SYMBOL]('');
1180    return !execCalled;
1181  });
1182
1183  if (
1184    !DELEGATES_TO_SYMBOL ||
1185    !DELEGATES_TO_EXEC ||
1186    FORCED
1187  ) {
1188    var uncurriedNativeRegExpMethod = uncurryThis(/./[SYMBOL]);
1189    var methods = exec(SYMBOL, ''[KEY], function (nativeMethod, regexp, str, arg2, forceStringMethod) {
1190      var uncurriedNativeMethod = uncurryThis(nativeMethod);
1191      var $exec = regexp.exec;
1192      if ($exec === regexpExec || $exec === RegExpPrototype.exec) {
1193        if (DELEGATES_TO_SYMBOL && !forceStringMethod) {
1194          // The native String method already delegates to @@method (this
1195          // polyfilled function), leasing to infinite recursion.
1196          // We avoid it by directly calling the native @@method method.
1197          return { done: true, value: uncurriedNativeRegExpMethod(regexp, str, arg2) };
1198        }
1199        return { done: true, value: uncurriedNativeMethod(str, regexp, arg2) };
1200      }
1201      return { done: false };
1202    });
vendor: 4,133 bytes, lines 1203-1349
1203
1204    defineBuiltIn(String.prototype, KEY, methods[0]);
1205    defineBuiltIn(RegExpPrototype, SYMBOL, methods[1]);
1206  }
1207
1208  if (SHAM) createNonEnumerableProperty(RegExpPrototype[SYMBOL], 'sham', true);
1209};
1210
1211
1212/***/ }),
1213
1214/***/ 2104:
1215/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
1216
1217var NATIVE_BIND = __webpack_require__(4374);
1218
1219var FunctionPrototype = Function.prototype;
1220var apply = FunctionPrototype.apply;
1221var call = FunctionPrototype.call;
1222
1223// eslint-disable-next-line es/no-reflect -- safe
1224module.exports = typeof Reflect == 'object' && Reflect.apply || (NATIVE_BIND ? call.bind(apply) : function () {
1225  return call.apply(apply, arguments);
1226});
1227
1228
1229/***/ }),
1230
1231/***/ 9974:
1232/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
1233
1234var uncurryThis = __webpack_require__(1470);
1235var aCallable = __webpack_require__(9662);
1236var NATIVE_BIND = __webpack_require__(4374);
1237
1238var bind = uncurryThis(uncurryThis.bind);
1239
1240// optional / simple context binding
1241module.exports = function (fn, that) {
1242  aCallable(fn);
1243  return that === undefined ? fn : NATIVE_BIND ? bind(fn, that) : function (/* ...args */) {
1244    return fn.apply(that, arguments);
1245  };
1246};
1247
1248
1249/***/ }),
1250
1251/***/ 4374:
1252/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
1253
1254var fails = __webpack_require__(7293);
1255
1256module.exports = !fails(function () {
1257  // eslint-disable-next-line es/no-function-prototype-bind -- safe
1258  var test = (function () { /* empty */ }).bind();
1259  // eslint-disable-next-line no-prototype-builtins -- safe
1260  return typeof test != 'function' || test.hasOwnProperty('prototype');
1261});
1262
1263
1264/***/ }),
1265
1266/***/ 6916:
1267/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
1268
1269var NATIVE_BIND = __webpack_require__(4374);
1270
1271var call = Function.prototype.call;
1272
1273module.exports = NATIVE_BIND ? call.bind(call) : function () {
1274  return call.apply(call, arguments);
1275};
1276
1277
1278/***/ }),
1279
1280/***/ 6530:
1281/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
1282
1283var DESCRIPTORS = __webpack_require__(9781);
1284var hasOwn = __webpack_require__(2597);
1285
1286var FunctionPrototype = Function.prototype;
1287// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
1288var getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor;
1289
1290var EXISTS = hasOwn(FunctionPrototype, 'name');
1291// additional protection from minified / mangled / dropped function names
1292var PROPER = EXISTS && (function something() { /* empty */ }).name === 'something';
1293var CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable));
1294
1295module.exports = {
1296  EXISTS: EXISTS,
1297  PROPER: PROPER,
1298  CONFIGURABLE: CONFIGURABLE
1299};
1300
1301
1302/***/ }),
1303
1304/***/ 5668:
1305/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
1306
1307var uncurryThis = __webpack_require__(1702);
1308var aCallable = __webpack_require__(9662);
1309
1310module.exports = function (object, key, method) {
1311  try {
1312    // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
1313    return uncurryThis(aCallable(Object.getOwnPropertyDescriptor(object, key)[method]));
1314  } catch (error) { /* empty */ }
1315};
1316
1317
1318/***/ }),
1319
1320/***/ 1470:
1321/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
1322
1323var classofRaw = __webpack_require__(4326);
1324var uncurryThis = __webpack_require__(1702);
1325
1326module.exports = function (fn) {
1327  // Nashorn bug:
1328  //   https://github.com/zloirock/core-js/issues/1128
1329  //   https://github.com/zloirock/core-js/issues/1130
1330  if (classofRaw(fn) === 'Function') return uncurryThis(fn);
1331};
1332
1333
1334/***/ }),
1335
1336/***/ 1702:
1337/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
1338
1339var NATIVE_BIND = __webpack_require__(4374);
1340
1341var FunctionPrototype = Function.prototype;
1342var call = FunctionPrototype.call;
1343var uncurryThisWithBind = NATIVE_BIND && FunctionPrototype.bind.bind(call, call);
1344
1345module.exports = NATIVE_BIND ? uncurryThisWithBind : function (fn) {
1346  return function () {
1347    return call.apply(fn, arguments);
1348  };
1349};
vendor: 1,674 bytes, lines 1350-1406
1350
1351
1352/***/ }),
1353
1354/***/ 5005:
1355/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
1356
1357var global = __webpack_require__(7854);
1358var isCallable = __webpack_require__(614);
1359
1360var aFunction = function (argument) {
1361  return isCallable(argument) ? argument : undefined;
1362};
1363
1364module.exports = function (namespace, method) {
1365  return arguments.length < 2 ? aFunction(global[namespace]) : global[namespace] && global[namespace][method];
1366};
1367
1368
1369/***/ }),
1370
1371/***/ 1246:
1372/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
1373
1374var classof = __webpack_require__(648);
1375var getMethod = __webpack_require__(8173);
1376var isNullOrUndefined = __webpack_require__(8554);
1377var Iterators = __webpack_require__(7497);
1378var wellKnownSymbol = __webpack_require__(5112);
1379
1380var ITERATOR = wellKnownSymbol('iterator');
1381
1382module.exports = function (it) {
1383  if (!isNullOrUndefined(it)) return getMethod(it, ITERATOR)
1384    || getMethod(it, '@@iterator')
1385    || Iterators[classof(it)];
1386};
1387
1388
1389/***/ }),
1390
1391/***/ 4121:
1392/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
1393
1394var call = __webpack_require__(6916);
1395var aCallable = __webpack_require__(9662);
1396var anObject = __webpack_require__(9670);
1397var tryToString = __webpack_require__(6330);
1398var getIteratorMethod = __webpack_require__(1246);
1399
1400var $TypeError = TypeError;
1401
1402module.exports = function (argument, usingIterator) {
1403  var iteratorMethod = arguments.length < 2 ? getIteratorMethod(argument) : usingIterator;
1404  if (aCallable(iteratorMethod)) return anObject(call(iteratorMethod, argument));
1405  throw $TypeError(tryToString(argument) + ' is not iterable');
1406};
vendor: 7,101 bytes, lines 1407-1645
1407
1408
1409/***/ }),
1410
1411/***/ 8044:
1412/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
1413
1414var uncurryThis = __webpack_require__(1702);
1415var isArray = __webpack_require__(3157);
1416var isCallable = __webpack_require__(614);
1417var classof = __webpack_require__(4326);
1418var toString = __webpack_require__(1340);
1419
1420var push = uncurryThis([].push);
1421
1422module.exports = function (replacer) {
1423  if (isCallable(replacer)) return replacer;
1424  if (!isArray(replacer)) return;
1425  var rawLength = replacer.length;
1426  var keys = [];
1427  for (var i = 0; i < rawLength; i++) {
1428    var element = replacer[i];
1429    if (typeof element == 'string') push(keys, element);
1430    else if (typeof element == 'number' || classof(element) == 'Number' || classof(element) == 'String') push(keys, toString(element));
1431  }
1432  var keysLength = keys.length;
1433  var root = true;
1434  return function (key, value) {
1435    if (root) {
1436      root = false;
1437      return value;
1438    }
1439    if (isArray(this)) return value;
1440    for (var j = 0; j < keysLength; j++) if (keys[j] === key) return value;
1441  };
1442};
1443
1444
1445/***/ }),
1446
1447/***/ 8173:
1448/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
1449
1450var aCallable = __webpack_require__(9662);
1451var isNullOrUndefined = __webpack_require__(8554);
1452
1453// `GetMethod` abstract operation
1454// https://tc39.es/ecma262/#sec-getmethod
1455module.exports = function (V, P) {
1456  var func = V[P];
1457  return isNullOrUndefined(func) ? undefined : aCallable(func);
1458};
1459
1460
1461/***/ }),
1462
1463/***/ 647:
1464/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
1465
1466var uncurryThis = __webpack_require__(1702);
1467var toObject = __webpack_require__(7908);
1468
1469var floor = Math.floor;
1470var charAt = uncurryThis(''.charAt);
1471var replace = uncurryThis(''.replace);
1472var stringSlice = uncurryThis(''.slice);
1473// eslint-disable-next-line redos/no-vulnerable -- safe
1474var SUBSTITUTION_SYMBOLS = /\$([$&'`]|\d{1,2}|<[^>]*>)/g;
1475var SUBSTITUTION_SYMBOLS_NO_NAMED = /\$([$&'`]|\d{1,2})/g;
1476
1477// `GetSubstitution` abstract operation
1478// https://tc39.es/ecma262/#sec-getsubstitution
1479module.exports = function (matched, str, position, captures, namedCaptures, replacement) {
1480  var tailPos = position + matched.length;
1481  var m = captures.length;
1482  var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;
1483  if (namedCaptures !== undefined) {
1484    namedCaptures = toObject(namedCaptures);
1485    symbols = SUBSTITUTION_SYMBOLS;
1486  }
1487  return replace(replacement, symbols, function (match, ch) {
1488    var capture;
1489    switch (charAt(ch, 0)) {
1490      case '$': return '$';
1491      case '&': return matched;
1492      case '`': return stringSlice(str, 0, position);
1493      case "'": return stringSlice(str, tailPos);
1494      case '<':
1495        capture = namedCaptures[stringSlice(ch, 1, -1)];
1496        break;
1497      default: // \d\d?
1498        var n = +ch;
1499        if (n === 0) return match;
1500        if (n > m) {
1501          var f = floor(n / 10);
1502          if (f === 0) return match;
1503          if (f <= m) return captures[f - 1] === undefined ? charAt(ch, 1) : captures[f - 1] + charAt(ch, 1);
1504          return match;
1505        }
1506        capture = captures[n - 1];
1507    }
1508    return capture === undefined ? '' : capture;
1509  });
1510};
1511
1512
1513/***/ }),
1514
1515/***/ 7854:
1516/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
1517
1518var check = function (it) {
1519  return it && it.Math == Math && it;
1520};
1521
1522// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
1523module.exports =
1524  // eslint-disable-next-line es/no-global-this -- safe
1525  check(typeof globalThis == 'object' && globalThis) ||
1526  check(typeof window == 'object' && window) ||
1527  // eslint-disable-next-line no-restricted-globals -- safe
1528  check(typeof self == 'object' && self) ||
1529  check(typeof __webpack_require__.g == 'object' && __webpack_require__.g) ||
1530  // eslint-disable-next-line no-new-func -- fallback
1531  (function () { return this; })() || Function('return this')();
1532
1533
1534/***/ }),
1535
1536/***/ 2597:
1537/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
1538
1539var uncurryThis = __webpack_require__(1702);
1540var toObject = __webpack_require__(7908);
1541
1542var hasOwnProperty = uncurryThis({}.hasOwnProperty);
1543
1544// `HasOwnProperty` abstract operation
1545// https://tc39.es/ecma262/#sec-hasownproperty
1546// eslint-disable-next-line es/no-object-hasown -- safe
1547module.exports = Object.hasOwn || function hasOwn(it, key) {
1548  return hasOwnProperty(toObject(it), key);
1549};
1550
1551
1552/***/ }),
1553
1554/***/ 3501:
1555/***/ (function(module) {
1556
1557module.exports = {};
1558
1559
1560/***/ }),
1561
1562/***/ 842:
1563/***/ (function(module) {
1564
1565module.exports = function (a, b) {
1566  try {
1567    // eslint-disable-next-line no-console -- safe
1568    arguments.length == 1 ? console.error(a) : console.error(a, b);
1569  } catch (error) { /* empty */ }
1570};
1571
1572
1573/***/ }),
1574
1575/***/ 490:
1576/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
1577
1578var getBuiltIn = __webpack_require__(5005);
1579
1580module.exports = getBuiltIn('document', 'documentElement');
1581
1582
1583/***/ }),
1584
1585/***/ 4664:
1586/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
1587
1588var DESCRIPTORS = __webpack_require__(9781);
1589var fails = __webpack_require__(7293);
1590var createElement = __webpack_require__(317);
1591
1592// Thanks to IE8 for its funny defineProperty
1593module.exports = !DESCRIPTORS && !fails(function () {
1594  // eslint-disable-next-line es/no-object-defineproperty -- required for testing
1595  return Object.defineProperty(createElement('div'), 'a', {
1596    get: function () { return 7; }
1597  }).a != 7;
1598});
1599
1600
1601/***/ }),
1602
1603/***/ 8361:
1604/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
1605
1606var uncurryThis = __webpack_require__(1702);
1607var fails = __webpack_require__(7293);
1608var classof = __webpack_require__(4326);
1609
1610var $Object = Object;
1611var split = uncurryThis(''.split);
1612
1613// fallback for non-array-like ES3 and non-enumerable old V8 strings
1614module.exports = fails(function () {
1615  // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346
1616  // eslint-disable-next-line no-prototype-builtins -- safe
1617  return !$Object('z').propertyIsEnumerable(0);
1618}) ? function (it) {
1619  return classof(it) == 'String' ? split(it, '') : $Object(it);
1620} : $Object;
1621
1622
1623/***/ }),
1624
1625/***/ 9587:
1626/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
1627
1628var isCallable = __webpack_require__(614);
1629var isObject = __webpack_require__(111);
1630var setPrototypeOf = __webpack_require__(7674);
1631
1632// makes subclassing work correct for wrapped built-ins
1633module.exports = function ($this, dummy, Wrapper) {
1634  var NewTarget, NewTargetPrototype;
1635  if (
1636    // it can work only with native `setPrototypeOf`
1637    setPrototypeOf &&
1638    // we haven't completely correct pre-ES6 way for getting `new.target`, so use this
1639    isCallable(NewTarget = dummy.constructor) &&
1640    NewTarget !== Wrapper &&
1641    isObject(NewTargetPrototype = NewTarget.prototype) &&
1642    NewTargetPrototype !== Wrapper.prototype
1643  ) setPrototypeOf($this, NewTargetPrototype);
1644  return $this;
1645};
vendor: 16,188 bytes, lines 1646-2165
1646
1647
1648/***/ }),
1649
1650/***/ 2788:
1651/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
1652
1653var uncurryThis = __webpack_require__(1702);
1654var isCallable = __webpack_require__(614);
1655var store = __webpack_require__(5465);
1656
1657var functionToString = uncurryThis(Function.toString);
1658
1659// this helper broken in `[email protected]`, so we can't use `shared` helper
1660if (!isCallable(store.inspectSource)) {
1661  store.inspectSource = function (it) {
1662    return functionToString(it);
1663  };
1664}
1665
1666module.exports = store.inspectSource;
1667
1668
1669/***/ }),
1670
1671/***/ 9909:
1672/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
1673
1674var NATIVE_WEAK_MAP = __webpack_require__(4811);
1675var global = __webpack_require__(7854);
1676var isObject = __webpack_require__(111);
1677var createNonEnumerableProperty = __webpack_require__(8880);
1678var hasOwn = __webpack_require__(2597);
1679var shared = __webpack_require__(5465);
1680var sharedKey = __webpack_require__(6200);
1681var hiddenKeys = __webpack_require__(3501);
1682
1683var OBJECT_ALREADY_INITIALIZED = 'Object already initialized';
1684var TypeError = global.TypeError;
1685var WeakMap = global.WeakMap;
1686var set, get, has;
1687
1688var enforce = function (it) {
1689  return has(it) ? get(it) : set(it, {});
1690};
1691
1692var getterFor = function (TYPE) {
1693  return function (it) {
1694    var state;
1695    if (!isObject(it) || (state = get(it)).type !== TYPE) {
1696      throw TypeError('Incompatible receiver, ' + TYPE + ' required');
1697    } return state;
1698  };
1699};
1700
1701if (NATIVE_WEAK_MAP || shared.state) {
1702  var store = shared.state || (shared.state = new WeakMap());
1703  /* eslint-disable no-self-assign -- prototype methods protection */
1704  store.get = store.get;
1705  store.has = store.has;
1706  store.set = store.set;
1707  /* eslint-enable no-self-assign -- prototype methods protection */
1708  set = function (it, metadata) {
1709    if (store.has(it)) throw TypeError(OBJECT_ALREADY_INITIALIZED);
1710    metadata.facade = it;
1711    store.set(it, metadata);
1712    return metadata;
1713  };
1714  get = function (it) {
1715    return store.get(it) || {};
1716  };
1717  has = function (it) {
1718    return store.has(it);
1719  };
1720} else {
1721  var STATE = sharedKey('state');
1722  hiddenKeys[STATE] = true;
1723  set = function (it, metadata) {
1724    if (hasOwn(it, STATE)) throw TypeError(OBJECT_ALREADY_INITIALIZED);
1725    metadata.facade = it;
1726    createNonEnumerableProperty(it, STATE, metadata);
1727    return metadata;
1728  };
1729  get = function (it) {
1730    return hasOwn(it, STATE) ? it[STATE] : {};
1731  };
1732  has = function (it) {
1733    return hasOwn(it, STATE);
1734  };
1735}
1736
1737module.exports = {
1738  set: set,
1739  get: get,
1740  has: has,
1741  enforce: enforce,
1742  getterFor: getterFor
1743};
1744
1745
1746/***/ }),
1747
1748/***/ 7659:
1749/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
1750
1751var wellKnownSymbol = __webpack_require__(5112);
1752var Iterators = __webpack_require__(7497);
1753
1754var ITERATOR = wellKnownSymbol('iterator');
1755var ArrayPrototype = Array.prototype;
1756
1757// check on default Array iterator
1758module.exports = function (it) {
1759  return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);
1760};
1761
1762
1763/***/ }),
1764
1765/***/ 3157:
1766/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
1767
1768var classof = __webpack_require__(4326);
1769
1770// `IsArray` abstract operation
1771// https://tc39.es/ecma262/#sec-isarray
1772// eslint-disable-next-line es/no-array-isarray -- safe
1773module.exports = Array.isArray || function isArray(argument) {
1774  return classof(argument) == 'Array';
1775};
1776
1777
1778/***/ }),
1779
1780/***/ 614:
1781/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
1782
1783var $documentAll = __webpack_require__(4154);
1784
1785var documentAll = $documentAll.all;
1786
1787// `IsCallable` abstract operation
1788// https://tc39.es/ecma262/#sec-iscallable
1789module.exports = $documentAll.IS_HTMLDDA ? function (argument) {
1790  return typeof argument == 'function' || argument === documentAll;
1791} : function (argument) {
1792  return typeof argument == 'function';
1793};
1794
1795
1796/***/ }),
1797
1798/***/ 4411:
1799/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
1800
1801var uncurryThis = __webpack_require__(1702);
1802var fails = __webpack_require__(7293);
1803var isCallable = __webpack_require__(614);
1804var classof = __webpack_require__(648);
1805var getBuiltIn = __webpack_require__(5005);
1806var inspectSource = __webpack_require__(2788);
1807
1808var noop = function () { /* empty */ };
1809var empty = [];
1810var construct = getBuiltIn('Reflect', 'construct');
1811var constructorRegExp = /^\s*(?:class|function)\b/;
1812var exec = uncurryThis(constructorRegExp.exec);
1813var INCORRECT_TO_STRING = !constructorRegExp.exec(noop);
1814
1815var isConstructorModern = function isConstructor(argument) {
1816  if (!isCallable(argument)) return false;
1817  try {
1818    construct(noop, empty, argument);
1819    return true;
1820  } catch (error) {
1821    return false;
1822  }
1823};
1824
1825var isConstructorLegacy = function isConstructor(argument) {
1826  if (!isCallable(argument)) return false;
1827  switch (classof(argument)) {
1828    case 'AsyncFunction':
1829    case 'GeneratorFunction':
1830    case 'AsyncGeneratorFunction': return false;
1831  }
1832  try {
1833    // we can't check .prototype since constructors produced by .bind haven't it
1834    // `Function#toString` throws on some built-it function in some legacy engines
1835    // (for example, `DOMQuad` and similar in FF41-)
1836    return INCORRECT_TO_STRING || !!exec(constructorRegExp, inspectSource(argument));
1837  } catch (error) {
1838    return true;
1839  }
1840};
1841
1842isConstructorLegacy.sham = true;
1843
1844// `IsConstructor` abstract operation
1845// https://tc39.es/ecma262/#sec-isconstructor
1846module.exports = !construct || fails(function () {
1847  var called;
1848  return isConstructorModern(isConstructorModern.call)
1849    || !isConstructorModern(Object)
1850    || !isConstructorModern(function () { called = true; })
1851    || called;
1852}) ? isConstructorLegacy : isConstructorModern;
1853
1854
1855/***/ }),
1856
1857/***/ 4705:
1858/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
1859
1860var fails = __webpack_require__(7293);
1861var isCallable = __webpack_require__(614);
1862
1863var replacement = /#|\.prototype\./;
1864
1865var isForced = function (feature, detection) {
1866  var value = data[normalize(feature)];
1867  return value == POLYFILL ? true
1868    : value == NATIVE ? false
1869    : isCallable(detection) ? fails(detection)
1870    : !!detection;
1871};
1872
1873var normalize = isForced.normalize = function (string) {
1874  return String(string).replace(replacement, '.').toLowerCase();
1875};
1876
1877var data = isForced.data = {};
1878var NATIVE = isForced.NATIVE = 'N';
1879var POLYFILL = isForced.POLYFILL = 'P';
1880
1881module.exports = isForced;
1882
1883
1884/***/ }),
1885
1886/***/ 8554:
1887/***/ (function(module) {
1888
1889// we can't use just `it == null` since of `document.all` special case
1890// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot-aec
1891module.exports = function (it) {
1892  return it === null || it === undefined;
1893};
1894
1895
1896/***/ }),
1897
1898/***/ 111:
1899/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
1900
1901var isCallable = __webpack_require__(614);
1902var $documentAll = __webpack_require__(4154);
1903
1904var documentAll = $documentAll.all;
1905
1906module.exports = $documentAll.IS_HTMLDDA ? function (it) {
1907  return typeof it == 'object' ? it !== null : isCallable(it) || it === documentAll;
1908} : function (it) {
1909  return typeof it == 'object' ? it !== null : isCallable(it);
1910};
1911
1912
1913/***/ }),
1914
1915/***/ 1913:
1916/***/ (function(module) {
1917
1918module.exports = false;
1919
1920
1921/***/ }),
1922
1923/***/ 7850:
1924/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
1925
1926var isObject = __webpack_require__(111);
1927var classof = __webpack_require__(4326);
1928var wellKnownSymbol = __webpack_require__(5112);
1929
1930var MATCH = wellKnownSymbol('match');
1931
1932// `IsRegExp` abstract operation
1933// https://tc39.es/ecma262/#sec-isregexp
1934module.exports = function (it) {
1935  var isRegExp;
1936  return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classof(it) == 'RegExp');
1937};
1938
1939
1940/***/ }),
1941
1942/***/ 2190:
1943/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
1944
1945var getBuiltIn = __webpack_require__(5005);
1946var isCallable = __webpack_require__(614);
1947var isPrototypeOf = __webpack_require__(7976);
1948var USE_SYMBOL_AS_UID = __webpack_require__(3307);
1949
1950var $Object = Object;
1951
1952module.exports = USE_SYMBOL_AS_UID ? function (it) {
1953  return typeof it == 'symbol';
1954} : function (it) {
1955  var $Symbol = getBuiltIn('Symbol');
1956  return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, $Object(it));
1957};
1958
1959
1960/***/ }),
1961
1962/***/ 408:
1963/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
1964
1965var bind = __webpack_require__(9974);
1966var call = __webpack_require__(6916);
1967var anObject = __webpack_require__(9670);
1968var tryToString = __webpack_require__(6330);
1969var isArrayIteratorMethod = __webpack_require__(7659);
1970var lengthOfArrayLike = __webpack_require__(6244);
1971var isPrototypeOf = __webpack_require__(7976);
1972var getIterator = __webpack_require__(4121);
1973var getIteratorMethod = __webpack_require__(1246);
1974var iteratorClose = __webpack_require__(9212);
1975
1976var $TypeError = TypeError;
1977
1978var Result = function (stopped, result) {
1979  this.stopped = stopped;
1980  this.result = result;
1981};
1982
1983var ResultPrototype = Result.prototype;
1984
1985module.exports = function (iterable, unboundFunction, options) {
1986  var that = options && options.that;
1987  var AS_ENTRIES = !!(options && options.AS_ENTRIES);
1988  var IS_RECORD = !!(options && options.IS_RECORD);
1989  var IS_ITERATOR = !!(options && options.IS_ITERATOR);
1990  var INTERRUPTED = !!(options && options.INTERRUPTED);
1991  var fn = bind(unboundFunction, that);
1992  var iterator, iterFn, index, length, result, next, step;
1993
1994  var stop = function (condition) {
1995    if (iterator) iteratorClose(iterator, 'normal', condition);
1996    return new Result(true, condition);
1997  };
1998
1999  var callFn = function (value) {
2000    if (AS_ENTRIES) {
2001      anObject(value);
2002      return INTERRUPTED ? fn(value[0], value[1], stop) : fn(value[0], value[1]);
2003    } return INTERRUPTED ? fn(value, stop) : fn(value);
2004  };
2005
2006  if (IS_RECORD) {
2007    iterator = iterable.iterator;
2008  } else if (IS_ITERATOR) {
2009    iterator = iterable;
2010  } else {
2011    iterFn = getIteratorMethod(iterable);
2012    if (!iterFn) throw $TypeError(tryToString(iterable) + ' is not iterable');
2013    // optimisation for array iterators
2014    if (isArrayIteratorMethod(iterFn)) {
2015      for (index = 0, length = lengthOfArrayLike(iterable); length > index; index++) {
2016        result = callFn(iterable[index]);
2017        if (result && isPrototypeOf(ResultPrototype, result)) return result;
2018      } return new Result(false);
2019    }
2020    iterator = getIterator(iterable, iterFn);
2021  }
2022
2023  next = IS_RECORD ? iterable.next : iterator.next;
2024  while (!(step = call(next, iterator)).done) {
2025    try {
2026      result = callFn(step.value);
2027    } catch (error) {
2028      iteratorClose(iterator, 'throw', error);
2029    }
2030    if (typeof result == 'object' && result && isPrototypeOf(ResultPrototype, result)) return result;
2031  } return new Result(false);
2032};
2033
2034
2035/***/ }),
2036
2037/***/ 9212:
2038/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
2039
2040var call = __webpack_require__(6916);
2041var anObject = __webpack_require__(9670);
2042var getMethod = __webpack_require__(8173);
2043
2044module.exports = function (iterator, kind, value) {
2045  var innerResult, innerError;
2046  anObject(iterator);
2047  try {
2048    innerResult = getMethod(iterator, 'return');
2049    if (!innerResult) {
2050      if (kind === 'throw') throw value;
2051      return value;
2052    }
2053    innerResult = call(innerResult, iterator);
2054  } catch (error) {
2055    innerError = true;
2056    innerResult = error;
2057  }
2058  if (kind === 'throw') throw value;
2059  if (innerError) throw innerResult;
2060  anObject(innerResult);
2061  return value;
2062};
2063
2064
2065/***/ }),
2066
2067/***/ 3061:
2068/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
2069
2070"use strict";
2071
2072var IteratorPrototype = (__webpack_require__(3383).IteratorPrototype);
2073var create = __webpack_require__(30);
2074var createPropertyDescriptor = __webpack_require__(9114);
2075var setToStringTag = __webpack_require__(8003);
2076var Iterators = __webpack_require__(7497);
2077
2078var returnThis = function () { return this; };
2079
2080module.exports = function (IteratorConstructor, NAME, next, ENUMERABLE_NEXT) {
2081  var TO_STRING_TAG = NAME + ' Iterator';
2082  IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(+!ENUMERABLE_NEXT, next) });
2083  setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);
2084  Iterators[TO_STRING_TAG] = returnThis;
2085  return IteratorConstructor;
2086};
2087
2088
2089/***/ }),
2090
2091/***/ 1656:
2092/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
2093
2094"use strict";
2095
2096var $ = __webpack_require__(2109);
2097var call = __webpack_require__(6916);
2098var IS_PURE = __webpack_require__(1913);
2099var FunctionName = __webpack_require__(6530);
2100var isCallable = __webpack_require__(614);
2101var createIteratorConstructor = __webpack_require__(3061);
2102var getPrototypeOf = __webpack_require__(9518);
2103var setPrototypeOf = __webpack_require__(7674);
2104var setToStringTag = __webpack_require__(8003);
2105var createNonEnumerableProperty = __webpack_require__(8880);
2106var defineBuiltIn = __webpack_require__(8052);
2107var wellKnownSymbol = __webpack_require__(5112);
2108var Iterators = __webpack_require__(7497);
2109var IteratorsCore = __webpack_require__(3383);
2110
2111var PROPER_FUNCTION_NAME = FunctionName.PROPER;
2112var CONFIGURABLE_FUNCTION_NAME = FunctionName.CONFIGURABLE;
2113var IteratorPrototype = IteratorsCore.IteratorPrototype;
2114var BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;
2115var ITERATOR = wellKnownSymbol('iterator');
2116var KEYS = 'keys';
2117var VALUES = 'values';
2118var ENTRIES = 'entries';
2119
2120var returnThis = function () { return this; };
2121
2122module.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {
2123  createIteratorConstructor(IteratorConstructor, NAME, next);
2124
2125  var getIterationMethod = function (KIND) {
2126    if (KIND === DEFAULT && defaultIterator) return defaultIterator;
2127    if (!BUGGY_SAFARI_ITERATORS && KIND in IterablePrototype) return IterablePrototype[KIND];
2128    switch (KIND) {
2129      case KEYS: return function keys() { return new IteratorConstructor(this, KIND); };
2130      case VALUES: return function values() { return new IteratorConstructor(this, KIND); };
2131      case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); };
2132    } return function () { return new IteratorConstructor(this); };
2133  };
2134
2135  var TO_STRING_TAG = NAME + ' Iterator';
2136  var INCORRECT_VALUES_NAME = false;
2137  var IterablePrototype = Iterable.prototype;
2138  var nativeIterator = IterablePrototype[ITERATOR]
2139    || IterablePrototype['@@iterator']
2140    || DEFAULT && IterablePrototype[DEFAULT];
2141  var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);
2142  var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;
2143  var CurrentIteratorPrototype, methods, KEY;
2144
2145  // fix native
2146  if (anyNativeIterator) {
2147    CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable()));
2148    if (CurrentIteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {
2149      if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {
2150        if (setPrototypeOf) {
2151          setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);
2152        } else if (!isCallable(CurrentIteratorPrototype[ITERATOR])) {
2153          defineBuiltIn(CurrentIteratorPrototype, ITERATOR, returnThis);
2154        }
2155      }
2156      // Set @@toStringTag to native iterators
2157      setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true);
2158      if (IS_PURE) Iterators[TO_STRING_TAG] = returnThis;
2159    }
2160  }
2161
2162  // fix Array.prototype.{ values, @@iterator }.name in V8 / FF
2163  if (PROPER_FUNCTION_NAME && DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {
2164    if (!IS_PURE && CONFIGURABLE_FUNCTION_NAME) {
2165      createNonEnumerableProperty(IterablePrototype, 'name', VALUES);
vendor: 4,236 bytes, lines 2166-2301
2166    } else {
2167      INCORRECT_VALUES_NAME = true;
2168      defaultIterator = function values() { return call(nativeIterator, this); };
2169    }
2170  }
2171
2172  // export additional methods
2173  if (DEFAULT) {
2174    methods = {
2175      values: getIterationMethod(VALUES),
2176      keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),
2177      entries: getIterationMethod(ENTRIES)
2178    };
2179    if (FORCED) for (KEY in methods) {
2180      if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {
2181        defineBuiltIn(IterablePrototype, KEY, methods[KEY]);
2182      }
2183    } else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);
2184  }
2185
2186  // define iterator
2187  if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {
2188    defineBuiltIn(IterablePrototype, ITERATOR, defaultIterator, { name: DEFAULT });
2189  }
2190  Iterators[NAME] = defaultIterator;
2191
2192  return methods;
2193};
2194
2195
2196/***/ }),
2197
2198/***/ 3383:
2199/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
2200
2201"use strict";
2202
2203var fails = __webpack_require__(7293);
2204var isCallable = __webpack_require__(614);
2205var isObject = __webpack_require__(111);
2206var create = __webpack_require__(30);
2207var getPrototypeOf = __webpack_require__(9518);
2208var defineBuiltIn = __webpack_require__(8052);
2209var wellKnownSymbol = __webpack_require__(5112);
2210var IS_PURE = __webpack_require__(1913);
2211
2212var ITERATOR = wellKnownSymbol('iterator');
2213var BUGGY_SAFARI_ITERATORS = false;
2214
2215// `%IteratorPrototype%` object
2216// https://tc39.es/ecma262/#sec-%iteratorprototype%-object
2217var IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;
2218
2219/* eslint-disable es/no-array-prototype-keys -- safe */
2220if ([].keys) {
2221  arrayIterator = [].keys();
2222  // Safari 8 has buggy iterators w/o `next`
2223  if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true;
2224  else {
2225    PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));
2226    if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype;
2227  }
2228}
2229
2230var NEW_ITERATOR_PROTOTYPE = !isObject(IteratorPrototype) || fails(function () {
2231  var test = {};
2232  // FF44- legacy iterators case
2233  return IteratorPrototype[ITERATOR].call(test) !== test;
2234});
2235
2236if (NEW_ITERATOR_PROTOTYPE) IteratorPrototype = {};
2237else if (IS_PURE) IteratorPrototype = create(IteratorPrototype);
2238
2239// `%IteratorPrototype%[@@iterator]()` method
2240// https://tc39.es/ecma262/#sec-%iteratorprototype%-@@iterator
2241if (!isCallable(IteratorPrototype[ITERATOR])) {
2242  defineBuiltIn(IteratorPrototype, ITERATOR, function () {
2243    return this;
2244  });
2245}
2246
2247module.exports = {
2248  IteratorPrototype: IteratorPrototype,
2249  BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS
2250};
2251
2252
2253/***/ }),
2254
2255/***/ 7497:
2256/***/ (function(module) {
2257
2258module.exports = {};
2259
2260
2261/***/ }),
2262
2263/***/ 6244:
2264/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
2265
2266var toLength = __webpack_require__(7466);
2267
2268// `LengthOfArrayLike` abstract operation
2269// https://tc39.es/ecma262/#sec-lengthofarraylike
2270module.exports = function (obj) {
2271  return toLength(obj.length);
2272};
2273
2274
2275/***/ }),
2276
2277/***/ 6339:
2278/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
2279
2280var uncurryThis = __webpack_require__(1702);
2281var fails = __webpack_require__(7293);
2282var isCallable = __webpack_require__(614);
2283var hasOwn = __webpack_require__(2597);
2284var DESCRIPTORS = __webpack_require__(9781);
2285var CONFIGURABLE_FUNCTION_NAME = (__webpack_require__(6530).CONFIGURABLE);
2286var inspectSource = __webpack_require__(2788);
2287var InternalStateModule = __webpack_require__(9909);
2288
2289var enforceInternalState = InternalStateModule.enforce;
2290var getInternalState = InternalStateModule.get;
2291var $String = String;
2292// eslint-disable-next-line es/no-object-defineproperty -- safe
2293var defineProperty = Object.defineProperty;
2294var stringSlice = uncurryThis(''.slice);
2295var replace = uncurryThis(''.replace);
2296var join = uncurryThis([].join);
2297
2298var CONFIGURABLE_LENGTH = DESCRIPTORS && !fails(function () {
2299  return defineProperty(function () { /* empty */ }, 'length', { value: 8 }).length !== 8;
2300});
2301
vendor: 7,009 bytes, lines 2302-2518
2302var TEMPLATE = String(String).split('String');
2303
2304var makeBuiltIn = module.exports = function (value, name, options) {
2305  if (stringSlice($String(name), 0, 7) === 'Symbol(') {
2306    name = '[' + replace($String(name), /^Symbol\(([^)]*)\)/, '$1') + ']';
2307  }
2308  if (options && options.getter) name = 'get ' + name;
2309  if (options && options.setter) name = 'set ' + name;
2310  if (!hasOwn(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) {
2311    if (DESCRIPTORS) defineProperty(value, 'name', { value: name, configurable: true });
2312    else value.name = name;
2313  }
2314  if (CONFIGURABLE_LENGTH && options && hasOwn(options, 'arity') && value.length !== options.arity) {
2315    defineProperty(value, 'length', { value: options.arity });
2316  }
2317  try {
2318    if (options && hasOwn(options, 'constructor') && options.constructor) {
2319      if (DESCRIPTORS) defineProperty(value, 'prototype', { writable: false });
2320    // in V8 ~ Chrome 53, prototypes of some methods, like `Array.prototype.values`, are non-writable
2321    } else if (value.prototype) value.prototype = undefined;
2322  } catch (error) { /* empty */ }
2323  var state = enforceInternalState(value);
2324  if (!hasOwn(state, 'source')) {
2325    state.source = join(TEMPLATE, typeof name == 'string' ? name : '');
2326  } return value;
2327};
2328
2329// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
2330// eslint-disable-next-line no-extend-native -- required
2331Function.prototype.toString = makeBuiltIn(function toString() {
2332  return isCallable(this) && getInternalState(this).source || inspectSource(this);
2333}, 'toString');
2334
2335
2336/***/ }),
2337
2338/***/ 4758:
2339/***/ (function(module) {
2340
2341var ceil = Math.ceil;
2342var floor = Math.floor;
2343
2344// `Math.trunc` method
2345// https://tc39.es/ecma262/#sec-math.trunc
2346// eslint-disable-next-line es/no-math-trunc -- safe
2347module.exports = Math.trunc || function trunc(x) {
2348  var n = +x;
2349  return (n > 0 ? floor : ceil)(n);
2350};
2351
2352
2353/***/ }),
2354
2355/***/ 5948:
2356/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
2357
2358var global = __webpack_require__(7854);
2359var bind = __webpack_require__(9974);
2360var getOwnPropertyDescriptor = (__webpack_require__(1236).f);
2361var macrotask = (__webpack_require__(261).set);
2362var Queue = __webpack_require__(8572);
2363var IS_IOS = __webpack_require__(6833);
2364var IS_IOS_PEBBLE = __webpack_require__(1528);
2365var IS_WEBOS_WEBKIT = __webpack_require__(1036);
2366var IS_NODE = __webpack_require__(5268);
2367
2368var MutationObserver = global.MutationObserver || global.WebKitMutationObserver;
2369var document = global.document;
2370var process = global.process;
2371var Promise = global.Promise;
2372// Node.js 11 shows ExperimentalWarning on getting `queueMicrotask`
2373var queueMicrotaskDescriptor = getOwnPropertyDescriptor(global, 'queueMicrotask');
2374var microtask = queueMicrotaskDescriptor && queueMicrotaskDescriptor.value;
2375var notify, toggle, node, promise, then;
2376
2377// modern engines have queueMicrotask method
2378if (!microtask) {
2379  var queue = new Queue();
2380
2381  var flush = function () {
2382    var parent, fn;
2383    if (IS_NODE && (parent = process.domain)) parent.exit();
2384    while (fn = queue.get()) try {
2385      fn();
2386    } catch (error) {
2387      if (queue.head) notify();
2388      throw error;
2389    }
2390    if (parent) parent.enter();
2391  };
2392
2393  // browsers with MutationObserver, except iOS - https://github.com/zloirock/core-js/issues/339
2394  // also except WebOS Webkit https://github.com/zloirock/core-js/issues/898
2395  if (!IS_IOS && !IS_NODE && !IS_WEBOS_WEBKIT && MutationObserver && document) {
2396    toggle = true;
2397    node = document.createTextNode('');
2398    new MutationObserver(flush).observe(node, { characterData: true });
2399    notify = function () {
2400      node.data = toggle = !toggle;
2401    };
2402  // environments with maybe non-completely correct, but existent Promise
2403  } else if (!IS_IOS_PEBBLE && Promise && Promise.resolve) {
2404    // Promise.resolve without an argument throws an error in LG WebOS 2
2405    promise = Promise.resolve(undefined);
2406    // workaround of WebKit ~ iOS Safari 10.1 bug
2407    promise.constructor = Promise;
2408    then = bind(promise.then, promise);
2409    notify = function () {
2410      then(flush);
2411    };
2412  // Node.js without promises
2413  } else if (IS_NODE) {
2414    notify = function () {
2415      process.nextTick(flush);
2416    };
2417  // for other environments - macrotask based on:
2418  // - setImmediate
2419  // - MessageChannel
2420  // - window.postMessage
2421  // - onreadystatechange
2422  // - setTimeout
2423  } else {
2424    // `webpack` dev server bug on IE global methods - use bind(fn, global)
2425    macrotask = bind(macrotask, global);
2426    notify = function () {
2427      macrotask(flush);
2428    };
2429  }
2430
2431  microtask = function (fn) {
2432    if (!queue.head) notify();
2433    queue.add(fn);
2434  };
2435}
2436
2437module.exports = microtask;
2438
2439
2440/***/ }),
2441
2442/***/ 8523:
2443/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
2444
2445"use strict";
2446
2447var aCallable = __webpack_require__(9662);
2448
2449var $TypeError = TypeError;
2450
2451var PromiseCapability = function (C) {
2452  var resolve, reject;
2453  this.promise = new C(function ($$resolve, $$reject) {
2454    if (resolve !== undefined || reject !== undefined) throw $TypeError('Bad Promise constructor');
2455    resolve = $$resolve;
2456    reject = $$reject;
2457  });
2458  this.resolve = aCallable(resolve);
2459  this.reject = aCallable(reject);
2460};
2461
2462// `NewPromiseCapability` abstract operation
2463// https://tc39.es/ecma262/#sec-newpromisecapability
2464module.exports.f = function (C) {
2465  return new PromiseCapability(C);
2466};
2467
2468
2469/***/ }),
2470
2471/***/ 3929:
2472/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
2473
2474var isRegExp = __webpack_require__(7850);
2475
2476var $TypeError = TypeError;
2477
2478module.exports = function (it) {
2479  if (isRegExp(it)) {
2480    throw $TypeError("The method doesn't accept regular expressions");
2481  } return it;
2482};
2483
2484
2485/***/ }),
2486
2487/***/ 30:
2488/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
2489
2490/* global ActiveXObject -- old IE, WSH */
2491var anObject = __webpack_require__(9670);
2492var definePropertiesModule = __webpack_require__(6048);
2493var enumBugKeys = __webpack_require__(748);
2494var hiddenKeys = __webpack_require__(3501);
2495var html = __webpack_require__(490);
2496var documentCreateElement = __webpack_require__(317);
2497var sharedKey = __webpack_require__(6200);
2498
2499var GT = '>';
2500var LT = '<';
2501var PROTOTYPE = 'prototype';
2502var SCRIPT = 'script';
2503var IE_PROTO = sharedKey('IE_PROTO');
2504
2505var EmptyConstructor = function () { /* empty */ };
2506
2507var scriptTag = function (content) {
2508  return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;
2509};
2510
2511// Create object with fake `null` prototype: use ActiveX Object with cleared prototype
2512var NullProtoObjectViaActiveX = function (activeXDocument) {
2513  activeXDocument.write(scriptTag(''));
2514  activeXDocument.close();
2515  var temp = activeXDocument.parentWindow.Object;
2516  activeXDocument = null; // avoid memory leak
2517  return temp;
2518};
vendor: 17,459 bytes, lines 2519-3032
2519
2520// Create object with fake `null` prototype: use iframe Object with cleared prototype
2521var NullProtoObjectViaIFrame = function () {
2522  // Thrash, waste and sodomy: IE GC bug
2523  var iframe = documentCreateElement('iframe');
2524  var JS = 'java' + SCRIPT + ':';
2525  var iframeDocument;
2526  iframe.style.display = 'none';
2527  html.appendChild(iframe);
2528  // https://github.com/zloirock/core-js/issues/475
2529  iframe.src = String(JS);
2530  iframeDocument = iframe.contentWindow.document;
2531  iframeDocument.open();
2532  iframeDocument.write(scriptTag('document.F=Object'));
2533  iframeDocument.close();
2534  return iframeDocument.F;
2535};
2536
2537// Check for document.domain and active x support
2538// No need to use active x approach when document.domain is not set
2539// see https://github.com/es-shims/es5-shim/issues/150
2540// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346
2541// avoid IE GC bug
2542var activeXDocument;
2543var NullProtoObject = function () {
2544  try {
2545    activeXDocument = new ActiveXObject('htmlfile');
2546  } catch (error) { /* ignore */ }
2547  NullProtoObject = typeof document != 'undefined'
2548    ? document.domain && activeXDocument
2549      ? NullProtoObjectViaActiveX(activeXDocument) // old IE
2550      : NullProtoObjectViaIFrame()
2551    : NullProtoObjectViaActiveX(activeXDocument); // WSH
2552  var length = enumBugKeys.length;
2553  while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];
2554  return NullProtoObject();
2555};
2556
2557hiddenKeys[IE_PROTO] = true;
2558
2559// `Object.create` method
2560// https://tc39.es/ecma262/#sec-object.create
2561// eslint-disable-next-line es/no-object-create -- safe
2562module.exports = Object.create || function create(O, Properties) {
2563  var result;
2564  if (O !== null) {
2565    EmptyConstructor[PROTOTYPE] = anObject(O);
2566    result = new EmptyConstructor();
2567    EmptyConstructor[PROTOTYPE] = null;
2568    // add "__proto__" for Object.getPrototypeOf polyfill
2569    result[IE_PROTO] = O;
2570  } else result = NullProtoObject();
2571  return Properties === undefined ? result : definePropertiesModule.f(result, Properties);
2572};
2573
2574
2575/***/ }),
2576
2577/***/ 6048:
2578/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
2579
2580var DESCRIPTORS = __webpack_require__(9781);
2581var V8_PROTOTYPE_DEFINE_BUG = __webpack_require__(3353);
2582var definePropertyModule = __webpack_require__(3070);
2583var anObject = __webpack_require__(9670);
2584var toIndexedObject = __webpack_require__(5656);
2585var objectKeys = __webpack_require__(1956);
2586
2587// `Object.defineProperties` method
2588// https://tc39.es/ecma262/#sec-object.defineproperties
2589// eslint-disable-next-line es/no-object-defineproperties -- safe
2590exports.f = DESCRIPTORS && !V8_PROTOTYPE_DEFINE_BUG ? Object.defineProperties : function defineProperties(O, Properties) {
2591  anObject(O);
2592  var props = toIndexedObject(Properties);
2593  var keys = objectKeys(Properties);
2594  var length = keys.length;
2595  var index = 0;
2596  var key;
2597  while (length > index) definePropertyModule.f(O, key = keys[index++], props[key]);
2598  return O;
2599};
2600
2601
2602/***/ }),
2603
2604/***/ 3070:
2605/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
2606
2607var DESCRIPTORS = __webpack_require__(9781);
2608var IE8_DOM_DEFINE = __webpack_require__(4664);
2609var V8_PROTOTYPE_DEFINE_BUG = __webpack_require__(3353);
2610var anObject = __webpack_require__(9670);
2611var toPropertyKey = __webpack_require__(4948);
2612
2613var $TypeError = TypeError;
2614// eslint-disable-next-line es/no-object-defineproperty -- safe
2615var $defineProperty = Object.defineProperty;
2616// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
2617var $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
2618var ENUMERABLE = 'enumerable';
2619var CONFIGURABLE = 'configurable';
2620var WRITABLE = 'writable';
2621
2622// `Object.defineProperty` method
2623// https://tc39.es/ecma262/#sec-object.defineproperty
2624exports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) {
2625  anObject(O);
2626  P = toPropertyKey(P);
2627  anObject(Attributes);
2628  if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {
2629    var current = $getOwnPropertyDescriptor(O, P);
2630    if (current && current[WRITABLE]) {
2631      O[P] = Attributes.value;
2632      Attributes = {
2633        configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE],
2634        enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],
2635        writable: false
2636      };
2637    }
2638  } return $defineProperty(O, P, Attributes);
2639} : $defineProperty : function defineProperty(O, P, Attributes) {
2640  anObject(O);
2641  P = toPropertyKey(P);
2642  anObject(Attributes);
2643  if (IE8_DOM_DEFINE) try {
2644    return $defineProperty(O, P, Attributes);
2645  } catch (error) { /* empty */ }
2646  if ('get' in Attributes || 'set' in Attributes) throw $TypeError('Accessors not supported');
2647  if ('value' in Attributes) O[P] = Attributes.value;
2648  return O;
2649};
2650
2651
2652/***/ }),
2653
2654/***/ 1236:
2655/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
2656
2657var DESCRIPTORS = __webpack_require__(9781);
2658var call = __webpack_require__(6916);
2659var propertyIsEnumerableModule = __webpack_require__(5296);
2660var createPropertyDescriptor = __webpack_require__(9114);
2661var toIndexedObject = __webpack_require__(5656);
2662var toPropertyKey = __webpack_require__(4948);
2663var hasOwn = __webpack_require__(2597);
2664var IE8_DOM_DEFINE = __webpack_require__(4664);
2665
2666// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
2667var $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
2668
2669// `Object.getOwnPropertyDescriptor` method
2670// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor
2671exports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
2672  O = toIndexedObject(O);
2673  P = toPropertyKey(P);
2674  if (IE8_DOM_DEFINE) try {
2675    return $getOwnPropertyDescriptor(O, P);
2676  } catch (error) { /* empty */ }
2677  if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]);
2678};
2679
2680
2681/***/ }),
2682
2683/***/ 1156:
2684/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
2685
2686/* eslint-disable es/no-object-getownpropertynames -- safe */
2687var classof = __webpack_require__(4326);
2688var toIndexedObject = __webpack_require__(5656);
2689var $getOwnPropertyNames = (__webpack_require__(8006).f);
2690var arraySlice = __webpack_require__(1589);
2691
2692var windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames
2693  ? Object.getOwnPropertyNames(window) : [];
2694
2695var getWindowNames = function (it) {
2696  try {
2697    return $getOwnPropertyNames(it);
2698  } catch (error) {
2699    return arraySlice(windowNames);
2700  }
2701};
2702
2703// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window
2704module.exports.f = function getOwnPropertyNames(it) {
2705  return windowNames && classof(it) == 'Window'
2706    ? getWindowNames(it)
2707    : $getOwnPropertyNames(toIndexedObject(it));
2708};
2709
2710
2711/***/ }),
2712
2713/***/ 8006:
2714/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
2715
2716var internalObjectKeys = __webpack_require__(6324);
2717var enumBugKeys = __webpack_require__(748);
2718
2719var hiddenKeys = enumBugKeys.concat('length', 'prototype');
2720
2721// `Object.getOwnPropertyNames` method
2722// https://tc39.es/ecma262/#sec-object.getownpropertynames
2723// eslint-disable-next-line es/no-object-getownpropertynames -- safe
2724exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
2725  return internalObjectKeys(O, hiddenKeys);
2726};
2727
2728
2729/***/ }),
2730
2731/***/ 5181:
2732/***/ (function(__unused_webpack_module, exports) {
2733
2734// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe
2735exports.f = Object.getOwnPropertySymbols;
2736
2737
2738/***/ }),
2739
2740/***/ 9518:
2741/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
2742
2743var hasOwn = __webpack_require__(2597);
2744var isCallable = __webpack_require__(614);
2745var toObject = __webpack_require__(7908);
2746var sharedKey = __webpack_require__(6200);
2747var CORRECT_PROTOTYPE_GETTER = __webpack_require__(8544);
2748
2749var IE_PROTO = sharedKey('IE_PROTO');
2750var $Object = Object;
2751var ObjectPrototype = $Object.prototype;
2752
2753// `Object.getPrototypeOf` method
2754// https://tc39.es/ecma262/#sec-object.getprototypeof
2755// eslint-disable-next-line es/no-object-getprototypeof -- safe
2756module.exports = CORRECT_PROTOTYPE_GETTER ? $Object.getPrototypeOf : function (O) {
2757  var object = toObject(O);
2758  if (hasOwn(object, IE_PROTO)) return object[IE_PROTO];
2759  var constructor = object.constructor;
2760  if (isCallable(constructor) && object instanceof constructor) {
2761    return constructor.prototype;
2762  } return object instanceof $Object ? ObjectPrototype : null;
2763};
2764
2765
2766/***/ }),
2767
2768/***/ 7976:
2769/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
2770
2771var uncurryThis = __webpack_require__(1702);
2772
2773module.exports = uncurryThis({}.isPrototypeOf);
2774
2775
2776/***/ }),
2777
2778/***/ 6324:
2779/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
2780
2781var uncurryThis = __webpack_require__(1702);
2782var hasOwn = __webpack_require__(2597);
2783var toIndexedObject = __webpack_require__(5656);
2784var indexOf = (__webpack_require__(1318).indexOf);
2785var hiddenKeys = __webpack_require__(3501);
2786
2787var push = uncurryThis([].push);
2788
2789module.exports = function (object, names) {
2790  var O = toIndexedObject(object);
2791  var i = 0;
2792  var result = [];
2793  var key;
2794  for (key in O) !hasOwn(hiddenKeys, key) && hasOwn(O, key) && push(result, key);
2795  // Don't enum bug & hidden keys
2796  while (names.length > i) if (hasOwn(O, key = names[i++])) {
2797    ~indexOf(result, key) || push(result, key);
2798  }
2799  return result;
2800};
2801
2802
2803/***/ }),
2804
2805/***/ 1956:
2806/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
2807
2808var internalObjectKeys = __webpack_require__(6324);
2809var enumBugKeys = __webpack_require__(748);
2810
2811// `Object.keys` method
2812// https://tc39.es/ecma262/#sec-object.keys
2813// eslint-disable-next-line es/no-object-keys -- safe
2814module.exports = Object.keys || function keys(O) {
2815  return internalObjectKeys(O, enumBugKeys);
2816};
2817
2818
2819/***/ }),
2820
2821/***/ 5296:
2822/***/ (function(__unused_webpack_module, exports) {
2823
2824"use strict";
2825
2826var $propertyIsEnumerable = {}.propertyIsEnumerable;
2827// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
2828var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
2829
2830// Nashorn ~ JDK8 bug
2831var NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);
2832
2833// `Object.prototype.propertyIsEnumerable` method implementation
2834// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable
2835exports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {
2836  var descriptor = getOwnPropertyDescriptor(this, V);
2837  return !!descriptor && descriptor.enumerable;
2838} : $propertyIsEnumerable;
2839
2840
2841/***/ }),
2842
2843/***/ 7674:
2844/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
2845
2846/* eslint-disable no-proto -- safe */
2847var uncurryThisAccessor = __webpack_require__(5668);
2848var anObject = __webpack_require__(9670);
2849var aPossiblePrototype = __webpack_require__(6077);
2850
2851// `Object.setPrototypeOf` method
2852// https://tc39.es/ecma262/#sec-object.setprototypeof
2853// Works with __proto__ only. Old v8 can't work with null proto objects.
2854// eslint-disable-next-line es/no-object-setprototypeof -- safe
2855module.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {
2856  var CORRECT_SETTER = false;
2857  var test = {};
2858  var setter;
2859  try {
2860    setter = uncurryThisAccessor(Object.prototype, '__proto__', 'set');
2861    setter(test, []);
2862    CORRECT_SETTER = test instanceof Array;
2863  } catch (error) { /* empty */ }
2864  return function setPrototypeOf(O, proto) {
2865    anObject(O);
2866    aPossiblePrototype(proto);
2867    if (CORRECT_SETTER) setter(O, proto);
2868    else O.__proto__ = proto;
2869    return O;
2870  };
2871}() : undefined);
2872
2873
2874/***/ }),
2875
2876/***/ 288:
2877/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
2878
2879"use strict";
2880
2881var TO_STRING_TAG_SUPPORT = __webpack_require__(1694);
2882var classof = __webpack_require__(648);
2883
2884// `Object.prototype.toString` method implementation
2885// https://tc39.es/ecma262/#sec-object.prototype.tostring
2886module.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() {
2887  return '[object ' + classof(this) + ']';
2888};
2889
2890
2891/***/ }),
2892
2893/***/ 2140:
2894/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
2895
2896var call = __webpack_require__(6916);
2897var isCallable = __webpack_require__(614);
2898var isObject = __webpack_require__(111);
2899
2900var $TypeError = TypeError;
2901
2902// `OrdinaryToPrimitive` abstract operation
2903// https://tc39.es/ecma262/#sec-ordinarytoprimitive
2904module.exports = function (input, pref) {
2905  var fn, val;
2906  if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;
2907  if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val;
2908  if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;
2909  throw $TypeError("Can't convert object to primitive value");
2910};
2911
2912
2913/***/ }),
2914
2915/***/ 3887:
2916/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
2917
2918var getBuiltIn = __webpack_require__(5005);
2919var uncurryThis = __webpack_require__(1702);
2920var getOwnPropertyNamesModule = __webpack_require__(8006);
2921var getOwnPropertySymbolsModule = __webpack_require__(5181);
2922var anObject = __webpack_require__(9670);
2923
2924var concat = uncurryThis([].concat);
2925
2926// all object keys, includes non-enumerable and symbols
2927module.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {
2928  var keys = getOwnPropertyNamesModule.f(anObject(it));
2929  var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;
2930  return getOwnPropertySymbols ? concat(keys, getOwnPropertySymbols(it)) : keys;
2931};
2932
2933
2934/***/ }),
2935
2936/***/ 857:
2937/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
2938
2939var global = __webpack_require__(7854);
2940
2941module.exports = global;
2942
2943
2944/***/ }),
2945
2946/***/ 2534:
2947/***/ (function(module) {
2948
2949module.exports = function (exec) {
2950  try {
2951    return { error: false, value: exec() };
2952  } catch (error) {
2953    return { error: true, value: error };
2954  }
2955};
2956
2957
2958/***/ }),
2959
2960/***/ 3702:
2961/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
2962
2963var global = __webpack_require__(7854);
2964var NativePromiseConstructor = __webpack_require__(2492);
2965var isCallable = __webpack_require__(614);
2966var isForced = __webpack_require__(4705);
2967var inspectSource = __webpack_require__(2788);
2968var wellKnownSymbol = __webpack_require__(5112);
2969var IS_BROWSER = __webpack_require__(7871);
2970var IS_DENO = __webpack_require__(3823);
2971var IS_PURE = __webpack_require__(1913);
2972var V8_VERSION = __webpack_require__(7392);
2973
2974var NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype;
2975var SPECIES = wellKnownSymbol('species');
2976var SUBCLASSING = false;
2977var NATIVE_PROMISE_REJECTION_EVENT = isCallable(global.PromiseRejectionEvent);
2978
2979var FORCED_PROMISE_CONSTRUCTOR = isForced('Promise', function () {
2980  var PROMISE_CONSTRUCTOR_SOURCE = inspectSource(NativePromiseConstructor);
2981  var GLOBAL_CORE_JS_PROMISE = PROMISE_CONSTRUCTOR_SOURCE !== String(NativePromiseConstructor);
2982  // V8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables
2983  // https://bugs.chromium.org/p/chromium/issues/detail?id=830565
2984  // We can't detect it synchronously, so just check versions
2985  if (!GLOBAL_CORE_JS_PROMISE && V8_VERSION === 66) return true;
2986  // We need Promise#{ catch, finally } in the pure version for preventing prototype pollution
2987  if (IS_PURE && !(NativePromisePrototype['catch'] && NativePromisePrototype['finally'])) return true;
2988  // We can't use @@species feature detection in V8 since it causes
2989  // deoptimization and performance degradation
2990  // https://github.com/zloirock/core-js/issues/679
2991  if (!V8_VERSION || V8_VERSION < 51 || !/native code/.test(PROMISE_CONSTRUCTOR_SOURCE)) {
2992    // Detect correctness of subclassing with @@species support
2993    var promise = new NativePromiseConstructor(function (resolve) { resolve(1); });
2994    var FakePromise = function (exec) {
2995      exec(function () { /* empty */ }, function () { /* empty */ });
2996    };
2997    var constructor = promise.constructor = {};
2998    constructor[SPECIES] = FakePromise;
2999    SUBCLASSING = promise.then(function () { /* empty */ }) instanceof FakePromise;
3000    if (!SUBCLASSING) return true;
3001  // Unhandled rejections tracking support, NodeJS Promise without it fails @@species test
3002  } return !GLOBAL_CORE_JS_PROMISE && (IS_BROWSER || IS_DENO) && !NATIVE_PROMISE_REJECTION_EVENT;
3003});
3004
3005module.exports = {
3006  CONSTRUCTOR: FORCED_PROMISE_CONSTRUCTOR,
3007  REJECTION_EVENT: NATIVE_PROMISE_REJECTION_EVENT,
3008  SUBCLASSING: SUBCLASSING
3009};
3010
3011
3012/***/ }),
3013
3014/***/ 2492:
3015/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
3016
3017var global = __webpack_require__(7854);
3018
3019module.exports = global.Promise;
3020
3021
3022/***/ }),
3023
3024/***/ 9478:
3025/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
3026
3027var anObject = __webpack_require__(9670);
3028var isObject = __webpack_require__(111);
3029var newPromiseCapability = __webpack_require__(8523);
3030
3031module.exports = function (C, x) {
3032  anObject(C);
vendor: 4,400 bytes, lines 3033-3184
3033  if (isObject(x) && x.constructor === C) return x;
3034  var promiseCapability = newPromiseCapability.f(C);
3035  var resolve = promiseCapability.resolve;
3036  resolve(x);
3037  return promiseCapability.promise;
3038};
3039
3040
3041/***/ }),
3042
3043/***/ 612:
3044/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
3045
3046var NativePromiseConstructor = __webpack_require__(2492);
3047var checkCorrectnessOfIteration = __webpack_require__(7072);
3048var FORCED_PROMISE_CONSTRUCTOR = (__webpack_require__(3702).CONSTRUCTOR);
3049
3050module.exports = FORCED_PROMISE_CONSTRUCTOR || !checkCorrectnessOfIteration(function (iterable) {
3051  NativePromiseConstructor.all(iterable).then(undefined, function () { /* empty */ });
3052});
3053
3054
3055/***/ }),
3056
3057/***/ 8572:
3058/***/ (function(module) {
3059
3060var Queue = function () {
3061  this.head = null;
3062  this.tail = null;
3063};
3064
3065Queue.prototype = {
3066  add: function (item) {
3067    var entry = { item: item, next: null };
3068    var tail = this.tail;
3069    if (tail) tail.next = entry;
3070    else this.head = entry;
3071    this.tail = entry;
3072  },
3073  get: function () {
3074    var entry = this.head;
3075    if (entry) {
3076      var next = this.head = entry.next;
3077      if (next === null) this.tail = null;
3078      return entry.item;
3079    }
3080  }
3081};
3082
3083module.exports = Queue;
3084
3085
3086/***/ }),
3087
3088/***/ 7651:
3089/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
3090
3091var call = __webpack_require__(6916);
3092var anObject = __webpack_require__(9670);
3093var isCallable = __webpack_require__(614);
3094var classof = __webpack_require__(4326);
3095var regexpExec = __webpack_require__(2261);
3096
3097var $TypeError = TypeError;
3098
3099// `RegExpExec` abstract operation
3100// https://tc39.es/ecma262/#sec-regexpexec
3101module.exports = function (R, S) {
3102  var exec = R.exec;
3103  if (isCallable(exec)) {
3104    var result = call(exec, R, S);
3105    if (result !== null) anObject(result);
3106    return result;
3107  }
3108  if (classof(R) === 'RegExp') return call(regexpExec, R, S);
3109  throw $TypeError('RegExp#exec called on incompatible receiver');
3110};
3111
3112
3113/***/ }),
3114
3115/***/ 2261:
3116/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
3117
3118"use strict";
3119
3120/* eslint-disable regexp/no-empty-capturing-group, regexp/no-empty-group, regexp/no-lazy-ends -- testing */
3121/* eslint-disable regexp/no-useless-quantifier -- testing */
3122var call = __webpack_require__(6916);
3123var uncurryThis = __webpack_require__(1702);
3124var toString = __webpack_require__(1340);
3125var regexpFlags = __webpack_require__(7066);
3126var stickyHelpers = __webpack_require__(2999);
3127var shared = __webpack_require__(2309);
3128var create = __webpack_require__(30);
3129var getInternalState = (__webpack_require__(9909).get);
3130var UNSUPPORTED_DOT_ALL = __webpack_require__(9441);
3131var UNSUPPORTED_NCG = __webpack_require__(7168);
3132
3133var nativeReplace = shared('native-string-replace', String.prototype.replace);
3134var nativeExec = RegExp.prototype.exec;
3135var patchedExec = nativeExec;
3136var charAt = uncurryThis(''.charAt);
3137var indexOf = uncurryThis(''.indexOf);
3138var replace = uncurryThis(''.replace);
3139var stringSlice = uncurryThis(''.slice);
3140
3141var UPDATES_LAST_INDEX_WRONG = (function () {
3142  var re1 = /a/;
3143  var re2 = /b*/g;
3144  call(nativeExec, re1, 'a');
3145  call(nativeExec, re2, 'a');
3146  return re1.lastIndex !== 0 || re2.lastIndex !== 0;
3147})();
3148
3149var UNSUPPORTED_Y = stickyHelpers.BROKEN_CARET;
3150
3151// nonparticipating capturing group, copied from es5-shim's String#split patch.
3152var NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;
3153
3154var PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED || UNSUPPORTED_Y || UNSUPPORTED_DOT_ALL || UNSUPPORTED_NCG;
3155
3156if (PATCH) {
3157  patchedExec = function exec(string) {
3158    var re = this;
3159    var state = getInternalState(re);
3160    var str = toString(string);
3161    var raw = state.raw;
3162    var result, reCopy, lastIndex, match, i, object, group;
3163
3164    if (raw) {
3165      raw.lastIndex = re.lastIndex;
3166      result = call(patchedExec, raw, str);
3167      re.lastIndex = raw.lastIndex;
3168      return result;
3169    }
3170
3171    var groups = state.groups;
3172    var sticky = UNSUPPORTED_Y && re.sticky;
3173    var flags = call(regexpFlags, re);
3174    var source = re.source;
3175    var charsAdded = 0;
3176    var strCopy = str;
3177
3178    if (sticky) {
3179      flags = replace(flags, 'y', '');
3180      if (indexOf(flags, 'g') === -1) {
3181        flags += 'g';
3182      }
3183
3184      strCopy = stringSlice(str, re.lastIndex);
vendor: 10,487 bytes, lines 3185-3550
3185      // Support anchored sticky behavior.
3186      if (re.lastIndex > 0 && (!re.multiline || re.multiline && charAt(str, re.lastIndex - 1) !== '\n')) {
3187        source = '(?: ' + source + ')';
3188        strCopy = ' ' + strCopy;
3189        charsAdded++;
3190      }
3191      // ^(? + rx + ) is needed, in combination with some str slicing, to
3192      // simulate the 'y' flag.
3193      reCopy = new RegExp('^(?:' + source + ')', flags);
3194    }
3195
3196    if (NPCG_INCLUDED) {
3197      reCopy = new RegExp('^' + source + '$(?!\\s)', flags);
3198    }
3199    if (UPDATES_LAST_INDEX_WRONG) lastIndex = re.lastIndex;
3200
3201    match = call(nativeExec, sticky ? reCopy : re, strCopy);
3202
3203    if (sticky) {
3204      if (match) {
3205        match.input = stringSlice(match.input, charsAdded);
3206        match[0] = stringSlice(match[0], charsAdded);
3207        match.index = re.lastIndex;
3208        re.lastIndex += match[0].length;
3209      } else re.lastIndex = 0;
3210    } else if (UPDATES_LAST_INDEX_WRONG && match) {
3211      re.lastIndex = re.global ? match.index + match[0].length : lastIndex;
3212    }
3213    if (NPCG_INCLUDED && match && match.length > 1) {
3214      // Fix browsers whose `exec` methods don't consistently return `undefined`
3215      // for NPCG, like IE8. NOTE: This doesn't work for /(.?)?/
3216      call(nativeReplace, match[0], reCopy, function () {
3217        for (i = 1; i < arguments.length - 2; i++) {
3218          if (arguments[i] === undefined) match[i] = undefined;
3219        }
3220      });
3221    }
3222
3223    if (match && groups) {
3224      match.groups = object = create(null);
3225      for (i = 0; i < groups.length; i++) {
3226        group = groups[i];
3227        object[group[0]] = match[group[1]];
3228      }
3229    }
3230
3231    return match;
3232  };
3233}
3234
3235module.exports = patchedExec;
3236
3237
3238/***/ }),
3239
3240/***/ 7066:
3241/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
3242
3243"use strict";
3244
3245var anObject = __webpack_require__(9670);
3246
3247// `RegExp.prototype.flags` getter implementation
3248// https://tc39.es/ecma262/#sec-get-regexp.prototype.flags
3249module.exports = function () {
3250  var that = anObject(this);
3251  var result = '';
3252  if (that.hasIndices) result += 'd';
3253  if (that.global) result += 'g';
3254  if (that.ignoreCase) result += 'i';
3255  if (that.multiline) result += 'm';
3256  if (that.dotAll) result += 's';
3257  if (that.unicode) result += 'u';
3258  if (that.unicodeSets) result += 'v';
3259  if (that.sticky) result += 'y';
3260  return result;
3261};
3262
3263
3264/***/ }),
3265
3266/***/ 4706:
3267/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
3268
3269var call = __webpack_require__(6916);
3270var hasOwn = __webpack_require__(2597);
3271var isPrototypeOf = __webpack_require__(7976);
3272var regExpFlags = __webpack_require__(7066);
3273
3274var RegExpPrototype = RegExp.prototype;
3275
3276module.exports = function (R) {
3277  var flags = R.flags;
3278  return flags === undefined && !('flags' in RegExpPrototype) && !hasOwn(R, 'flags') && isPrototypeOf(RegExpPrototype, R)
3279    ? call(regExpFlags, R) : flags;
3280};
3281
3282
3283/***/ }),
3284
3285/***/ 2999:
3286/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
3287
3288var fails = __webpack_require__(7293);
3289var global = __webpack_require__(7854);
3290
3291// babel-minify and Closure Compiler transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError
3292var $RegExp = global.RegExp;
3293
3294var UNSUPPORTED_Y = fails(function () {
3295  var re = $RegExp('a', 'y');
3296  re.lastIndex = 2;
3297  return re.exec('abcd') != null;
3298});
3299
3300// UC Browser bug
3301// https://github.com/zloirock/core-js/issues/1008
3302var MISSED_STICKY = UNSUPPORTED_Y || fails(function () {
3303  return !$RegExp('a', 'y').sticky;
3304});
3305
3306var BROKEN_CARET = UNSUPPORTED_Y || fails(function () {
3307  // https://bugzilla.mozilla.org/show_bug.cgi?id=773687
3308  var re = $RegExp('^r', 'gy');
3309  re.lastIndex = 2;
3310  return re.exec('str') != null;
3311});
3312
3313module.exports = {
3314  BROKEN_CARET: BROKEN_CARET,
3315  MISSED_STICKY: MISSED_STICKY,
3316  UNSUPPORTED_Y: UNSUPPORTED_Y
3317};
3318
3319
3320/***/ }),
3321
3322/***/ 9441:
3323/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
3324
3325var fails = __webpack_require__(7293);
3326var global = __webpack_require__(7854);
3327
3328// babel-minify and Closure Compiler transpiles RegExp('.', 's') -> /./s and it causes SyntaxError
3329var $RegExp = global.RegExp;
3330
3331module.exports = fails(function () {
3332  var re = $RegExp('.', 's');
3333  return !(re.dotAll && re.exec('\n') && re.flags === 's');
3334});
3335
3336
3337/***/ }),
3338
3339/***/ 7168:
3340/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
3341
3342var fails = __webpack_require__(7293);
3343var global = __webpack_require__(7854);
3344
3345// babel-minify and Closure Compiler transpiles RegExp('(?<a>b)', 'g') -> /(?<a>b)/g and it causes SyntaxError
3346var $RegExp = global.RegExp;
3347
3348module.exports = fails(function () {
3349  var re = $RegExp('(?<a>b)', 'g');
3350  return re.exec('b').groups.a !== 'b' ||
3351    'b'.replace(re, '$<a>c') !== 'bc';
3352});
3353
3354
3355/***/ }),
3356
3357/***/ 4488:
3358/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
3359
3360var isNullOrUndefined = __webpack_require__(8554);
3361
3362var $TypeError = TypeError;
3363
3364// `RequireObjectCoercible` abstract operation
3365// https://tc39.es/ecma262/#sec-requireobjectcoercible
3366module.exports = function (it) {
3367  if (isNullOrUndefined(it)) throw $TypeError("Can't call method on " + it);
3368  return it;
3369};
3370
3371
3372/***/ }),
3373
3374/***/ 1150:
3375/***/ (function(module) {
3376
3377// `SameValue` abstract operation
3378// https://tc39.es/ecma262/#sec-samevalue
3379// eslint-disable-next-line es/no-object-is -- safe
3380module.exports = Object.is || function is(x, y) {
3381  // eslint-disable-next-line no-self-compare -- NaN check
3382  return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y;
3383};
3384
3385
3386/***/ }),
3387
3388/***/ 6340:
3389/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
3390
3391"use strict";
3392
3393var getBuiltIn = __webpack_require__(5005);
3394var defineBuiltInAccessor = __webpack_require__(7045);
3395var wellKnownSymbol = __webpack_require__(5112);
3396var DESCRIPTORS = __webpack_require__(9781);
3397
3398var SPECIES = wellKnownSymbol('species');
3399
3400module.exports = function (CONSTRUCTOR_NAME) {
3401  var Constructor = getBuiltIn(CONSTRUCTOR_NAME);
3402
3403  if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) {
3404    defineBuiltInAccessor(Constructor, SPECIES, {
3405      configurable: true,
3406      get: function () { return this; }
3407    });
3408  }
3409};
3410
3411
3412/***/ }),
3413
3414/***/ 8003:
3415/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
3416
3417var defineProperty = (__webpack_require__(3070).f);
3418var hasOwn = __webpack_require__(2597);
3419var wellKnownSymbol = __webpack_require__(5112);
3420
3421var TO_STRING_TAG = wellKnownSymbol('toStringTag');
3422
3423module.exports = function (target, TAG, STATIC) {
3424  if (target && !STATIC) target = target.prototype;
3425  if (target && !hasOwn(target, TO_STRING_TAG)) {
3426    defineProperty(target, TO_STRING_TAG, { configurable: true, value: TAG });
3427  }
3428};
3429
3430
3431/***/ }),
3432
3433/***/ 6200:
3434/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
3435
3436var shared = __webpack_require__(2309);
3437var uid = __webpack_require__(9711);
3438
3439var keys = shared('keys');
3440
3441module.exports = function (key) {
3442  return keys[key] || (keys[key] = uid(key));
3443};
3444
3445
3446/***/ }),
3447
3448/***/ 5465:
3449/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
3450
3451var global = __webpack_require__(7854);
3452var defineGlobalProperty = __webpack_require__(3072);
3453
3454var SHARED = '__core-js_shared__';
3455var store = global[SHARED] || defineGlobalProperty(SHARED, {});
3456
3457module.exports = store;
3458
3459
3460/***/ }),
3461
3462/***/ 2309:
3463/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
3464
3465var IS_PURE = __webpack_require__(1913);
3466var store = __webpack_require__(5465);
3467
3468(module.exports = function (key, value) {
3469  return store[key] || (store[key] = value !== undefined ? value : {});
3470})('versions', []).push({
3471  version: '3.29.1',
3472  mode: IS_PURE ? 'pure' : 'global',
3473  copyright: '© 2014-2023 Denis Pushkarev (zloirock.ru)',
3474  license: 'https://github.com/zloirock/core-js/blob/v3.29.1/LICENSE',
3475  source: 'https://github.com/zloirock/core-js'
3476});
3477
3478
3479/***/ }),
3480
3481/***/ 6707:
3482/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
3483
3484var anObject = __webpack_require__(9670);
3485var aConstructor = __webpack_require__(9483);
3486var isNullOrUndefined = __webpack_require__(8554);
3487var wellKnownSymbol = __webpack_require__(5112);
3488
3489var SPECIES = wellKnownSymbol('species');
3490
3491// `SpeciesConstructor` abstract operation
3492// https://tc39.es/ecma262/#sec-speciesconstructor
3493module.exports = function (O, defaultConstructor) {
3494  var C = anObject(O).constructor;
3495  var S;
3496  return C === undefined || isNullOrUndefined(S = anObject(C)[SPECIES]) ? defaultConstructor : aConstructor(S);
3497};
3498
3499
3500/***/ }),
3501
3502/***/ 8710:
3503/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
3504
3505var uncurryThis = __webpack_require__(1702);
3506var toIntegerOrInfinity = __webpack_require__(9303);
3507var toString = __webpack_require__(1340);
3508var requireObjectCoercible = __webpack_require__(4488);
3509
3510var charAt = uncurryThis(''.charAt);
3511var charCodeAt = uncurryThis(''.charCodeAt);
3512var stringSlice = uncurryThis(''.slice);
3513
3514var createMethod = function (CONVERT_TO_STRING) {
3515  return function ($this, pos) {
3516    var S = toString(requireObjectCoercible($this));
3517    var position = toIntegerOrInfinity(pos);
3518    var size = S.length;
3519    var first, second;
3520    if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;
3521    first = charCodeAt(S, position);
3522    return first < 0xD800 || first > 0xDBFF || position + 1 === size
3523      || (second = charCodeAt(S, position + 1)) < 0xDC00 || second > 0xDFFF
3524        ? CONVERT_TO_STRING
3525          ? charAt(S, position)
3526          : first
3527        : CONVERT_TO_STRING
3528          ? stringSlice(S, position, position + 2)
3529          : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;
3530  };
3531};
3532
3533module.exports = {
3534  // `String.prototype.codePointAt` method
3535  // https://tc39.es/ecma262/#sec-string.prototype.codepointat
3536  codeAt: createMethod(false),
3537  // `String.prototype.at` method
3538  // https://github.com/mathiasbynens/String.prototype.at
3539  charAt: createMethod(true)
3540};
3541
3542
3543/***/ }),
3544
3545/***/ 3111:
3546/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
3547
3548var uncurryThis = __webpack_require__(1702);
3549var requireObjectCoercible = __webpack_require__(4488);
3550var toString = __webpack_require__(1340);
vendor: 4,331 bytes, lines 3551-3685
3551var whitespaces = __webpack_require__(1361);
3552
3553var replace = uncurryThis(''.replace);
3554var ltrim = RegExp('^[' + whitespaces + ']+');
3555var rtrim = RegExp('(^|[^' + whitespaces + '])[' + whitespaces + ']+$');
3556
3557// `String.prototype.{ trim, trimStart, trimEnd, trimLeft, trimRight }` methods implementation
3558var createMethod = function (TYPE) {
3559  return function ($this) {
3560    var string = toString(requireObjectCoercible($this));
3561    if (TYPE & 1) string = replace(string, ltrim, '');
3562    if (TYPE & 2) string = replace(string, rtrim, '$1');
3563    return string;
3564  };
3565};
3566
3567module.exports = {
3568  // `String.prototype.{ trimLeft, trimStart }` methods
3569  // https://tc39.es/ecma262/#sec-string.prototype.trimstart
3570  start: createMethod(1),
3571  // `String.prototype.{ trimRight, trimEnd }` methods
3572  // https://tc39.es/ecma262/#sec-string.prototype.trimend
3573  end: createMethod(2),
3574  // `String.prototype.trim` method
3575  // https://tc39.es/ecma262/#sec-string.prototype.trim
3576  trim: createMethod(3)
3577};
3578
3579
3580/***/ }),
3581
3582/***/ 6293:
3583/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
3584
3585/* eslint-disable es/no-symbol -- required for testing */
3586var V8_VERSION = __webpack_require__(7392);
3587var fails = __webpack_require__(7293);
3588
3589// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing
3590module.exports = !!Object.getOwnPropertySymbols && !fails(function () {
3591  var symbol = Symbol();
3592  // Chrome 38 Symbol has incorrect toString conversion
3593  // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances
3594  return !String(symbol) || !(Object(symbol) instanceof Symbol) ||
3595    // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances
3596    !Symbol.sham && V8_VERSION && V8_VERSION < 41;
3597});
3598
3599
3600/***/ }),
3601
3602/***/ 6532:
3603/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
3604
3605var call = __webpack_require__(6916);
3606var getBuiltIn = __webpack_require__(5005);
3607var wellKnownSymbol = __webpack_require__(5112);
3608var defineBuiltIn = __webpack_require__(8052);
3609
3610module.exports = function () {
3611  var Symbol = getBuiltIn('Symbol');
3612  var SymbolPrototype = Symbol && Symbol.prototype;
3613  var valueOf = SymbolPrototype && SymbolPrototype.valueOf;
3614  var TO_PRIMITIVE = wellKnownSymbol('toPrimitive');
3615
3616  if (SymbolPrototype && !SymbolPrototype[TO_PRIMITIVE]) {
3617    // `Symbol.prototype[@@toPrimitive]` method
3618    // https://tc39.es/ecma262/#sec-symbol.prototype-@@toprimitive
3619    // eslint-disable-next-line no-unused-vars -- required for .length
3620    defineBuiltIn(SymbolPrototype, TO_PRIMITIVE, function (hint) {
3621      return call(valueOf, this);
3622    }, { arity: 1 });
3623  }
3624};
3625
3626
3627/***/ }),
3628
3629/***/ 2015:
3630/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
3631
3632var NATIVE_SYMBOL = __webpack_require__(6293);
3633
3634/* eslint-disable es/no-symbol -- safe */
3635module.exports = NATIVE_SYMBOL && !!Symbol['for'] && !!Symbol.keyFor;
3636
3637
3638/***/ }),
3639
3640/***/ 261:
3641/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
3642
3643var global = __webpack_require__(7854);
3644var apply = __webpack_require__(2104);
3645var bind = __webpack_require__(9974);
3646var isCallable = __webpack_require__(614);
3647var hasOwn = __webpack_require__(2597);
3648var fails = __webpack_require__(7293);
3649var html = __webpack_require__(490);
3650var arraySlice = __webpack_require__(206);
3651var createElement = __webpack_require__(317);
3652var validateArgumentsLength = __webpack_require__(8053);
3653var IS_IOS = __webpack_require__(6833);
3654var IS_NODE = __webpack_require__(5268);
3655
3656var set = global.setImmediate;
3657var clear = global.clearImmediate;
3658var process = global.process;
3659var Dispatch = global.Dispatch;
3660var Function = global.Function;
3661var MessageChannel = global.MessageChannel;
3662var String = global.String;
3663var counter = 0;
3664var queue = {};
3665var ONREADYSTATECHANGE = 'onreadystatechange';
3666var $location, defer, channel, port;
3667
3668fails(function () {
3669  // Deno throws a ReferenceError on `location` access without `--location` flag
3670  $location = global.location;
3671});
3672
3673var run = function (id) {
3674  if (hasOwn(queue, id)) {
3675    var fn = queue[id];
3676    delete queue[id];
3677    fn();
3678  }
3679};
3680
3681var runner = function (id) {
3682  return function () {
3683    run(id);
3684  };
3685};
vendor: 9,815 bytes, lines 3686-4062
3686
3687var eventListener = function (event) {
3688  run(event.data);
3689};
3690
3691var globalPostMessageDefer = function (id) {
3692  // old engines have not location.origin
3693  global.postMessage(String(id), $location.protocol + '//' + $location.host);
3694};
3695
3696// Node.js 0.9+ & IE10+ has setImmediate, otherwise:
3697if (!set || !clear) {
3698  set = function setImmediate(handler) {
3699    validateArgumentsLength(arguments.length, 1);
3700    var fn = isCallable(handler) ? handler : Function(handler);
3701    var args = arraySlice(arguments, 1);
3702    queue[++counter] = function () {
3703      apply(fn, undefined, args);
3704    };
3705    defer(counter);
3706    return counter;
3707  };
3708  clear = function clearImmediate(id) {
3709    delete queue[id];
3710  };
3711  // Node.js 0.8-
3712  if (IS_NODE) {
3713    defer = function (id) {
3714      process.nextTick(runner(id));
3715    };
3716  // Sphere (JS game engine) Dispatch API
3717  } else if (Dispatch && Dispatch.now) {
3718    defer = function (id) {
3719      Dispatch.now(runner(id));
3720    };
3721  // Browsers with MessageChannel, includes WebWorkers
3722  // except iOS - https://github.com/zloirock/core-js/issues/624
3723  } else if (MessageChannel && !IS_IOS) {
3724    channel = new MessageChannel();
3725    port = channel.port2;
3726    channel.port1.onmessage = eventListener;
3727    defer = bind(port.postMessage, port);
3728  // Browsers with postMessage, skip WebWorkers
3729  // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'
3730  } else if (
3731    global.addEventListener &&
3732    isCallable(global.postMessage) &&
3733    !global.importScripts &&
3734    $location && $location.protocol !== 'file:' &&
3735    !fails(globalPostMessageDefer)
3736  ) {
3737    defer = globalPostMessageDefer;
3738    global.addEventListener('message', eventListener, false);
3739  // IE8-
3740  } else if (ONREADYSTATECHANGE in createElement('script')) {
3741    defer = function (id) {
3742      html.appendChild(createElement('script'))[ONREADYSTATECHANGE] = function () {
3743        html.removeChild(this);
3744        run(id);
3745      };
3746    };
3747  // Rest old browsers
3748  } else {
3749    defer = function (id) {
3750      setTimeout(runner(id), 0);
3751    };
3752  }
3753}
3754
3755module.exports = {
3756  set: set,
3757  clear: clear
3758};
3759
3760
3761/***/ }),
3762
3763/***/ 863:
3764/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
3765
3766var uncurryThis = __webpack_require__(1702);
3767
3768// `thisNumberValue` abstract operation
3769// https://tc39.es/ecma262/#sec-thisnumbervalue
3770module.exports = uncurryThis(1.0.valueOf);
3771
3772
3773/***/ }),
3774
3775/***/ 1400:
3776/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
3777
3778var toIntegerOrInfinity = __webpack_require__(9303);
3779
3780var max = Math.max;
3781var min = Math.min;
3782
3783// Helper for a popular repeating case of the spec:
3784// Let integer be ? ToInteger(index).
3785// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).
3786module.exports = function (index, length) {
3787  var integer = toIntegerOrInfinity(index);
3788  return integer < 0 ? max(integer + length, 0) : min(integer, length);
3789};
3790
3791
3792/***/ }),
3793
3794/***/ 5656:
3795/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
3796
3797// toObject with fallback for non-array-like ES3 strings
3798var IndexedObject = __webpack_require__(8361);
3799var requireObjectCoercible = __webpack_require__(4488);
3800
3801module.exports = function (it) {
3802  return IndexedObject(requireObjectCoercible(it));
3803};
3804
3805
3806/***/ }),
3807
3808/***/ 9303:
3809/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
3810
3811var trunc = __webpack_require__(4758);
3812
3813// `ToIntegerOrInfinity` abstract operation
3814// https://tc39.es/ecma262/#sec-tointegerorinfinity
3815module.exports = function (argument) {
3816  var number = +argument;
3817  // eslint-disable-next-line no-self-compare -- NaN check
3818  return number !== number || number === 0 ? 0 : trunc(number);
3819};
3820
3821
3822/***/ }),
3823
3824/***/ 7466:
3825/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
3826
3827var toIntegerOrInfinity = __webpack_require__(9303);
3828
3829var min = Math.min;
3830
3831// `ToLength` abstract operation
3832// https://tc39.es/ecma262/#sec-tolength
3833module.exports = function (argument) {
3834  return argument > 0 ? min(toIntegerOrInfinity(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
3835};
3836
3837
3838/***/ }),
3839
3840/***/ 7908:
3841/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
3842
3843var requireObjectCoercible = __webpack_require__(4488);
3844
3845var $Object = Object;
3846
3847// `ToObject` abstract operation
3848// https://tc39.es/ecma262/#sec-toobject
3849module.exports = function (argument) {
3850  return $Object(requireObjectCoercible(argument));
3851};
3852
3853
3854/***/ }),
3855
3856/***/ 7593:
3857/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
3858
3859var call = __webpack_require__(6916);
3860var isObject = __webpack_require__(111);
3861var isSymbol = __webpack_require__(2190);
3862var getMethod = __webpack_require__(8173);
3863var ordinaryToPrimitive = __webpack_require__(2140);
3864var wellKnownSymbol = __webpack_require__(5112);
3865
3866var $TypeError = TypeError;
3867var TO_PRIMITIVE = wellKnownSymbol('toPrimitive');
3868
3869// `ToPrimitive` abstract operation
3870// https://tc39.es/ecma262/#sec-toprimitive
3871module.exports = function (input, pref) {
3872  if (!isObject(input) || isSymbol(input)) return input;
3873  var exoticToPrim = getMethod(input, TO_PRIMITIVE);
3874  var result;
3875  if (exoticToPrim) {
3876    if (pref === undefined) pref = 'default';
3877    result = call(exoticToPrim, input, pref);
3878    if (!isObject(result) || isSymbol(result)) return result;
3879    throw $TypeError("Can't convert object to primitive value");
3880  }
3881  if (pref === undefined) pref = 'number';
3882  return ordinaryToPrimitive(input, pref);
3883};
3884
3885
3886/***/ }),
3887
3888/***/ 4948:
3889/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
3890
3891var toPrimitive = __webpack_require__(7593);
3892var isSymbol = __webpack_require__(2190);
3893
3894// `ToPropertyKey` abstract operation
3895// https://tc39.es/ecma262/#sec-topropertykey
3896module.exports = function (argument) {
3897  var key = toPrimitive(argument, 'string');
3898  return isSymbol(key) ? key : key + '';
3899};
3900
3901
3902/***/ }),
3903
3904/***/ 1694:
3905/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
3906
3907var wellKnownSymbol = __webpack_require__(5112);
3908
3909var TO_STRING_TAG = wellKnownSymbol('toStringTag');
3910var test = {};
3911
3912test[TO_STRING_TAG] = 'z';
3913
3914module.exports = String(test) === '[object z]';
3915
3916
3917/***/ }),
3918
3919/***/ 1340:
3920/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
3921
3922var classof = __webpack_require__(648);
3923
3924var $String = String;
3925
3926module.exports = function (argument) {
3927  if (classof(argument) === 'Symbol') throw TypeError('Cannot convert a Symbol value to a string');
3928  return $String(argument);
3929};
3930
3931
3932/***/ }),
3933
3934/***/ 6330:
3935/***/ (function(module) {
3936
3937var $String = String;
3938
3939module.exports = function (argument) {
3940  try {
3941    return $String(argument);
3942  } catch (error) {
3943    return 'Object';
3944  }
3945};
3946
3947
3948/***/ }),
3949
3950/***/ 9711:
3951/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
3952
3953var uncurryThis = __webpack_require__(1702);
3954
3955var id = 0;
3956var postfix = Math.random();
3957var toString = uncurryThis(1.0.toString);
3958
3959module.exports = function (key) {
3960  return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36);
3961};
3962
3963
3964/***/ }),
3965
3966/***/ 3307:
3967/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
3968
3969/* eslint-disable es/no-symbol -- required for testing */
3970var NATIVE_SYMBOL = __webpack_require__(6293);
3971
3972module.exports = NATIVE_SYMBOL
3973  && !Symbol.sham
3974  && typeof Symbol.iterator == 'symbol';
3975
3976
3977/***/ }),
3978
3979/***/ 3353:
3980/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
3981
3982var DESCRIPTORS = __webpack_require__(9781);
3983var fails = __webpack_require__(7293);
3984
3985// V8 ~ Chrome 36-
3986// https://bugs.chromium.org/p/v8/issues/detail?id=3334
3987module.exports = DESCRIPTORS && fails(function () {
3988  // eslint-disable-next-line es/no-object-defineproperty -- required for testing
3989  return Object.defineProperty(function () { /* empty */ }, 'prototype', {
3990    value: 42,
3991    writable: false
3992  }).prototype != 42;
3993});
3994
3995
3996/***/ }),
3997
3998/***/ 8053:
3999/***/ (function(module) {
4000
4001var $TypeError = TypeError;
4002
4003module.exports = function (passed, required) {
4004  if (passed < required) throw $TypeError('Not enough arguments');
4005  return passed;
4006};
4007
4008
4009/***/ }),
4010
4011/***/ 4811:
4012/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
4013
4014var global = __webpack_require__(7854);
4015var isCallable = __webpack_require__(614);
4016
4017var WeakMap = global.WeakMap;
4018
4019module.exports = isCallable(WeakMap) && /native code/.test(String(WeakMap));
4020
4021
4022/***/ }),
4023
4024/***/ 6800:
4025/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
4026
4027var path = __webpack_require__(857);
4028var hasOwn = __webpack_require__(2597);
4029var wrappedWellKnownSymbolModule = __webpack_require__(6061);
4030var defineProperty = (__webpack_require__(3070).f);
4031
4032module.exports = function (NAME) {
4033  var Symbol = path.Symbol || (path.Symbol = {});
4034  if (!hasOwn(Symbol, NAME)) defineProperty(Symbol, NAME, {
4035    value: wrappedWellKnownSymbolModule.f(NAME)
4036  });
4037};
4038
4039
4040/***/ }),
4041
4042/***/ 6061:
4043/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
4044
4045var wellKnownSymbol = __webpack_require__(5112);
4046
4047exports.f = wellKnownSymbol;
4048
4049
4050/***/ }),
4051
4052/***/ 5112:
4053/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
4054
4055var global = __webpack_require__(7854);
4056var shared = __webpack_require__(2309);
4057var hasOwn = __webpack_require__(2597);
4058var uid = __webpack_require__(9711);
4059var NATIVE_SYMBOL = __webpack_require__(6293);
4060var USE_SYMBOL_AS_UID = __webpack_require__(3307);
4061
4062var Symbol = global.Symbol;
vendor: 8,927 bytes, lines 4063-4328
4063var WellKnownSymbolsStore = shared('wks');
4064var createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol['for'] || Symbol : Symbol && Symbol.withoutSetter || uid;
4065
4066module.exports = function (name) {
4067  if (!hasOwn(WellKnownSymbolsStore, name)) {
4068    WellKnownSymbolsStore[name] = NATIVE_SYMBOL && hasOwn(Symbol, name)
4069      ? Symbol[name]
4070      : createWellKnownSymbol('Symbol.' + name);
4071  } return WellKnownSymbolsStore[name];
4072};
4073
4074
4075/***/ }),
4076
4077/***/ 1361:
4078/***/ (function(module) {
4079
4080// a string of all valid unicode whitespaces
4081module.exports = '\u0009\u000A\u000B\u000C\u000D\u0020\u00A0\u1680\u2000\u2001\u2002' +
4082  '\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF';
4083
4084
4085/***/ }),
4086
4087/***/ 2222:
4088/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
4089
4090"use strict";
4091
4092var $ = __webpack_require__(2109);
4093var fails = __webpack_require__(7293);
4094var isArray = __webpack_require__(3157);
4095var isObject = __webpack_require__(111);
4096var toObject = __webpack_require__(7908);
4097var lengthOfArrayLike = __webpack_require__(6244);
4098var doesNotExceedSafeInteger = __webpack_require__(7207);
4099var createProperty = __webpack_require__(6135);
4100var arraySpeciesCreate = __webpack_require__(5417);
4101var arrayMethodHasSpeciesSupport = __webpack_require__(1194);
4102var wellKnownSymbol = __webpack_require__(5112);
4103var V8_VERSION = __webpack_require__(7392);
4104
4105var IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');
4106
4107// We can't use this feature detection in V8 since it causes
4108// deoptimization and serious performance degradation
4109// https://github.com/zloirock/core-js/issues/679
4110var IS_CONCAT_SPREADABLE_SUPPORT = V8_VERSION >= 51 || !fails(function () {
4111  var array = [];
4112  array[IS_CONCAT_SPREADABLE] = false;
4113  return array.concat()[0] !== array;
4114});
4115
4116var isConcatSpreadable = function (O) {
4117  if (!isObject(O)) return false;
4118  var spreadable = O[IS_CONCAT_SPREADABLE];
4119  return spreadable !== undefined ? !!spreadable : isArray(O);
4120};
4121
4122var FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !arrayMethodHasSpeciesSupport('concat');
4123
4124// `Array.prototype.concat` method
4125// https://tc39.es/ecma262/#sec-array.prototype.concat
4126// with adding support of @@isConcatSpreadable and @@species
4127$({ target: 'Array', proto: true, arity: 1, forced: FORCED }, {
4128  // eslint-disable-next-line no-unused-vars -- required for `.length`
4129  concat: function concat(arg) {
4130    var O = toObject(this);
4131    var A = arraySpeciesCreate(O, 0);
4132    var n = 0;
4133    var i, k, length, len, E;
4134    for (i = -1, length = arguments.length; i < length; i++) {
4135      E = i === -1 ? O : arguments[i];
4136      if (isConcatSpreadable(E)) {
4137        len = lengthOfArrayLike(E);
4138        doesNotExceedSafeInteger(n + len);
4139        for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);
4140      } else {
4141        doesNotExceedSafeInteger(n + 1);
4142        createProperty(A, n++, E);
4143      }
4144    }
4145    A.length = n;
4146    return A;
4147  }
4148});
4149
4150
4151/***/ }),
4152
4153/***/ 7327:
4154/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
4155
4156"use strict";
4157
4158var $ = __webpack_require__(2109);
4159var $filter = (__webpack_require__(2092).filter);
4160var arrayMethodHasSpeciesSupport = __webpack_require__(1194);
4161
4162var HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('filter');
4163
4164// `Array.prototype.filter` method
4165// https://tc39.es/ecma262/#sec-array.prototype.filter
4166// with adding support of @@species
4167$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {
4168  filter: function filter(callbackfn /* , thisArg */) {
4169    return $filter(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
4170  }
4171});
4172
4173
4174/***/ }),
4175
4176/***/ 1038:
4177/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
4178
4179var $ = __webpack_require__(2109);
4180var from = __webpack_require__(8457);
4181var checkCorrectnessOfIteration = __webpack_require__(7072);
4182
4183var INCORRECT_ITERATION = !checkCorrectnessOfIteration(function (iterable) {
4184  // eslint-disable-next-line es/no-array-from -- required for testing
4185  Array.from(iterable);
4186});
4187
4188// `Array.from` method
4189// https://tc39.es/ecma262/#sec-array.from
4190$({ target: 'Array', stat: true, forced: INCORRECT_ITERATION }, {
4191  from: from
4192});
4193
4194
4195/***/ }),
4196
4197/***/ 6699:
4198/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
4199
4200"use strict";
4201
4202var $ = __webpack_require__(2109);
4203var $includes = (__webpack_require__(1318).includes);
4204var fails = __webpack_require__(7293);
4205var addToUnscopables = __webpack_require__(1223);
4206
4207// FF99+ bug
4208var BROKEN_ON_SPARSE = fails(function () {
4209  // eslint-disable-next-line es/no-array-prototype-includes -- detection
4210  return !Array(1).includes();
4211});
4212
4213// `Array.prototype.includes` method
4214// https://tc39.es/ecma262/#sec-array.prototype.includes
4215$({ target: 'Array', proto: true, forced: BROKEN_ON_SPARSE }, {
4216  includes: function includes(el /* , fromIndex = 0 */) {
4217    return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);
4218  }
4219});
4220
4221// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables
4222addToUnscopables('includes');
4223
4224
4225/***/ }),
4226
4227/***/ 6992:
4228/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
4229
4230"use strict";
4231
4232var toIndexedObject = __webpack_require__(5656);
4233var addToUnscopables = __webpack_require__(1223);
4234var Iterators = __webpack_require__(7497);
4235var InternalStateModule = __webpack_require__(9909);
4236var defineProperty = (__webpack_require__(3070).f);
4237var defineIterator = __webpack_require__(1656);
4238var createIterResultObject = __webpack_require__(6178);
4239var IS_PURE = __webpack_require__(1913);
4240var DESCRIPTORS = __webpack_require__(9781);
4241
4242var ARRAY_ITERATOR = 'Array Iterator';
4243var setInternalState = InternalStateModule.set;
4244var getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR);
4245
4246// `Array.prototype.entries` method
4247// https://tc39.es/ecma262/#sec-array.prototype.entries
4248// `Array.prototype.keys` method
4249// https://tc39.es/ecma262/#sec-array.prototype.keys
4250// `Array.prototype.values` method
4251// https://tc39.es/ecma262/#sec-array.prototype.values
4252// `Array.prototype[@@iterator]` method
4253// https://tc39.es/ecma262/#sec-array.prototype-@@iterator
4254// `CreateArrayIterator` internal method
4255// https://tc39.es/ecma262/#sec-createarrayiterator
4256module.exports = defineIterator(Array, 'Array', function (iterated, kind) {
4257  setInternalState(this, {
4258    type: ARRAY_ITERATOR,
4259    target: toIndexedObject(iterated), // target
4260    index: 0,                          // next index
4261    kind: kind                         // kind
4262  });
4263// `%ArrayIteratorPrototype%.next` method
4264// https://tc39.es/ecma262/#sec-%arrayiteratorprototype%.next
4265}, function () {
4266  var state = getInternalState(this);
4267  var target = state.target;
4268  var kind = state.kind;
4269  var index = state.index++;
4270  if (!target || index >= target.length) {
4271    state.target = undefined;
4272    return createIterResultObject(undefined, true);
4273  }
4274  if (kind == 'keys') return createIterResultObject(index, false);
4275  if (kind == 'values') return createIterResultObject(target[index], false);
4276  return createIterResultObject([index, target[index]], false);
4277}, 'values');
4278
4279// argumentsList[@@iterator] is %ArrayProto_values%
4280// https://tc39.es/ecma262/#sec-createunmappedargumentsobject
4281// https://tc39.es/ecma262/#sec-createmappedargumentsobject
4282var values = Iterators.Arguments = Iterators.Array;
4283
4284// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables
4285addToUnscopables('keys');
4286addToUnscopables('values');
4287addToUnscopables('entries');
4288
4289// V8 ~ Chrome 45- bug
4290if (!IS_PURE && DESCRIPTORS && values.name !== 'values') try {
4291  defineProperty(values, 'name', { value: 'values' });
4292} catch (error) { /* empty */ }
4293
4294
4295/***/ }),
4296
4297/***/ 1249:
4298/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
4299
4300"use strict";
4301
4302var $ = __webpack_require__(2109);
4303var $map = (__webpack_require__(2092).map);
4304var arrayMethodHasSpeciesSupport = __webpack_require__(1194);
4305
4306var HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('map');
4307
4308// `Array.prototype.map` method
4309// https://tc39.es/ecma262/#sec-array.prototype.map
4310// with adding support of @@species
4311$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {
4312  map: function map(callbackfn /* , thisArg */) {
4313    return $map(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
4314  }
4315});
4316
4317
4318/***/ }),
4319
4320/***/ 5827:
4321/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
4322
4323"use strict";
4324
4325var $ = __webpack_require__(2109);
4326var $reduce = (__webpack_require__(3671).left);
4327var arrayMethodIsStrict = __webpack_require__(9341);
4328var CHROME_VERSION = __webpack_require__(7392);
vendor: 4,121 bytes, lines 4329-4443
4329var IS_NODE = __webpack_require__(5268);
4330
4331// Chrome 80-82 has a critical bug
4332// https://bugs.chromium.org/p/chromium/issues/detail?id=1049982
4333var CHROME_BUG = !IS_NODE && CHROME_VERSION > 79 && CHROME_VERSION < 83;
4334var FORCED = CHROME_BUG || !arrayMethodIsStrict('reduce');
4335
4336// `Array.prototype.reduce` method
4337// https://tc39.es/ecma262/#sec-array.prototype.reduce
4338$({ target: 'Array', proto: true, forced: FORCED }, {
4339  reduce: function reduce(callbackfn /* , initialValue */) {
4340    var length = arguments.length;
4341    return $reduce(this, callbackfn, length, length > 1 ? arguments[1] : undefined);
4342  }
4343});
4344
4345
4346/***/ }),
4347
4348/***/ 7042:
4349/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
4350
4351"use strict";
4352
4353var $ = __webpack_require__(2109);
4354var isArray = __webpack_require__(3157);
4355var isConstructor = __webpack_require__(4411);
4356var isObject = __webpack_require__(111);
4357var toAbsoluteIndex = __webpack_require__(1400);
4358var lengthOfArrayLike = __webpack_require__(6244);
4359var toIndexedObject = __webpack_require__(5656);
4360var createProperty = __webpack_require__(6135);
4361var wellKnownSymbol = __webpack_require__(5112);
4362var arrayMethodHasSpeciesSupport = __webpack_require__(1194);
4363var nativeSlice = __webpack_require__(206);
4364
4365var HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('slice');
4366
4367var SPECIES = wellKnownSymbol('species');
4368var $Array = Array;
4369var max = Math.max;
4370
4371// `Array.prototype.slice` method
4372// https://tc39.es/ecma262/#sec-array.prototype.slice
4373// fallback for not array-like ES3 strings and DOM objects
4374$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {
4375  slice: function slice(start, end) {
4376    var O = toIndexedObject(this);
4377    var length = lengthOfArrayLike(O);
4378    var k = toAbsoluteIndex(start, length);
4379    var fin = toAbsoluteIndex(end === undefined ? length : end, length);
4380    // inline `ArraySpeciesCreate` for usage native `Array#slice` where it's possible
4381    var Constructor, result, n;
4382    if (isArray(O)) {
4383      Constructor = O.constructor;
4384      // cross-realm fallback
4385      if (isConstructor(Constructor) && (Constructor === $Array || isArray(Constructor.prototype))) {
4386        Constructor = undefined;
4387      } else if (isObject(Constructor)) {
4388        Constructor = Constructor[SPECIES];
4389        if (Constructor === null) Constructor = undefined;
4390      }
4391      if (Constructor === $Array || Constructor === undefined) {
4392        return nativeSlice(O, k, fin);
4393      }
4394    }
4395    result = new (Constructor === undefined ? $Array : Constructor)(max(fin - k, 0));
4396    for (n = 0; k < fin; k++, n++) if (k in O) createProperty(result, n, O[k]);
4397    result.length = n;
4398    return result;
4399  }
4400});
4401
4402
4403/***/ }),
4404
4405/***/ 6078:
4406/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
4407
4408var hasOwn = __webpack_require__(2597);
4409var defineBuiltIn = __webpack_require__(8052);
4410var dateToPrimitive = __webpack_require__(8709);
4411var wellKnownSymbol = __webpack_require__(5112);
4412
4413var TO_PRIMITIVE = wellKnownSymbol('toPrimitive');
4414var DatePrototype = Date.prototype;
4415
4416// `Date.prototype[@@toPrimitive]` method
4417// https://tc39.es/ecma262/#sec-date.prototype-@@toprimitive
4418if (!hasOwn(DatePrototype, TO_PRIMITIVE)) {
4419  defineBuiltIn(DatePrototype, TO_PRIMITIVE, dateToPrimitive);
4420}
4421
4422
4423/***/ }),
4424
4425/***/ 8862:
4426/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
4427
4428var $ = __webpack_require__(2109);
4429var getBuiltIn = __webpack_require__(5005);
4430var apply = __webpack_require__(2104);
4431var call = __webpack_require__(6916);
4432var uncurryThis = __webpack_require__(1702);
4433var fails = __webpack_require__(7293);
4434var isCallable = __webpack_require__(614);
4435var isSymbol = __webpack_require__(2190);
4436var arraySlice = __webpack_require__(206);
4437var getReplacerFunction = __webpack_require__(8044);
4438var NATIVE_SYMBOL = __webpack_require__(6293);
4439
4440var $String = String;
4441var $stringify = getBuiltIn('JSON', 'stringify');
4442var exec = uncurryThis(/./.exec);
4443var charAt = uncurryThis(''.charAt);
vendor: 4,148 bytes, lines 4444-4558
4444var charCodeAt = uncurryThis(''.charCodeAt);
4445var replace = uncurryThis(''.replace);
4446var numberToString = uncurryThis(1.0.toString);
4447
4448var tester = /[\uD800-\uDFFF]/g;
4449var low = /^[\uD800-\uDBFF]$/;
4450var hi = /^[\uDC00-\uDFFF]$/;
4451
4452var WRONG_SYMBOLS_CONVERSION = !NATIVE_SYMBOL || fails(function () {
4453  var symbol = getBuiltIn('Symbol')();
4454  // MS Edge converts symbol values to JSON as {}
4455  return $stringify([symbol]) != '[null]'
4456    // WebKit converts symbol values to JSON as null
4457    || $stringify({ a: symbol }) != '{}'
4458    // V8 throws on boxed symbols
4459    || $stringify(Object(symbol)) != '{}';
4460});
4461
4462// https://github.com/tc39/proposal-well-formed-stringify
4463var ILL_FORMED_UNICODE = fails(function () {
4464  return $stringify('\uDF06\uD834') !== '"\\udf06\\ud834"'
4465    || $stringify('\uDEAD') !== '"\\udead"';
4466});
4467
4468var stringifyWithSymbolsFix = function (it, replacer) {
4469  var args = arraySlice(arguments);
4470  var $replacer = getReplacerFunction(replacer);
4471  if (!isCallable($replacer) && (it === undefined || isSymbol(it))) return; // IE8 returns string on undefined
4472  args[1] = function (key, value) {
4473    // some old implementations (like WebKit) could pass numbers as keys
4474    if (isCallable($replacer)) value = call($replacer, this, $String(key), value);
4475    if (!isSymbol(value)) return value;
4476  };
4477  return apply($stringify, null, args);
4478};
4479
4480var fixIllFormed = function (match, offset, string) {
4481  var prev = charAt(string, offset - 1);
4482  var next = charAt(string, offset + 1);
4483  if ((exec(low, match) && !exec(hi, next)) || (exec(hi, match) && !exec(low, prev))) {
4484    return '\\u' + numberToString(charCodeAt(match, 0), 16);
4485  } return match;
4486};
4487
4488if ($stringify) {
4489  // `JSON.stringify` method
4490  // https://tc39.es/ecma262/#sec-json.stringify
4491  $({ target: 'JSON', stat: true, arity: 3, forced: WRONG_SYMBOLS_CONVERSION || ILL_FORMED_UNICODE }, {
4492    // eslint-disable-next-line no-unused-vars -- required for `.length`
4493    stringify: function stringify(it, replacer, space) {
4494      var args = arraySlice(arguments);
4495      var result = apply(WRONG_SYMBOLS_CONVERSION ? stringifyWithSymbolsFix : $stringify, null, args);
4496      return ILL_FORMED_UNICODE && typeof result == 'string' ? replace(result, tester, fixIllFormed) : result;
4497    }
4498  });
4499}
4500
4501
4502/***/ }),
4503
4504/***/ 3706:
4505/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
4506
4507var global = __webpack_require__(7854);
4508var setToStringTag = __webpack_require__(8003);
4509
4510// JSON[@@toStringTag] property
4511// https://tc39.es/ecma262/#sec-json-@@tostringtag
4512setToStringTag(global.JSON, 'JSON', true);
4513
4514
4515/***/ }),
4516
4517/***/ 2703:
4518/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
4519
4520var setToStringTag = __webpack_require__(8003);
4521
4522// Math[@@toStringTag] property
4523// https://tc39.es/ecma262/#sec-math-@@tostringtag
4524setToStringTag(Math, 'Math', true);
4525
4526
4527/***/ }),
4528
4529/***/ 9653:
4530/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
4531
4532"use strict";
4533
4534var $ = __webpack_require__(2109);
4535var IS_PURE = __webpack_require__(1913);
4536var DESCRIPTORS = __webpack_require__(9781);
4537var global = __webpack_require__(7854);
4538var path = __webpack_require__(857);
4539var uncurryThis = __webpack_require__(1702);
4540var isForced = __webpack_require__(4705);
4541var hasOwn = __webpack_require__(2597);
4542var inheritIfRequired = __webpack_require__(9587);
4543var isPrototypeOf = __webpack_require__(7976);
4544var isSymbol = __webpack_require__(2190);
4545var toPrimitive = __webpack_require__(7593);
4546var fails = __webpack_require__(7293);
4547var getOwnPropertyNames = (__webpack_require__(8006).f);
4548var getOwnPropertyDescriptor = (__webpack_require__(1236).f);
4549var defineProperty = (__webpack_require__(3070).f);
4550var thisNumberValue = __webpack_require__(863);
4551var trim = (__webpack_require__(3111).trim);
4552
4553var NUMBER = 'Number';
4554var NativeNumber = global[NUMBER];
4555var PureNumberNamespace = path[NUMBER];
4556var NumberPrototype = NativeNumber.prototype;
4557var TypeError = global.TypeError;
4558var stringSlice = uncurryThis(''.slice);
vendor: 6,407 bytes, lines 4559-4731
4559var charCodeAt = uncurryThis(''.charCodeAt);
4560
4561// `ToNumeric` abstract operation
4562// https://tc39.es/ecma262/#sec-tonumeric
4563var toNumeric = function (value) {
4564  var primValue = toPrimitive(value, 'number');
4565  return typeof primValue == 'bigint' ? primValue : toNumber(primValue);
4566};
4567
4568// `ToNumber` abstract operation
4569// https://tc39.es/ecma262/#sec-tonumber
4570var toNumber = function (argument) {
4571  var it = toPrimitive(argument, 'number');
4572  var first, third, radix, maxCode, digits, length, index, code;
4573  if (isSymbol(it)) throw TypeError('Cannot convert a Symbol value to a number');
4574  if (typeof it == 'string' && it.length > 2) {
4575    it = trim(it);
4576    first = charCodeAt(it, 0);
4577    if (first === 43 || first === 45) {
4578      third = charCodeAt(it, 2);
4579      if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix
4580    } else if (first === 48) {
4581      switch (charCodeAt(it, 1)) {
4582        case 66: case 98: radix = 2; maxCode = 49; break; // fast equal of /^0b[01]+$/i
4583        case 79: case 111: radix = 8; maxCode = 55; break; // fast equal of /^0o[0-7]+$/i
4584        default: return +it;
4585      }
4586      digits = stringSlice(it, 2);
4587      length = digits.length;
4588      for (index = 0; index < length; index++) {
4589        code = charCodeAt(digits, index);
4590        // parseInt parses a string to a first unavailable symbol
4591        // but ToNumber should return NaN if a string contains unavailable symbols
4592        if (code < 48 || code > maxCode) return NaN;
4593      } return parseInt(digits, radix);
4594    }
4595  } return +it;
4596};
4597
4598var FORCED = isForced(NUMBER, !NativeNumber(' 0o1') || !NativeNumber('0b1') || NativeNumber('+0x1'));
4599
4600var calledWithNew = function (dummy) {
4601  // includes check on 1..constructor(foo) case
4602  return isPrototypeOf(NumberPrototype, dummy) && fails(function () { thisNumberValue(dummy); });
4603};
4604
4605// `Number` constructor
4606// https://tc39.es/ecma262/#sec-number-constructor
4607var NumberWrapper = function Number(value) {
4608  var n = arguments.length < 1 ? 0 : NativeNumber(toNumeric(value));
4609  return calledWithNew(this) ? inheritIfRequired(Object(n), this, NumberWrapper) : n;
4610};
4611
4612NumberWrapper.prototype = NumberPrototype;
4613if (FORCED && !IS_PURE) NumberPrototype.constructor = NumberWrapper;
4614
4615$({ global: true, constructor: true, wrap: true, forced: FORCED }, {
4616  Number: NumberWrapper
4617});
4618
4619// Use `internal/copy-constructor-properties` helper in `core-js@4`
4620var copyConstructorProperties = function (target, source) {
4621  for (var keys = DESCRIPTORS ? getOwnPropertyNames(source) : (
4622    // ES3:
4623    'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' +
4624    // ES2015 (in case, if modules with ES2015 Number statics required before):
4625    'EPSILON,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,isFinite,isInteger,isNaN,isSafeInteger,parseFloat,parseInt,' +
4626    // ESNext
4627    'fromString,range'
4628  ).split(','), j = 0, key; keys.length > j; j++) {
4629    if (hasOwn(source, key = keys[j]) && !hasOwn(target, key)) {
4630      defineProperty(target, key, getOwnPropertyDescriptor(source, key));
4631    }
4632  }
4633};
4634
4635if (IS_PURE && PureNumberNamespace) copyConstructorProperties(path[NUMBER], PureNumberNamespace);
4636if (FORCED || IS_PURE) copyConstructorProperties(path[NUMBER], NativeNumber);
4637
4638
4639/***/ }),
4640
4641/***/ 9070:
4642/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
4643
4644var $ = __webpack_require__(2109);
4645var DESCRIPTORS = __webpack_require__(9781);
4646var defineProperty = (__webpack_require__(3070).f);
4647
4648// `Object.defineProperty` method
4649// https://tc39.es/ecma262/#sec-object.defineproperty
4650// eslint-disable-next-line es/no-object-defineproperty -- safe
4651$({ target: 'Object', stat: true, forced: Object.defineProperty !== defineProperty, sham: !DESCRIPTORS }, {
4652  defineProperty: defineProperty
4653});
4654
4655
4656/***/ }),
4657
4658/***/ 9660:
4659/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
4660
4661var $ = __webpack_require__(2109);
4662var NATIVE_SYMBOL = __webpack_require__(6293);
4663var fails = __webpack_require__(7293);
4664var getOwnPropertySymbolsModule = __webpack_require__(5181);
4665var toObject = __webpack_require__(7908);
4666
4667// V8 ~ Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives
4668// https://bugs.chromium.org/p/v8/issues/detail?id=3443
4669var FORCED = !NATIVE_SYMBOL || fails(function () { getOwnPropertySymbolsModule.f(1); });
4670
4671// `Object.getOwnPropertySymbols` method
4672// https://tc39.es/ecma262/#sec-object.getownpropertysymbols
4673$({ target: 'Object', stat: true, forced: FORCED }, {
4674  getOwnPropertySymbols: function getOwnPropertySymbols(it) {
4675    var $getOwnPropertySymbols = getOwnPropertySymbolsModule.f;
4676    return $getOwnPropertySymbols ? $getOwnPropertySymbols(toObject(it)) : [];
4677  }
4678});
4679
4680
4681/***/ }),
4682
4683/***/ 489:
4684/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
4685
4686var $ = __webpack_require__(2109);
4687var fails = __webpack_require__(7293);
4688var toObject = __webpack_require__(7908);
4689var nativeGetPrototypeOf = __webpack_require__(9518);
4690var CORRECT_PROTOTYPE_GETTER = __webpack_require__(8544);
4691
4692var FAILS_ON_PRIMITIVES = fails(function () { nativeGetPrototypeOf(1); });
4693
4694// `Object.getPrototypeOf` method
4695// https://tc39.es/ecma262/#sec-object.getprototypeof
4696$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES, sham: !CORRECT_PROTOTYPE_GETTER }, {
4697  getPrototypeOf: function getPrototypeOf(it) {
4698    return nativeGetPrototypeOf(toObject(it));
4699  }
4700});
4701
4702
4703
4704/***/ }),
4705
4706/***/ 8304:
4707/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
4708
4709var $ = __webpack_require__(2109);
4710var setPrototypeOf = __webpack_require__(7674);
4711
4712// `Object.setPrototypeOf` method
4713// https://tc39.es/ecma262/#sec-object.setprototypeof
4714$({ target: 'Object', stat: true }, {
4715  setPrototypeOf: setPrototypeOf
4716});
4717
4718
4719/***/ }),
4720
4721/***/ 1539:
4722/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
4723
4724var TO_STRING_TAG_SUPPORT = __webpack_require__(1694);
4725var defineBuiltIn = __webpack_require__(8052);
4726var toString = __webpack_require__(288);
4727
4728// `Object.prototype.toString` method
4729// https://tc39.es/ecma262/#sec-object.prototype.tostring
4730if (!TO_STRING_TAG_SUPPORT) {
4731  defineBuiltIn(Object.prototype, 'toString', toString, { unsafe: true });
vendor: 18,882 bytes, lines 4732-5318
4732}
4733
4734
4735/***/ }),
4736
4737/***/ 821:
4738/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
4739
4740"use strict";
4741
4742var $ = __webpack_require__(2109);
4743var call = __webpack_require__(6916);
4744var aCallable = __webpack_require__(9662);
4745var newPromiseCapabilityModule = __webpack_require__(8523);
4746var perform = __webpack_require__(2534);
4747var iterate = __webpack_require__(408);
4748var PROMISE_STATICS_INCORRECT_ITERATION = __webpack_require__(612);
4749
4750// `Promise.all` method
4751// https://tc39.es/ecma262/#sec-promise.all
4752$({ target: 'Promise', stat: true, forced: PROMISE_STATICS_INCORRECT_ITERATION }, {
4753  all: function all(iterable) {
4754    var C = this;
4755    var capability = newPromiseCapabilityModule.f(C);
4756    var resolve = capability.resolve;
4757    var reject = capability.reject;
4758    var result = perform(function () {
4759      var $promiseResolve = aCallable(C.resolve);
4760      var values = [];
4761      var counter = 0;
4762      var remaining = 1;
4763      iterate(iterable, function (promise) {
4764        var index = counter++;
4765        var alreadyCalled = false;
4766        remaining++;
4767        call($promiseResolve, C, promise).then(function (value) {
4768          if (alreadyCalled) return;
4769          alreadyCalled = true;
4770          values[index] = value;
4771          --remaining || resolve(values);
4772        }, reject);
4773      });
4774      --remaining || resolve(values);
4775    });
4776    if (result.error) reject(result.value);
4777    return capability.promise;
4778  }
4779});
4780
4781
4782/***/ }),
4783
4784/***/ 4164:
4785/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
4786
4787"use strict";
4788
4789var $ = __webpack_require__(2109);
4790var IS_PURE = __webpack_require__(1913);
4791var FORCED_PROMISE_CONSTRUCTOR = (__webpack_require__(3702).CONSTRUCTOR);
4792var NativePromiseConstructor = __webpack_require__(2492);
4793var getBuiltIn = __webpack_require__(5005);
4794var isCallable = __webpack_require__(614);
4795var defineBuiltIn = __webpack_require__(8052);
4796
4797var NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype;
4798
4799// `Promise.prototype.catch` method
4800// https://tc39.es/ecma262/#sec-promise.prototype.catch
4801$({ target: 'Promise', proto: true, forced: FORCED_PROMISE_CONSTRUCTOR, real: true }, {
4802  'catch': function (onRejected) {
4803    return this.then(undefined, onRejected);
4804  }
4805});
4806
4807// makes sure that native promise-based APIs `Promise#catch` properly works with patched `Promise#then`
4808if (!IS_PURE && isCallable(NativePromiseConstructor)) {
4809  var method = getBuiltIn('Promise').prototype['catch'];
4810  if (NativePromisePrototype['catch'] !== method) {
4811    defineBuiltIn(NativePromisePrototype, 'catch', method, { unsafe: true });
4812  }
4813}
4814
4815
4816/***/ }),
4817
4818/***/ 3401:
4819/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
4820
4821"use strict";
4822
4823var $ = __webpack_require__(2109);
4824var IS_PURE = __webpack_require__(1913);
4825var IS_NODE = __webpack_require__(5268);
4826var global = __webpack_require__(7854);
4827var call = __webpack_require__(6916);
4828var defineBuiltIn = __webpack_require__(8052);
4829var setPrototypeOf = __webpack_require__(7674);
4830var setToStringTag = __webpack_require__(8003);
4831var setSpecies = __webpack_require__(6340);
4832var aCallable = __webpack_require__(9662);
4833var isCallable = __webpack_require__(614);
4834var isObject = __webpack_require__(111);
4835var anInstance = __webpack_require__(5787);
4836var speciesConstructor = __webpack_require__(6707);
4837var task = (__webpack_require__(261).set);
4838var microtask = __webpack_require__(5948);
4839var hostReportErrors = __webpack_require__(842);
4840var perform = __webpack_require__(2534);
4841var Queue = __webpack_require__(8572);
4842var InternalStateModule = __webpack_require__(9909);
4843var NativePromiseConstructor = __webpack_require__(2492);
4844var PromiseConstructorDetection = __webpack_require__(3702);
4845var newPromiseCapabilityModule = __webpack_require__(8523);
4846
4847var PROMISE = 'Promise';
4848var FORCED_PROMISE_CONSTRUCTOR = PromiseConstructorDetection.CONSTRUCTOR;
4849var NATIVE_PROMISE_REJECTION_EVENT = PromiseConstructorDetection.REJECTION_EVENT;
4850var NATIVE_PROMISE_SUBCLASSING = PromiseConstructorDetection.SUBCLASSING;
4851var getInternalPromiseState = InternalStateModule.getterFor(PROMISE);
4852var setInternalState = InternalStateModule.set;
4853var NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype;
4854var PromiseConstructor = NativePromiseConstructor;
4855var PromisePrototype = NativePromisePrototype;
4856var TypeError = global.TypeError;
4857var document = global.document;
4858var process = global.process;
4859var newPromiseCapability = newPromiseCapabilityModule.f;
4860var newGenericPromiseCapability = newPromiseCapability;
4861
4862var DISPATCH_EVENT = !!(document && document.createEvent && global.dispatchEvent);
4863var UNHANDLED_REJECTION = 'unhandledrejection';
4864var REJECTION_HANDLED = 'rejectionhandled';
4865var PENDING = 0;
4866var FULFILLED = 1;
4867var REJECTED = 2;
4868var HANDLED = 1;
4869var UNHANDLED = 2;
4870
4871var Internal, OwnPromiseCapability, PromiseWrapper, nativeThen;
4872
4873// helpers
4874var isThenable = function (it) {
4875  var then;
4876  return isObject(it) && isCallable(then = it.then) ? then : false;
4877};
4878
4879var callReaction = function (reaction, state) {
4880  var value = state.value;
4881  var ok = state.state == FULFILLED;
4882  var handler = ok ? reaction.ok : reaction.fail;
4883  var resolve = reaction.resolve;
4884  var reject = reaction.reject;
4885  var domain = reaction.domain;
4886  var result, then, exited;
4887  try {
4888    if (handler) {
4889      if (!ok) {
4890        if (state.rejection === UNHANDLED) onHandleUnhandled(state);
4891        state.rejection = HANDLED;
4892      }
4893      if (handler === true) result = value;
4894      else {
4895        if (domain) domain.enter();
4896        result = handler(value); // can throw
4897        if (domain) {
4898          domain.exit();
4899          exited = true;
4900        }
4901      }
4902      if (result === reaction.promise) {
4903        reject(TypeError('Promise-chain cycle'));
4904      } else if (then = isThenable(result)) {
4905        call(then, result, resolve, reject);
4906      } else resolve(result);
4907    } else reject(value);
4908  } catch (error) {
4909    if (domain && !exited) domain.exit();
4910    reject(error);
4911  }
4912};
4913
4914var notify = function (state, isReject) {
4915  if (state.notified) return;
4916  state.notified = true;
4917  microtask(function () {
4918    var reactions = state.reactions;
4919    var reaction;
4920    while (reaction = reactions.get()) {
4921      callReaction(reaction, state);
4922    }
4923    state.notified = false;
4924    if (isReject && !state.rejection) onUnhandled(state);
4925  });
4926};
4927
4928var dispatchEvent = function (name, promise, reason) {
4929  var event, handler;
4930  if (DISPATCH_EVENT) {
4931    event = document.createEvent('Event');
4932    event.promise = promise;
4933    event.reason = reason;
4934    event.initEvent(name, false, true);
4935    global.dispatchEvent(event);
4936  } else event = { promise: promise, reason: reason };
4937  if (!NATIVE_PROMISE_REJECTION_EVENT && (handler = global['on' + name])) handler(event);
4938  else if (name === UNHANDLED_REJECTION) hostReportErrors('Unhandled promise rejection', reason);
4939};
4940
4941var onUnhandled = function (state) {
4942  call(task, global, function () {
4943    var promise = state.facade;
4944    var value = state.value;
4945    var IS_UNHANDLED = isUnhandled(state);
4946    var result;
4947    if (IS_UNHANDLED) {
4948      result = perform(function () {
4949        if (IS_NODE) {
4950          process.emit('unhandledRejection', value, promise);
4951        } else dispatchEvent(UNHANDLED_REJECTION, promise, value);
4952      });
4953      // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should
4954      state.rejection = IS_NODE || isUnhandled(state) ? UNHANDLED : HANDLED;
4955      if (result.error) throw result.value;
4956    }
4957  });
4958};
4959
4960var isUnhandled = function (state) {
4961  return state.rejection !== HANDLED && !state.parent;
4962};
4963
4964var onHandleUnhandled = function (state) {
4965  call(task, global, function () {
4966    var promise = state.facade;
4967    if (IS_NODE) {
4968      process.emit('rejectionHandled', promise);
4969    } else dispatchEvent(REJECTION_HANDLED, promise, state.value);
4970  });
4971};
4972
4973var bind = function (fn, state, unwrap) {
4974  return function (value) {
4975    fn(state, value, unwrap);
4976  };
4977};
4978
4979var internalReject = function (state, value, unwrap) {
4980  if (state.done) return;
4981  state.done = true;
4982  if (unwrap) state = unwrap;
4983  state.value = value;
4984  state.state = REJECTED;
4985  notify(state, true);
4986};
4987
4988var internalResolve = function (state, value, unwrap) {
4989  if (state.done) return;
4990  state.done = true;
4991  if (unwrap) state = unwrap;
4992  try {
4993    if (state.facade === value) throw TypeError("Promise can't be resolved itself");
4994    var then = isThenable(value);
4995    if (then) {
4996      microtask(function () {
4997        var wrapper = { done: false };
4998        try {
4999          call(then, value,
5000            bind(internalResolve, wrapper, state),
5001            bind(internalReject, wrapper, state)
5002          );
5003        } catch (error) {
5004          internalReject(wrapper, error, state);
5005        }
5006      });
5007    } else {
5008      state.value = value;
5009      state.state = FULFILLED;
5010      notify(state, false);
5011    }
5012  } catch (error) {
5013    internalReject({ done: false }, error, state);
5014  }
5015};
5016
5017// constructor polyfill
5018if (FORCED_PROMISE_CONSTRUCTOR) {
5019  // 25.4.3.1 Promise(executor)
5020  PromiseConstructor = function Promise(executor) {
5021    anInstance(this, PromisePrototype);
5022    aCallable(executor);
5023    call(Internal, this);
5024    var state = getInternalPromiseState(this);
5025    try {
5026      executor(bind(internalResolve, state), bind(internalReject, state));
5027    } catch (error) {
5028      internalReject(state, error);
5029    }
5030  };
5031
5032  PromisePrototype = PromiseConstructor.prototype;
5033
5034  // eslint-disable-next-line no-unused-vars -- required for `.length`
5035  Internal = function Promise(executor) {
5036    setInternalState(this, {
5037      type: PROMISE,
5038      done: false,
5039      notified: false,
5040      parent: false,
5041      reactions: new Queue(),
5042      rejection: false,
5043      state: PENDING,
5044      value: undefined
5045    });
5046  };
5047
5048  // `Promise.prototype.then` method
5049  // https://tc39.es/ecma262/#sec-promise.prototype.then
5050  Internal.prototype = defineBuiltIn(PromisePrototype, 'then', function then(onFulfilled, onRejected) {
5051    var state = getInternalPromiseState(this);
5052    var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor));
5053    state.parent = true;
5054    reaction.ok = isCallable(onFulfilled) ? onFulfilled : true;
5055    reaction.fail = isCallable(onRejected) && onRejected;
5056    reaction.domain = IS_NODE ? process.domain : undefined;
5057    if (state.state == PENDING) state.reactions.add(reaction);
5058    else microtask(function () {
5059      callReaction(reaction, state);
5060    });
5061    return reaction.promise;
5062  });
5063
5064  OwnPromiseCapability = function () {
5065    var promise = new Internal();
5066    var state = getInternalPromiseState(promise);
5067    this.promise = promise;
5068    this.resolve = bind(internalResolve, state);
5069    this.reject = bind(internalReject, state);
5070  };
5071
5072  newPromiseCapabilityModule.f = newPromiseCapability = function (C) {
5073    return C === PromiseConstructor || C === PromiseWrapper
5074      ? new OwnPromiseCapability(C)
5075      : newGenericPromiseCapability(C);
5076  };
5077
5078  if (!IS_PURE && isCallable(NativePromiseConstructor) && NativePromisePrototype !== Object.prototype) {
5079    nativeThen = NativePromisePrototype.then;
5080
5081    if (!NATIVE_PROMISE_SUBCLASSING) {
5082      // make `Promise#then` return a polyfilled `Promise` for native promise-based APIs
5083      defineBuiltIn(NativePromisePrototype, 'then', function then(onFulfilled, onRejected) {
5084        var that = this;
5085        return new PromiseConstructor(function (resolve, reject) {
5086          call(nativeThen, that, resolve, reject);
5087        }).then(onFulfilled, onRejected);
5088      // https://github.com/zloirock/core-js/issues/640
5089      }, { unsafe: true });
5090    }
5091
5092    // make `.constructor === Promise` work for native promise-based APIs
5093    try {
5094      delete NativePromisePrototype.constructor;
5095    } catch (error) { /* empty */ }
5096
5097    // make `instanceof Promise` work for native promise-based APIs
5098    if (setPrototypeOf) {
5099      setPrototypeOf(NativePromisePrototype, PromisePrototype);
5100    }
5101  }
5102}
5103
5104$({ global: true, constructor: true, wrap: true, forced: FORCED_PROMISE_CONSTRUCTOR }, {
5105  Promise: PromiseConstructor
5106});
5107
5108setToStringTag(PromiseConstructor, PROMISE, false, true);
5109setSpecies(PROMISE);
5110
5111
5112/***/ }),
5113
5114/***/ 8674:
5115/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
5116
5117// TODO: Remove this module from `core-js@4` since it's split to modules listed below
5118__webpack_require__(3401);
5119__webpack_require__(821);
5120__webpack_require__(4164);
5121__webpack_require__(6027);
5122__webpack_require__(683);
5123__webpack_require__(6294);
5124
5125
5126/***/ }),
5127
5128/***/ 6027:
5129/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
5130
5131"use strict";
5132
5133var $ = __webpack_require__(2109);
5134var call = __webpack_require__(6916);
5135var aCallable = __webpack_require__(9662);
5136var newPromiseCapabilityModule = __webpack_require__(8523);
5137var perform = __webpack_require__(2534);
5138var iterate = __webpack_require__(408);
5139var PROMISE_STATICS_INCORRECT_ITERATION = __webpack_require__(612);
5140
5141// `Promise.race` method
5142// https://tc39.es/ecma262/#sec-promise.race
5143$({ target: 'Promise', stat: true, forced: PROMISE_STATICS_INCORRECT_ITERATION }, {
5144  race: function race(iterable) {
5145    var C = this;
5146    var capability = newPromiseCapabilityModule.f(C);
5147    var reject = capability.reject;
5148    var result = perform(function () {
5149      var $promiseResolve = aCallable(C.resolve);
5150      iterate(iterable, function (promise) {
5151        call($promiseResolve, C, promise).then(capability.resolve, reject);
5152      });
5153    });
5154    if (result.error) reject(result.value);
5155    return capability.promise;
5156  }
5157});
5158
5159
5160/***/ }),
5161
5162/***/ 683:
5163/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
5164
5165"use strict";
5166
5167var $ = __webpack_require__(2109);
5168var call = __webpack_require__(6916);
5169var newPromiseCapabilityModule = __webpack_require__(8523);
5170var FORCED_PROMISE_CONSTRUCTOR = (__webpack_require__(3702).CONSTRUCTOR);
5171
5172// `Promise.reject` method
5173// https://tc39.es/ecma262/#sec-promise.reject
5174$({ target: 'Promise', stat: true, forced: FORCED_PROMISE_CONSTRUCTOR }, {
5175  reject: function reject(r) {
5176    var capability = newPromiseCapabilityModule.f(this);
5177    call(capability.reject, undefined, r);
5178    return capability.promise;
5179  }
5180});
5181
5182
5183/***/ }),
5184
5185/***/ 6294:
5186/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
5187
5188"use strict";
5189
5190var $ = __webpack_require__(2109);
5191var getBuiltIn = __webpack_require__(5005);
5192var IS_PURE = __webpack_require__(1913);
5193var NativePromiseConstructor = __webpack_require__(2492);
5194var FORCED_PROMISE_CONSTRUCTOR = (__webpack_require__(3702).CONSTRUCTOR);
5195var promiseResolve = __webpack_require__(9478);
5196
5197var PromiseConstructorWrapper = getBuiltIn('Promise');
5198var CHECK_WRAPPER = IS_PURE && !FORCED_PROMISE_CONSTRUCTOR;
5199
5200// `Promise.resolve` method
5201// https://tc39.es/ecma262/#sec-promise.resolve
5202$({ target: 'Promise', stat: true, forced: IS_PURE || FORCED_PROMISE_CONSTRUCTOR }, {
5203  resolve: function resolve(x) {
5204    return promiseResolve(CHECK_WRAPPER && this === PromiseConstructorWrapper ? NativePromiseConstructor : this, x);
5205  }
5206});
5207
5208
5209/***/ }),
5210
5211/***/ 4916:
5212/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
5213
5214"use strict";
5215
5216var $ = __webpack_require__(2109);
5217var exec = __webpack_require__(2261);
5218
5219// `RegExp.prototype.exec` method
5220// https://tc39.es/ecma262/#sec-regexp.prototype.exec
5221$({ target: 'RegExp', proto: true, forced: /./.exec !== exec }, {
5222  exec: exec
5223});
5224
5225
5226/***/ }),
5227
5228/***/ 7601:
5229/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
5230
5231"use strict";
5232
5233// TODO: Remove from `core-js@4` since it's moved to entry points
5234__webpack_require__(4916);
5235var $ = __webpack_require__(2109);
5236var call = __webpack_require__(6916);
5237var isCallable = __webpack_require__(614);
5238var anObject = __webpack_require__(9670);
5239var toString = __webpack_require__(1340);
5240
5241var DELEGATES_TO_EXEC = function () {
5242  var execCalled = false;
5243  var re = /[ac]/;
5244  re.exec = function () {
5245    execCalled = true;
5246    return /./.exec.apply(this, arguments);
5247  };
5248  return re.test('abc') === true && execCalled;
5249}();
5250
5251var nativeTest = /./.test;
5252
5253// `RegExp.prototype.test` method
5254// https://tc39.es/ecma262/#sec-regexp.prototype.test
5255$({ target: 'RegExp', proto: true, forced: !DELEGATES_TO_EXEC }, {
5256  test: function (S) {
5257    var R = anObject(this);
5258    var string = toString(S);
5259    var exec = R.exec;
5260    if (!isCallable(exec)) return call(nativeTest, R, string);
5261    var result = call(exec, R, string);
5262    if (result === null) return false;
5263    anObject(result);
5264    return true;
5265  }
5266});
5267
5268
5269/***/ }),
5270
5271/***/ 9714:
5272/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
5273
5274"use strict";
5275
5276var PROPER_FUNCTION_NAME = (__webpack_require__(6530).PROPER);
5277var defineBuiltIn = __webpack_require__(8052);
5278var anObject = __webpack_require__(9670);
5279var $toString = __webpack_require__(1340);
5280var fails = __webpack_require__(7293);
5281var getRegExpFlags = __webpack_require__(4706);
5282
5283var TO_STRING = 'toString';
5284var RegExpPrototype = RegExp.prototype;
5285var nativeToString = RegExpPrototype[TO_STRING];
5286
5287var NOT_GENERIC = fails(function () { return nativeToString.call({ source: 'a', flags: 'b' }) != '/a/b'; });
5288// FF44- RegExp#toString has a wrong name
5289var INCORRECT_NAME = PROPER_FUNCTION_NAME && nativeToString.name != TO_STRING;
5290
5291// `RegExp.prototype.toString` method
5292// https://tc39.es/ecma262/#sec-regexp.prototype.tostring
5293if (NOT_GENERIC || INCORRECT_NAME) {
5294  defineBuiltIn(RegExp.prototype, TO_STRING, function toString() {
5295    var R = anObject(this);
5296    var pattern = $toString(R.source);
5297    var flags = $toString(getRegExpFlags(R));
5298    return '/' + pattern + '/' + flags;
5299  }, { unsafe: true });
5300}
5301
5302
5303/***/ }),
5304
5305/***/ 2023:
5306/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
5307
5308"use strict";
5309
5310var $ = __webpack_require__(2109);
5311var uncurryThis = __webpack_require__(1702);
5312var notARegExp = __webpack_require__(3929);
5313var requireObjectCoercible = __webpack_require__(4488);
5314var toString = __webpack_require__(1340);
5315var correctIsRegExpLogic = __webpack_require__(4964);
5316
5317var stringIndexOf = uncurryThis(''.indexOf);
5318
vendor: 2,561 bytes, lines 5319-5392
5319// `String.prototype.includes` method
5320// https://tc39.es/ecma262/#sec-string.prototype.includes
5321$({ target: 'String', proto: true, forced: !correctIsRegExpLogic('includes') }, {
5322  includes: function includes(searchString /* , position = 0 */) {
5323    return !!~stringIndexOf(
5324      toString(requireObjectCoercible(this)),
5325      toString(notARegExp(searchString)),
5326      arguments.length > 1 ? arguments[1] : undefined
5327    );
5328  }
5329});
5330
5331
5332/***/ }),
5333
5334/***/ 8783:
5335/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
5336
5337"use strict";
5338
5339var charAt = (__webpack_require__(8710).charAt);
5340var toString = __webpack_require__(1340);
5341var InternalStateModule = __webpack_require__(9909);
5342var defineIterator = __webpack_require__(1656);
5343var createIterResultObject = __webpack_require__(6178);
5344
5345var STRING_ITERATOR = 'String Iterator';
5346var setInternalState = InternalStateModule.set;
5347var getInternalState = InternalStateModule.getterFor(STRING_ITERATOR);
5348
5349// `String.prototype[@@iterator]` method
5350// https://tc39.es/ecma262/#sec-string.prototype-@@iterator
5351defineIterator(String, 'String', function (iterated) {
5352  setInternalState(this, {
5353    type: STRING_ITERATOR,
5354    string: toString(iterated),
5355    index: 0
5356  });
5357// `%StringIteratorPrototype%.next` method
5358// https://tc39.es/ecma262/#sec-%stringiteratorprototype%.next
5359}, function next() {
5360  var state = getInternalState(this);
5361  var string = state.string;
5362  var index = state.index;
5363  var point;
5364  if (index >= string.length) return createIterResultObject(undefined, true);
5365  point = charAt(string, index);
5366  state.index += point.length;
5367  return createIterResultObject(point, false);
5368});
5369
5370
5371/***/ }),
5372
5373/***/ 5306:
5374/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
5375
5376"use strict";
5377
5378var apply = __webpack_require__(2104);
5379var call = __webpack_require__(6916);
5380var uncurryThis = __webpack_require__(1702);
5381var fixRegExpWellKnownSymbolLogic = __webpack_require__(7007);
5382var fails = __webpack_require__(7293);
5383var anObject = __webpack_require__(9670);
5384var isCallable = __webpack_require__(614);
5385var isNullOrUndefined = __webpack_require__(8554);
5386var toIntegerOrInfinity = __webpack_require__(9303);
5387var toLength = __webpack_require__(7466);
5388var toString = __webpack_require__(1340);
5389var requireObjectCoercible = __webpack_require__(4488);
5390var advanceStringIndex = __webpack_require__(1530);
5391var getMethod = __webpack_require__(8173);
5392var getSubstitution = __webpack_require__(647);
vendor: 4,139 bytes, lines 5393-5500
5393var regExpExec = __webpack_require__(7651);
5394var wellKnownSymbol = __webpack_require__(5112);
5395
5396var REPLACE = wellKnownSymbol('replace');
5397var max = Math.max;
5398var min = Math.min;
5399var concat = uncurryThis([].concat);
5400var push = uncurryThis([].push);
5401var stringIndexOf = uncurryThis(''.indexOf);
5402var stringSlice = uncurryThis(''.slice);
5403
5404var maybeToString = function (it) {
5405  return it === undefined ? it : String(it);
5406};
5407
5408// IE <= 11 replaces $0 with the whole match, as if it was $&
5409// https://stackoverflow.com/questions/6024666/getting-ie-to-replace-a-regex-with-the-literal-string-0
5410var REPLACE_KEEPS_$0 = (function () {
5411  // eslint-disable-next-line regexp/prefer-escape-replacement-dollar-char -- required for testing
5412  return 'a'.replace(/./, '$0') === '$0';
5413})();
5414
5415// Safari <= 13.0.3(?) substitutes nth capture where n>m with an empty string
5416var REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = (function () {
5417  if (/./[REPLACE]) {
5418    return /./[REPLACE]('a', '$0') === '';
5419  }
5420  return false;
5421})();
5422
5423var REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {
5424  var re = /./;
5425  re.exec = function () {
5426    var result = [];
5427    result.groups = { a: '7' };
5428    return result;
5429  };
5430  // eslint-disable-next-line regexp/no-useless-dollar-replacements -- false positive
5431  return ''.replace(re, '$<a>') !== '7';
5432});
5433
5434// @@replace logic
5435fixRegExpWellKnownSymbolLogic('replace', function (_, nativeReplace, maybeCallNative) {
5436  var UNSAFE_SUBSTITUTE = REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE ? '$' : '$0';
5437
5438  return [
5439    // `String.prototype.replace` method
5440    // https://tc39.es/ecma262/#sec-string.prototype.replace
5441    function replace(searchValue, replaceValue) {
5442      var O = requireObjectCoercible(this);
5443      var replacer = isNullOrUndefined(searchValue) ? undefined : getMethod(searchValue, REPLACE);
5444      return replacer
5445        ? call(replacer, searchValue, O, replaceValue)
5446        : call(nativeReplace, toString(O), searchValue, replaceValue);
5447    },
5448    // `RegExp.prototype[@@replace]` method
5449    // https://tc39.es/ecma262/#sec-regexp.prototype-@@replace
5450    function (string, replaceValue) {
5451      var rx = anObject(this);
5452      var S = toString(string);
5453
5454      if (
5455        typeof replaceValue == 'string' &&
5456        stringIndexOf(replaceValue, UNSAFE_SUBSTITUTE) === -1 &&
5457        stringIndexOf(replaceValue, '$<') === -1
5458      ) {
5459        var res = maybeCallNative(nativeReplace, rx, S, replaceValue);
5460        if (res.done) return res.value;
5461      }
5462
5463      var functionalReplace = isCallable(replaceValue);
5464      if (!functionalReplace) replaceValue = toString(replaceValue);
5465
5466      var global = rx.global;
5467      if (global) {
5468        var fullUnicode = rx.unicode;
5469        rx.lastIndex = 0;
5470      }
5471      var results = [];
5472      while (true) {
5473        var result = regExpExec(rx, S);
5474        if (result === null) break;
5475
5476        push(results, result);
5477        if (!global) break;
5478
5479        var matchStr = toString(result[0]);
5480        if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);
5481      }
5482
5483      var accumulatedResult = '';
5484      var nextSourcePosition = 0;
5485      for (var i = 0; i < results.length; i++) {
5486        result = results[i];
5487
5488        var matched = toString(result[0]);
5489        var position = max(min(toIntegerOrInfinity(result.index), S.length), 0);
5490        var captures = [];
5491        // NOTE: This is equivalent to
5492        //   captures = result.slice(1).map(maybeToString)
5493        // but for some reason `nativeSlice.call(result, 1, result.length)` (called in
5494        // the slice polyfill when slicing native arrays) "doesn't work" in safari 9 and
5495        // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it.
5496        for (var j = 1; j < result.length; j++) push(captures, maybeToString(result[j]));
5497        var namedCaptures = result.groups;
5498        if (functionalReplace) {
5499          var replacerArgs = concat([matched], captures, position, S);
5500          if (namedCaptures !== undefined) push(replacerArgs, namedCaptures);
vendor: 5,319 bytes, lines 5501-5637
5501          var replacement = toString(apply(replaceValue, undefined, replacerArgs));
5502        } else {
5503          replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);
5504        }
5505        if (position >= nextSourcePosition) {
5506          accumulatedResult += stringSlice(S, nextSourcePosition, position) + replacement;
5507          nextSourcePosition = position + matched.length;
5508        }
5509      }
5510      return accumulatedResult + stringSlice(S, nextSourcePosition);
5511    }
5512  ];
5513}, !REPLACE_SUPPORTS_NAMED_GROUPS || !REPLACE_KEEPS_$0 || REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE);
5514
5515
5516/***/ }),
5517
5518/***/ 4765:
5519/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
5520
5521"use strict";
5522
5523var call = __webpack_require__(6916);
5524var fixRegExpWellKnownSymbolLogic = __webpack_require__(7007);
5525var anObject = __webpack_require__(9670);
5526var isNullOrUndefined = __webpack_require__(8554);
5527var requireObjectCoercible = __webpack_require__(4488);
5528var sameValue = __webpack_require__(1150);
5529var toString = __webpack_require__(1340);
5530var getMethod = __webpack_require__(8173);
5531var regExpExec = __webpack_require__(7651);
5532
5533// @@search logic
5534fixRegExpWellKnownSymbolLogic('search', function (SEARCH, nativeSearch, maybeCallNative) {
5535  return [
5536    // `String.prototype.search` method
5537    // https://tc39.es/ecma262/#sec-string.prototype.search
5538    function search(regexp) {
5539      var O = requireObjectCoercible(this);
5540      var searcher = isNullOrUndefined(regexp) ? undefined : getMethod(regexp, SEARCH);
5541      return searcher ? call(searcher, regexp, O) : new RegExp(regexp)[SEARCH](toString(O));
5542    },
5543    // `RegExp.prototype[@@search]` method
5544    // https://tc39.es/ecma262/#sec-regexp.prototype-@@search
5545    function (string) {
5546      var rx = anObject(this);
5547      var S = toString(string);
5548      var res = maybeCallNative(nativeSearch, rx, S);
5549
5550      if (res.done) return res.value;
5551
5552      var previousLastIndex = rx.lastIndex;
5553      if (!sameValue(previousLastIndex, 0)) rx.lastIndex = 0;
5554      var result = regExpExec(rx, S);
5555      if (!sameValue(rx.lastIndex, previousLastIndex)) rx.lastIndex = previousLastIndex;
5556      return result === null ? -1 : result.index;
5557    }
5558  ];
5559});
5560
5561
5562/***/ }),
5563
5564/***/ 2443:
5565/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
5566
5567var defineWellKnownSymbol = __webpack_require__(6800);
5568
5569// `Symbol.asyncIterator` well-known symbol
5570// https://tc39.es/ecma262/#sec-symbol.asynciterator
5571defineWellKnownSymbol('asyncIterator');
5572
5573
5574/***/ }),
5575
5576/***/ 4032:
5577/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
5578
5579"use strict";
5580
5581var $ = __webpack_require__(2109);
5582var global = __webpack_require__(7854);
5583var call = __webpack_require__(6916);
5584var uncurryThis = __webpack_require__(1702);
5585var IS_PURE = __webpack_require__(1913);
5586var DESCRIPTORS = __webpack_require__(9781);
5587var NATIVE_SYMBOL = __webpack_require__(6293);
5588var fails = __webpack_require__(7293);
5589var hasOwn = __webpack_require__(2597);
5590var isPrototypeOf = __webpack_require__(7976);
5591var anObject = __webpack_require__(9670);
5592var toIndexedObject = __webpack_require__(5656);
5593var toPropertyKey = __webpack_require__(4948);
5594var $toString = __webpack_require__(1340);
5595var createPropertyDescriptor = __webpack_require__(9114);
5596var nativeObjectCreate = __webpack_require__(30);
5597var objectKeys = __webpack_require__(1956);
5598var getOwnPropertyNamesModule = __webpack_require__(8006);
5599var getOwnPropertyNamesExternal = __webpack_require__(1156);
5600var getOwnPropertySymbolsModule = __webpack_require__(5181);
5601var getOwnPropertyDescriptorModule = __webpack_require__(1236);
5602var definePropertyModule = __webpack_require__(3070);
5603var definePropertiesModule = __webpack_require__(6048);
5604var propertyIsEnumerableModule = __webpack_require__(5296);
5605var defineBuiltIn = __webpack_require__(8052);
5606var defineBuiltInAccessor = __webpack_require__(7045);
5607var shared = __webpack_require__(2309);
5608var sharedKey = __webpack_require__(6200);
5609var hiddenKeys = __webpack_require__(3501);
5610var uid = __webpack_require__(9711);
5611var wellKnownSymbol = __webpack_require__(5112);
5612var wrappedWellKnownSymbolModule = __webpack_require__(6061);
5613var defineWellKnownSymbol = __webpack_require__(6800);
5614var defineSymbolToPrimitive = __webpack_require__(6532);
5615var setToStringTag = __webpack_require__(8003);
5616var InternalStateModule = __webpack_require__(9909);
5617var $forEach = (__webpack_require__(2092).forEach);
5618
5619var HIDDEN = sharedKey('hidden');
5620var SYMBOL = 'Symbol';
5621var PROTOTYPE = 'prototype';
5622
5623var setInternalState = InternalStateModule.set;
5624var getInternalState = InternalStateModule.getterFor(SYMBOL);
5625
5626var ObjectPrototype = Object[PROTOTYPE];
5627var $Symbol = global.Symbol;
5628var SymbolPrototype = $Symbol && $Symbol[PROTOTYPE];
5629var TypeError = global.TypeError;
5630var QObject = global.QObject;
5631var nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;
5632var nativeDefineProperty = definePropertyModule.f;
5633var nativeGetOwnPropertyNames = getOwnPropertyNamesExternal.f;
5634var nativePropertyIsEnumerable = propertyIsEnumerableModule.f;
5635var push = uncurryThis([].push);
5636
5637var AllSymbols = shared('symbols');
vendor: 4,799 bytes, lines 5638-5750
5638var ObjectPrototypeSymbols = shared('op-symbols');
5639var WellKnownSymbolsStore = shared('wks');
5640
5641// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173
5642var USE_SETTER = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;
5643
5644// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687
5645var setSymbolDescriptor = DESCRIPTORS && fails(function () {
5646  return nativeObjectCreate(nativeDefineProperty({}, 'a', {
5647    get: function () { return nativeDefineProperty(this, 'a', { value: 7 }).a; }
5648  })).a != 7;
5649}) ? function (O, P, Attributes) {
5650  var ObjectPrototypeDescriptor = nativeGetOwnPropertyDescriptor(ObjectPrototype, P);
5651  if (ObjectPrototypeDescriptor) delete ObjectPrototype[P];
5652  nativeDefineProperty(O, P, Attributes);
5653  if (ObjectPrototypeDescriptor && O !== ObjectPrototype) {
5654    nativeDefineProperty(ObjectPrototype, P, ObjectPrototypeDescriptor);
5655  }
5656} : nativeDefineProperty;
5657
5658var wrap = function (tag, description) {
5659  var symbol = AllSymbols[tag] = nativeObjectCreate(SymbolPrototype);
5660  setInternalState(symbol, {
5661    type: SYMBOL,
5662    tag: tag,
5663    description: description
5664  });
5665  if (!DESCRIPTORS) symbol.description = description;
5666  return symbol;
5667};
5668
5669var $defineProperty = function defineProperty(O, P, Attributes) {
5670  if (O === ObjectPrototype) $defineProperty(ObjectPrototypeSymbols, P, Attributes);
5671  anObject(O);
5672  var key = toPropertyKey(P);
5673  anObject(Attributes);
5674  if (hasOwn(AllSymbols, key)) {
5675    if (!Attributes.enumerable) {
5676      if (!hasOwn(O, HIDDEN)) nativeDefineProperty(O, HIDDEN, createPropertyDescriptor(1, {}));
5677      O[HIDDEN][key] = true;
5678    } else {
5679      if (hasOwn(O, HIDDEN) && O[HIDDEN][key]) O[HIDDEN][key] = false;
5680      Attributes = nativeObjectCreate(Attributes, { enumerable: createPropertyDescriptor(0, false) });
5681    } return setSymbolDescriptor(O, key, Attributes);
5682  } return nativeDefineProperty(O, key, Attributes);
5683};
5684
5685var $defineProperties = function defineProperties(O, Properties) {
5686  anObject(O);
5687  var properties = toIndexedObject(Properties);
5688  var keys = objectKeys(properties).concat($getOwnPropertySymbols(properties));
5689  $forEach(keys, function (key) {
5690    if (!DESCRIPTORS || call($propertyIsEnumerable, properties, key)) $defineProperty(O, key, properties[key]);
5691  });
5692  return O;
5693};
5694
5695var $create = function create(O, Properties) {
5696  return Properties === undefined ? nativeObjectCreate(O) : $defineProperties(nativeObjectCreate(O), Properties);
5697};
5698
5699var $propertyIsEnumerable = function propertyIsEnumerable(V) {
5700  var P = toPropertyKey(V);
5701  var enumerable = call(nativePropertyIsEnumerable, this, P);
5702  if (this === ObjectPrototype && hasOwn(AllSymbols, P) && !hasOwn(ObjectPrototypeSymbols, P)) return false;
5703  return enumerable || !hasOwn(this, P) || !hasOwn(AllSymbols, P) || hasOwn(this, HIDDEN) && this[HIDDEN][P]
5704    ? enumerable : true;
5705};
5706
5707var $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(O, P) {
5708  var it = toIndexedObject(O);
5709  var key = toPropertyKey(P);
5710  if (it === ObjectPrototype && hasOwn(AllSymbols, key) && !hasOwn(ObjectPrototypeSymbols, key)) return;
5711  var descriptor = nativeGetOwnPropertyDescriptor(it, key);
5712  if (descriptor && hasOwn(AllSymbols, key) && !(hasOwn(it, HIDDEN) && it[HIDDEN][key])) {
5713    descriptor.enumerable = true;
5714  }
5715  return descriptor;
5716};
5717
5718var $getOwnPropertyNames = function getOwnPropertyNames(O) {
5719  var names = nativeGetOwnPropertyNames(toIndexedObject(O));
5720  var result = [];
5721  $forEach(names, function (key) {
5722    if (!hasOwn(AllSymbols, key) && !hasOwn(hiddenKeys, key)) push(result, key);
5723  });
5724  return result;
5725};
5726
5727var $getOwnPropertySymbols = function (O) {
5728  var IS_OBJECT_PROTOTYPE = O === ObjectPrototype;
5729  var names = nativeGetOwnPropertyNames(IS_OBJECT_PROTOTYPE ? ObjectPrototypeSymbols : toIndexedObject(O));
5730  var result = [];
5731  $forEach(names, function (key) {
5732    if (hasOwn(AllSymbols, key) && (!IS_OBJECT_PROTOTYPE || hasOwn(ObjectPrototype, key))) {
5733      push(result, AllSymbols[key]);
5734    }
5735  });
5736  return result;
5737};
5738
5739// `Symbol` constructor
5740// https://tc39.es/ecma262/#sec-symbol-constructor
5741if (!NATIVE_SYMBOL) {
5742  $Symbol = function Symbol() {
5743    if (isPrototypeOf(SymbolPrototype, this)) throw TypeError('Symbol is not a constructor');
5744    var description = !arguments.length || arguments[0] === undefined ? undefined : $toString(arguments[0]);
5745    var tag = uid(description);
5746    var setter = function (value) {
5747      if (this === ObjectPrototype) call(setter, ObjectPrototypeSymbols, value);
5748      if (hasOwn(this, HIDDEN) && hasOwn(this[HIDDEN], tag)) this[HIDDEN][tag] = false;
5749      setSymbolDescriptor(this, tag, createPropertyDescriptor(1, value));
5750    };
vendor: 12,781 bytes, lines 5751-6126
5751    if (DESCRIPTORS && USE_SETTER) setSymbolDescriptor(ObjectPrototype, tag, { configurable: true, set: setter });
5752    return wrap(tag, description);
5753  };
5754
5755  SymbolPrototype = $Symbol[PROTOTYPE];
5756
5757  defineBuiltIn(SymbolPrototype, 'toString', function toString() {
5758    return getInternalState(this).tag;
5759  });
5760
5761  defineBuiltIn($Symbol, 'withoutSetter', function (description) {
5762    return wrap(uid(description), description);
5763  });
5764
5765  propertyIsEnumerableModule.f = $propertyIsEnumerable;
5766  definePropertyModule.f = $defineProperty;
5767  definePropertiesModule.f = $defineProperties;
5768  getOwnPropertyDescriptorModule.f = $getOwnPropertyDescriptor;
5769  getOwnPropertyNamesModule.f = getOwnPropertyNamesExternal.f = $getOwnPropertyNames;
5770  getOwnPropertySymbolsModule.f = $getOwnPropertySymbols;
5771
5772  wrappedWellKnownSymbolModule.f = function (name) {
5773    return wrap(wellKnownSymbol(name), name);
5774  };
5775
5776  if (DESCRIPTORS) {
5777    // https://github.com/tc39/proposal-Symbol-description
5778    defineBuiltInAccessor(SymbolPrototype, 'description', {
5779      configurable: true,
5780      get: function description() {
5781        return getInternalState(this).description;
5782      }
5783    });
5784    if (!IS_PURE) {
5785      defineBuiltIn(ObjectPrototype, 'propertyIsEnumerable', $propertyIsEnumerable, { unsafe: true });
5786    }
5787  }
5788}
5789
5790$({ global: true, constructor: true, wrap: true, forced: !NATIVE_SYMBOL, sham: !NATIVE_SYMBOL }, {
5791  Symbol: $Symbol
5792});
5793
5794$forEach(objectKeys(WellKnownSymbolsStore), function (name) {
5795  defineWellKnownSymbol(name);
5796});
5797
5798$({ target: SYMBOL, stat: true, forced: !NATIVE_SYMBOL }, {
5799  useSetter: function () { USE_SETTER = true; },
5800  useSimple: function () { USE_SETTER = false; }
5801});
5802
5803$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL, sham: !DESCRIPTORS }, {
5804  // `Object.create` method
5805  // https://tc39.es/ecma262/#sec-object.create
5806  create: $create,
5807  // `Object.defineProperty` method
5808  // https://tc39.es/ecma262/#sec-object.defineproperty
5809  defineProperty: $defineProperty,
5810  // `Object.defineProperties` method
5811  // https://tc39.es/ecma262/#sec-object.defineproperties
5812  defineProperties: $defineProperties,
5813  // `Object.getOwnPropertyDescriptor` method
5814  // https://tc39.es/ecma262/#sec-object.getownpropertydescriptors
5815  getOwnPropertyDescriptor: $getOwnPropertyDescriptor
5816});
5817
5818$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL }, {
5819  // `Object.getOwnPropertyNames` method
5820  // https://tc39.es/ecma262/#sec-object.getownpropertynames
5821  getOwnPropertyNames: $getOwnPropertyNames
5822});
5823
5824// `Symbol.prototype[@@toPrimitive]` method
5825// https://tc39.es/ecma262/#sec-symbol.prototype-@@toprimitive
5826defineSymbolToPrimitive();
5827
5828// `Symbol.prototype[@@toStringTag]` property
5829// https://tc39.es/ecma262/#sec-symbol.prototype-@@tostringtag
5830setToStringTag($Symbol, SYMBOL);
5831
5832hiddenKeys[HIDDEN] = true;
5833
5834
5835/***/ }),
5836
5837/***/ 1817:
5838/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
5839
5840"use strict";
5841// `Symbol.prototype.description` getter
5842// https://tc39.es/ecma262/#sec-symbol.prototype.description
5843
5844var $ = __webpack_require__(2109);
5845var DESCRIPTORS = __webpack_require__(9781);
5846var global = __webpack_require__(7854);
5847var uncurryThis = __webpack_require__(1702);
5848var hasOwn = __webpack_require__(2597);
5849var isCallable = __webpack_require__(614);
5850var isPrototypeOf = __webpack_require__(7976);
5851var toString = __webpack_require__(1340);
5852var defineBuiltInAccessor = __webpack_require__(7045);
5853var copyConstructorProperties = __webpack_require__(9920);
5854
5855var NativeSymbol = global.Symbol;
5856var SymbolPrototype = NativeSymbol && NativeSymbol.prototype;
5857
5858if (DESCRIPTORS && isCallable(NativeSymbol) && (!('description' in SymbolPrototype) ||
5859  // Safari 12 bug
5860  NativeSymbol().description !== undefined
5861)) {
5862  var EmptyStringDescriptionStore = {};
5863  // wrap Symbol constructor for correct work with undefined description
5864  var SymbolWrapper = function Symbol() {
5865    var description = arguments.length < 1 || arguments[0] === undefined ? undefined : toString(arguments[0]);
5866    var result = isPrototypeOf(SymbolPrototype, this)
5867      ? new NativeSymbol(description)
5868      // in Edge 13, String(Symbol(undefined)) === 'Symbol(undefined)'
5869      : description === undefined ? NativeSymbol() : NativeSymbol(description);
5870    if (description === '') EmptyStringDescriptionStore[result] = true;
5871    return result;
5872  };
5873
5874  copyConstructorProperties(SymbolWrapper, NativeSymbol);
5875  SymbolWrapper.prototype = SymbolPrototype;
5876  SymbolPrototype.constructor = SymbolWrapper;
5877
5878  var NATIVE_SYMBOL = String(NativeSymbol('test')) == 'Symbol(test)';
5879  var thisSymbolValue = uncurryThis(SymbolPrototype.valueOf);
5880  var symbolDescriptiveString = uncurryThis(SymbolPrototype.toString);
5881  var regexp = /^Symbol\((.*)\)[^)]+$/;
5882  var replace = uncurryThis(''.replace);
5883  var stringSlice = uncurryThis(''.slice);
5884
5885  defineBuiltInAccessor(SymbolPrototype, 'description', {
5886    configurable: true,
5887    get: function description() {
5888      var symbol = thisSymbolValue(this);
5889      if (hasOwn(EmptyStringDescriptionStore, symbol)) return '';
5890      var string = symbolDescriptiveString(symbol);
5891      var desc = NATIVE_SYMBOL ? stringSlice(string, 7, -1) : replace(string, regexp, '$1');
5892      return desc === '' ? undefined : desc;
5893    }
5894  });
5895
5896  $({ global: true, constructor: true, forced: true }, {
5897    Symbol: SymbolWrapper
5898  });
5899}
5900
5901
5902/***/ }),
5903
5904/***/ 763:
5905/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
5906
5907var $ = __webpack_require__(2109);
5908var getBuiltIn = __webpack_require__(5005);
5909var hasOwn = __webpack_require__(2597);
5910var toString = __webpack_require__(1340);
5911var shared = __webpack_require__(2309);
5912var NATIVE_SYMBOL_REGISTRY = __webpack_require__(2015);
5913
5914var StringToSymbolRegistry = shared('string-to-symbol-registry');
5915var SymbolToStringRegistry = shared('symbol-to-string-registry');
5916
5917// `Symbol.for` method
5918// https://tc39.es/ecma262/#sec-symbol.for
5919$({ target: 'Symbol', stat: true, forced: !NATIVE_SYMBOL_REGISTRY }, {
5920  'for': function (key) {
5921    var string = toString(key);
5922    if (hasOwn(StringToSymbolRegistry, string)) return StringToSymbolRegistry[string];
5923    var symbol = getBuiltIn('Symbol')(string);
5924    StringToSymbolRegistry[string] = symbol;
5925    SymbolToStringRegistry[symbol] = string;
5926    return symbol;
5927  }
5928});
5929
5930
5931/***/ }),
5932
5933/***/ 2165:
5934/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
5935
5936var defineWellKnownSymbol = __webpack_require__(6800);
5937
5938// `Symbol.iterator` well-known symbol
5939// https://tc39.es/ecma262/#sec-symbol.iterator
5940defineWellKnownSymbol('iterator');
5941
5942
5943/***/ }),
5944
5945/***/ 2526:
5946/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
5947
5948// TODO: Remove this module from `core-js@4` since it's split to modules listed below
5949__webpack_require__(4032);
5950__webpack_require__(763);
5951__webpack_require__(6620);
5952__webpack_require__(8862);
5953__webpack_require__(9660);
5954
5955
5956/***/ }),
5957
5958/***/ 6620:
5959/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
5960
5961var $ = __webpack_require__(2109);
5962var hasOwn = __webpack_require__(2597);
5963var isSymbol = __webpack_require__(2190);
5964var tryToString = __webpack_require__(6330);
5965var shared = __webpack_require__(2309);
5966var NATIVE_SYMBOL_REGISTRY = __webpack_require__(2015);
5967
5968var SymbolToStringRegistry = shared('symbol-to-string-registry');
5969
5970// `Symbol.keyFor` method
5971// https://tc39.es/ecma262/#sec-symbol.keyfor
5972$({ target: 'Symbol', stat: true, forced: !NATIVE_SYMBOL_REGISTRY }, {
5973  keyFor: function keyFor(sym) {
5974    if (!isSymbol(sym)) throw TypeError(tryToString(sym) + ' is not a symbol');
5975    if (hasOwn(SymbolToStringRegistry, sym)) return SymbolToStringRegistry[sym];
5976  }
5977});
5978
5979
5980/***/ }),
5981
5982/***/ 6649:
5983/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
5984
5985var defineWellKnownSymbol = __webpack_require__(6800);
5986var defineSymbolToPrimitive = __webpack_require__(6532);
5987
5988// `Symbol.toPrimitive` well-known symbol
5989// https://tc39.es/ecma262/#sec-symbol.toprimitive
5990defineWellKnownSymbol('toPrimitive');
5991
5992// `Symbol.prototype[@@toPrimitive]` method
5993// https://tc39.es/ecma262/#sec-symbol.prototype-@@toprimitive
5994defineSymbolToPrimitive();
5995
5996
5997/***/ }),
5998
5999/***/ 3680:
6000/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
6001
6002var getBuiltIn = __webpack_require__(5005);
6003var defineWellKnownSymbol = __webpack_require__(6800);
6004var setToStringTag = __webpack_require__(8003);
6005
6006// `Symbol.toStringTag` well-known symbol
6007// https://tc39.es/ecma262/#sec-symbol.tostringtag
6008defineWellKnownSymbol('toStringTag');
6009
6010// `Symbol.prototype[@@toStringTag]` property
6011// https://tc39.es/ecma262/#sec-symbol.prototype-@@tostringtag
6012setToStringTag(getBuiltIn('Symbol'), 'Symbol');
6013
6014
6015/***/ }),
6016
6017/***/ 4747:
6018/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
6019
6020var global = __webpack_require__(7854);
6021var DOMIterables = __webpack_require__(8324);
6022var DOMTokenListPrototype = __webpack_require__(8509);
6023var forEach = __webpack_require__(8533);
6024var createNonEnumerableProperty = __webpack_require__(8880);
6025
6026var handlePrototype = function (CollectionPrototype) {
6027  // some Chrome versions have non-configurable methods on DOMTokenList
6028  if (CollectionPrototype && CollectionPrototype.forEach !== forEach) try {
6029    createNonEnumerableProperty(CollectionPrototype, 'forEach', forEach);
6030  } catch (error) {
6031    CollectionPrototype.forEach = forEach;
6032  }
6033};
6034
6035for (var COLLECTION_NAME in DOMIterables) {
6036  if (DOMIterables[COLLECTION_NAME]) {
6037    handlePrototype(global[COLLECTION_NAME] && global[COLLECTION_NAME].prototype);
6038  }
6039}
6040
6041handlePrototype(DOMTokenListPrototype);
6042
6043
6044/***/ }),
6045
6046/***/ 3948:
6047/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
6048
6049var global = __webpack_require__(7854);
6050var DOMIterables = __webpack_require__(8324);
6051var DOMTokenListPrototype = __webpack_require__(8509);
6052var ArrayIteratorMethods = __webpack_require__(6992);
6053var createNonEnumerableProperty = __webpack_require__(8880);
6054var wellKnownSymbol = __webpack_require__(5112);
6055
6056var ITERATOR = wellKnownSymbol('iterator');
6057var TO_STRING_TAG = wellKnownSymbol('toStringTag');
6058var ArrayValues = ArrayIteratorMethods.values;
6059
6060var handlePrototype = function (CollectionPrototype, COLLECTION_NAME) {
6061  if (CollectionPrototype) {
6062    // some Chrome versions have non-configurable methods on DOMTokenList
6063    if (CollectionPrototype[ITERATOR] !== ArrayValues) try {
6064      createNonEnumerableProperty(CollectionPrototype, ITERATOR, ArrayValues);
6065    } catch (error) {
6066      CollectionPrototype[ITERATOR] = ArrayValues;
6067    }
6068    if (!CollectionPrototype[TO_STRING_TAG]) {
6069      createNonEnumerableProperty(CollectionPrototype, TO_STRING_TAG, COLLECTION_NAME);
6070    }
6071    if (DOMIterables[COLLECTION_NAME]) for (var METHOD_NAME in ArrayIteratorMethods) {
6072      // some Chrome versions have non-configurable methods on DOMTokenList
6073      if (CollectionPrototype[METHOD_NAME] !== ArrayIteratorMethods[METHOD_NAME]) try {
6074        createNonEnumerableProperty(CollectionPrototype, METHOD_NAME, ArrayIteratorMethods[METHOD_NAME]);
6075      } catch (error) {
6076        CollectionPrototype[METHOD_NAME] = ArrayIteratorMethods[METHOD_NAME];
6077      }
6078    }
6079  }
6080};
6081
6082for (var COLLECTION_NAME in DOMIterables) {
6083  handlePrototype(global[COLLECTION_NAME] && global[COLLECTION_NAME].prototype, COLLECTION_NAME);
6084}
6085
6086handlePrototype(DOMTokenListPrototype, 'DOMTokenList');
6087
6088
6089/***/ }),
6090
6091/***/ 7090:
6092/***/ (function(module) {
6093
6094(function(window, factory) {
6095	var lazySizes = factory(window, window.document, Date);
6096	window.lazySizes = lazySizes;
6097	if( true && module.exports){
6098		module.exports = lazySizes;
6099	}
6100}(typeof window != 'undefined' ?
6101      window : {}, 
6102/**
6103 * import("./types/global")
6104 * @typedef { import("./types/lazysizes-config").LazySizesConfigPartial } LazySizesConfigPartial
6105 */
6106function l(window, document, Date) { // Pass in the window Date function also for SSR because the Date class can be lost
6107	'use strict';
6108	/*jshint eqnull:true */
6109
6110	var lazysizes,
6111		/**
6112		 * @type { LazySizesConfigPartial }
6113		 */
6114		lazySizesCfg;
6115
6116	(function(){
6117		var prop;
6118
6119		var lazySizesDefaults = {
6120			lazyClass: 'lazyload',
6121			loadedClass: 'lazyloaded',
6122			loadingClass: 'lazyloading',
6123			preloadClass: 'lazypreload',
6124			errorClass: 'lazyerror',
6125			//strictClass: 'lazystrict',
6126			autosizesClass: 'lazyautosizes',
vendor: 16,457 bytes, lines 6127-6762
6127			fastLoadedClass: 'ls-is-cached',
6128			iframeLoadMode: 0,
6129			srcAttr: 'data-src',
6130			srcsetAttr: 'data-srcset',
6131			sizesAttr: 'data-sizes',
6132			//preloadAfterLoad: false,
6133			minSize: 40,
6134			customMedia: {},
6135			init: true,
6136			expFactor: 1.5,
6137			hFac: 0.8,
6138			loadMode: 2,
6139			loadHidden: true,
6140			ricTimeout: 0,
6141			throttleDelay: 125,
6142		};
6143
6144		lazySizesCfg = window.lazySizesConfig || window.lazysizesConfig || {};
6145
6146		for(prop in lazySizesDefaults){
6147			if(!(prop in lazySizesCfg)){
6148				lazySizesCfg[prop] = lazySizesDefaults[prop];
6149			}
6150		}
6151	})();
6152
6153	if (!document || !document.getElementsByClassName) {
6154		return {
6155			init: function () {},
6156			/**
6157			 * @type { LazySizesConfigPartial }
6158			 */
6159			cfg: lazySizesCfg,
6160			/**
6161			 * @type { true }
6162			 */
6163			noSupport: true,
6164		};
6165	}
6166
6167	var docElem = document.documentElement;
6168
6169	var supportPicture = window.HTMLPictureElement;
6170
6171	var _addEventListener = 'addEventListener';
6172
6173	var _getAttribute = 'getAttribute';
6174
6175	/**
6176	 * Update to bind to window because 'this' becomes null during SSR
6177	 * builds.
6178	 */
6179	var addEventListener = window[_addEventListener].bind(window);
6180
6181	var setTimeout = window.setTimeout;
6182
6183	var requestAnimationFrame = window.requestAnimationFrame || setTimeout;
6184
6185	var requestIdleCallback = window.requestIdleCallback;
6186
6187	var regPicture = /^picture$/i;
6188
6189	var loadEvents = ['load', 'error', 'lazyincluded', '_lazyloaded'];
6190
6191	var regClassCache = {};
6192
6193	var forEach = Array.prototype.forEach;
6194
6195	/**
6196	 * @param ele {Element}
6197	 * @param cls {string}
6198	 */
6199	var hasClass = function(ele, cls) {
6200		if(!regClassCache[cls]){
6201			regClassCache[cls] = new RegExp('(\\s|^)'+cls+'(\\s|$)');
6202		}
6203		return regClassCache[cls].test(ele[_getAttribute]('class') || '') && regClassCache[cls];
6204	};
6205
6206	/**
6207	 * @param ele {Element}
6208	 * @param cls {string}
6209	 */
6210	var addClass = function(ele, cls) {
6211		if (!hasClass(ele, cls)){
6212			ele.setAttribute('class', (ele[_getAttribute]('class') || '').trim() + ' ' + cls);
6213		}
6214	};
6215
6216	/**
6217	 * @param ele {Element}
6218	 * @param cls {string}
6219	 */
6220	var removeClass = function(ele, cls) {
6221		var reg;
6222		if ((reg = hasClass(ele,cls))) {
6223			ele.setAttribute('class', (ele[_getAttribute]('class') || '').replace(reg, ' '));
6224		}
6225	};
6226
6227	var addRemoveLoadEvents = function(dom, fn, add){
6228		var action = add ? _addEventListener : 'removeEventListener';
6229		if(add){
6230			addRemoveLoadEvents(dom, fn);
6231		}
6232		loadEvents.forEach(function(evt){
6233			dom[action](evt, fn);
6234		});
6235	};
6236
6237	/**
6238	 * @param elem { Element }
6239	 * @param name { string }
6240	 * @param detail { any }
6241	 * @param noBubbles { boolean }
6242	 * @param noCancelable { boolean }
6243	 * @returns { CustomEvent }
6244	 */
6245	var triggerEvent = function(elem, name, detail, noBubbles, noCancelable){
6246		var event = document.createEvent('Event');
6247
6248		if(!detail){
6249			detail = {};
6250		}
6251
6252		detail.instance = lazysizes;
6253
6254		event.initEvent(name, !noBubbles, !noCancelable);
6255
6256		event.detail = detail;
6257
6258		elem.dispatchEvent(event);
6259		return event;
6260	};
6261
6262	var updatePolyfill = function (el, full){
6263		var polyfill;
6264		if( !supportPicture && ( polyfill = (window.picturefill || lazySizesCfg.pf) ) ){
6265			if(full && full.src && !el[_getAttribute]('srcset')){
6266				el.setAttribute('srcset', full.src);
6267			}
6268			polyfill({reevaluate: true, elements: [el]});
6269		} else if(full && full.src){
6270			el.src = full.src;
6271		}
6272	};
6273
6274	var getCSS = function (elem, style){
6275		return (getComputedStyle(elem, null) || {})[style];
6276	};
6277
6278	/**
6279	 *
6280	 * @param elem { Element }
6281	 * @param parent { Element }
6282	 * @param [width] {number}
6283	 * @returns {number}
6284	 */
6285	var getWidth = function(elem, parent, width){
6286		width = width || elem.offsetWidth;
6287
6288		while(width < lazySizesCfg.minSize && parent && !elem._lazysizesWidth){
6289			width =  parent.offsetWidth;
6290			parent = parent.parentNode;
6291		}
6292
6293		return width;
6294	};
6295
6296	var rAF = (function(){
6297		var running, waiting;
6298		var firstFns = [];
6299		var secondFns = [];
6300		var fns = firstFns;
6301
6302		var run = function(){
6303			var runFns = fns;
6304
6305			fns = firstFns.length ? secondFns : firstFns;
6306
6307			running = true;
6308			waiting = false;
6309
6310			while(runFns.length){
6311				runFns.shift()();
6312			}
6313
6314			running = false;
6315		};
6316
6317		var rafBatch = function(fn, queue){
6318			if(running && !queue){
6319				fn.apply(this, arguments);
6320			} else {
6321				fns.push(fn);
6322
6323				if(!waiting){
6324					waiting = true;
6325					(document.hidden ? setTimeout : requestAnimationFrame)(run);
6326				}
6327			}
6328		};
6329
6330		rafBatch._lsFlush = run;
6331
6332		return rafBatch;
6333	})();
6334
6335	var rAFIt = function(fn, simple){
6336		return simple ?
6337			function() {
6338				rAF(fn);
6339			} :
6340			function(){
6341				var that = this;
6342				var args = arguments;
6343				rAF(function(){
6344					fn.apply(that, args);
6345				});
6346			}
6347		;
6348	};
6349
6350	var throttle = function(fn){
6351		var running;
6352		var lastTime = 0;
6353		var gDelay = lazySizesCfg.throttleDelay;
6354		var rICTimeout = lazySizesCfg.ricTimeout;
6355		var run = function(){
6356			running = false;
6357			lastTime = Date.now();
6358			fn();
6359		};
6360		var idleCallback = requestIdleCallback && rICTimeout > 49 ?
6361			function(){
6362				requestIdleCallback(run, {timeout: rICTimeout});
6363
6364				if(rICTimeout !== lazySizesCfg.ricTimeout){
6365					rICTimeout = lazySizesCfg.ricTimeout;
6366				}
6367			} :
6368			rAFIt(function(){
6369				setTimeout(run);
6370			}, true)
6371		;
6372
6373		return function(isPriority){
6374			var delay;
6375
6376			if((isPriority = isPriority === true)){
6377				rICTimeout = 33;
6378			}
6379
6380			if(running){
6381				return;
6382			}
6383
6384			running =  true;
6385
6386			delay = gDelay - (Date.now() - lastTime);
6387
6388			if(delay < 0){
6389				delay = 0;
6390			}
6391
6392			if(isPriority || delay < 9){
6393				idleCallback();
6394			} else {
6395				setTimeout(idleCallback, delay);
6396			}
6397		};
6398	};
6399
6400	//based on http://modernjavascript.blogspot.de/2013/08/building-better-debounce.html
6401	var debounce = function(func) {
6402		var timeout, timestamp;
6403		var wait = 99;
6404		var run = function(){
6405			timeout = null;
6406			func();
6407		};
6408		var later = function() {
6409			var last = Date.now() - timestamp;
6410
6411			if (last < wait) {
6412				setTimeout(later, wait - last);
6413			} else {
6414				(requestIdleCallback || run)(run);
6415			}
6416		};
6417
6418		return function() {
6419			timestamp = Date.now();
6420
6421			if (!timeout) {
6422				timeout = setTimeout(later, wait);
6423			}
6424		};
6425	};
6426
6427	var loader = (function(){
6428		var preloadElems, isCompleted, resetPreloadingTimer, loadMode, started;
6429
6430		var eLvW, elvH, eLtop, eLleft, eLright, eLbottom, isBodyHidden;
6431
6432		var regImg = /^img$/i;
6433		var regIframe = /^iframe$/i;
6434
6435		var supportScroll = ('onscroll' in window) && !(/(gle|ing)bot/.test(navigator.userAgent));
6436
6437		var shrinkExpand = 0;
6438		var currentExpand = 0;
6439
6440		var isLoading = 0;
6441		var lowRuns = -1;
6442
6443		var resetPreloading = function(e){
6444			isLoading--;
6445			if(!e || isLoading < 0 || !e.target){
6446				isLoading = 0;
6447			}
6448		};
6449
6450		var isVisible = function (elem) {
6451			if (isBodyHidden == null) {
6452				isBodyHidden = getCSS(document.body, 'visibility') == 'hidden';
6453			}
6454
6455			return isBodyHidden || !(getCSS(elem.parentNode, 'visibility') == 'hidden' && getCSS(elem, 'visibility') == 'hidden');
6456		};
6457
6458		var isNestedVisible = function(elem, elemExpand){
6459			var outerRect;
6460			var parent = elem;
6461			var visible = isVisible(elem);
6462
6463			eLtop -= elemExpand;
6464			eLbottom += elemExpand;
6465			eLleft -= elemExpand;
6466			eLright += elemExpand;
6467
6468			while(visible && (parent = parent.offsetParent) && parent != document.body && parent != docElem){
6469				visible = ((getCSS(parent, 'opacity') || 1) > 0);
6470
6471				if(visible && getCSS(parent, 'overflow') != 'visible'){
6472					outerRect = parent.getBoundingClientRect();
6473					visible = eLright > outerRect.left &&
6474						eLleft < outerRect.right &&
6475						eLbottom > outerRect.top - 1 &&
6476						eLtop < outerRect.bottom + 1
6477					;
6478				}
6479			}
6480
6481			return visible;
6482		};
6483
6484		var checkElements = function() {
6485			var eLlen, i, rect, autoLoadElem, loadedSomething, elemExpand, elemNegativeExpand, elemExpandVal,
6486				beforeExpandVal, defaultExpand, preloadExpand, hFac;
6487			var lazyloadElems = lazysizes.elements;
6488
6489			if((loadMode = lazySizesCfg.loadMode) && isLoading < 8 && (eLlen = lazyloadElems.length)){
6490
6491				i = 0;
6492
6493				lowRuns++;
6494
6495				for(; i < eLlen; i++){
6496
6497					if(!lazyloadElems[i] || lazyloadElems[i]._lazyRace){continue;}
6498
6499					if(!supportScroll || (lazysizes.prematureUnveil && lazysizes.prematureUnveil(lazyloadElems[i]))){unveilElement(lazyloadElems[i]);continue;}
6500
6501					if(!(elemExpandVal = lazyloadElems[i][_getAttribute]('data-expand')) || !(elemExpand = elemExpandVal * 1)){
6502						elemExpand = currentExpand;
6503					}
6504
6505					if (!defaultExpand) {
6506						defaultExpand = (!lazySizesCfg.expand || lazySizesCfg.expand < 1) ?
6507							docElem.clientHeight > 500 && docElem.clientWidth > 500 ? 500 : 370 :
6508							lazySizesCfg.expand;
6509
6510						lazysizes._defEx = defaultExpand;
6511
6512						preloadExpand = defaultExpand * lazySizesCfg.expFactor;
6513						hFac = lazySizesCfg.hFac;
6514						isBodyHidden = null;
6515
6516						if(currentExpand < preloadExpand && isLoading < 1 && lowRuns > 2 && loadMode > 2 && !document.hidden){
6517							currentExpand = preloadExpand;
6518							lowRuns = 0;
6519						} else if(loadMode > 1 && lowRuns > 1 && isLoading < 6){
6520							currentExpand = defaultExpand;
6521						} else {
6522							currentExpand = shrinkExpand;
6523						}
6524					}
6525
6526					if(beforeExpandVal !== elemExpand){
6527						eLvW = innerWidth + (elemExpand * hFac);
6528						elvH = innerHeight + elemExpand;
6529						elemNegativeExpand = elemExpand * -1;
6530						beforeExpandVal = elemExpand;
6531					}
6532
6533					rect = lazyloadElems[i].getBoundingClientRect();
6534
6535					if ((eLbottom = rect.bottom) >= elemNegativeExpand &&
6536						(eLtop = rect.top) <= elvH &&
6537						(eLright = rect.right) >= elemNegativeExpand * hFac &&
6538						(eLleft = rect.left) <= eLvW &&
6539						(eLbottom || eLright || eLleft || eLtop) &&
6540						(lazySizesCfg.loadHidden || isVisible(lazyloadElems[i])) &&
6541						((isCompleted && isLoading < 3 && !elemExpandVal && (loadMode < 3 || lowRuns < 4)) || isNestedVisible(lazyloadElems[i], elemExpand))){
6542						unveilElement(lazyloadElems[i]);
6543						loadedSomething = true;
6544						if(isLoading > 9){break;}
6545					} else if(!loadedSomething && isCompleted && !autoLoadElem &&
6546						isLoading < 4 && lowRuns < 4 && loadMode > 2 &&
6547						(preloadElems[0] || lazySizesCfg.preloadAfterLoad) &&
6548						(preloadElems[0] || (!elemExpandVal && ((eLbottom || eLright || eLleft || eLtop) || lazyloadElems[i][_getAttribute](lazySizesCfg.sizesAttr) != 'auto')))){
6549						autoLoadElem = preloadElems[0] || lazyloadElems[i];
6550					}
6551				}
6552
6553				if(autoLoadElem && !loadedSomething){
6554					unveilElement(autoLoadElem);
6555				}
6556			}
6557		};
6558
6559		var throttledCheckElements = throttle(checkElements);
6560
6561		var switchLoadingClass = function(e){
6562			var elem = e.target;
6563
6564			if (elem._lazyCache) {
6565				delete elem._lazyCache;
6566				return;
6567			}
6568
6569			resetPreloading(e);
6570			addClass(elem, lazySizesCfg.loadedClass);
6571			removeClass(elem, lazySizesCfg.loadingClass);
6572			addRemoveLoadEvents(elem, rafSwitchLoadingClass);
6573			triggerEvent(elem, 'lazyloaded');
6574		};
6575		var rafedSwitchLoadingClass = rAFIt(switchLoadingClass);
6576		var rafSwitchLoadingClass = function(e){
6577			rafedSwitchLoadingClass({target: e.target});
6578		};
6579
6580		var changeIframeSrc = function(elem, src){
6581			var loadMode = elem.getAttribute('data-load-mode') || lazySizesCfg.iframeLoadMode;
6582
6583			// loadMode can be also a string!
6584			if (loadMode == 0) {
6585				elem.contentWindow.location.replace(src);
6586			} else if (loadMode == 1) {
6587				elem.src = src;
6588			}
6589		};
6590
6591		var handleSources = function(source){
6592			var customMedia;
6593
6594			var sourceSrcset = source[_getAttribute](lazySizesCfg.srcsetAttr);
6595
6596			if( (customMedia = lazySizesCfg.customMedia[source[_getAttribute]('data-media') || source[_getAttribute]('media')]) ){
6597				source.setAttribute('media', customMedia);
6598			}
6599
6600			if(sourceSrcset){
6601				source.setAttribute('srcset', sourceSrcset);
6602			}
6603		};
6604
6605		var lazyUnveil = rAFIt(function (elem, detail, isAuto, sizes, isImg){
6606			var src, srcset, parent, isPicture, event, firesLoad;
6607
6608			if(!(event = triggerEvent(elem, 'lazybeforeunveil', detail)).defaultPrevented){
6609
6610				if(sizes){
6611					if(isAuto){
6612						addClass(elem, lazySizesCfg.autosizesClass);
6613					} else {
6614						elem.setAttribute('sizes', sizes);
6615					}
6616				}
6617
6618				srcset = elem[_getAttribute](lazySizesCfg.srcsetAttr);
6619				src = elem[_getAttribute](lazySizesCfg.srcAttr);
6620
6621				if(isImg) {
6622					parent = elem.parentNode;
6623					isPicture = parent && regPicture.test(parent.nodeName || '');
6624				}
6625
6626				firesLoad = detail.firesLoad || (('src' in elem) && (srcset || src || isPicture));
6627
6628				event = {target: elem};
6629
6630				addClass(elem, lazySizesCfg.loadingClass);
6631
6632				if(firesLoad){
6633					clearTimeout(resetPreloadingTimer);
6634					resetPreloadingTimer = setTimeout(resetPreloading, 2500);
6635					addRemoveLoadEvents(elem, rafSwitchLoadingClass, true);
6636				}
6637
6638				if(isPicture){
6639					forEach.call(parent.getElementsByTagName('source'), handleSources);
6640				}
6641
6642				if(srcset){
6643					elem.setAttribute('srcset', srcset);
6644				} else if(src && !isPicture){
6645					if(regIframe.test(elem.nodeName)){
6646						changeIframeSrc(elem, src);
6647					} else {
6648						elem.src = src;
6649					}
6650				}
6651
6652				if(isImg && (srcset || isPicture)){
6653					updatePolyfill(elem, {src: src});
6654				}
6655			}
6656
6657			if(elem._lazyRace){
6658				delete elem._lazyRace;
6659			}
6660			removeClass(elem, lazySizesCfg.lazyClass);
6661
6662			rAF(function(){
6663				// Part of this can be removed as soon as this fix is older: https://bugs.chromium.org/p/chromium/issues/detail?id=7731 (2015)
6664				var isLoaded = elem.complete && elem.naturalWidth > 1;
6665
6666				if( !firesLoad || isLoaded){
6667					if (isLoaded) {
6668						addClass(elem, lazySizesCfg.fastLoadedClass);
6669					}
6670					switchLoadingClass(event);
6671					elem._lazyCache = true;
6672					setTimeout(function(){
6673						if ('_lazyCache' in elem) {
6674							delete elem._lazyCache;
6675						}
6676					}, 9);
6677				}
6678				if (elem.loading == 'lazy') {
6679					isLoading--;
6680				}
6681			}, true);
6682		});
6683
6684		/**
6685		 *
6686		 * @param elem { Element }
6687		 */
6688		var unveilElement = function (elem){
6689			if (elem._lazyRace) {return;}
6690			var detail;
6691
6692			var isImg = regImg.test(elem.nodeName);
6693
6694			//allow using sizes="auto", but don't use. it's invalid. Use data-sizes="auto" or a valid value for sizes instead (i.e.: sizes="80vw")
6695			var sizes = isImg && (elem[_getAttribute](lazySizesCfg.sizesAttr) || elem[_getAttribute]('sizes'));
6696			var isAuto = sizes == 'auto';
6697
6698			if( (isAuto || !isCompleted) && isImg && (elem[_getAttribute]('src') || elem.srcset) && !elem.complete && !hasClass(elem, lazySizesCfg.errorClass) && hasClass(elem, lazySizesCfg.lazyClass)){return;}
6699
6700			detail = triggerEvent(elem, 'lazyunveilread').detail;
6701
6702			if(isAuto){
6703				 autoSizer.updateElem(elem, true, elem.offsetWidth);
6704			}
6705
6706			elem._lazyRace = true;
6707			isLoading++;
6708
6709			lazyUnveil(elem, detail, isAuto, sizes, isImg);
6710		};
6711
6712		var afterScroll = debounce(function(){
6713			lazySizesCfg.loadMode = 3;
6714			throttledCheckElements();
6715		});
6716
6717		var altLoadmodeScrollListner = function(){
6718			if(lazySizesCfg.loadMode == 3){
6719				lazySizesCfg.loadMode = 2;
6720			}
6721			afterScroll();
6722		};
6723
6724		var onload = function(){
6725			if(isCompleted){return;}
6726			if(Date.now() - started < 999){
6727				setTimeout(onload, 999);
6728				return;
6729			}
6730
6731
6732			isCompleted = true;
6733
6734			lazySizesCfg.loadMode = 3;
6735
6736			throttledCheckElements();
6737
6738			addEventListener('scroll', altLoadmodeScrollListner, true);
6739		};
6740
6741		return {
6742			_: function(){
6743				started = Date.now();
6744
6745				lazysizes.elements = document.getElementsByClassName(lazySizesCfg.lazyClass);
6746				preloadElems = document.getElementsByClassName(lazySizesCfg.lazyClass + ' ' + lazySizesCfg.preloadClass);
6747
6748				addEventListener('scroll', throttledCheckElements, true);
6749
6750				addEventListener('resize', throttledCheckElements, true);
6751
6752				addEventListener('pageshow', function (e) {
6753					if (e.persisted) {
6754						var loadingElements = document.querySelectorAll('.' + lazySizesCfg.loadingClass);
6755
6756						if (loadingElements.length && loadingElements.forEach) {
6757							requestAnimationFrame(function () {
6758								loadingElements.forEach( function (img) {
6759									if (img.complete) {
6760										unveilElement(img);
6761									}
6762								});
6763							});
6764						}
6765					}
6766				});
6767
6768				if(window.MutationObserver){
6769					new MutationObserver( throttledCheckElements ).observe( docElem, {childList: true, subtree: true, attributes: true} );
6770				} else {
6771					docElem[_addEventListener]('DOMNodeInserted', throttledCheckElements, true);
6772					docElem[_addEventListener]('DOMAttrModified', throttledCheckElements, true);
6773					setInterval(throttledCheckElements, 999);
6774				}
6775
6776				addEventListener('hashchange', throttledCheckElements, true);
6777
6778				//, 'fullscreenchange'
6779				['focus', 'mouseover', 'click', 'load', 'transitionend', 'animationend'].forEach(function(name){
6780					document[_addEventListener](name, throttledCheckElements, true);
6781				});
6782
6783				if((/d$|^c/.test(document.readyState))){
6784					onload();
6785				} else {
6786					addEventListener('load', onload);
6787					document[_addEventListener]('DOMContentLoaded', throttledCheckElements);
6788					setTimeout(onload, 20000);
6789				}
6790
6791				if(lazysizes.elements.length){
6792					checkElements();
6793					rAF._lsFlush();
6794				} else {
6795					throttledCheckElements();
6796				}
6797			},
6798			checkElems: throttledCheckElements,
6799			unveil: unveilElement,
6800			_aLSL: altLoadmodeScrollListner,
6801		};
6802	})();
6803
6804
6805	var autoSizer = (function(){
6806		var autosizesElems;
6807
6808		var sizeElement = rAFIt(function(elem, parent, event, width){
6809			var sources, i, len;
6810			elem._lazysizesWidth = width;
6811			width += 'px';
6812
6813			elem.setAttribute('sizes', width);
6814
6815			if(regPicture.test(parent.nodeName || '')){
6816				sources = parent.getElementsByTagName('source');
6817				for(i = 0, len = sources.length; i < len; i++){
6818					sources[i].setAttribute('sizes', width);
6819				}
6820			}
6821
6822			if(!event.detail.dataAttr){
6823				updatePolyfill(elem, event.detail);
6824			}
6825		});
6826		/**
6827		 *
6828		 * @param elem {Element}
6829		 * @param dataAttr
6830		 * @param [width] { number }
6831		 */
6832		var getSizeElement = function (elem, dataAttr, width){
6833			var event;
6834			var parent = elem.parentNode;
6835
6836			if(parent){
6837				width = getWidth(elem, parent, width);
6838				event = triggerEvent(elem, 'lazybeforesizes', {width: width, dataAttr: !!dataAttr});
6839
6840				if(!event.defaultPrevented){
6841					width = event.detail.width;
6842
6843					if(width && width !== elem._lazysizesWidth){
6844						sizeElement(elem, parent, event, width);
6845					}
6846				}
6847			}
6848		};
6849
6850		var updateElementsSizes = function(){
6851			var i;
6852			var len = autosizesElems.length;
6853			if(len){
6854				i = 0;
6855
6856				for(; i < len; i++){
6857					getSizeElement(autosizesElems[i]);
6858				}
6859			}
6860		};
6861
6862		var debouncedUpdateElementsSizes = debounce(updateElementsSizes);
6863
6864		return {
6865			_: function(){
6866				autosizesElems = document.getElementsByClassName(lazySizesCfg.autosizesClass);
6867				addEventListener('resize', debouncedUpdateElementsSizes);
6868			},
6869			checkElems: debouncedUpdateElementsSizes,
6870			updateElem: getSizeElement
6871		};
6872	})();
6873
6874	var init = function(){
6875		if(!init.i && document.getElementsByClassName){
6876			init.i = true;
6877			autoSizer._();
6878			loader._();
6879		}
6880	};
6881
6882	setTimeout(function(){
6883		if(lazySizesCfg.init){
6884			init();
6885		}
6886	});
6887
6888	lazysizes = {
6889		/**
6890		 * @type { LazySizesConfigPartial }
6891		 */
6892		cfg: lazySizesCfg,
6893		autoSizer: autoSizer,
6894		loader: loader,
6895		init: init,
6896		uP: updatePolyfill,
6897		aC: addClass,
6898		rC: removeClass,
6899		hC: hasClass,
6900		fire: triggerEvent,
6901		gW: getWidth,
6902		rAF: rAF,
6903	};
6904
6905	return lazysizes;
6906}
6907));
6908
6909
6910/***/ }),
6911
6912/***/ 1770:
6913/***/ (function(module, exports, __webpack_require__) {
6914
6915var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function(window, factory) {
6916	if(!window) {return;}
6917	var globalInstall = function(){
6918		factory(window.lazySizes);
6919		window.removeEventListener('lazyunveilread', globalInstall, true);
6920	};
6921
6922	factory = factory.bind(null, window, window.document);
6923
6924	if( true && module.exports){
6925		factory(__webpack_require__(7090));
6926	} else if (true) {
6927		!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(7090)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
6928		__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
6929		(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
6930		__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
6931	} else {}
6932}(typeof window != 'undefined' ?
6933	window : 0, function(window, document, lazySizes) {
6934	'use strict';
6935
6936	if(!window.addEventListener){return;}
6937
6938	var regDescriptors = /\s+(\d+)(w|h)\s+(\d+)(w|h)/;
6939	var regCssFit = /parent-fit["']*\s*:\s*["']*(contain|cover|width)/;
6940	var regCssObject = /parent-container["']*\s*:\s*["']*(.+?)(?=(\s|$|,|'|"|;))/;
6941	var regPicture = /^picture$/i;
6942	var cfg = lazySizes.cfg;
6943
6944	var getCSS = function (elem){
6945		return (getComputedStyle(elem, null) || {});
6946	};
6947
6948	var parentFit = {
6949
6950		getParent: function(element, parentSel){
6951			var parent = element;
6952			var parentNode = element.parentNode;
6953
6954			if((!parentSel || parentSel == 'prev') && parentNode && regPicture.test(parentNode.nodeName || '')){
6955				parentNode = parentNode.parentNode;
6956			}
6957
6958			if(parentSel != 'self'){
6959				if(parentSel == 'prev'){
6960					parent = element.previousElementSibling;
6961				} else if(parentSel && (parentNode.closest || window.jQuery)){
6962					parent = (parentNode.closest ?
6963							parentNode.closest(parentSel) :
6964							jQuery(parentNode).closest(parentSel)[0]) ||
6965						parentNode
6966					;
6967				} else {
6968					parent = parentNode;
6969				}
6970			}
6971
6972			return parent;
6973		},
6974
6975		getFit: function(element){
6976			var tmpMatch, parentObj;
6977			var css = getCSS(element);
6978			var content = css.content || css.fontFamily;
6979			var obj = {
6980				fit: element._lazysizesParentFit || element.getAttribute('data-parent-fit')
6981			};
6982
6983			if(!obj.fit && content && (tmpMatch = content.match(regCssFit))){
6984				obj.fit = tmpMatch[1];
6985			}
6986
6987			if(obj.fit){
6988				parentObj = element._lazysizesParentContainer || element.getAttribute('data-parent-container');
6989
6990				if(!parentObj && content && (tmpMatch = content.match(regCssObject))){
6991					parentObj = tmpMatch[1];
6992				}
6993
6994				obj.parent = parentFit.getParent(element, parentObj);
6995
6996
6997			} else {
6998				obj.fit = css.objectFit;
6999			}
7000
7001			return obj;
7002		},
7003
7004		getImageRatio: function(element){
7005			var i, srcset, media, ratio, match, width, height;
7006			var parent = element.parentNode;
7007			var elements = parent && regPicture.test(parent.nodeName || '') ?
7008					parent.querySelectorAll('source, img') :
7009					[element]
7010				;
7011
7012			for(i = 0; i < elements.length; i++){
7013				element = elements[i];
7014				srcset = element.getAttribute(cfg.srcsetAttr) || element.getAttribute('srcset') || element.getAttribute('data-pfsrcset') || element.getAttribute('data-risrcset') || '';
7015				media = element._lsMedia || element.getAttribute('media');
7016				media = cfg.customMedia[element.getAttribute('data-media') || media] || media;
7017
7018				if(srcset && (!media || (window.matchMedia && matchMedia(media) || {}).matches )){
7019					ratio = parseFloat(element.getAttribute('data-aspectratio'));
7020
7021					if (!ratio) {
7022						match = srcset.match(regDescriptors);
7023
7024						if (match) {
7025							if(match[2] == 'w'){
7026								width = match[1];
7027								height = match[3];
7028							} else {
7029								width = match[3];
7030								height = match[1];
7031							}
7032						} else {
7033							width = element.getAttribute('width');
7034							height = element.getAttribute('height');
7035						}
7036
7037						ratio = width / height;
7038					}
7039
7040					break;
7041				}
7042			}
7043
7044			return ratio;
7045		},
7046
7047		calculateSize: function(element, width){
7048			var displayRatio, height, imageRatio, retWidth;
7049			var fitObj = this.getFit(element);
7050			var fit = fitObj.fit;
7051			var fitElem = fitObj.parent;
7052
7053			if(fit != 'width' && ((fit != 'contain' && fit != 'cover') || !(imageRatio = this.getImageRatio(element)))){
7054				return width;
7055			}
7056
7057			if(fitElem){
7058				width = fitElem.clientWidth;
7059			} else {
7060				fitElem = element;
7061			}
7062
7063			retWidth = width;
7064
7065			if(fit == 'width'){
7066				retWidth = width;
7067			} else {
7068				height = fitElem.clientHeight;
7069
7070				if((displayRatio =  width / height) && ((fit == 'cover' && displayRatio < imageRatio) || (fit == 'contain' && displayRatio > imageRatio))){
7071					retWidth = width * (imageRatio / displayRatio);
7072				}
7073			}
7074
7075			return retWidth;
7076		}
7077	};
7078
7079	lazySizes.parentFit = parentFit;
7080
7081	document.addEventListener('lazybeforesizes', function(e){
7082		if(e.defaultPrevented || e.detail.instance != lazySizes){return;}
7083
7084		var element = e.target;
7085		e.detail.width = parentFit.calculateSize(element, e.detail.width);
7086	});
7087}));
7088
7089
7090/***/ })
7091
7092/******/ 	});
7093/************************************************************************/
7094/******/ 	// The module cache
7095/******/ 	var __webpack_module_cache__ = {};
7096/******/ 	
7097/******/ 	// The require function
7098/******/ 	function __webpack_require__(moduleId) {
7099/******/ 		// Check if module is in cache
7100/******/ 		var cachedModule = __webpack_module_cache__[moduleId];
7101/******/ 		if (cachedModule !== undefined) {
7102/******/ 			return cachedModule.exports;
7103/******/ 		}
7104/******/ 		// Create a new module (and put it into the cache)
7105/******/ 		var module = __webpack_module_cache__[moduleId] = {
7106/******/ 			// no module.id needed
7107/******/ 			// no module.loaded needed
7108/******/ 			exports: {}
7109/******/ 		};
7110/******/ 	
7111/******/ 		// Execute the module function
7112/******/ 		__webpack_modules__[moduleId](module, module.exports, __webpack_require__);
7113/******/ 	
7114/******/ 		// Return the exports of the module
7115/******/ 		return module.exports;
7116/******/ 	}
7117/******/ 	
7118/************************************************************************/
7119/******/ 	/* webpack/runtime/global */
7120/******/ 	!function() {
7121/******/ 		__webpack_require__.g = (function() {
7122/******/ 			if (typeof globalThis === 'object') return globalThis;
7123/******/ 			try {
7124/******/ 				return this || new Function('return this')();
7125/******/ 			} catch (e) {
7126/******/ 				if (typeof window === 'object') return window;
7127/******/ 			}
7128/******/ 		})();
7129/******/ 	}();
7130/******/ 	
7131/************************************************************************/
7132var __webpack_exports__ = {};
7133// This entry need to be wrapped in an IIFE because it need to be in strict mode.
7134!function() {
7135"use strict";
7136
7137// EXTERNAL MODULE: ./node_modules/core-js/modules/es.object.to-string.js
7138var es_object_to_string = __webpack_require__(1539);
7139// EXTERNAL MODULE: ./node_modules/core-js/modules/web.dom-collections.for-each.js
7140var web_dom_collections_for_each = __webpack_require__(4747);
7141// EXTERNAL MODULE: ./node_modules/core-js/modules/es.promise.js
7142var es_promise = __webpack_require__(8674);
7143// EXTERNAL MODULE: ./node_modules/core-js/modules/es.object.define-property.js
7144var es_object_define_property = __webpack_require__(9070);
7145// EXTERNAL MODULE: ./node_modules/core-js/modules/es.symbol.js
7146var es_symbol = __webpack_require__(2526);
7147// EXTERNAL MODULE: ./node_modules/core-js/modules/es.symbol.description.js
7148var es_symbol_description = __webpack_require__(1817);
7149// EXTERNAL MODULE: ./node_modules/core-js/modules/es.symbol.iterator.js
7150var es_symbol_iterator = __webpack_require__(2165);
7151// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.iterator.js
7152var es_array_iterator = __webpack_require__(6992);
7153// EXTERNAL MODULE: ./node_modules/core-js/modules/es.string.iterator.js
7154var es_string_iterator = __webpack_require__(8783);
7155// EXTERNAL MODULE: ./node_modules/core-js/modules/web.dom-collections.iterator.js
7156var web_dom_collections_iterator = __webpack_require__(3948);
7157// EXTERNAL MODULE: ./node_modules/core-js/modules/es.symbol.async-iterator.js
7158var es_symbol_async_iterator = __webpack_require__(2443);
7159// EXTERNAL MODULE: ./node_modules/core-js/modules/es.symbol.to-string-tag.js
7160var es_symbol_to_string_tag = __webpack_require__(3680);
7161// EXTERNAL MODULE: ./node_modules/core-js/modules/es.json.to-string-tag.js
7162var es_json_to_string_tag = __webpack_require__(3706);
7163// EXTERNAL MODULE: ./node_modules/core-js/modules/es.math.to-string-tag.js
7164var es_math_to_string_tag = __webpack_require__(2703);
7165// EXTERNAL MODULE: ./node_modules/core-js/modules/es.object.get-prototype-of.js
7166var es_object_get_prototype_of = __webpack_require__(489);
7167// EXTERNAL MODULE: ./node_modules/core-js/modules/es.object.set-prototype-of.js
7168var es_object_set_prototype_of = __webpack_require__(8304);
7169// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.slice.js
7170var es_array_slice = __webpack_require__(7042);
7171// EXTERNAL MODULE: ./node_modules/lazysizes/lazysizes.js
7172var lazysizes = __webpack_require__(7090);
7173// EXTERNAL MODULE: ./node_modules/lazysizes/plugins/parent-fit/ls.parent-fit.js
7174var ls_parent_fit = __webpack_require__(1770);
7175;// CONCATENATED MODULE: ./src/scripts/components/video.ts
7176
7177
7178function Video() {
7179  // Load the IFrame Player API code asynchronously.
7180  var tag = document.createElement('script');
7181  tag.src = 'https://www.youtube.com/player_api';
7182  var firstScriptTag = document.getElementsByTagName('script')[0];
7183  firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
7184  window.onYouTubeIframeAPIReady = function () {
7185    var videos = document.querySelectorAll('div[data-youtube]');
7186    videos.forEach(function (video) {
7187      var id = video.id;
7188      var youTube = JSON.parse(video.getAttribute('data-youtube'));
7189      new YT.Player(id, {
7190        height: youTube.Height,
7191        width: youTube.Width,
7192        videoId: youTube.YouTubeEmbedId,
7193        playerVars: {
7194          autoplay: youTube.AutoPlay ? 1 : 0,
7195          controls: youTube.Controls ? 1 : 0,
7196          loop: youTube.Loop ? 1 : 0,
7197          mute: youTube.Mute ? 1 : 0
7198        }
7199      });
7200    });
7201  };
7202}
7203// EXTERNAL MODULE: ./node_modules/core-js/modules/es.json.stringify.js
7204var es_json_stringify = __webpack_require__(8862);
7205// EXTERNAL MODULE: ./node_modules/core-js/modules/es.regexp.to-string.js
7206var es_regexp_to_string = __webpack_require__(9714);
7207// EXTERNAL MODULE: ./node_modules/core-js/modules/es.symbol.to-primitive.js
7208var es_symbol_to_primitive = __webpack_require__(6649);
7209// EXTERNAL MODULE: ./node_modules/core-js/modules/es.date.to-primitive.js
7210var es_date_to_primitive = __webpack_require__(6078);
7211// EXTERNAL MODULE: ./node_modules/core-js/modules/es.number.constructor.js
7212var es_number_constructor = __webpack_require__(9653);
7213;// CONCATENATED MODULE: ./src/scripts/components/accordion.ts
7214function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
7215function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return exports; }; var exports = {}, Op = Object.prototype, hasOwn = Op.hasOwnProperty, defineProperty = Object.defineProperty || function (obj, key, desc) { obj[key] = desc.value; }, $Symbol = "function" == typeof Symbol ? Symbol : {}, iteratorSymbol = $Symbol.iterator || "@@iterator", asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator", toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag"; function define(obj, key, value) { return Object.defineProperty(obj, key, { value: value, enumerable: !0, configurable: !0, writable: !0 }), obj[key]; } try { define({}, ""); } catch (err) { define = function define(obj, key, value) { return obj[key] = value; }; } function wrap(innerFn, outerFn, self, tryLocsList) { var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator, generator = Object.create(protoGenerator.prototype), context = new Context(tryLocsList || []); return defineProperty(generator, "_invoke", { value: makeInvokeMethod(innerFn, self, context) }), generator; }
vendor: 7,629 bytes, line 7215
7215 function tryCatch(fn, obj, arg) { try { return { type: "normal", arg: fn.call(obj, arg) }; } catch (err) { return { type: "throw", arg: err }; } } exports.wrap = wrap; var ContinueSentinel = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var IteratorPrototype = {}; define(IteratorPrototype, iteratorSymbol, function () { return this; }); var getProto = Object.getPrototypeOf, NativeIteratorPrototype = getProto && getProto(getProto(values([]))); NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol) && (IteratorPrototype = NativeIteratorPrototype); var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype); function defineIteratorMethods(prototype) { ["next", "throw", "return"].forEach(function (method) { define(prototype, method, function (arg) { return this._invoke(method, arg); }); }); } function AsyncIterator(generator, PromiseImpl) { function invoke(method, arg, resolve, reject) { var record = tryCatch(generator[method], generator, arg); if ("throw" !== record.type) { var result = record.arg, value = result.value; return value && "object" == _typeof(value) && hasOwn.call(value, "__await") ? PromiseImpl.resolve(value.__await).then(function (value) { invoke("next", value, resolve, reject); }, function (err) { invoke("throw", err, resolve, reject); }) : PromiseImpl.resolve(value).then(function (unwrapped) { result.value = unwrapped, resolve(result); }, function (error) { return invoke("throw", error, resolve, reject); }); } reject(record.arg); } var previousPromise; defineProperty(this, "_invoke", { value: function value(method, arg) { function callInvokeWithMethodAndArg() { return new PromiseImpl(function (resolve, reject) { invoke(method, arg, resolve, reject); }); } return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(innerFn, self, context) { var state = "suspendedStart"; return function (method, arg) { if ("executing" === state) throw new Error("Generator is already running"); if ("completed" === state) { if ("throw" === method) throw arg; return doneResult(); } for (context.method = method, context.arg = arg;;) { var delegate = context.delegate; if (delegate) { var delegateResult = maybeInvokeDelegate(delegate, context); if (delegateResult) { if (delegateResult === ContinueSentinel) continue; return delegateResult; } } if ("next" === context.method) context.sent = context._sent = context.arg;else if ("throw" === context.method) { if ("suspendedStart" === state) throw state = "completed", context.arg; context.dispatchException(context.arg); } else "return" === context.method && context.abrupt("return", context.arg); state = "executing"; var record = tryCatch(innerFn, self, context); if ("normal" === record.type) { if (state = context.done ? "completed" : "suspendedYield", record.arg === ContinueSentinel) continue; return { value: record.arg, done: context.done }; } "throw" === record.type && (state = "completed", context.method = "throw", context.arg = record.arg); } }; } function maybeInvokeDelegate(delegate, context) { var methodName = context.method, method = delegate.iterator[methodName]; if (undefined === method) return context.delegate = null, "throw" === methodName && delegate.iterator.return && (context.method = "return", context.arg = undefined, maybeInvokeDelegate(delegate, context), "throw" === context.method) || "return" !== methodName && (context.method = "throw", context.arg = new TypeError("The iterator does not provide a '" + methodName + "' method")), ContinueSentinel; var record = tryCatch(method, delegate.iterator, context.arg); if ("throw" === record.type) return context.method = "throw", context.arg = record.arg, context.delegate = null, ContinueSentinel; var info = record.arg; return info ? info.done ? (context[delegate.resultName] = info.value, context.next = delegate.nextLoc, "return" !== context.method && (context.method = "next", context.arg = undefined), context.delegate = null, ContinueSentinel) : info : (context.method = "throw", context.arg = new TypeError("iterator result is not an object"), context.delegate = null, ContinueSentinel); } function pushTryEntry(locs) { var entry = { tryLoc: locs[0] }; 1 in locs && (entry.catchLoc = locs[1]), 2 in locs && (entry.finallyLoc = locs[2], entry.afterLoc = locs[3]), this.tryEntries.push(entry); } function resetTryEntry(entry) { var record = entry.completion || {}; record.type = "normal", delete record.arg, entry.completion = record; } function Context(tryLocsList) { this.tryEntries = [{ tryLoc: "root" }], tryLocsList.forEach(pushTryEntry, this), this.reset(!0); } function values(iterable) { if (iterable) { var iteratorMethod = iterable[iteratorSymbol]; if (iteratorMethod) return iteratorMethod.call(iterable); if ("function" == typeof iterable.next) return iterable; if (!isNaN(iterable.length)) { var i = -1, next = function next() { for (; ++i < iterable.length;) if (hasOwn.call(iterable, i)) return next.value = iterable[i], next.done = !1, next; return next.value = undefined, next.done = !0, next; }; return next.next = next; } } return { next: doneResult }; } function doneResult() { return { value: undefined, done: !0 }; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, defineProperty(Gp, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), defineProperty(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, "GeneratorFunction"), exports.isGeneratorFunction = function (genFun) { var ctor = "function" == typeof genFun && genFun.constructor; return !!ctor && (ctor === GeneratorFunction || "GeneratorFunction" === (ctor.displayName || ctor.name)); }, exports.mark = function (genFun) { return Object.setPrototypeOf ? Object.setPrototypeOf(genFun, GeneratorFunctionPrototype) : (genFun.__proto__ = GeneratorFunctionPrototype, define(genFun, toStringTagSymbol, "GeneratorFunction")), genFun.prototype = Object.create(Gp), genFun; }, exports.awrap = function (arg) { return { __await: arg }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, asyncIteratorSymbol, function () { return this; }), exports.AsyncIterator = AsyncIterator, exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) { void 0 === PromiseImpl && (PromiseImpl = Promise); var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl); return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) { return result.done ? result.value : iter.next(); }); }, defineIteratorMethods(Gp), define(Gp, toStringTagSymbol, "Generator"), define(Gp, iteratorSymbol, function () { return this; }), define(Gp, "toString", function () { return "[object Generator]"; }), exports.keys = function (val) { var object = Object(val), keys = []; for (var key in object) keys.push(key); return keys.reverse(), function next() { for (; keys.length;) { var key = keys.pop(); if (key in object) return next.value = key, next.done = !1, next; } return next.done = !0, next; }; }, exports.values = values, Context.prototype = { constructor: Context, reset: function reset(skipTempReset) { if (this.prev = 0, this.next = 0, this.sent = this._sent = undefined, this.done = !1, this.delegate = null, this.method = "next", this.arg = undefined, this.tryEntries.forEac
vendor: 4,968 bytes, lines 7215-7244
7215h(resetTryEntry), !skipTempReset) for (var name in this) "t" === name.charAt(0) && hasOwn.call(this, name) && !isNaN(+name.slice(1)) && (this[name] = undefined); }, stop: function stop() { this.done = !0; var rootRecord = this.tryEntries[0].completion; if ("throw" === rootRecord.type) throw rootRecord.arg; return this.rval; }, dispatchException: function dispatchException(exception) { if (this.done) throw exception; var context = this; function handle(loc, caught) { return record.type = "throw", record.arg = exception, context.next = loc, caught && (context.method = "next", context.arg = undefined), !!caught; } for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i], record = entry.completion; if ("root" === entry.tryLoc) return handle("end"); if (entry.tryLoc <= this.prev) { var hasCatch = hasOwn.call(entry, "catchLoc"), hasFinally = hasOwn.call(entry, "finallyLoc"); if (hasCatch && hasFinally) { if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); } else if (hasCatch) { if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); } else { if (!hasFinally) throw new Error("try statement without catch or finally"); if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); } } } }, abrupt: function abrupt(type, arg) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.tryLoc <= this.prev && hasOwn.call(entry, "finallyLoc") && this.prev < entry.finallyLoc) { var finallyEntry = entry; break; } } finallyEntry && ("break" === type || "continue" === type) && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc && (finallyEntry = null); var record = finallyEntry ? finallyEntry.completion : {}; return record.type = type, record.arg = arg, finallyEntry ? (this.method = "next", this.next = finallyEntry.finallyLoc, ContinueSentinel) : this.complete(record); }, complete: function complete(record, afterLoc) { if ("throw" === record.type) throw record.arg; return "break" === record.type || "continue" === record.type ? this.next = record.arg : "return" === record.type ? (this.rval = this.arg = record.arg, this.method = "return", this.next = "end") : "normal" === record.type && afterLoc && (this.next = afterLoc), ContinueSentinel; }, finish: function finish(finallyLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.finallyLoc === finallyLoc) return this.complete(entry.completion, entry.afterLoc), resetTryEntry(entry), ContinueSentinel; } }, catch: function _catch(tryLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.tryLoc === tryLoc) { var record = entry.completion; if ("throw" === record.type) { var thrown = record.arg; resetTryEntry(entry); } return thrown; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(iterable, resultName, nextLoc) { return this.delegate = { iterator: values(iterable), resultName: resultName, nextLoc: nextLoc }, "next" === this.method && (this.arg = undefined), ContinueSentinel; } }, exports; }
7216
7217
7218
7219
7220
7221
7222
7223
7224
7225
7226
7227
7228
7229
7230
7231
7232
7233
7234
7235
7236
7237
7238function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
7239function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
7240function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
7241function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
7242function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
7243function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
7244function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string");
7244 return _typeof(key) === "symbol" ? key : String(key); }
7245function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
7246var Accordion = /*#__PURE__*/function () {
7247  function Accordion() {
7248    var _this = this;
7249    _classCallCheck(this, Accordion);
7250    _defineProperty(this, "_cc_accordion", void 0);
7251    _defineProperty(this, "_cc_accordion_content", void 0);
7252    _defineProperty(this, "_cc_accordion_header", void 0);
7253    _defineProperty(this, "_apiPrefix", '/umbraco/api/votingapi/');
7254    _defineProperty(this, "_thumbs", void 0);
7255    _defineProperty(this, "vote", /*#__PURE__*/function () {
7256      var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(thumbsUp, question) {
7257        var res;
7258        return _regeneratorRuntime().wrap(function _callee$(_context) {
7259          while (1) switch (_context.prev = _context.next) {
7260            case 0:
7261              _context.prev = 0;
7262              _context.next = 3;
7263              return fetch(_this._apiPrefix + 'vote', {
7264                method: 'POST',
7265                headers: {
7266                  "Content-Type": "application/json",
7267                  "X-EndPoint-Key": window.ak
7268                },
7269                body: JSON.stringify({
7270                  "resolved": thumbsUp,
7271                  "question": question
7272                })
7273              });
7274            case 3:
7275              res = _context.sent;
7276              _context.next = 9;
7277              break;
7278            case 6:
7279              _context.prev = 6;
7280              _context.t0 = _context["catch"](0);
7281              console.log(_context.t0);
7282            case 9:
7283            case "end":
7284              return _context.stop();
7285          }
7286        }, _callee, null, [[0, 6]]);
7287      }));
7288      return function (_x, _x2) {
7289        return _ref.apply(this, arguments);
7290      };
7291    }());
7292    _defineProperty(this, "getElm", function (fromElm, elmToGet) {
7293      if (fromElm.classList.contains(elmToGet)) {
7294        return fromElm;
7295      } else if (fromElm.classList.contains('container')) {
7296        return null;
7297      }
7298      return _this.getElm(fromElm.parentElement, elmToGet);
7299    });
7300    _defineProperty(this, "getQuestion", function (fromThumb) {
7301      var acc = _this.getElm(fromThumb, 'cc-accordion');
7302      if (acc) {
7303        var question = acc.querySelector('.cc-accordion-header h3');
7304        var questionData = question.getAttribute('data-question');
7305        if (question.textContent === questionData) {
7306          return questionData;
7307        }
7308      }
7309      return null;
7310    });
7311    if (Accordion.instance) {
7312      return Accordion.instance;
7313    }
7314    Accordion.instance = this;
7315    this._cc_accordion = document.querySelectorAll('.cc-accordion');
7316    this._cc_accordion_content = document.querySelectorAll('.cc-accordion-content');
7317    this._cc_accordion_header = document.querySelectorAll('.cc-accordion-header');
7318    this._thumbs = document.querySelectorAll('.thumbs-up-btn,.thumbs-down-btn');
7319    this.addEvents();
7320    this.sizer();
7321  }
7322  _createClass(Accordion, [{
7323    key: "sizer",
7324    value: function sizer() {
7325      if (this._cc_accordion.length > -1) {
7326        for (var i = 0; i < this._cc_accordion_content.length; i++) {
7327          var accContent = this._cc_accordion_content[i];
7328          accContent.style.height = "auto";
7329          accContent.parentElement.dataset.height = accContent.offsetHeight.toString();
7330          if (!this._cc_accordion_content[i].parentElement.classList.contains("open")) {
7331            accContent.style.height = '0';
7332          }
7333        }
7334      }
7335    }
7336  }, {
7337    key: "addEvents",
7338    value: function addEvents() {
7339      var _this2 = this;
7340      window.addEventListener('resize', function () {
7341        _this2.sizer();
7342      });
7343      if (this._cc_accordion.length > -1) {
7344        for (var i = 0; i < this._cc_accordion_header.length; i++) {
7345          var targetheight = 0;
7346          this._cc_accordion_header[i].addEventListener('click', function () {
7347            var parent = this.parentElement,
7348              targetheight = 0;
7349            if (parent.classList.contains("open")) {
7350              targetheight = 0;
7351              parent.classList.remove("open");
7352            } else {
7353              targetheight = parent.dataset.height;
7354              parent.classList.add("open");
7355            }
7356            var sb = this.nextElementSibling.style.height = targetheight + "px";
7357          });
7358        }
7359      }
7360      this._thumbs.forEach(function (elm) {
7361        elm.addEventListener('click', function (e) {
7362          var _this2$getQuestion;
7363          var btn = e.currentTarget;
7364          var question = (_this2$getQuestion = _this2.getQuestion(btn)) !== null && _this2$getQuestion !== void 0 ? _this2$getQuestion : '';
7365          if (question) {
7366            _this2.vote(btn.classList.contains('thumbs-up-btn'), question);
7367            var voteElm = _this2.getElm(btn, 'voting');
7368            var thumbsElms = voteElm.querySelectorAll('.thumbs-up,.thumbs-down');
7369            thumbsElms.forEach(function (elm) {
7370              elm.classList.add('hidden');
7371            });
7372            var votingComplete = "<div class=\"voting-feedback\">\n                                                <p>Thanks for your feedback.</p>\n                                             </div>";
7373            voteElm.innerHTML = votingComplete;
7374          }
7375        });
7376      });
7377    }
7378  }], [{
7379    key: "getInstance",
7380    value: function getInstance() {
7381      if (!Accordion.instance) {
7382        Accordion.instance = new Accordion();
7383      }
7384      return Accordion.instance;
7385    }
7386  }]);
7387  return Accordion;
7388}();
7389_defineProperty(Accordion, "instance", void 0);
7390/* harmony default export */ var accordion = (Accordion);
7391// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.from.js
7392var es_array_from = __webpack_require__(1038);
7393// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.includes.js
7394var es_array_includes = __webpack_require__(6699);
7395;// CONCATENATED MODULE: ./src/scripts/components/nav.ts
7396
7397
7398
7399
7400
7401function Nav() {
7402  var topmenu = document.querySelector(".cc-primary-nav");
7403  var inputToggleElm = document.querySelector("input#toggle_menu");
7404  var desktopChildMenus = topmenu.querySelectorAll('.primary li ul');
7405  var parentLinks = topmenu.querySelectorAll(".primary > li");
7406  var logo = document.querySelector('#header-logo');
7407  var mainButtons = document.querySelectorAll("label[for='toggle_menu']");
7408  var skipButtons = document.querySelectorAll("a[href='#skiplink-menu']");
7409  var breakpoint = 'lg';
7410  var resizeTimeout;
7411  var mobileResetNeeded = true;
7412  var isMainButton = function isMainButton(elem) {
7413    return Array.from(mainButtons).some(function (btn) {
7414      return btn.contains(elem) || elem.isEqualNode(btn);
7415    });
7416  };
7417  var isVisible = function isVisible(elem) {
7418    return !!elem && !!(elem.offsetWidth || elem.offsetHeight || elem.getClientRects().length);
7419  };
7420
7421  // Event handlers
7422  var attachEventHandlers = function attachEventHandlers() {
7423    // Skip buttons trigger the main menu toggle
7424    skipButtons.forEach(function (btn) {
7425      btn.addEventListener('keydown', function (e) {
7426        if (['Space', 'Enter'].includes(e.key)) mainButtons[0].click();
7427      });
7428    });
7429
7430    // Main buttons keyboard toggle
7431    mainButtons.forEach(function (btn, idx) {
7432      btn.addEventListener('keydown', function (e) {
7433        if (['Space', 'Enter'].includes(e.key)) {
7434          e.currentTarget.click();
7435          e.preventDefault();
7436        }
7437        // Optional: for second button or any, close menu on Tab/Enter/Space
7438        if (idx === 1 && ['Space', 'Enter', 'Tab'].includes(e.key)) {
7439          inputToggleElm.checked = false;
7440        }
7441      });
7442    });
7443
7444    // Click outside menu closes mobile
7445    document.addEventListener('click', function (e) {
7446      var element = e.target;
7447      if (inputToggleElm.checked && !isMainButton(element) && !topmenu.contains(element) && isVisible(element)) {
7448        mainButtons[0].click();
7449      }
7450    });
7451
7452    // Window resize
7453    window.addEventListener('resize', function () {
7454      document.body.classList.add("is-resizing");
7455      clearTimeout(resizeTimeout);
7456      resizeTimeout = window.setTimeout(function () {
7457        document.body.classList.remove("is-resizing");
7458        onResize();
7459        logo.style.width = '';
7460      }, 150);
7461    });
7462    setupDesktopArrowKeyNavigation();
7463  };
7464  var setBreakpoint = function setBreakpoint() {
7465    var width = window.innerWidth;
7466    breakpoint = width >= 1200 ? 'lg' : width >= 800 ? 'md' : 'sm';
7467  };
7468  var killMobileMenu = function killMobileMenu() {
7469    inputToggleElm.checked = false;
7470  };
7471
7472  // Logo fix
7473  var fixLogoSizeChangeOnMenuToggle = function fixLogoSizeChangeOnMenuToggle() {
7474    if (!logo) return;
7475    inputToggleElm.addEventListener('change', function (e) {
7476      var element = e.target;
7477      var checked = element.checked;
7478      element.checked = !checked;
7479      logo.style.width = checked ? "".concat(logo.clientWidth, "px") : '';
7480      element.checked = checked;
7481    });
7482  };
7483  var checkForOffscreen = function checkForOffscreen() {
7484    desktopChildMenus.forEach(function (element) {
7485      element.classList.remove('offscreen-right-fix');
7486      if (element.getBoundingClientRect().right > window.innerWidth) {
7487        element.classList.add('offscreen-right-fix');
7488      }
7489    });
7490  };
7491  var closeAllDesktopSubmenus = function closeAllDesktopSubmenus() {
7492    topmenu.querySelectorAll(".primary > li[aria-expanded='true']").forEach(function (link) {
7493      link.setAttribute("aria-expanded", "false");
7494      link.classList.remove("open");
7495    });
7496  };
7497  var setupDesktopArrowKeyNavigation = function setupDesktopArrowKeyNavigation() {
7498    parentLinks.forEach(function (link) {
7499      link.addEventListener("keydown", function (e) {
7500        var submenu = link.querySelector("ul");
7501
7502        // ↓ = open submenu
7503        if (e.key === "ArrowDown") {
7504          var _submenu$querySelecto;
7505          e.preventDefault();
7506          closeAllDesktopSubmenus();
7507          link.setAttribute("aria-expanded", "true");
7508          link.classList.add("open");
7509          submenu === null || submenu === void 0 ? void 0 : (_submenu$querySelecto = submenu.querySelector("a")) === null || _submenu$querySelecto === void 0 ? void 0 : _submenu$querySelecto.focus();
7510        }
7511
7512        // Escape closes submenu
7513        if (e.key === "Escape") {
7514          closeAllDesktopSubmenus();
7515          link.focus();
7516        }
7517      });
7518    });
7519  };
7520  var onResize = function onResize() {
7521    setBreakpoint();
7522    if (breakpoint === 'lg') {
7523      checkForOffscreen();
7524      killMobileMenu();
7525      mobileResetNeeded = true;
7526    } else {
7527      if (mobileResetNeeded) {
7528        //remove a tag classes added for desktop
7529        //remove right offscreen fixes
7530        desktopChildMenus.forEach(function (element) {
7531          element.classList.remove('offscreen-right-fix');
7532        });
7533        mobileResetNeeded = false;
7534      }
7535    }
7536  };
7537
7538  // Initialization
7539  var init = function init() {
7540    fixLogoSizeChangeOnMenuToggle();
7541    attachEventHandlers();
7542    setBreakpoint();
7543    if (breakpoint === 'lg') {
7544      checkForOffscreen();
7545    }
7546  };
7547  init();
7548}
7549;// CONCATENATED MODULE: ./node_modules/@splidejs/splide/dist/js/splide.esm.js
7550function splide_esm_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
7551
7552function splide_esm_createClass(Constructor, protoProps, staticProps) { if (protoProps) splide_esm_defineProperties(Constructor.prototype, protoProps); if (staticProps) splide_esm_defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
7553
7554/*!
7555 * Splide.js
7556 * Version  : 4.1.4
7557 * License  : MIT
7558 * Copyright: 2022 Naotoshi Fujita
7559 */
7560var MEDIA_PREFERS_REDUCED_MOTION = "(prefers-reduced-motion: reduce)";
7561var CREATED = 1;
7562var MOUNTED = 2;
7563var IDLE = 3;
7564var MOVING = 4;
7565var SCROLLING = 5;
7566var DRAGGING = 6;
7567var DESTROYED = 7;
7568var STATES = {
7569  CREATED: CREATED,
7570  MOUNTED: MOUNTED,
7571  IDLE: IDLE,
7572  MOVING: MOVING,
7573  SCROLLING: SCROLLING,
7574  DRAGGING: DRAGGING,
7575  DESTROYED: DESTROYED
7576};
7577
7578function empty(array) {
7579  array.length = 0;
7580}
7581
7582function slice(arrayLike, start, end) {
7583  return Array.prototype.slice.call(arrayLike, start, end);
7584}
7585
7586function apply(func) {
7587  return func.bind.apply(func, [null].concat(slice(arguments, 1)));
7588}
7589
7590var nextTick = setTimeout;
7591
7592var noop = function noop() {};
7593
7594function raf(func) {
7595  return requestAnimationFrame(func);
7596}
7597
7598function typeOf(type, subject) {
7599  return typeof subject === type;
7600}
7601
7602function isObject(subject) {
7603  return !isNull(subject) && typeOf("object", subject);
7604}
7605
7606var isArray = Array.isArray;
7607var isFunction = apply(typeOf, "function");
7608var isString = apply(typeOf, "string");
7609var isUndefined = apply(typeOf, "undefined");
7610
7611function isNull(subject) {
7612  return subject === null;
7613}
7614
7615function isHTMLElement(subject) {
7616  try {
7617    return subject instanceof (subject.ownerDocument.defaultView || window).HTMLElement;
7618  } catch (e) {
7619    return false;
7620  }
7621}
7622
7623function toArray(value) {
7624  return isArray(value) ? value : [value];
7625}
7626
7627function forEach(values, iteratee) {
vendor: 97,813 bytes, lines 7628-11232
7628  toArray(values).forEach(iteratee);
7629}
7630
7631function includes(array, value) {
7632  return array.indexOf(value) > -1;
7633}
7634
7635function push(array, items) {
7636  array.push.apply(array, toArray(items));
7637  return array;
7638}
7639
7640function toggleClass(elm, classes, add) {
7641  if (elm) {
7642    forEach(classes, function (name) {
7643      if (name) {
7644        elm.classList[add ? "add" : "remove"](name);
7645      }
7646    });
7647  }
7648}
7649
7650function addClass(elm, classes) {
7651  toggleClass(elm, isString(classes) ? classes.split(" ") : classes, true);
7652}
7653
7654function append(parent, children) {
7655  forEach(children, parent.appendChild.bind(parent));
7656}
7657
7658function before(nodes, ref) {
7659  forEach(nodes, function (node) {
7660    var parent = (ref || node).parentNode;
7661
7662    if (parent) {
7663      parent.insertBefore(node, ref);
7664    }
7665  });
7666}
7667
7668function matches(elm, selector) {
7669  return isHTMLElement(elm) && (elm["msMatchesSelector"] || elm.matches).call(elm, selector);
7670}
7671
7672function children(parent, selector) {
7673  var children2 = parent ? slice(parent.children) : [];
7674  return selector ? children2.filter(function (child) {
7675    return matches(child, selector);
7676  }) : children2;
7677}
7678
7679function child(parent, selector) {
7680  return selector ? children(parent, selector)[0] : parent.firstElementChild;
7681}
7682
7683var ownKeys = Object.keys;
7684
7685function forOwn(object, iteratee, right) {
7686  if (object) {
7687    (right ? ownKeys(object).reverse() : ownKeys(object)).forEach(function (key) {
7688      key !== "__proto__" && iteratee(object[key], key);
7689    });
7690  }
7691
7692  return object;
7693}
7694
7695function splide_esm_assign(object) {
7696  slice(arguments, 1).forEach(function (source) {
7697    forOwn(source, function (value, key) {
7698      object[key] = source[key];
7699    });
7700  });
7701  return object;
7702}
7703
7704function merge(object) {
7705  slice(arguments, 1).forEach(function (source) {
7706    forOwn(source, function (value, key) {
7707      if (isArray(value)) {
7708        object[key] = value.slice();
7709      } else if (isObject(value)) {
7710        object[key] = merge({}, isObject(object[key]) ? object[key] : {}, value);
7711      } else {
7712        object[key] = value;
7713      }
7714    });
7715  });
7716  return object;
7717}
7718
7719function omit(object, keys) {
7720  forEach(keys || ownKeys(object), function (key) {
7721    delete object[key];
7722  });
7723}
7724
7725function removeAttribute(elms, attrs) {
7726  forEach(elms, function (elm) {
7727    forEach(attrs, function (attr) {
7728      elm && elm.removeAttribute(attr);
7729    });
7730  });
7731}
7732
7733function setAttribute(elms, attrs, value) {
7734  if (isObject(attrs)) {
7735    forOwn(attrs, function (value2, name) {
7736      setAttribute(elms, name, value2);
7737    });
7738  } else {
7739    forEach(elms, function (elm) {
7740      isNull(value) || value === "" ? removeAttribute(elm, attrs) : elm.setAttribute(attrs, String(value));
7741    });
7742  }
7743}
7744
7745function create(tag, attrs, parent) {
7746  var elm = document.createElement(tag);
7747
7748  if (attrs) {
7749    isString(attrs) ? addClass(elm, attrs) : setAttribute(elm, attrs);
7750  }
7751
7752  parent && append(parent, elm);
7753  return elm;
7754}
7755
7756function style(elm, prop, value) {
7757  if (isUndefined(value)) {
7758    return getComputedStyle(elm)[prop];
7759  }
7760
7761  if (!isNull(value)) {
7762    elm.style[prop] = "" + value;
7763  }
7764}
7765
7766function display(elm, display2) {
7767  style(elm, "display", display2);
7768}
7769
7770function splide_esm_focus(elm) {
7771  elm["setActive"] && elm["setActive"]() || elm.focus({
7772    preventScroll: true
7773  });
7774}
7775
7776function getAttribute(elm, attr) {
7777  return elm.getAttribute(attr);
7778}
7779
7780function hasClass(elm, className) {
7781  return elm && elm.classList.contains(className);
7782}
7783
7784function rect(target) {
7785  return target.getBoundingClientRect();
7786}
7787
7788function remove(nodes) {
7789  forEach(nodes, function (node) {
7790    if (node && node.parentNode) {
7791      node.parentNode.removeChild(node);
7792    }
7793  });
7794}
7795
7796function parseHtml(html) {
7797  return child(new DOMParser().parseFromString(html, "text/html").body);
7798}
7799
7800function prevent(e, stopPropagation) {
7801  e.preventDefault();
7802
7803  if (stopPropagation) {
7804    e.stopPropagation();
7805    e.stopImmediatePropagation();
7806  }
7807}
7808
7809function query(parent, selector) {
7810  return parent && parent.querySelector(selector);
7811}
7812
7813function queryAll(parent, selector) {
7814  return selector ? slice(parent.querySelectorAll(selector)) : [];
7815}
7816
7817function removeClass(elm, classes) {
7818  toggleClass(elm, classes, false);
7819}
7820
7821function timeOf(e) {
7822  return e.timeStamp;
7823}
7824
7825function unit(value) {
7826  return isString(value) ? value : value ? value + "px" : "";
7827}
7828
7829var PROJECT_CODE = "splide";
7830var DATA_ATTRIBUTE = "data-" + PROJECT_CODE;
7831
7832function assert(condition, message) {
7833  if (!condition) {
7834    throw new Error("[" + PROJECT_CODE + "] " + (message || ""));
7835  }
7836}
7837
7838var min = Math.min,
7839    max = Math.max,
7840    floor = Math.floor,
7841    ceil = Math.ceil,
7842    abs = Math.abs;
7843
7844function approximatelyEqual(x, y, epsilon) {
7845  return abs(x - y) < epsilon;
7846}
7847
7848function between(number, x, y, exclusive) {
7849  var minimum = min(x, y);
7850  var maximum = max(x, y);
7851  return exclusive ? minimum < number && number < maximum : minimum <= number && number <= maximum;
7852}
7853
7854function clamp(number, x, y) {
7855  var minimum = min(x, y);
7856  var maximum = max(x, y);
7857  return min(max(minimum, number), maximum);
7858}
7859
7860function sign(x) {
7861  return +(x > 0) - +(x < 0);
7862}
7863
7864function camelToKebab(string) {
7865  return string.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase();
7866}
7867
7868function format(string, replacements) {
7869  forEach(replacements, function (replacement) {
7870    string = string.replace("%s", "" + replacement);
7871  });
7872  return string;
7873}
7874
7875function pad(number) {
7876  return number < 10 ? "0" + number : "" + number;
7877}
7878
7879var ids = {};
7880
7881function uniqueId(prefix) {
7882  return "" + prefix + pad(ids[prefix] = (ids[prefix] || 0) + 1);
7883}
7884
7885function EventBinder() {
7886  var listeners = [];
7887
7888  function bind(targets, events, callback, options) {
7889    forEachEvent(targets, events, function (target, event, namespace) {
7890      var isEventTarget = ("addEventListener" in target);
7891      var remover = isEventTarget ? target.removeEventListener.bind(target, event, callback, options) : target["removeListener"].bind(target, callback);
7892      isEventTarget ? target.addEventListener(event, callback, options) : target["addListener"](callback);
7893      listeners.push([target, event, namespace, callback, remover]);
7894    });
7895  }
7896
7897  function unbind(targets, events, callback) {
7898    forEachEvent(targets, events, function (target, event, namespace) {
7899      listeners = listeners.filter(function (listener) {
7900        if (listener[0] === target && listener[1] === event && listener[2] === namespace && (!callback || listener[3] === callback)) {
7901          listener[4]();
7902          return false;
7903        }
7904
7905        return true;
7906      });
7907    });
7908  }
7909
7910  function dispatch(target, type, detail) {
7911    var e;
7912    var bubbles = true;
7913
7914    if (typeof CustomEvent === "function") {
7915      e = new CustomEvent(type, {
7916        bubbles: bubbles,
7917        detail: detail
7918      });
7919    } else {
7920      e = document.createEvent("CustomEvent");
7921      e.initCustomEvent(type, bubbles, false, detail);
7922    }
7923
7924    target.dispatchEvent(e);
7925    return e;
7926  }
7927
7928  function forEachEvent(targets, events, iteratee) {
7929    forEach(targets, function (target) {
7930      target && forEach(events, function (events2) {
7931        events2.split(" ").forEach(function (eventNS) {
7932          var fragment = eventNS.split(".");
7933          iteratee(target, fragment[0], fragment[1]);
7934        });
7935      });
7936    });
7937  }
7938
7939  function destroy() {
7940    listeners.forEach(function (data) {
7941      data[4]();
7942    });
7943    empty(listeners);
7944  }
7945
7946  return {
7947    bind: bind,
7948    unbind: unbind,
7949    dispatch: dispatch,
7950    destroy: destroy
7951  };
7952}
7953
7954var EVENT_MOUNTED = "mounted";
7955var EVENT_READY = "ready";
7956var EVENT_MOVE = "move";
7957var EVENT_MOVED = "moved";
7958var EVENT_CLICK = "click";
7959var EVENT_ACTIVE = "active";
7960var EVENT_INACTIVE = "inactive";
7961var EVENT_VISIBLE = "visible";
7962var EVENT_HIDDEN = "hidden";
7963var EVENT_REFRESH = "refresh";
7964var EVENT_UPDATED = "updated";
7965var EVENT_RESIZE = "resize";
7966var EVENT_RESIZED = "resized";
7967var EVENT_DRAG = "drag";
7968var EVENT_DRAGGING = "dragging";
7969var EVENT_DRAGGED = "dragged";
7970var EVENT_SCROLL = "scroll";
7971var EVENT_SCROLLED = "scrolled";
7972var EVENT_OVERFLOW = "overflow";
7973var EVENT_DESTROY = "destroy";
7974var EVENT_ARROWS_MOUNTED = "arrows:mounted";
7975var EVENT_ARROWS_UPDATED = "arrows:updated";
7976var EVENT_PAGINATION_MOUNTED = "pagination:mounted";
7977var EVENT_PAGINATION_UPDATED = "pagination:updated";
7978var EVENT_NAVIGATION_MOUNTED = "navigation:mounted";
7979var EVENT_AUTOPLAY_PLAY = "autoplay:play";
7980var EVENT_AUTOPLAY_PLAYING = "autoplay:playing";
7981var EVENT_AUTOPLAY_PAUSE = "autoplay:pause";
7982var EVENT_LAZYLOAD_LOADED = "lazyload:loaded";
7983var EVENT_SLIDE_KEYDOWN = "sk";
7984var EVENT_SHIFTED = "sh";
7985var EVENT_END_INDEX_CHANGED = "ei";
7986
7987function EventInterface(Splide2) {
7988  var bus = Splide2 ? Splide2.event.bus : document.createDocumentFragment();
7989  var binder = EventBinder();
7990
7991  function on(events, callback) {
7992    binder.bind(bus, toArray(events).join(" "), function (e) {
7993      callback.apply(callback, isArray(e.detail) ? e.detail : []);
7994    });
7995  }
7996
7997  function emit(event) {
7998    binder.dispatch(bus, event, slice(arguments, 1));
7999  }
8000
8001  if (Splide2) {
8002    Splide2.event.on(EVENT_DESTROY, binder.destroy);
8003  }
8004
8005  return splide_esm_assign(binder, {
8006    bus: bus,
8007    on: on,
8008    off: apply(binder.unbind, bus),
8009    emit: emit
8010  });
8011}
8012
8013function RequestInterval(interval, onInterval, onUpdate, limit) {
8014  var now = Date.now;
8015  var startTime;
8016  var rate = 0;
8017  var id;
8018  var paused = true;
8019  var count = 0;
8020
8021  function update() {
8022    if (!paused) {
8023      rate = interval ? min((now() - startTime) / interval, 1) : 1;
8024      onUpdate && onUpdate(rate);
8025
8026      if (rate >= 1) {
8027        onInterval();
8028        startTime = now();
8029
8030        if (limit && ++count >= limit) {
8031          return pause();
8032        }
8033      }
8034
8035      id = raf(update);
8036    }
8037  }
8038
8039  function start(resume) {
8040    resume || cancel();
8041    startTime = now() - (resume ? rate * interval : 0);
8042    paused = false;
8043    id = raf(update);
8044  }
8045
8046  function pause() {
8047    paused = true;
8048  }
8049
8050  function rewind() {
8051    startTime = now();
8052    rate = 0;
8053
8054    if (onUpdate) {
8055      onUpdate(rate);
8056    }
8057  }
8058
8059  function cancel() {
8060    id && cancelAnimationFrame(id);
8061    rate = 0;
8062    id = 0;
8063    paused = true;
8064  }
8065
8066  function set(time) {
8067    interval = time;
8068  }
8069
8070  function isPaused() {
8071    return paused;
8072  }
8073
8074  return {
8075    start: start,
8076    rewind: rewind,
8077    pause: pause,
8078    cancel: cancel,
8079    set: set,
8080    isPaused: isPaused
8081  };
8082}
8083
8084function State(initialState) {
8085  var state = initialState;
8086
8087  function set(value) {
8088    state = value;
8089  }
8090
8091  function is(states) {
8092    return includes(toArray(states), state);
8093  }
8094
8095  return {
8096    set: set,
8097    is: is
8098  };
8099}
8100
8101function Throttle(func, duration) {
8102  var interval = RequestInterval(duration || 0, func, null, 1);
8103  return function () {
8104    interval.isPaused() && interval.start();
8105  };
8106}
8107
8108function Media(Splide2, Components2, options) {
8109  var state = Splide2.state;
8110  var breakpoints = options.breakpoints || {};
8111  var reducedMotion = options.reducedMotion || {};
8112  var binder = EventBinder();
8113  var queries = [];
8114
8115  function setup() {
8116    var isMin = options.mediaQuery === "min";
8117    ownKeys(breakpoints).sort(function (n, m) {
8118      return isMin ? +n - +m : +m - +n;
8119    }).forEach(function (key) {
8120      register(breakpoints[key], "(" + (isMin ? "min" : "max") + "-width:" + key + "px)");
8121    });
8122    register(reducedMotion, MEDIA_PREFERS_REDUCED_MOTION);
8123    update();
8124  }
8125
8126  function destroy(completely) {
8127    if (completely) {
8128      binder.destroy();
8129    }
8130  }
8131
8132  function register(options2, query) {
8133    var queryList = matchMedia(query);
8134    binder.bind(queryList, "change", update);
8135    queries.push([options2, queryList]);
8136  }
8137
8138  function update() {
8139    var destroyed = state.is(DESTROYED);
8140    var direction = options.direction;
8141    var merged = queries.reduce(function (merged2, entry) {
8142      return merge(merged2, entry[1].matches ? entry[0] : {});
8143    }, {});
8144    omit(options);
8145    set(merged);
8146
8147    if (options.destroy) {
8148      Splide2.destroy(options.destroy === "completely");
8149    } else if (destroyed) {
8150      destroy(true);
8151      Splide2.mount();
8152    } else {
8153      direction !== options.direction && Splide2.refresh();
8154    }
8155  }
8156
8157  function reduce(enable) {
8158    if (matchMedia(MEDIA_PREFERS_REDUCED_MOTION).matches) {
8159      enable ? merge(options, reducedMotion) : omit(options, ownKeys(reducedMotion));
8160    }
8161  }
8162
8163  function set(opts, base, notify) {
8164    merge(options, opts);
8165    base && merge(Object.getPrototypeOf(options), opts);
8166
8167    if (notify || !state.is(CREATED)) {
8168      Splide2.emit(EVENT_UPDATED, options);
8169    }
8170  }
8171
8172  return {
8173    setup: setup,
8174    destroy: destroy,
8175    reduce: reduce,
8176    set: set
8177  };
8178}
8179
8180var ARROW = "Arrow";
8181var ARROW_LEFT = ARROW + "Left";
8182var ARROW_RIGHT = ARROW + "Right";
8183var ARROW_UP = ARROW + "Up";
8184var ARROW_DOWN = ARROW + "Down";
8185var LTR = "ltr";
8186var RTL = "rtl";
8187var TTB = "ttb";
8188var ORIENTATION_MAP = {
8189  width: ["height"],
8190  left: ["top", "right"],
8191  right: ["bottom", "left"],
8192  x: ["y"],
8193  X: ["Y"],
8194  Y: ["X"],
8195  ArrowLeft: [ARROW_UP, ARROW_RIGHT],
8196  ArrowRight: [ARROW_DOWN, ARROW_LEFT]
8197};
8198
8199function Direction(Splide2, Components2, options) {
8200  function resolve(prop, axisOnly, direction) {
8201    direction = direction || options.direction;
8202    var index = direction === RTL && !axisOnly ? 1 : direction === TTB ? 0 : -1;
8203    return ORIENTATION_MAP[prop] && ORIENTATION_MAP[prop][index] || prop.replace(/width|left|right/i, function (match, offset) {
8204      var replacement = ORIENTATION_MAP[match.toLowerCase()][index] || match;
8205      return offset > 0 ? replacement.charAt(0).toUpperCase() + replacement.slice(1) : replacement;
8206    });
8207  }
8208
8209  function orient(value) {
8210    return value * (options.direction === RTL ? 1 : -1);
8211  }
8212
8213  return {
8214    resolve: resolve,
8215    orient: orient
8216  };
8217}
8218
8219var ROLE = "role";
8220var TAB_INDEX = "tabindex";
8221var DISABLED = "disabled";
8222var ARIA_PREFIX = "aria-";
8223var ARIA_CONTROLS = ARIA_PREFIX + "controls";
8224var ARIA_CURRENT = ARIA_PREFIX + "current";
8225var ARIA_SELECTED = ARIA_PREFIX + "selected";
8226var ARIA_LABEL = ARIA_PREFIX + "label";
8227var ARIA_LABELLEDBY = ARIA_PREFIX + "labelledby";
8228var ARIA_HIDDEN = ARIA_PREFIX + "hidden";
8229var ARIA_ORIENTATION = ARIA_PREFIX + "orientation";
8230var ARIA_ROLEDESCRIPTION = ARIA_PREFIX + "roledescription";
8231var ARIA_LIVE = ARIA_PREFIX + "live";
8232var ARIA_BUSY = ARIA_PREFIX + "busy";
8233var ARIA_ATOMIC = ARIA_PREFIX + "atomic";
8234var ALL_ATTRIBUTES = [ROLE, TAB_INDEX, DISABLED, ARIA_CONTROLS, ARIA_CURRENT, ARIA_LABEL, ARIA_LABELLEDBY, ARIA_HIDDEN, ARIA_ORIENTATION, ARIA_ROLEDESCRIPTION];
8235var CLASS_PREFIX = PROJECT_CODE + "__";
8236var STATUS_CLASS_PREFIX = "is-";
8237var CLASS_ROOT = PROJECT_CODE;
8238var CLASS_TRACK = CLASS_PREFIX + "track";
8239var CLASS_LIST = CLASS_PREFIX + "list";
8240var CLASS_SLIDE = CLASS_PREFIX + "slide";
8241var CLASS_CLONE = CLASS_SLIDE + "--clone";
8242var CLASS_CONTAINER = CLASS_SLIDE + "__container";
8243var CLASS_ARROWS = CLASS_PREFIX + "arrows";
8244var CLASS_ARROW = CLASS_PREFIX + "arrow";
8245var CLASS_ARROW_PREV = CLASS_ARROW + "--prev";
8246var CLASS_ARROW_NEXT = CLASS_ARROW + "--next";
8247var CLASS_PAGINATION = CLASS_PREFIX + "pagination";
8248var CLASS_PAGINATION_PAGE = CLASS_PAGINATION + "__page";
8249var CLASS_PROGRESS = CLASS_PREFIX + "progress";
8250var CLASS_PROGRESS_BAR = CLASS_PROGRESS + "__bar";
8251var CLASS_TOGGLE = CLASS_PREFIX + "toggle";
8252var CLASS_TOGGLE_PLAY = CLASS_TOGGLE + "__play";
8253var CLASS_TOGGLE_PAUSE = CLASS_TOGGLE + "__pause";
8254var CLASS_SPINNER = CLASS_PREFIX + "spinner";
8255var CLASS_SR = CLASS_PREFIX + "sr";
8256var CLASS_INITIALIZED = STATUS_CLASS_PREFIX + "initialized";
8257var CLASS_ACTIVE = STATUS_CLASS_PREFIX + "active";
8258var CLASS_PREV = STATUS_CLASS_PREFIX + "prev";
8259var CLASS_NEXT = STATUS_CLASS_PREFIX + "next";
8260var CLASS_VISIBLE = STATUS_CLASS_PREFIX + "visible";
8261var CLASS_LOADING = STATUS_CLASS_PREFIX + "loading";
8262var CLASS_FOCUS_IN = STATUS_CLASS_PREFIX + "focus-in";
8263var CLASS_OVERFLOW = STATUS_CLASS_PREFIX + "overflow";
8264var STATUS_CLASSES = [CLASS_ACTIVE, CLASS_VISIBLE, CLASS_PREV, CLASS_NEXT, CLASS_LOADING, CLASS_FOCUS_IN, CLASS_OVERFLOW];
8265var CLASSES = {
8266  slide: CLASS_SLIDE,
8267  clone: CLASS_CLONE,
8268  arrows: CLASS_ARROWS,
8269  arrow: CLASS_ARROW,
8270  prev: CLASS_ARROW_PREV,
8271  next: CLASS_ARROW_NEXT,
8272  pagination: CLASS_PAGINATION,
8273  page: CLASS_PAGINATION_PAGE,
8274  spinner: CLASS_SPINNER
8275};
8276
8277function closest(from, selector) {
8278  if (isFunction(from.closest)) {
8279    return from.closest(selector);
8280  }
8281
8282  var elm = from;
8283
8284  while (elm && elm.nodeType === 1) {
8285    if (matches(elm, selector)) {
8286      break;
8287    }
8288
8289    elm = elm.parentElement;
8290  }
8291
8292  return elm;
8293}
8294
8295var FRICTION = 5;
8296var LOG_INTERVAL = 200;
8297var POINTER_DOWN_EVENTS = "touchstart mousedown";
8298var POINTER_MOVE_EVENTS = "touchmove mousemove";
8299var POINTER_UP_EVENTS = "touchend touchcancel mouseup click";
8300
8301function Elements(Splide2, Components2, options) {
8302  var _EventInterface = EventInterface(Splide2),
8303      on = _EventInterface.on,
8304      bind = _EventInterface.bind;
8305
8306  var root = Splide2.root;
8307  var i18n = options.i18n;
8308  var elements = {};
8309  var slides = [];
8310  var rootClasses = [];
8311  var trackClasses = [];
8312  var track;
8313  var list;
8314  var isUsingKey;
8315
8316  function setup() {
8317    collect();
8318    init();
8319    update();
8320  }
8321
8322  function mount() {
8323    on(EVENT_REFRESH, destroy);
8324    on(EVENT_REFRESH, setup);
8325    on(EVENT_UPDATED, update);
8326    bind(document, POINTER_DOWN_EVENTS + " keydown", function (e) {
8327      isUsingKey = e.type === "keydown";
8328    }, {
8329      capture: true
8330    });
8331    bind(root, "focusin", function () {
8332      toggleClass(root, CLASS_FOCUS_IN, !!isUsingKey);
8333    });
8334  }
8335
8336  function destroy(completely) {
8337    var attrs = ALL_ATTRIBUTES.concat("style");
8338    empty(slides);
8339    removeClass(root, rootClasses);
8340    removeClass(track, trackClasses);
8341    removeAttribute([track, list], attrs);
8342    removeAttribute(root, completely ? attrs : ["style", ARIA_ROLEDESCRIPTION]);
8343  }
8344
8345  function update() {
8346    removeClass(root, rootClasses);
8347    removeClass(track, trackClasses);
8348    rootClasses = getClasses(CLASS_ROOT);
8349    trackClasses = getClasses(CLASS_TRACK);
8350    addClass(root, rootClasses);
8351    addClass(track, trackClasses);
8352    setAttribute(root, ARIA_LABEL, options.label);
8353    setAttribute(root, ARIA_LABELLEDBY, options.labelledby);
8354  }
8355
8356  function collect() {
8357    track = find("." + CLASS_TRACK);
8358    list = child(track, "." + CLASS_LIST);
8359    assert(track && list, "A track/list element is missing.");
8360    push(slides, children(list, "." + CLASS_SLIDE + ":not(." + CLASS_CLONE + ")"));
8361    forOwn({
8362      arrows: CLASS_ARROWS,
8363      pagination: CLASS_PAGINATION,
8364      prev: CLASS_ARROW_PREV,
8365      next: CLASS_ARROW_NEXT,
8366      bar: CLASS_PROGRESS_BAR,
8367      toggle: CLASS_TOGGLE
8368    }, function (className, key) {
8369      elements[key] = find("." + className);
8370    });
8371    splide_esm_assign(elements, {
8372      root: root,
8373      track: track,
8374      list: list,
8375      slides: slides
8376    });
8377  }
8378
8379  function init() {
8380    var id = root.id || uniqueId(PROJECT_CODE);
8381    var role = options.role;
8382    root.id = id;
8383    track.id = track.id || id + "-track";
8384    list.id = list.id || id + "-list";
8385
8386    if (!getAttribute(root, ROLE) && root.tagName !== "SECTION" && role) {
8387      setAttribute(root, ROLE, role);
8388    }
8389
8390    setAttribute(root, ARIA_ROLEDESCRIPTION, i18n.carousel);
8391    setAttribute(list, ROLE, "presentation");
8392  }
8393
8394  function find(selector) {
8395    var elm = query(root, selector);
8396    return elm && closest(elm, "." + CLASS_ROOT) === root ? elm : void 0;
8397  }
8398
8399  function getClasses(base) {
8400    return [base + "--" + options.type, base + "--" + options.direction, options.drag && base + "--draggable", options.isNavigation && base + "--nav", base === CLASS_ROOT && CLASS_ACTIVE];
8401  }
8402
8403  return splide_esm_assign(elements, {
8404    setup: setup,
8405    mount: mount,
8406    destroy: destroy
8407  });
8408}
8409
8410var SLIDE = "slide";
8411var LOOP = "loop";
8412var FADE = "fade";
8413
8414function Slide$1(Splide2, index, slideIndex, slide) {
8415  var event = EventInterface(Splide2);
8416  var on = event.on,
8417      emit = event.emit,
8418      bind = event.bind;
8419  var Components = Splide2.Components,
8420      root = Splide2.root,
8421      options = Splide2.options;
8422  var isNavigation = options.isNavigation,
8423      updateOnMove = options.updateOnMove,
8424      i18n = options.i18n,
8425      pagination = options.pagination,
8426      slideFocus = options.slideFocus;
8427  var resolve = Components.Direction.resolve;
8428  var styles = getAttribute(slide, "style");
8429  var label = getAttribute(slide, ARIA_LABEL);
8430  var isClone = slideIndex > -1;
8431  var container = child(slide, "." + CLASS_CONTAINER);
8432  var destroyed;
8433
8434  function mount() {
8435    if (!isClone) {
8436      slide.id = root.id + "-slide" + pad(index + 1);
8437      setAttribute(slide, ROLE, pagination ? "tabpanel" : "group");
8438      setAttribute(slide, ARIA_ROLEDESCRIPTION, i18n.slide);
8439      setAttribute(slide, ARIA_LABEL, label || format(i18n.slideLabel, [index + 1, Splide2.length]));
8440    }
8441
8442    listen();
8443  }
8444
8445  function listen() {
8446    bind(slide, "click", apply(emit, EVENT_CLICK, self));
8447    bind(slide, "keydown", apply(emit, EVENT_SLIDE_KEYDOWN, self));
8448    on([EVENT_MOVED, EVENT_SHIFTED, EVENT_SCROLLED], update);
8449    on(EVENT_NAVIGATION_MOUNTED, initNavigation);
8450
8451    if (updateOnMove) {
8452      on(EVENT_MOVE, onMove);
8453    }
8454  }
8455
8456  function destroy() {
8457    destroyed = true;
8458    event.destroy();
8459    removeClass(slide, STATUS_CLASSES);
8460    removeAttribute(slide, ALL_ATTRIBUTES);
8461    setAttribute(slide, "style", styles);
8462    setAttribute(slide, ARIA_LABEL, label || "");
8463  }
8464
8465  function initNavigation() {
8466    var controls = Splide2.splides.map(function (target) {
8467      var Slide2 = target.splide.Components.Slides.getAt(index);
8468      return Slide2 ? Slide2.slide.id : "";
8469    }).join(" ");
8470    setAttribute(slide, ARIA_LABEL, format(i18n.slideX, (isClone ? slideIndex : index) + 1));
8471    setAttribute(slide, ARIA_CONTROLS, controls);
8472    setAttribute(slide, ROLE, slideFocus ? "button" : "");
8473    slideFocus && removeAttribute(slide, ARIA_ROLEDESCRIPTION);
8474  }
8475
8476  function onMove() {
8477    if (!destroyed) {
8478      update();
8479    }
8480  }
8481
8482  function update() {
8483    if (!destroyed) {
8484      var curr = Splide2.index;
8485      updateActivity();
8486      updateVisibility();
8487      toggleClass(slide, CLASS_PREV, index === curr - 1);
8488      toggleClass(slide, CLASS_NEXT, index === curr + 1);
8489    }
8490  }
8491
8492  function updateActivity() {
8493    var active = isActive();
8494
8495    if (active !== hasClass(slide, CLASS_ACTIVE)) {
8496      toggleClass(slide, CLASS_ACTIVE, active);
8497      setAttribute(slide, ARIA_CURRENT, isNavigation && active || "");
8498      emit(active ? EVENT_ACTIVE : EVENT_INACTIVE, self);
8499    }
8500  }
8501
8502  function updateVisibility() {
8503    var visible = isVisible();
8504    var hidden = !visible && (!isActive() || isClone);
8505
8506    if (!Splide2.state.is([MOVING, SCROLLING])) {
8507      setAttribute(slide, ARIA_HIDDEN, hidden || "");
8508    }
8509
8510    setAttribute(queryAll(slide, options.focusableNodes || ""), TAB_INDEX, hidden ? -1 : "");
8511
8512    if (slideFocus) {
8513      setAttribute(slide, TAB_INDEX, hidden ? -1 : 0);
8514    }
8515
8516    if (visible !== hasClass(slide, CLASS_VISIBLE)) {
8517      toggleClass(slide, CLASS_VISIBLE, visible);
8518      emit(visible ? EVENT_VISIBLE : EVENT_HIDDEN, self);
8519    }
8520
8521    if (!visible && document.activeElement === slide) {
8522      var Slide2 = Components.Slides.getAt(Splide2.index);
8523      Slide2 && splide_esm_focus(Slide2.slide);
8524    }
8525  }
8526
8527  function style$1(prop, value, useContainer) {
8528    style(useContainer && container || slide, prop, value);
8529  }
8530
8531  function isActive() {
8532    var curr = Splide2.index;
8533    return curr === index || options.cloneStatus && curr === slideIndex;
8534  }
8535
8536  function isVisible() {
8537    if (Splide2.is(FADE)) {
8538      return isActive();
8539    }
8540
8541    var trackRect = rect(Components.Elements.track);
8542    var slideRect = rect(slide);
8543    var left = resolve("left", true);
8544    var right = resolve("right", true);
8545    return floor(trackRect[left]) <= ceil(slideRect[left]) && floor(slideRect[right]) <= ceil(trackRect[right]);
8546  }
8547
8548  function isWithin(from, distance) {
8549    var diff = abs(from - index);
8550
8551    if (!isClone && (options.rewind || Splide2.is(LOOP))) {
8552      diff = min(diff, Splide2.length - diff);
8553    }
8554
8555    return diff <= distance;
8556  }
8557
8558  var self = {
8559    index: index,
8560    slideIndex: slideIndex,
8561    slide: slide,
8562    container: container,
8563    isClone: isClone,
8564    mount: mount,
8565    destroy: destroy,
8566    update: update,
8567    style: style$1,
8568    isWithin: isWithin
8569  };
8570  return self;
8571}
8572
8573function Slides(Splide2, Components2, options) {
8574  var _EventInterface2 = EventInterface(Splide2),
8575      on = _EventInterface2.on,
8576      emit = _EventInterface2.emit,
8577      bind = _EventInterface2.bind;
8578
8579  var _Components2$Elements = Components2.Elements,
8580      slides = _Components2$Elements.slides,
8581      list = _Components2$Elements.list;
8582  var Slides2 = [];
8583
8584  function mount() {
8585    init();
8586    on(EVENT_REFRESH, destroy);
8587    on(EVENT_REFRESH, init);
8588  }
8589
8590  function init() {
8591    slides.forEach(function (slide, index) {
8592      register(slide, index, -1);
8593    });
8594  }
8595
8596  function destroy() {
8597    forEach$1(function (Slide2) {
8598      Slide2.destroy();
8599    });
8600    empty(Slides2);
8601  }
8602
8603  function update() {
8604    forEach$1(function (Slide2) {
8605      Slide2.update();
8606    });
8607  }
8608
8609  function register(slide, index, slideIndex) {
8610    var object = Slide$1(Splide2, index, slideIndex, slide);
8611    object.mount();
8612    Slides2.push(object);
8613    Slides2.sort(function (Slide1, Slide2) {
8614      return Slide1.index - Slide2.index;
8615    });
8616  }
8617
8618  function get(excludeClones) {
8619    return excludeClones ? filter(function (Slide2) {
8620      return !Slide2.isClone;
8621    }) : Slides2;
8622  }
8623
8624  function getIn(page) {
8625    var Controller = Components2.Controller;
8626    var index = Controller.toIndex(page);
8627    var max = Controller.hasFocus() ? 1 : options.perPage;
8628    return filter(function (Slide2) {
8629      return between(Slide2.index, index, index + max - 1);
8630    });
8631  }
8632
8633  function getAt(index) {
8634    return filter(index)[0];
8635  }
8636
8637  function add(items, index) {
8638    forEach(items, function (slide) {
8639      if (isString(slide)) {
8640        slide = parseHtml(slide);
8641      }
8642
8643      if (isHTMLElement(slide)) {
8644        var ref = slides[index];
8645        ref ? before(slide, ref) : append(list, slide);
8646        addClass(slide, options.classes.slide);
8647        observeImages(slide, apply(emit, EVENT_RESIZE));
8648      }
8649    });
8650    emit(EVENT_REFRESH);
8651  }
8652
8653  function remove$1(matcher) {
8654    remove(filter(matcher).map(function (Slide2) {
8655      return Slide2.slide;
8656    }));
8657    emit(EVENT_REFRESH);
8658  }
8659
8660  function forEach$1(iteratee, excludeClones) {
8661    get(excludeClones).forEach(iteratee);
8662  }
8663
8664  function filter(matcher) {
8665    return Slides2.filter(isFunction(matcher) ? matcher : function (Slide2) {
8666      return isString(matcher) ? matches(Slide2.slide, matcher) : includes(toArray(matcher), Slide2.index);
8667    });
8668  }
8669
8670  function style(prop, value, useContainer) {
8671    forEach$1(function (Slide2) {
8672      Slide2.style(prop, value, useContainer);
8673    });
8674  }
8675
8676  function observeImages(elm, callback) {
8677    var images = queryAll(elm, "img");
8678    var length = images.length;
8679
8680    if (length) {
8681      images.forEach(function (img) {
8682        bind(img, "load error", function () {
8683          if (! --length) {
8684            callback();
8685          }
8686        });
8687      });
8688    } else {
8689      callback();
8690    }
8691  }
8692
8693  function getLength(excludeClones) {
8694    return excludeClones ? slides.length : Slides2.length;
8695  }
8696
8697  function isEnough() {
8698    return Slides2.length > options.perPage;
8699  }
8700
8701  return {
8702    mount: mount,
8703    destroy: destroy,
8704    update: update,
8705    register: register,
8706    get: get,
8707    getIn: getIn,
8708    getAt: getAt,
8709    add: add,
8710    remove: remove$1,
8711    forEach: forEach$1,
8712    filter: filter,
8713    style: style,
8714    getLength: getLength,
8715    isEnough: isEnough
8716  };
8717}
8718
8719function Layout(Splide2, Components2, options) {
8720  var _EventInterface3 = EventInterface(Splide2),
8721      on = _EventInterface3.on,
8722      bind = _EventInterface3.bind,
8723      emit = _EventInterface3.emit;
8724
8725  var Slides = Components2.Slides;
8726  var resolve = Components2.Direction.resolve;
8727  var _Components2$Elements2 = Components2.Elements,
8728      root = _Components2$Elements2.root,
8729      track = _Components2$Elements2.track,
8730      list = _Components2$Elements2.list;
8731  var getAt = Slides.getAt,
8732      styleSlides = Slides.style;
8733  var vertical;
8734  var rootRect;
8735  var overflow;
8736
8737  function mount() {
8738    init();
8739    bind(window, "resize load", Throttle(apply(emit, EVENT_RESIZE)));
8740    on([EVENT_UPDATED, EVENT_REFRESH], init);
8741    on(EVENT_RESIZE, resize);
8742  }
8743
8744  function init() {
8745    vertical = options.direction === TTB;
8746    style(root, "maxWidth", unit(options.width));
8747    style(track, resolve("paddingLeft"), cssPadding(false));
8748    style(track, resolve("paddingRight"), cssPadding(true));
8749    resize(true);
8750  }
8751
8752  function resize(force) {
8753    var newRect = rect(root);
8754
8755    if (force || rootRect.width !== newRect.width || rootRect.height !== newRect.height) {
8756      style(track, "height", cssTrackHeight());
8757      styleSlides(resolve("marginRight"), unit(options.gap));
8758      styleSlides("width", cssSlideWidth());
8759      styleSlides("height", cssSlideHeight(), true);
8760      rootRect = newRect;
8761      emit(EVENT_RESIZED);
8762
8763      if (overflow !== (overflow = isOverflow())) {
8764        toggleClass(root, CLASS_OVERFLOW, overflow);
8765        emit(EVENT_OVERFLOW, overflow);
8766      }
8767    }
8768  }
8769
8770  function cssPadding(right) {
8771    var padding = options.padding;
8772    var prop = resolve(right ? "right" : "left");
8773    return padding && unit(padding[prop] || (isObject(padding) ? 0 : padding)) || "0px";
8774  }
8775
8776  function cssTrackHeight() {
8777    var height = "";
8778
8779    if (vertical) {
8780      height = cssHeight();
8781      assert(height, "height or heightRatio is missing.");
8782      height = "calc(" + height + " - " + cssPadding(false) + " - " + cssPadding(true) + ")";
8783    }
8784
8785    return height;
8786  }
8787
8788  function cssHeight() {
8789    return unit(options.height || rect(list).width * options.heightRatio);
8790  }
8791
8792  function cssSlideWidth() {
8793    return options.autoWidth ? null : unit(options.fixedWidth) || (vertical ? "" : cssSlideSize());
8794  }
8795
8796  function cssSlideHeight() {
8797    return unit(options.fixedHeight) || (vertical ? options.autoHeight ? null : cssSlideSize() : cssHeight());
8798  }
8799
8800  function cssSlideSize() {
8801    var gap = unit(options.gap);
8802    return "calc((100%" + (gap && " + " + gap) + ")/" + (options.perPage || 1) + (gap && " - " + gap) + ")";
8803  }
8804
8805  function listSize() {
8806    return rect(list)[resolve("width")];
8807  }
8808
8809  function slideSize(index, withoutGap) {
8810    var Slide = getAt(index || 0);
8811    return Slide ? rect(Slide.slide)[resolve("width")] + (withoutGap ? 0 : getGap()) : 0;
8812  }
8813
8814  function totalSize(index, withoutGap) {
8815    var Slide = getAt(index);
8816
8817    if (Slide) {
8818      var right = rect(Slide.slide)[resolve("right")];
8819      var left = rect(list)[resolve("left")];
8820      return abs(right - left) + (withoutGap ? 0 : getGap());
8821    }
8822
8823    return 0;
8824  }
8825
8826  function sliderSize(withoutGap) {
8827    return totalSize(Splide2.length - 1) - totalSize(0) + slideSize(0, withoutGap);
8828  }
8829
8830  function getGap() {
8831    var Slide = getAt(0);
8832    return Slide && parseFloat(style(Slide.slide, resolve("marginRight"))) || 0;
8833  }
8834
8835  function getPadding(right) {
8836    return parseFloat(style(track, resolve("padding" + (right ? "Right" : "Left")))) || 0;
8837  }
8838
8839  function isOverflow() {
8840    return Splide2.is(FADE) || sliderSize(true) > listSize();
8841  }
8842
8843  return {
8844    mount: mount,
8845    resize: resize,
8846    listSize: listSize,
8847    slideSize: slideSize,
8848    sliderSize: sliderSize,
8849    totalSize: totalSize,
8850    getPadding: getPadding,
8851    isOverflow: isOverflow
8852  };
8853}
8854
8855var MULTIPLIER = 2;
8856
8857function Clones(Splide2, Components2, options) {
8858  var event = EventInterface(Splide2);
8859  var on = event.on;
8860  var Elements = Components2.Elements,
8861      Slides = Components2.Slides;
8862  var resolve = Components2.Direction.resolve;
8863  var clones = [];
8864  var cloneCount;
8865
8866  function mount() {
8867    on(EVENT_REFRESH, remount);
8868    on([EVENT_UPDATED, EVENT_RESIZE], observe);
8869
8870    if (cloneCount = computeCloneCount()) {
8871      generate(cloneCount);
8872      Components2.Layout.resize(true);
8873    }
8874  }
8875
8876  function remount() {
8877    destroy();
8878    mount();
8879  }
8880
8881  function destroy() {
8882    remove(clones);
8883    empty(clones);
8884    event.destroy();
8885  }
8886
8887  function observe() {
8888    var count = computeCloneCount();
8889
8890    if (cloneCount !== count) {
8891      if (cloneCount < count || !count) {
8892        event.emit(EVENT_REFRESH);
8893      }
8894    }
8895  }
8896
8897  function generate(count) {
8898    var slides = Slides.get().slice();
8899    var length = slides.length;
8900
8901    if (length) {
8902      while (slides.length < count) {
8903        push(slides, slides);
8904      }
8905
8906      push(slides.slice(-count), slides.slice(0, count)).forEach(function (Slide, index) {
8907        var isHead = index < count;
8908        var clone = cloneDeep(Slide.slide, index);
8909        isHead ? before(clone, slides[0].slide) : append(Elements.list, clone);
8910        push(clones, clone);
8911        Slides.register(clone, index - count + (isHead ? 0 : length), Slide.index);
8912      });
8913    }
8914  }
8915
8916  function cloneDeep(elm, index) {
8917    var clone = elm.cloneNode(true);
8918    addClass(clone, options.classes.clone);
8919    clone.id = Splide2.root.id + "-clone" + pad(index + 1);
8920    return clone;
8921  }
8922
8923  function computeCloneCount() {
8924    var clones2 = options.clones;
8925
8926    if (!Splide2.is(LOOP)) {
8927      clones2 = 0;
8928    } else if (isUndefined(clones2)) {
8929      var fixedSize = options[resolve("fixedWidth")] && Components2.Layout.slideSize(0);
8930      var fixedCount = fixedSize && ceil(rect(Elements.track)[resolve("width")] / fixedSize);
8931      clones2 = fixedCount || options[resolve("autoWidth")] && Splide2.length || options.perPage * MULTIPLIER;
8932    }
8933
8934    return clones2;
8935  }
8936
8937  return {
8938    mount: mount,
8939    destroy: destroy
8940  };
8941}
8942
8943function Move(Splide2, Components2, options) {
8944  var _EventInterface4 = EventInterface(Splide2),
8945      on = _EventInterface4.on,
8946      emit = _EventInterface4.emit;
8947
8948  var set = Splide2.state.set;
8949  var _Components2$Layout = Components2.Layout,
8950      slideSize = _Components2$Layout.slideSize,
8951      getPadding = _Components2$Layout.getPadding,
8952      totalSize = _Components2$Layout.totalSize,
8953      listSize = _Components2$Layout.listSize,
8954      sliderSize = _Components2$Layout.sliderSize;
8955  var _Components2$Directio = Components2.Direction,
8956      resolve = _Components2$Directio.resolve,
8957      orient = _Components2$Directio.orient;
8958  var _Components2$Elements3 = Components2.Elements,
8959      list = _Components2$Elements3.list,
8960      track = _Components2$Elements3.track;
8961  var Transition;
8962
8963  function mount() {
8964    Transition = Components2.Transition;
8965    on([EVENT_MOUNTED, EVENT_RESIZED, EVENT_UPDATED, EVENT_REFRESH], reposition);
8966  }
8967
8968  function reposition() {
8969    if (!Components2.Controller.isBusy()) {
8970      Components2.Scroll.cancel();
8971      jump(Splide2.index);
8972      Components2.Slides.update();
8973    }
8974  }
8975
8976  function move(dest, index, prev, callback) {
8977    if (dest !== index && canShift(dest > prev)) {
8978      cancel();
8979      translate(shift(getPosition(), dest > prev), true);
8980    }
8981
8982    set(MOVING);
8983    emit(EVENT_MOVE, index, prev, dest);
8984    Transition.start(index, function () {
8985      set(IDLE);
8986      emit(EVENT_MOVED, index, prev, dest);
8987      callback && callback();
8988    });
8989  }
8990
8991  function jump(index) {
8992    translate(toPosition(index, true));
8993  }
8994
8995  function translate(position, preventLoop) {
8996    if (!Splide2.is(FADE)) {
8997      var destination = preventLoop ? position : loop(position);
8998      style(list, "transform", "translate" + resolve("X") + "(" + destination + "px)");
8999      position !== destination && emit(EVENT_SHIFTED);
9000    }
9001  }
9002
9003  function loop(position) {
9004    if (Splide2.is(LOOP)) {
9005      var index = toIndex(position);
9006      var exceededMax = index > Components2.Controller.getEnd();
9007      var exceededMin = index < 0;
9008
9009      if (exceededMin || exceededMax) {
9010        position = shift(position, exceededMax);
9011      }
9012    }
9013
9014    return position;
9015  }
9016
9017  function shift(position, backwards) {
9018    var excess = position - getLimit(backwards);
9019    var size = sliderSize();
9020    position -= orient(size * (ceil(abs(excess) / size) || 1)) * (backwards ? 1 : -1);
9021    return position;
9022  }
9023
9024  function cancel() {
9025    translate(getPosition(), true);
9026    Transition.cancel();
9027  }
9028
9029  function toIndex(position) {
9030    var Slides = Components2.Slides.get();
9031    var index = 0;
9032    var minDistance = Infinity;
9033
9034    for (var i = 0; i < Slides.length; i++) {
9035      var slideIndex = Slides[i].index;
9036      var distance = abs(toPosition(slideIndex, true) - position);
9037
9038      if (distance <= minDistance) {
9039        minDistance = distance;
9040        index = slideIndex;
9041      } else {
9042        break;
9043      }
9044    }
9045
9046    return index;
9047  }
9048
9049  function toPosition(index, trimming) {
9050    var position = orient(totalSize(index - 1) - offset(index));
9051    return trimming ? trim(position) : position;
9052  }
9053
9054  function getPosition() {
9055    var left = resolve("left");
9056    return rect(list)[left] - rect(track)[left] + orient(getPadding(false));
9057  }
9058
9059  function trim(position) {
9060    if (options.trimSpace && Splide2.is(SLIDE)) {
9061      position = clamp(position, 0, orient(sliderSize(true) - listSize()));
9062    }
9063
9064    return position;
9065  }
9066
9067  function offset(index) {
9068    var focus = options.focus;
9069    return focus === "center" ? (listSize() - slideSize(index, true)) / 2 : +focus * slideSize(index) || 0;
9070  }
9071
9072  function getLimit(max) {
9073    return toPosition(max ? Components2.Controller.getEnd() : 0, !!options.trimSpace);
9074  }
9075
9076  function canShift(backwards) {
9077    var shifted = orient(shift(getPosition(), backwards));
9078    return backwards ? shifted >= 0 : shifted <= list[resolve("scrollWidth")] - rect(track)[resolve("width")];
9079  }
9080
9081  function exceededLimit(max, position) {
9082    position = isUndefined(position) ? getPosition() : position;
9083    var exceededMin = max !== true && orient(position) < orient(getLimit(false));
9084    var exceededMax = max !== false && orient(position) > orient(getLimit(true));
9085    return exceededMin || exceededMax;
9086  }
9087
9088  return {
9089    mount: mount,
9090    move: move,
9091    jump: jump,
9092    translate: translate,
9093    shift: shift,
9094    cancel: cancel,
9095    toIndex: toIndex,
9096    toPosition: toPosition,
9097    getPosition: getPosition,
9098    getLimit: getLimit,
9099    exceededLimit: exceededLimit,
9100    reposition: reposition
9101  };
9102}
9103
9104function Controller(Splide2, Components2, options) {
9105  var _EventInterface5 = EventInterface(Splide2),
9106      on = _EventInterface5.on,
9107      emit = _EventInterface5.emit;
9108
9109  var Move = Components2.Move;
9110  var getPosition = Move.getPosition,
9111      getLimit = Move.getLimit,
9112      toPosition = Move.toPosition;
9113  var _Components2$Slides = Components2.Slides,
9114      isEnough = _Components2$Slides.isEnough,
9115      getLength = _Components2$Slides.getLength;
9116  var omitEnd = options.omitEnd;
9117  var isLoop = Splide2.is(LOOP);
9118  var isSlide = Splide2.is(SLIDE);
9119  var getNext = apply(getAdjacent, false);
9120  var getPrev = apply(getAdjacent, true);
9121  var currIndex = options.start || 0;
9122  var endIndex;
9123  var prevIndex = currIndex;
9124  var slideCount;
9125  var perMove;
9126  var perPage;
9127
9128  function mount() {
9129    init();
9130    on([EVENT_UPDATED, EVENT_REFRESH, EVENT_END_INDEX_CHANGED], init);
9131    on(EVENT_RESIZED, onResized);
9132  }
9133
9134  function init() {
9135    slideCount = getLength(true);
9136    perMove = options.perMove;
9137    perPage = options.perPage;
9138    endIndex = getEnd();
9139    var index = clamp(currIndex, 0, omitEnd ? endIndex : slideCount - 1);
9140
9141    if (index !== currIndex) {
9142      currIndex = index;
9143      Move.reposition();
9144    }
9145  }
9146
9147  function onResized() {
9148    if (endIndex !== getEnd()) {
9149      emit(EVENT_END_INDEX_CHANGED);
9150    }
9151  }
9152
9153  function go(control, allowSameIndex, callback) {
9154    if (!isBusy()) {
9155      var dest = parse(control);
9156      var index = loop(dest);
9157
9158      if (index > -1 && (allowSameIndex || index !== currIndex)) {
9159        setIndex(index);
9160        Move.move(dest, index, prevIndex, callback);
9161      }
9162    }
9163  }
9164
9165  function scroll(destination, duration, snap, callback) {
9166    Components2.Scroll.scroll(destination, duration, snap, function () {
9167      var index = loop(Move.toIndex(getPosition()));
9168      setIndex(omitEnd ? min(index, endIndex) : index);
9169      callback && callback();
9170    });
9171  }
9172
9173  function parse(control) {
9174    var index = currIndex;
9175
9176    if (isString(control)) {
9177      var _ref = control.match(/([+\-<>])(\d+)?/) || [],
9178          indicator = _ref[1],
9179          number = _ref[2];
9180
9181      if (indicator === "+" || indicator === "-") {
9182        index = computeDestIndex(currIndex + +("" + indicator + (+number || 1)), currIndex);
9183      } else if (indicator === ">") {
9184        index = number ? toIndex(+number) : getNext(true);
9185      } else if (indicator === "<") {
9186        index = getPrev(true);
9187      }
9188    } else {
9189      index = isLoop ? control : clamp(control, 0, endIndex);
9190    }
9191
9192    return index;
9193  }
9194
9195  function getAdjacent(prev, destination) {
9196    var number = perMove || (hasFocus() ? 1 : perPage);
9197    var dest = computeDestIndex(currIndex + number * (prev ? -1 : 1), currIndex, !(perMove || hasFocus()));
9198
9199    if (dest === -1 && isSlide) {
9200      if (!approximatelyEqual(getPosition(), getLimit(!prev), 1)) {
9201        return prev ? 0 : endIndex;
9202      }
9203    }
9204
9205    return destination ? dest : loop(dest);
9206  }
9207
9208  function computeDestIndex(dest, from, snapPage) {
9209    if (isEnough() || hasFocus()) {
9210      var index = computeMovableDestIndex(dest);
9211
9212      if (index !== dest) {
9213        from = dest;
9214        dest = index;
9215        snapPage = false;
9216      }
9217
9218      if (dest < 0 || dest > endIndex) {
9219        if (!perMove && (between(0, dest, from, true) || between(endIndex, from, dest, true))) {
9220          dest = toIndex(toPage(dest));
9221        } else {
9222          if (isLoop) {
9223            dest = snapPage ? dest < 0 ? -(slideCount % perPage || perPage) : slideCount : dest;
9224          } else if (options.rewind) {
9225            dest = dest < 0 ? endIndex : 0;
9226          } else {
9227            dest = -1;
9228          }
9229        }
9230      } else {
9231        if (snapPage && dest !== from) {
9232          dest = toIndex(toPage(from) + (dest < from ? -1 : 1));
9233        }
9234      }
9235    } else {
9236      dest = -1;
9237    }
9238
9239    return dest;
9240  }
9241
9242  function computeMovableDestIndex(dest) {
9243    if (isSlide && options.trimSpace === "move" && dest !== currIndex) {
9244      var position = getPosition();
9245
9246      while (position === toPosition(dest, true) && between(dest, 0, Splide2.length - 1, !options.rewind)) {
9247        dest < currIndex ? --dest : ++dest;
9248      }
9249    }
9250
9251    return dest;
9252  }
9253
9254  function loop(index) {
9255    return isLoop ? (index + slideCount) % slideCount || 0 : index;
9256  }
9257
9258  function getEnd() {
9259    var end = slideCount - (hasFocus() || isLoop && perMove ? 1 : perPage);
9260
9261    while (omitEnd && end-- > 0) {
9262      if (toPosition(slideCount - 1, true) !== toPosition(end, true)) {
9263        end++;
9264        break;
9265      }
9266    }
9267
9268    return clamp(end, 0, slideCount - 1);
9269  }
9270
9271  function toIndex(page) {
9272    return clamp(hasFocus() ? page : perPage * page, 0, endIndex);
9273  }
9274
9275  function toPage(index) {
9276    return hasFocus() ? min(index, endIndex) : floor((index >= endIndex ? slideCount - 1 : index) / perPage);
9277  }
9278
9279  function toDest(destination) {
9280    var closest = Move.toIndex(destination);
9281    return isSlide ? clamp(closest, 0, endIndex) : closest;
9282  }
9283
9284  function setIndex(index) {
9285    if (index !== currIndex) {
9286      prevIndex = currIndex;
9287      currIndex = index;
9288    }
9289  }
9290
9291  function getIndex(prev) {
9292    return prev ? prevIndex : currIndex;
9293  }
9294
9295  function hasFocus() {
9296    return !isUndefined(options.focus) || options.isNavigation;
9297  }
9298
9299  function isBusy() {
9300    return Splide2.state.is([MOVING, SCROLLING]) && !!options.waitForTransition;
9301  }
9302
9303  return {
9304    mount: mount,
9305    go: go,
9306    scroll: scroll,
9307    getNext: getNext,
9308    getPrev: getPrev,
9309    getAdjacent: getAdjacent,
9310    getEnd: getEnd,
9311    setIndex: setIndex,
9312    getIndex: getIndex,
9313    toIndex: toIndex,
9314    toPage: toPage,
9315    toDest: toDest,
9316    hasFocus: hasFocus,
9317    isBusy: isBusy
9318  };
9319}
9320
9321var XML_NAME_SPACE = "http://www.w3.org/2000/svg";
9322var PATH = "m15.5 0.932-4.3 4.38 14.5 14.6-14.5 14.5 4.3 4.4 14.6-14.6 4.4-4.3-4.4-4.4-14.6-14.6z";
9323var SIZE = 40;
9324
9325function Arrows(Splide2, Components2, options) {
9326  var event = EventInterface(Splide2);
9327  var on = event.on,
9328      bind = event.bind,
9329      emit = event.emit;
9330  var classes = options.classes,
9331      i18n = options.i18n;
9332  var Elements = Components2.Elements,
9333      Controller = Components2.Controller;
9334  var placeholder = Elements.arrows,
9335      track = Elements.track;
9336  var wrapper = placeholder;
9337  var prev = Elements.prev;
9338  var next = Elements.next;
9339  var created;
9340  var wrapperClasses;
9341  var arrows = {};
9342
9343  function mount() {
9344    init();
9345    on(EVENT_UPDATED, remount);
9346  }
9347
9348  function remount() {
9349    destroy();
9350    mount();
9351  }
9352
9353  function init() {
9354    var enabled = options.arrows;
9355
9356    if (enabled && !(prev && next)) {
9357      createArrows();
9358    }
9359
9360    if (prev && next) {
9361      splide_esm_assign(arrows, {
9362        prev: prev,
9363        next: next
9364      });
9365      display(wrapper, enabled ? "" : "none");
9366      addClass(wrapper, wrapperClasses = CLASS_ARROWS + "--" + options.direction);
9367
9368      if (enabled) {
9369        listen();
9370        update();
9371        setAttribute([prev, next], ARIA_CONTROLS, track.id);
9372        emit(EVENT_ARROWS_MOUNTED, prev, next);
9373      }
9374    }
9375  }
9376
9377  function destroy() {
9378    event.destroy();
9379    removeClass(wrapper, wrapperClasses);
9380
9381    if (created) {
9382      remove(placeholder ? [prev, next] : wrapper);
9383      prev = next = null;
9384    } else {
9385      removeAttribute([prev, next], ALL_ATTRIBUTES);
9386    }
9387  }
9388
9389  function listen() {
9390    on([EVENT_MOUNTED, EVENT_MOVED, EVENT_REFRESH, EVENT_SCROLLED, EVENT_END_INDEX_CHANGED], update);
9391    bind(next, "click", apply(go, ">"));
9392    bind(prev, "click", apply(go, "<"));
9393  }
9394
9395  function go(control) {
9396    Controller.go(control, true);
9397  }
9398
9399  function createArrows() {
9400    wrapper = placeholder || create("div", classes.arrows);
9401    prev = createArrow(true);
9402    next = createArrow(false);
9403    created = true;
9404    append(wrapper, [prev, next]);
9405    !placeholder && before(wrapper, track);
9406  }
9407
9408  function createArrow(prev2) {
9409    var arrow = "<button class=\"" + classes.arrow + " " + (prev2 ? classes.prev : classes.next) + "\" type=\"button\"><svg xmlns=\"" + XML_NAME_SPACE + "\" viewBox=\"0 0 " + SIZE + " " + SIZE + "\" width=\"" + SIZE + "\" height=\"" + SIZE + "\" focusable=\"false\"><path d=\"" + (options.arrowPath || PATH) + "\" />";
9410    return parseHtml(arrow);
9411  }
9412
9413  function update() {
9414    if (prev && next) {
9415      var index = Splide2.index;
9416      var prevIndex = Controller.getPrev();
9417      var nextIndex = Controller.getNext();
9418      var prevLabel = prevIndex > -1 && index < prevIndex ? i18n.last : i18n.prev;
9419      var nextLabel = nextIndex > -1 && index > nextIndex ? i18n.first : i18n.next;
9420      prev.disabled = prevIndex < 0;
9421      next.disabled = nextIndex < 0;
9422      setAttribute(prev, ARIA_LABEL, prevLabel);
9423      setAttribute(next, ARIA_LABEL, nextLabel);
9424      emit(EVENT_ARROWS_UPDATED, prev, next, prevIndex, nextIndex);
9425    }
9426  }
9427
9428  return {
9429    arrows: arrows,
9430    mount: mount,
9431    destroy: destroy,
9432    update: update
9433  };
9434}
9435
9436var INTERVAL_DATA_ATTRIBUTE = DATA_ATTRIBUTE + "-interval";
9437
9438function Autoplay(Splide2, Components2, options) {
9439  var _EventInterface6 = EventInterface(Splide2),
9440      on = _EventInterface6.on,
9441      bind = _EventInterface6.bind,
9442      emit = _EventInterface6.emit;
9443
9444  var interval = RequestInterval(options.interval, Splide2.go.bind(Splide2, ">"), onAnimationFrame);
9445  var isPaused = interval.isPaused;
9446  var Elements = Components2.Elements,
9447      _Components2$Elements4 = Components2.Elements,
9448      root = _Components2$Elements4.root,
9449      toggle = _Components2$Elements4.toggle;
9450  var autoplay = options.autoplay;
9451  var hovered;
9452  var focused;
9453  var stopped = autoplay === "pause";
9454
9455  function mount() {
9456    if (autoplay) {
9457      listen();
9458      toggle && setAttribute(toggle, ARIA_CONTROLS, Elements.track.id);
9459      stopped || play();
9460      update();
9461    }
9462  }
9463
9464  function listen() {
9465    if (options.pauseOnHover) {
9466      bind(root, "mouseenter mouseleave", function (e) {
9467        hovered = e.type === "mouseenter";
9468        autoToggle();
9469      });
9470    }
9471
9472    if (options.pauseOnFocus) {
9473      bind(root, "focusin focusout", function (e) {
9474        focused = e.type === "focusin";
9475        autoToggle();
9476      });
9477    }
9478
9479    if (toggle) {
9480      bind(toggle, "click", function () {
9481        stopped ? play() : pause(true);
9482      });
9483    }
9484
9485    on([EVENT_MOVE, EVENT_SCROLL, EVENT_REFRESH], interval.rewind);
9486    on(EVENT_MOVE, onMove);
9487  }
9488
9489  function play() {
9490    if (isPaused() && Components2.Slides.isEnough()) {
9491      interval.start(!options.resetProgress);
9492      focused = hovered = stopped = false;
9493      update();
9494      emit(EVENT_AUTOPLAY_PLAY);
9495    }
9496  }
9497
9498  function pause(stop) {
9499    if (stop === void 0) {
9500      stop = true;
9501    }
9502
9503    stopped = !!stop;
9504    update();
9505
9506    if (!isPaused()) {
9507      interval.pause();
9508      emit(EVENT_AUTOPLAY_PAUSE);
9509    }
9510  }
9511
9512  function autoToggle() {
9513    if (!stopped) {
9514      hovered || focused ? pause(false) : play();
9515    }
9516  }
9517
9518  function update() {
9519    if (toggle) {
9520      toggleClass(toggle, CLASS_ACTIVE, !stopped);
9521      setAttribute(toggle, ARIA_LABEL, options.i18n[stopped ? "play" : "pause"]);
9522    }
9523  }
9524
9525  function onAnimationFrame(rate) {
9526    var bar = Elements.bar;
9527    bar && style(bar, "width", rate * 100 + "%");
9528    emit(EVENT_AUTOPLAY_PLAYING, rate);
9529  }
9530
9531  function onMove(index) {
9532    var Slide = Components2.Slides.getAt(index);
9533    interval.set(Slide && +getAttribute(Slide.slide, INTERVAL_DATA_ATTRIBUTE) || options.interval);
9534  }
9535
9536  return {
9537    mount: mount,
9538    destroy: interval.cancel,
9539    play: play,
9540    pause: pause,
9541    isPaused: isPaused
9542  };
9543}
9544
9545function Cover(Splide2, Components2, options) {
9546  var _EventInterface7 = EventInterface(Splide2),
9547      on = _EventInterface7.on;
9548
9549  function mount() {
9550    if (options.cover) {
9551      on(EVENT_LAZYLOAD_LOADED, apply(toggle, true));
9552      on([EVENT_MOUNTED, EVENT_UPDATED, EVENT_REFRESH], apply(cover, true));
9553    }
9554  }
9555
9556  function cover(cover2) {
9557    Components2.Slides.forEach(function (Slide) {
9558      var img = child(Slide.container || Slide.slide, "img");
9559
9560      if (img && img.src) {
9561        toggle(cover2, img, Slide);
9562      }
9563    });
9564  }
9565
9566  function toggle(cover2, img, Slide) {
9567    Slide.style("background", cover2 ? "center/cover no-repeat url(\"" + img.src + "\")" : "", true);
9568    display(img, cover2 ? "none" : "");
9569  }
9570
9571  return {
9572    mount: mount,
9573    destroy: apply(cover, false)
9574  };
9575}
9576
9577var BOUNCE_DIFF_THRESHOLD = 10;
9578var BOUNCE_DURATION = 600;
9579var FRICTION_FACTOR = 0.6;
9580var BASE_VELOCITY = 1.5;
9581var MIN_DURATION = 800;
9582
9583function Scroll(Splide2, Components2, options) {
9584  var _EventInterface8 = EventInterface(Splide2),
9585      on = _EventInterface8.on,
9586      emit = _EventInterface8.emit;
9587
9588  var set = Splide2.state.set;
9589  var Move = Components2.Move;
9590  var getPosition = Move.getPosition,
9591      getLimit = Move.getLimit,
9592      exceededLimit = Move.exceededLimit,
9593      translate = Move.translate;
9594  var isSlide = Splide2.is(SLIDE);
9595  var interval;
9596  var callback;
9597  var friction = 1;
9598
9599  function mount() {
9600    on(EVENT_MOVE, clear);
9601    on([EVENT_UPDATED, EVENT_REFRESH], cancel);
9602  }
9603
9604  function scroll(destination, duration, snap, onScrolled, noConstrain) {
9605    var from = getPosition();
9606    clear();
9607
9608    if (snap && (!isSlide || !exceededLimit())) {
9609      var size = Components2.Layout.sliderSize();
9610      var offset = sign(destination) * size * floor(abs(destination) / size) || 0;
9611      destination = Move.toPosition(Components2.Controller.toDest(destination % size)) + offset;
9612    }
9613
9614    var noDistance = approximatelyEqual(from, destination, 1);
9615    friction = 1;
9616    duration = noDistance ? 0 : duration || max(abs(destination - from) / BASE_VELOCITY, MIN_DURATION);
9617    callback = onScrolled;
9618    interval = RequestInterval(duration, onEnd, apply(update, from, destination, noConstrain), 1);
9619    set(SCROLLING);
9620    emit(EVENT_SCROLL);
9621    interval.start();
9622  }
9623
9624  function onEnd() {
9625    set(IDLE);
9626    callback && callback();
9627    emit(EVENT_SCROLLED);
9628  }
9629
9630  function update(from, to, noConstrain, rate) {
9631    var position = getPosition();
9632    var target = from + (to - from) * easing(rate);
9633    var diff = (target - position) * friction;
9634    translate(position + diff);
9635
9636    if (isSlide && !noConstrain && exceededLimit()) {
9637      friction *= FRICTION_FACTOR;
9638
9639      if (abs(diff) < BOUNCE_DIFF_THRESHOLD) {
9640        scroll(getLimit(exceededLimit(true)), BOUNCE_DURATION, false, callback, true);
9641      }
9642    }
9643  }
9644
9645  function clear() {
9646    if (interval) {
9647      interval.cancel();
9648    }
9649  }
9650
9651  function cancel() {
9652    if (interval && !interval.isPaused()) {
9653      clear();
9654      onEnd();
9655    }
9656  }
9657
9658  function easing(t) {
9659    var easingFunc = options.easingFunc;
9660    return easingFunc ? easingFunc(t) : 1 - Math.pow(1 - t, 4);
9661  }
9662
9663  return {
9664    mount: mount,
9665    destroy: clear,
9666    scroll: scroll,
9667    cancel: cancel
9668  };
9669}
9670
9671var SCROLL_LISTENER_OPTIONS = {
9672  passive: false,
9673  capture: true
9674};
9675
9676function Drag(Splide2, Components2, options) {
9677  var _EventInterface9 = EventInterface(Splide2),
9678      on = _EventInterface9.on,
9679      emit = _EventInterface9.emit,
9680      bind = _EventInterface9.bind,
9681      unbind = _EventInterface9.unbind;
9682
9683  var state = Splide2.state;
9684  var Move = Components2.Move,
9685      Scroll = Components2.Scroll,
9686      Controller = Components2.Controller,
9687      track = Components2.Elements.track,
9688      reduce = Components2.Media.reduce;
9689  var _Components2$Directio2 = Components2.Direction,
9690      resolve = _Components2$Directio2.resolve,
9691      orient = _Components2$Directio2.orient;
9692  var getPosition = Move.getPosition,
9693      exceededLimit = Move.exceededLimit;
9694  var basePosition;
9695  var baseEvent;
9696  var prevBaseEvent;
9697  var isFree;
9698  var dragging;
9699  var exceeded = false;
9700  var clickPrevented;
9701  var disabled;
9702  var target;
9703
9704  function mount() {
9705    bind(track, POINTER_MOVE_EVENTS, noop, SCROLL_LISTENER_OPTIONS);
9706    bind(track, POINTER_UP_EVENTS, noop, SCROLL_LISTENER_OPTIONS);
9707    bind(track, POINTER_DOWN_EVENTS, onPointerDown, SCROLL_LISTENER_OPTIONS);
9708    bind(track, "click", onClick, {
9709      capture: true
9710    });
9711    bind(track, "dragstart", prevent);
9712    on([EVENT_MOUNTED, EVENT_UPDATED], init);
9713  }
9714
9715  function init() {
9716    var drag = options.drag;
9717    disable(!drag);
9718    isFree = drag === "free";
9719  }
9720
9721  function onPointerDown(e) {
9722    clickPrevented = false;
9723
9724    if (!disabled) {
9725      var isTouch = isTouchEvent(e);
9726
9727      if (isDraggable(e.target) && (isTouch || !e.button)) {
9728        if (!Controller.isBusy()) {
9729          target = isTouch ? track : window;
9730          dragging = state.is([MOVING, SCROLLING]);
9731          prevBaseEvent = null;
9732          bind(target, POINTER_MOVE_EVENTS, onPointerMove, SCROLL_LISTENER_OPTIONS);
9733          bind(target, POINTER_UP_EVENTS, onPointerUp, SCROLL_LISTENER_OPTIONS);
9734          Move.cancel();
9735          Scroll.cancel();
9736          save(e);
9737        } else {
9738          prevent(e, true);
9739        }
9740      }
9741    }
9742  }
9743
9744  function onPointerMove(e) {
9745    if (!state.is(DRAGGING)) {
9746      state.set(DRAGGING);
9747      emit(EVENT_DRAG);
9748    }
9749
9750    if (e.cancelable) {
9751      if (dragging) {
9752        Move.translate(basePosition + constrain(diffCoord(e)));
9753        var expired = diffTime(e) > LOG_INTERVAL;
9754        var hasExceeded = exceeded !== (exceeded = exceededLimit());
9755
9756        if (expired || hasExceeded) {
9757          save(e);
9758        }
9759
9760        clickPrevented = true;
9761        emit(EVENT_DRAGGING);
9762        prevent(e);
9763      } else if (isSliderDirection(e)) {
9764        dragging = shouldStart(e);
9765        prevent(e);
9766      }
9767    }
9768  }
9769
9770  function onPointerUp(e) {
9771    if (state.is(DRAGGING)) {
9772      state.set(IDLE);
9773      emit(EVENT_DRAGGED);
9774    }
9775
9776    if (dragging) {
9777      move(e);
9778      prevent(e);
9779    }
9780
9781    unbind(target, POINTER_MOVE_EVENTS, onPointerMove);
9782    unbind(target, POINTER_UP_EVENTS, onPointerUp);
9783    dragging = false;
9784  }
9785
9786  function onClick(e) {
9787    if (!disabled && clickPrevented) {
9788      prevent(e, true);
9789    }
9790  }
9791
9792  function save(e) {
9793    prevBaseEvent = baseEvent;
9794    baseEvent = e;
9795    basePosition = getPosition();
9796  }
9797
9798  function move(e) {
9799    var velocity = computeVelocity(e);
9800    var destination = computeDestination(velocity);
9801    var rewind = options.rewind && options.rewindByDrag;
9802    reduce(false);
9803
9804    if (isFree) {
9805      Controller.scroll(destination, 0, options.snap);
9806    } else if (Splide2.is(FADE)) {
9807      Controller.go(orient(sign(velocity)) < 0 ? rewind ? "<" : "-" : rewind ? ">" : "+");
9808    } else if (Splide2.is(SLIDE) && exceeded && rewind) {
9809      Controller.go(exceededLimit(true) ? ">" : "<");
9810    } else {
9811      Controller.go(Controller.toDest(destination), true);
9812    }
9813
9814    reduce(true);
9815  }
9816
9817  function shouldStart(e) {
9818    var thresholds = options.dragMinThreshold;
9819    var isObj = isObject(thresholds);
9820    var mouse = isObj && thresholds.mouse || 0;
9821    var touch = (isObj ? thresholds.touch : +thresholds) || 10;
9822    return abs(diffCoord(e)) > (isTouchEvent(e) ? touch : mouse);
9823  }
9824
9825  function isSliderDirection(e) {
9826    return abs(diffCoord(e)) > abs(diffCoord(e, true));
9827  }
9828
9829  function computeVelocity(e) {
9830    if (Splide2.is(LOOP) || !exceeded) {
9831      var time = diffTime(e);
9832
9833      if (time && time < LOG_INTERVAL) {
9834        return diffCoord(e) / time;
9835      }
9836    }
9837
9838    return 0;
9839  }
9840
9841  function computeDestination(velocity) {
9842    return getPosition() + sign(velocity) * min(abs(velocity) * (options.flickPower || 600), isFree ? Infinity : Components2.Layout.listSize() * (options.flickMaxPages || 1));
9843  }
9844
9845  function diffCoord(e, orthogonal) {
9846    return coordOf(e, orthogonal) - coordOf(getBaseEvent(e), orthogonal);
9847  }
9848
9849  function diffTime(e) {
9850    return timeOf(e) - timeOf(getBaseEvent(e));
9851  }
9852
9853  function getBaseEvent(e) {
9854    return baseEvent === e && prevBaseEvent || baseEvent;
9855  }
9856
9857  function coordOf(e, orthogonal) {
9858    return (isTouchEvent(e) ? e.changedTouches[0] : e)["page" + resolve(orthogonal ? "Y" : "X")];
9859  }
9860
9861  function constrain(diff) {
9862    return diff / (exceeded && Splide2.is(SLIDE) ? FRICTION : 1);
9863  }
9864
9865  function isDraggable(target2) {
9866    var noDrag = options.noDrag;
9867    return !matches(target2, "." + CLASS_PAGINATION_PAGE + ", ." + CLASS_ARROW) && (!noDrag || !matches(target2, noDrag));
9868  }
9869
9870  function isTouchEvent(e) {
9871    return typeof TouchEvent !== "undefined" && e instanceof TouchEvent;
9872  }
9873
9874  function isDragging() {
9875    return dragging;
9876  }
9877
9878  function disable(value) {
9879    disabled = value;
9880  }
9881
9882  return {
9883    mount: mount,
9884    disable: disable,
9885    isDragging: isDragging
9886  };
9887}
9888
9889var NORMALIZATION_MAP = {
9890  Spacebar: " ",
9891  Right: ARROW_RIGHT,
9892  Left: ARROW_LEFT,
9893  Up: ARROW_UP,
9894  Down: ARROW_DOWN
9895};
9896
9897function normalizeKey(key) {
9898  key = isString(key) ? key : key.key;
9899  return NORMALIZATION_MAP[key] || key;
9900}
9901
9902var KEYBOARD_EVENT = "keydown";
9903
9904function Keyboard(Splide2, Components2, options) {
9905  var _EventInterface10 = EventInterface(Splide2),
9906      on = _EventInterface10.on,
9907      bind = _EventInterface10.bind,
9908      unbind = _EventInterface10.unbind;
9909
9910  var root = Splide2.root;
9911  var resolve = Components2.Direction.resolve;
9912  var target;
9913  var disabled;
9914
9915  function mount() {
9916    init();
9917    on(EVENT_UPDATED, destroy);
9918    on(EVENT_UPDATED, init);
9919    on(EVENT_MOVE, onMove);
9920  }
9921
9922  function init() {
9923    var keyboard = options.keyboard;
9924
9925    if (keyboard) {
9926      target = keyboard === "global" ? window : root;
9927      bind(target, KEYBOARD_EVENT, onKeydown);
9928    }
9929  }
9930
9931  function destroy() {
9932    unbind(target, KEYBOARD_EVENT);
9933  }
9934
9935  function disable(value) {
9936    disabled = value;
9937  }
9938
9939  function onMove() {
9940    var _disabled = disabled;
9941    disabled = true;
9942    nextTick(function () {
9943      disabled = _disabled;
9944    });
9945  }
9946
9947  function onKeydown(e) {
9948    if (!disabled) {
9949      var key = normalizeKey(e);
9950
9951      if (key === resolve(ARROW_LEFT)) {
9952        Splide2.go("<");
9953      } else if (key === resolve(ARROW_RIGHT)) {
9954        Splide2.go(">");
9955      }
9956    }
9957  }
9958
9959  return {
9960    mount: mount,
9961    destroy: destroy,
9962    disable: disable
9963  };
9964}
9965
9966var SRC_DATA_ATTRIBUTE = DATA_ATTRIBUTE + "-lazy";
9967var SRCSET_DATA_ATTRIBUTE = SRC_DATA_ATTRIBUTE + "-srcset";
9968var IMAGE_SELECTOR = "[" + SRC_DATA_ATTRIBUTE + "], [" + SRCSET_DATA_ATTRIBUTE + "]";
9969
9970function LazyLoad(Splide2, Components2, options) {
9971  var _EventInterface11 = EventInterface(Splide2),
9972      on = _EventInterface11.on,
9973      off = _EventInterface11.off,
9974      bind = _EventInterface11.bind,
9975      emit = _EventInterface11.emit;
9976
9977  var isSequential = options.lazyLoad === "sequential";
9978  var events = [EVENT_MOVED, EVENT_SCROLLED];
9979  var entries = [];
9980
9981  function mount() {
9982    if (options.lazyLoad) {
9983      init();
9984      on(EVENT_REFRESH, init);
9985    }
9986  }
9987
9988  function init() {
9989    empty(entries);
9990    register();
9991
9992    if (isSequential) {
9993      loadNext();
9994    } else {
9995      off(events);
9996      on(events, check);
9997      check();
9998    }
9999  }
10000
10001  function register() {
10002    Components2.Slides.forEach(function (Slide) {
10003      queryAll(Slide.slide, IMAGE_SELECTOR).forEach(function (img) {
10004        var src = getAttribute(img, SRC_DATA_ATTRIBUTE);
10005        var srcset = getAttribute(img, SRCSET_DATA_ATTRIBUTE);
10006
10007        if (src !== img.src || srcset !== img.srcset) {
10008          var className = options.classes.spinner;
10009          var parent = img.parentElement;
10010          var spinner = child(parent, "." + className) || create("span", className, parent);
10011          entries.push([img, Slide, spinner]);
10012          img.src || display(img, "none");
10013        }
10014      });
10015    });
10016  }
10017
10018  function check() {
10019    entries = entries.filter(function (data) {
10020      var distance = options.perPage * ((options.preloadPages || 1) + 1) - 1;
10021      return data[1].isWithin(Splide2.index, distance) ? load(data) : true;
10022    });
10023    entries.length || off(events);
10024  }
10025
10026  function load(data) {
10027    var img = data[0];
10028    addClass(data[1].slide, CLASS_LOADING);
10029    bind(img, "load error", apply(onLoad, data));
10030    setAttribute(img, "src", getAttribute(img, SRC_DATA_ATTRIBUTE));
10031    setAttribute(img, "srcset", getAttribute(img, SRCSET_DATA_ATTRIBUTE));
10032    removeAttribute(img, SRC_DATA_ATTRIBUTE);
10033    removeAttribute(img, SRCSET_DATA_ATTRIBUTE);
10034  }
10035
10036  function onLoad(data, e) {
10037    var img = data[0],
10038        Slide = data[1];
10039    removeClass(Slide.slide, CLASS_LOADING);
10040
10041    if (e.type !== "error") {
10042      remove(data[2]);
10043      display(img, "");
10044      emit(EVENT_LAZYLOAD_LOADED, img, Slide);
10045      emit(EVENT_RESIZE);
10046    }
10047
10048    isSequential && loadNext();
10049  }
10050
10051  function loadNext() {
10052    entries.length && load(entries.shift());
10053  }
10054
10055  return {
10056    mount: mount,
10057    destroy: apply(empty, entries),
10058    check: check
10059  };
10060}
10061
10062function Pagination(Splide2, Components2, options) {
10063  var event = EventInterface(Splide2);
10064  var on = event.on,
10065      emit = event.emit,
10066      bind = event.bind;
10067  var Slides = Components2.Slides,
10068      Elements = Components2.Elements,
10069      Controller = Components2.Controller;
10070  var hasFocus = Controller.hasFocus,
10071      getIndex = Controller.getIndex,
10072      go = Controller.go;
10073  var resolve = Components2.Direction.resolve;
10074  var placeholder = Elements.pagination;
10075  var items = [];
10076  var list;
10077  var paginationClasses;
10078
10079  function mount() {
10080    destroy();
10081    on([EVENT_UPDATED, EVENT_REFRESH, EVENT_END_INDEX_CHANGED], mount);
10082    var enabled = options.pagination;
10083    placeholder && display(placeholder, enabled ? "" : "none");
10084
10085    if (enabled) {
10086      on([EVENT_MOVE, EVENT_SCROLL, EVENT_SCROLLED], update);
10087      createPagination();
10088      update();
10089      emit(EVENT_PAGINATION_MOUNTED, {
10090        list: list,
10091        items: items
10092      }, getAt(Splide2.index));
10093    }
10094  }
10095
10096  function destroy() {
10097    if (list) {
10098      remove(placeholder ? slice(list.children) : list);
10099      removeClass(list, paginationClasses);
10100      empty(items);
10101      list = null;
10102    }
10103
10104    event.destroy();
10105  }
10106
10107  function createPagination() {
10108    var length = Splide2.length;
10109    var classes = options.classes,
10110        i18n = options.i18n,
10111        perPage = options.perPage;
10112    var max = hasFocus() ? Controller.getEnd() + 1 : ceil(length / perPage);
10113    list = placeholder || create("ul", classes.pagination, Elements.track.parentElement);
10114    addClass(list, paginationClasses = CLASS_PAGINATION + "--" + getDirection());
10115    setAttribute(list, ROLE, "tablist");
10116    setAttribute(list, ARIA_LABEL, i18n.select);
10117    setAttribute(list, ARIA_ORIENTATION, getDirection() === TTB ? "vertical" : "");
10118
10119    for (var i = 0; i < max; i++) {
10120      var li = create("li", null, list);
10121      var button = create("button", {
10122        class: classes.page,
10123        type: "button"
10124      }, li);
10125      var controls = Slides.getIn(i).map(function (Slide) {
10126        return Slide.slide.id;
10127      });
10128      var text = !hasFocus() && perPage > 1 ? i18n.pageX : i18n.slideX;
10129      bind(button, "click", apply(onClick, i));
10130
10131      if (options.paginationKeyboard) {
10132        bind(button, "keydown", apply(onKeydown, i));
10133      }
10134
10135      setAttribute(li, ROLE, "presentation");
10136      setAttribute(button, ROLE, "tab");
10137      setAttribute(button, ARIA_CONTROLS, controls.join(" "));
10138      setAttribute(button, ARIA_LABEL, format(text, i + 1));
10139      setAttribute(button, TAB_INDEX, -1);
10140      items.push({
10141        li: li,
10142        button: button,
10143        page: i
10144      });
10145    }
10146  }
10147
10148  function onClick(page) {
10149    go(">" + page, true);
10150  }
10151
10152  function onKeydown(page, e) {
10153    var length = items.length;
10154    var key = normalizeKey(e);
10155    var dir = getDirection();
10156    var nextPage = -1;
10157
10158    if (key === resolve(ARROW_RIGHT, false, dir)) {
10159      nextPage = ++page % length;
10160    } else if (key === resolve(ARROW_LEFT, false, dir)) {
10161      nextPage = (--page + length) % length;
10162    } else if (key === "Home") {
10163      nextPage = 0;
10164    } else if (key === "End") {
10165      nextPage = length - 1;
10166    }
10167
10168    var item = items[nextPage];
10169
10170    if (item) {
10171      splide_esm_focus(item.button);
10172      go(">" + nextPage);
10173      prevent(e, true);
10174    }
10175  }
10176
10177  function getDirection() {
10178    return options.paginationDirection || options.direction;
10179  }
10180
10181  function getAt(index) {
10182    return items[Controller.toPage(index)];
10183  }
10184
10185  function update() {
10186    var prev = getAt(getIndex(true));
10187    var curr = getAt(getIndex());
10188
10189    if (prev) {
10190      var button = prev.button;
10191      removeClass(button, CLASS_ACTIVE);
10192      removeAttribute(button, ARIA_SELECTED);
10193      setAttribute(button, TAB_INDEX, -1);
10194    }
10195
10196    if (curr) {
10197      var _button = curr.button;
10198      addClass(_button, CLASS_ACTIVE);
10199      setAttribute(_button, ARIA_SELECTED, true);
10200      setAttribute(_button, TAB_INDEX, "");
10201    }
10202
10203    emit(EVENT_PAGINATION_UPDATED, {
10204      list: list,
10205      items: items
10206    }, prev, curr);
10207  }
10208
10209  return {
10210    items: items,
10211    mount: mount,
10212    destroy: destroy,
10213    getAt: getAt,
10214    update: update
10215  };
10216}
10217
10218var TRIGGER_KEYS = [" ", "Enter"];
10219
10220function Sync(Splide2, Components2, options) {
10221  var isNavigation = options.isNavigation,
10222      slideFocus = options.slideFocus;
10223  var events = [];
10224
10225  function mount() {
10226    Splide2.splides.forEach(function (target) {
10227      if (!target.isParent) {
10228        sync(Splide2, target.splide);
10229        sync(target.splide, Splide2);
10230      }
10231    });
10232
10233    if (isNavigation) {
10234      navigate();
10235    }
10236  }
10237
10238  function destroy() {
10239    events.forEach(function (event) {
10240      event.destroy();
10241    });
10242    empty(events);
10243  }
10244
10245  function remount() {
10246    destroy();
10247    mount();
10248  }
10249
10250  function sync(splide, target) {
10251    var event = EventInterface(splide);
10252    event.on(EVENT_MOVE, function (index, prev, dest) {
10253      target.go(target.is(LOOP) ? dest : index);
10254    });
10255    events.push(event);
10256  }
10257
10258  function navigate() {
10259    var event = EventInterface(Splide2);
10260    var on = event.on;
10261    on(EVENT_CLICK, onClick);
10262    on(EVENT_SLIDE_KEYDOWN, onKeydown);
10263    on([EVENT_MOUNTED, EVENT_UPDATED], update);
10264    events.push(event);
10265    event.emit(EVENT_NAVIGATION_MOUNTED, Splide2.splides);
10266  }
10267
10268  function update() {
10269    setAttribute(Components2.Elements.list, ARIA_ORIENTATION, options.direction === TTB ? "vertical" : "");
10270  }
10271
10272  function onClick(Slide) {
10273    Splide2.go(Slide.index);
10274  }
10275
10276  function onKeydown(Slide, e) {
10277    if (includes(TRIGGER_KEYS, normalizeKey(e))) {
10278      onClick(Slide);
10279      prevent(e);
10280    }
10281  }
10282
10283  return {
10284    setup: apply(Components2.Media.set, {
10285      slideFocus: isUndefined(slideFocus) ? isNavigation : slideFocus
10286    }, true),
10287    mount: mount,
10288    destroy: destroy,
10289    remount: remount
10290  };
10291}
10292
10293function Wheel(Splide2, Components2, options) {
10294  var _EventInterface12 = EventInterface(Splide2),
10295      bind = _EventInterface12.bind;
10296
10297  var lastTime = 0;
10298
10299  function mount() {
10300    if (options.wheel) {
10301      bind(Components2.Elements.track, "wheel", onWheel, SCROLL_LISTENER_OPTIONS);
10302    }
10303  }
10304
10305  function onWheel(e) {
10306    if (e.cancelable) {
10307      var deltaY = e.deltaY;
10308      var backwards = deltaY < 0;
10309      var timeStamp = timeOf(e);
10310
10311      var _min = options.wheelMinThreshold || 0;
10312
10313      var sleep = options.wheelSleep || 0;
10314
10315      if (abs(deltaY) > _min && timeStamp - lastTime > sleep) {
10316        Splide2.go(backwards ? "<" : ">");
10317        lastTime = timeStamp;
10318      }
10319
10320      shouldPrevent(backwards) && prevent(e);
10321    }
10322  }
10323
10324  function shouldPrevent(backwards) {
10325    return !options.releaseWheel || Splide2.state.is(MOVING) || Components2.Controller.getAdjacent(backwards) !== -1;
10326  }
10327
10328  return {
10329    mount: mount
10330  };
10331}
10332
10333var SR_REMOVAL_DELAY = 90;
10334
10335function Live(Splide2, Components2, options) {
10336  var _EventInterface13 = EventInterface(Splide2),
10337      on = _EventInterface13.on;
10338
10339  var track = Components2.Elements.track;
10340  var enabled = options.live && !options.isNavigation;
10341  var sr = create("span", CLASS_SR);
10342  var interval = RequestInterval(SR_REMOVAL_DELAY, apply(toggle, false));
10343
10344  function mount() {
10345    if (enabled) {
10346      disable(!Components2.Autoplay.isPaused());
10347      setAttribute(track, ARIA_ATOMIC, true);
10348      sr.textContent = "\u2026";
10349      on(EVENT_AUTOPLAY_PLAY, apply(disable, true));
10350      on(EVENT_AUTOPLAY_PAUSE, apply(disable, false));
10351      on([EVENT_MOVED, EVENT_SCROLLED], apply(toggle, true));
10352    }
10353  }
10354
10355  function toggle(active) {
10356    setAttribute(track, ARIA_BUSY, active);
10357
10358    if (active) {
10359      append(track, sr);
10360      interval.start();
10361    } else {
10362      remove(sr);
10363      interval.cancel();
10364    }
10365  }
10366
10367  function destroy() {
10368    removeAttribute(track, [ARIA_LIVE, ARIA_ATOMIC, ARIA_BUSY]);
10369    remove(sr);
10370  }
10371
10372  function disable(disabled) {
10373    if (enabled) {
10374      setAttribute(track, ARIA_LIVE, disabled ? "off" : "polite");
10375    }
10376  }
10377
10378  return {
10379    mount: mount,
10380    disable: disable,
10381    destroy: destroy
10382  };
10383}
10384
10385var ComponentConstructors = /*#__PURE__*/Object.freeze({
10386  __proto__: null,
10387  Media: Media,
10388  Direction: Direction,
10389  Elements: Elements,
10390  Slides: Slides,
10391  Layout: Layout,
10392  Clones: Clones,
10393  Move: Move,
10394  Controller: Controller,
10395  Arrows: Arrows,
10396  Autoplay: Autoplay,
10397  Cover: Cover,
10398  Scroll: Scroll,
10399  Drag: Drag,
10400  Keyboard: Keyboard,
10401  LazyLoad: LazyLoad,
10402  Pagination: Pagination,
10403  Sync: Sync,
10404  Wheel: Wheel,
10405  Live: Live
10406});
10407var I18N = {
10408  prev: "Previous slide",
10409  next: "Next slide",
10410  first: "Go to first slide",
10411  last: "Go to last slide",
10412  slideX: "Go to slide %s",
10413  pageX: "Go to page %s",
10414  play: "Start autoplay",
10415  pause: "Pause autoplay",
10416  carousel: "carousel",
10417  slide: "slide",
10418  select: "Select a slide to show",
10419  slideLabel: "%s of %s"
10420};
10421var DEFAULTS = {
10422  type: "slide",
10423  role: "region",
10424  speed: 400,
10425  perPage: 1,
10426  cloneStatus: true,
10427  arrows: true,
10428  pagination: true,
10429  paginationKeyboard: true,
10430  interval: 5e3,
10431  pauseOnHover: true,
10432  pauseOnFocus: true,
10433  resetProgress: true,
10434  easing: "cubic-bezier(0.25, 1, 0.5, 1)",
10435  drag: true,
10436  direction: "ltr",
10437  trimSpace: true,
10438  focusableNodes: "a, button, textarea, input, select, iframe",
10439  live: true,
10440  classes: CLASSES,
10441  i18n: I18N,
10442  reducedMotion: {
10443    speed: 0,
10444    rewindSpeed: 0,
10445    autoplay: "pause"
10446  }
10447};
10448
10449function Fade(Splide2, Components2, options) {
10450  var Slides = Components2.Slides;
10451
10452  function mount() {
10453    EventInterface(Splide2).on([EVENT_MOUNTED, EVENT_REFRESH], init);
10454  }
10455
10456  function init() {
10457    Slides.forEach(function (Slide) {
10458      Slide.style("transform", "translateX(-" + 100 * Slide.index + "%)");
10459    });
10460  }
10461
10462  function start(index, done) {
10463    Slides.style("transition", "opacity " + options.speed + "ms " + options.easing);
10464    nextTick(done);
10465  }
10466
10467  return {
10468    mount: mount,
10469    start: start,
10470    cancel: noop
10471  };
10472}
10473
10474function Slide(Splide2, Components2, options) {
10475  var Move = Components2.Move,
10476      Controller = Components2.Controller,
10477      Scroll = Components2.Scroll;
10478  var list = Components2.Elements.list;
10479  var transition = apply(style, list, "transition");
10480  var endCallback;
10481
10482  function mount() {
10483    EventInterface(Splide2).bind(list, "transitionend", function (e) {
10484      if (e.target === list && endCallback) {
10485        cancel();
10486        endCallback();
10487      }
10488    });
10489  }
10490
10491  function start(index, done) {
10492    var destination = Move.toPosition(index, true);
10493    var position = Move.getPosition();
10494    var speed = getSpeed(index);
10495
10496    if (abs(destination - position) >= 1 && speed >= 1) {
10497      if (options.useScroll) {
10498        Scroll.scroll(destination, speed, false, done);
10499      } else {
10500        transition("transform " + speed + "ms " + options.easing);
10501        Move.translate(destination, true);
10502        endCallback = done;
10503      }
10504    } else {
10505      Move.jump(index);
10506      done();
10507    }
10508  }
10509
10510  function cancel() {
10511    transition("");
10512    Scroll.cancel();
10513  }
10514
10515  function getSpeed(index) {
10516    var rewindSpeed = options.rewindSpeed;
10517
10518    if (Splide2.is(SLIDE) && rewindSpeed) {
10519      var prev = Controller.getIndex(true);
10520      var end = Controller.getEnd();
10521
10522      if (prev === 0 && index >= end || prev >= end && index === 0) {
10523        return rewindSpeed;
10524      }
10525    }
10526
10527    return options.speed;
10528  }
10529
10530  return {
10531    mount: mount,
10532    start: start,
10533    cancel: cancel
10534  };
10535}
10536
10537var _Splide = /*#__PURE__*/function () {
10538  function _Splide(target, options) {
10539    this.event = EventInterface();
10540    this.Components = {};
10541    this.state = State(CREATED);
10542    this.splides = [];
10543    this._o = {};
10544    this._E = {};
10545    var root = isString(target) ? query(document, target) : target;
10546    assert(root, root + " is invalid.");
10547    this.root = root;
10548    options = merge({
10549      label: getAttribute(root, ARIA_LABEL) || "",
10550      labelledby: getAttribute(root, ARIA_LABELLEDBY) || ""
10551    }, DEFAULTS, _Splide.defaults, options || {});
10552
10553    try {
10554      merge(options, JSON.parse(getAttribute(root, DATA_ATTRIBUTE)));
10555    } catch (e) {
10556      assert(false, "Invalid JSON");
10557    }
10558
10559    this._o = Object.create(merge({}, options));
10560  }
10561
10562  var _proto = _Splide.prototype;
10563
10564  _proto.mount = function mount(Extensions, Transition) {
10565    var _this = this;
10566
10567    var state = this.state,
10568        Components2 = this.Components;
10569    assert(state.is([CREATED, DESTROYED]), "Already mounted!");
10570    state.set(CREATED);
10571    this._C = Components2;
10572    this._T = Transition || this._T || (this.is(FADE) ? Fade : Slide);
10573    this._E = Extensions || this._E;
10574    var Constructors = splide_esm_assign({}, ComponentConstructors, this._E, {
10575      Transition: this._T
10576    });
10577    forOwn(Constructors, function (Component, key) {
10578      var component = Component(_this, Components2, _this._o);
10579      Components2[key] = component;
10580      component.setup && component.setup();
10581    });
10582    forOwn(Components2, function (component) {
10583      component.mount && component.mount();
10584    });
10585    this.emit(EVENT_MOUNTED);
10586    addClass(this.root, CLASS_INITIALIZED);
10587    state.set(IDLE);
10588    this.emit(EVENT_READY);
10589    return this;
10590  };
10591
10592  _proto.sync = function sync(splide) {
10593    this.splides.push({
10594      splide: splide
10595    });
10596    splide.splides.push({
10597      splide: this,
10598      isParent: true
10599    });
10600
10601    if (this.state.is(IDLE)) {
10602      this._C.Sync.remount();
10603
10604      splide.Components.Sync.remount();
10605    }
10606
10607    return this;
10608  };
10609
10610  _proto.go = function go(control) {
10611    this._C.Controller.go(control);
10612
10613    return this;
10614  };
10615
10616  _proto.on = function on(events, callback) {
10617    this.event.on(events, callback);
10618    return this;
10619  };
10620
10621  _proto.off = function off(events) {
10622    this.event.off(events);
10623    return this;
10624  };
10625
10626  _proto.emit = function emit(event) {
10627    var _this$event;
10628
10629    (_this$event = this.event).emit.apply(_this$event, [event].concat(slice(arguments, 1)));
10630
10631    return this;
10632  };
10633
10634  _proto.add = function add(slides, index) {
10635    this._C.Slides.add(slides, index);
10636
10637    return this;
10638  };
10639
10640  _proto.remove = function remove(matcher) {
10641    this._C.Slides.remove(matcher);
10642
10643    return this;
10644  };
10645
10646  _proto.is = function is(type) {
10647    return this._o.type === type;
10648  };
10649
10650  _proto.refresh = function refresh() {
10651    this.emit(EVENT_REFRESH);
10652    return this;
10653  };
10654
10655  _proto.destroy = function destroy(completely) {
10656    if (completely === void 0) {
10657      completely = true;
10658    }
10659
10660    var event = this.event,
10661        state = this.state;
10662
10663    if (state.is(CREATED)) {
10664      EventInterface(this).on(EVENT_READY, this.destroy.bind(this, completely));
10665    } else {
10666      forOwn(this._C, function (component) {
10667        component.destroy && component.destroy(completely);
10668      }, true);
10669      event.emit(EVENT_DESTROY);
10670      event.destroy();
10671      completely && empty(this.splides);
10672      state.set(DESTROYED);
10673    }
10674
10675    return this;
10676  };
10677
10678  splide_esm_createClass(_Splide, [{
10679    key: "options",
10680    get: function get() {
10681      return this._o;
10682    },
10683    set: function set(options) {
10684      this._C.Media.set(options, true, true);
10685    }
10686  }, {
10687    key: "length",
10688    get: function get() {
10689      return this._C.Slides.getLength(true);
10690    }
10691  }, {
10692    key: "index",
10693    get: function get() {
10694      return this._C.Controller.getIndex();
10695    }
10696  }]);
10697
10698  return _Splide;
10699}();
10700
10701var Splide = _Splide;
10702Splide.defaults = {};
10703Splide.STATES = STATES;
10704var CLASS_RENDERED = "is-rendered";
10705var RENDERER_DEFAULT_CONFIG = {
10706  listTag: "ul",
10707  slideTag: "li"
10708};
10709
10710var Style = /*#__PURE__*/(/* unused pure expression or super */ null && (function () {
10711  function Style(id, options) {
10712    this.styles = {};
10713    this.id = id;
10714    this.options = options;
10715  }
10716
10717  var _proto2 = Style.prototype;
10718
10719  _proto2.rule = function rule(selector, prop, value, breakpoint) {
10720    breakpoint = breakpoint || "default";
10721    var selectors = this.styles[breakpoint] = this.styles[breakpoint] || {};
10722    var styles = selectors[selector] = selectors[selector] || {};
10723    styles[prop] = value;
10724  };
10725
10726  _proto2.build = function build() {
10727    var _this2 = this;
10728
10729    var css = "";
10730
10731    if (this.styles.default) {
10732      css += this.buildSelectors(this.styles.default);
10733    }
10734
10735    Object.keys(this.styles).sort(function (n, m) {
10736      return _this2.options.mediaQuery === "min" ? +n - +m : +m - +n;
10737    }).forEach(function (breakpoint) {
10738      if (breakpoint !== "default") {
10739        css += "@media screen and (max-width: " + breakpoint + "px) {";
10740        css += _this2.buildSelectors(_this2.styles[breakpoint]);
10741        css += "}";
10742      }
10743    });
10744    return css;
10745  };
10746
10747  _proto2.buildSelectors = function buildSelectors(selectors) {
10748    var _this3 = this;
10749
10750    var css = "";
10751    forOwn(selectors, function (styles, selector) {
10752      selector = ("#" + _this3.id + " " + selector).trim();
10753      css += selector + " {";
10754      forOwn(styles, function (value, prop) {
10755        if (value || value === 0) {
10756          css += prop + ": " + value + ";";
10757        }
10758      });
10759      css += "}";
10760    });
10761    return css;
10762  };
10763
10764  return Style;
10765}()));
10766
10767var SplideRenderer = /*#__PURE__*/(/* unused pure expression or super */ null && (function () {
10768  function SplideRenderer(contents, options, config, defaults) {
10769    this.slides = [];
10770    this.options = {};
10771    this.breakpoints = [];
10772    merge(DEFAULTS, defaults || {});
10773    merge(merge(this.options, DEFAULTS), options || {});
10774    this.contents = contents;
10775    this.config = splide_esm_assign({}, RENDERER_DEFAULT_CONFIG, config || {});
10776    this.id = this.config.id || uniqueId("splide");
10777    this.Style = new Style(this.id, this.options);
10778    this.Direction = Direction(null, null, this.options);
10779    assert(this.contents.length, "Provide at least 1 content.");
10780    this.init();
10781  }
10782
10783  SplideRenderer.clean = function clean(splide) {
10784    var _EventInterface14 = EventInterface(splide),
10785        on = _EventInterface14.on;
10786
10787    var root = splide.root;
10788    var clones = queryAll(root, "." + CLASS_CLONE);
10789    on(EVENT_MOUNTED, function () {
10790      remove(child(root, "style"));
10791    });
10792    remove(clones);
10793  };
10794
10795  var _proto3 = SplideRenderer.prototype;
10796
10797  _proto3.init = function init() {
10798    this.parseBreakpoints();
10799    this.initSlides();
10800    this.registerRootStyles();
10801    this.registerTrackStyles();
10802    this.registerSlideStyles();
10803    this.registerListStyles();
10804  };
10805
10806  _proto3.initSlides = function initSlides() {
10807    var _this4 = this;
10808
10809    push(this.slides, this.contents.map(function (content, index) {
10810      content = isString(content) ? {
10811        html: content
10812      } : content;
10813      content.styles = content.styles || {};
10814      content.attrs = content.attrs || {};
10815
10816      _this4.cover(content);
10817
10818      var classes = _this4.options.classes.slide + " " + (index === 0 ? CLASS_ACTIVE : "");
10819      splide_esm_assign(content.attrs, {
10820        class: (classes + " " + (content.attrs.class || "")).trim(),
10821        style: _this4.buildStyles(content.styles)
10822      });
10823      return content;
10824    }));
10825
10826    if (this.isLoop()) {
10827      this.generateClones(this.slides);
10828    }
10829  };
10830
10831  _proto3.registerRootStyles = function registerRootStyles() {
10832    var _this5 = this;
10833
10834    this.breakpoints.forEach(function (_ref2) {
10835      var width = _ref2[0],
10836          options = _ref2[1];
10837
10838      _this5.Style.rule(" ", "max-width", unit(options.width), width);
10839    });
10840  };
10841
10842  _proto3.registerTrackStyles = function registerTrackStyles() {
10843    var _this6 = this;
10844
10845    var Style2 = this.Style;
10846    var selector = "." + CLASS_TRACK;
10847    this.breakpoints.forEach(function (_ref3) {
10848      var width = _ref3[0],
10849          options = _ref3[1];
10850      Style2.rule(selector, _this6.resolve("paddingLeft"), _this6.cssPadding(options, false), width);
10851      Style2.rule(selector, _this6.resolve("paddingRight"), _this6.cssPadding(options, true), width);
10852      Style2.rule(selector, "height", _this6.cssTrackHeight(options), width);
10853    });
10854  };
10855
10856  _proto3.registerListStyles = function registerListStyles() {
10857    var _this7 = this;
10858
10859    var Style2 = this.Style;
10860    var selector = "." + CLASS_LIST;
10861    this.breakpoints.forEach(function (_ref4) {
10862      var width = _ref4[0],
10863          options = _ref4[1];
10864      Style2.rule(selector, "transform", _this7.buildTranslate(options), width);
10865
10866      if (!_this7.cssSlideHeight(options)) {
10867        Style2.rule(selector, "aspect-ratio", _this7.cssAspectRatio(options), width);
10868      }
10869    });
10870  };
10871
10872  _proto3.registerSlideStyles = function registerSlideStyles() {
10873    var _this8 = this;
10874
10875    var Style2 = this.Style;
10876    var selector = "." + CLASS_SLIDE;
10877    this.breakpoints.forEach(function (_ref5) {
10878      var width = _ref5[0],
10879          options = _ref5[1];
10880      Style2.rule(selector, "width", _this8.cssSlideWidth(options), width);
10881      Style2.rule(selector, "height", _this8.cssSlideHeight(options) || "100%", width);
10882      Style2.rule(selector, _this8.resolve("marginRight"), unit(options.gap) || "0px", width);
10883      Style2.rule(selector + " > img", "display", options.cover ? "none" : "inline", width);
10884    });
10885  };
10886
10887  _proto3.buildTranslate = function buildTranslate(options) {
10888    var _this$Direction = this.Direction,
10889        resolve = _this$Direction.resolve,
10890        orient = _this$Direction.orient;
10891    var values = [];
10892    values.push(this.cssOffsetClones(options));
10893    values.push(this.cssOffsetGaps(options));
10894
10895    if (this.isCenter(options)) {
10896      values.push(this.buildCssValue(orient(-50), "%"));
10897      values.push.apply(values, this.cssOffsetCenter(options));
10898    }
10899
10900    return values.filter(Boolean).map(function (value) {
10901      return "translate" + resolve("X") + "(" + value + ")";
10902    }).join(" ");
10903  };
10904
10905  _proto3.cssOffsetClones = function cssOffsetClones(options) {
10906    var _this$Direction2 = this.Direction,
10907        resolve = _this$Direction2.resolve,
10908        orient = _this$Direction2.orient;
10909    var cloneCount = this.getCloneCount();
10910
10911    if (this.isFixedWidth(options)) {
10912      var _this$parseCssValue = this.parseCssValue(options[resolve("fixedWidth")]),
10913          value = _this$parseCssValue.value,
10914          unit2 = _this$parseCssValue.unit;
10915
10916      return this.buildCssValue(orient(value) * cloneCount, unit2);
10917    }
10918
10919    var percent = 100 * cloneCount / options.perPage;
10920    return orient(percent) + "%";
10921  };
10922
10923  _proto3.cssOffsetCenter = function cssOffsetCenter(options) {
10924    var _this$Direction3 = this.Direction,
10925        resolve = _this$Direction3.resolve,
10926        orient = _this$Direction3.orient;
10927
10928    if (this.isFixedWidth(options)) {
10929      var _this$parseCssValue2 = this.parseCssValue(options[resolve("fixedWidth")]),
10930          value = _this$parseCssValue2.value,
10931          unit2 = _this$parseCssValue2.unit;
10932
10933      return [this.buildCssValue(orient(value / 2), unit2)];
10934    }
10935
10936    var values = [];
10937    var perPage = options.perPage,
10938        gap = options.gap;
10939    values.push(orient(50 / perPage) + "%");
10940
10941    if (gap) {
10942      var _this$parseCssValue3 = this.parseCssValue(gap),
10943          _value = _this$parseCssValue3.value,
10944          _unit = _this$parseCssValue3.unit;
10945
10946      var gapOffset = (_value / perPage - _value) / 2;
10947      values.push(this.buildCssValue(orient(gapOffset), _unit));
10948    }
10949
10950    return values;
10951  };
10952
10953  _proto3.cssOffsetGaps = function cssOffsetGaps(options) {
10954    var cloneCount = this.getCloneCount();
10955
10956    if (cloneCount && options.gap) {
10957      var orient = this.Direction.orient;
10958
10959      var _this$parseCssValue4 = this.parseCssValue(options.gap),
10960          value = _this$parseCssValue4.value,
10961          unit2 = _this$parseCssValue4.unit;
10962
10963      if (this.isFixedWidth(options)) {
10964        return this.buildCssValue(orient(value * cloneCount), unit2);
10965      }
10966
10967      var perPage = options.perPage;
10968      var gaps = cloneCount / perPage;
10969      return this.buildCssValue(orient(gaps * value), unit2);
10970    }
10971
10972    return "";
10973  };
10974
10975  _proto3.resolve = function resolve(prop) {
10976    return camelToKebab(this.Direction.resolve(prop));
10977  };
10978
10979  _proto3.cssPadding = function cssPadding(options, right) {
10980    var padding = options.padding;
10981    var prop = this.Direction.resolve(right ? "right" : "left", true);
10982    return padding && unit(padding[prop] || (isObject(padding) ? 0 : padding)) || "0px";
10983  };
10984
10985  _proto3.cssTrackHeight = function cssTrackHeight(options) {
10986    var height = "";
10987
10988    if (this.isVertical()) {
10989      height = this.cssHeight(options);
10990      assert(height, '"height" is missing.');
10991      height = "calc(" + height + " - " + this.cssPadding(options, false) + " - " + this.cssPadding(options, true) + ")";
10992    }
10993
10994    return height;
10995  };
10996
10997  _proto3.cssHeight = function cssHeight(options) {
10998    return unit(options.height);
10999  };
11000
11001  _proto3.cssSlideWidth = function cssSlideWidth(options) {
11002    return options.autoWidth ? "" : unit(options.fixedWidth) || (this.isVertical() ? "" : this.cssSlideSize(options));
11003  };
11004
11005  _proto3.cssSlideHeight = function cssSlideHeight(options) {
11006    return unit(options.fixedHeight) || (this.isVertical() ? options.autoHeight ? "" : this.cssSlideSize(options) : this.cssHeight(options));
11007  };
11008
11009  _proto3.cssSlideSize = function cssSlideSize(options) {
11010    var gap = unit(options.gap);
11011    return "calc((100%" + (gap && " + " + gap) + ")/" + (options.perPage || 1) + (gap && " - " + gap) + ")";
11012  };
11013
11014  _proto3.cssAspectRatio = function cssAspectRatio(options) {
11015    var heightRatio = options.heightRatio;
11016    return heightRatio ? "" + 1 / heightRatio : "";
11017  };
11018
11019  _proto3.buildCssValue = function buildCssValue(value, unit2) {
11020    return "" + value + unit2;
11021  };
11022
11023  _proto3.parseCssValue = function parseCssValue(value) {
11024    if (isString(value)) {
11025      var number = parseFloat(value) || 0;
11026      var unit2 = value.replace(/\d*(\.\d*)?/, "") || "px";
11027      return {
11028        value: number,
11029        unit: unit2
11030      };
11031    }
11032
11033    return {
11034      value: value,
11035      unit: "px"
11036    };
11037  };
11038
11039  _proto3.parseBreakpoints = function parseBreakpoints() {
11040    var _this9 = this;
11041
11042    var breakpoints = this.options.breakpoints;
11043    this.breakpoints.push(["default", this.options]);
11044
11045    if (breakpoints) {
11046      forOwn(breakpoints, function (options, width) {
11047        _this9.breakpoints.push([width, merge(merge({}, _this9.options), options)]);
11048      });
11049    }
11050  };
11051
11052  _proto3.isFixedWidth = function isFixedWidth(options) {
11053    return !!options[this.Direction.resolve("fixedWidth")];
11054  };
11055
11056  _proto3.isLoop = function isLoop() {
11057    return this.options.type === LOOP;
11058  };
11059
11060  _proto3.isCenter = function isCenter(options) {
11061    if (options.focus === "center") {
11062      if (this.isLoop()) {
11063        return true;
11064      }
11065
11066      if (this.options.type === SLIDE) {
11067        return !this.options.trimSpace;
11068      }
11069    }
11070
11071    return false;
11072  };
11073
11074  _proto3.isVertical = function isVertical() {
11075    return this.options.direction === TTB;
11076  };
11077
11078  _proto3.buildClasses = function buildClasses() {
11079    var options = this.options;
11080    return [CLASS_ROOT, CLASS_ROOT + "--" + options.type, CLASS_ROOT + "--" + options.direction, options.drag && CLASS_ROOT + "--draggable", options.isNavigation && CLASS_ROOT + "--nav", CLASS_ACTIVE, !this.config.hidden && CLASS_RENDERED].filter(Boolean).join(" ");
11081  };
11082
11083  _proto3.buildAttrs = function buildAttrs(attrs) {
11084    var attr = "";
11085    forOwn(attrs, function (value, key) {
11086      attr += value ? " " + camelToKebab(key) + "=\"" + value + "\"" : "";
11087    });
11088    return attr.trim();
11089  };
11090
11091  _proto3.buildStyles = function buildStyles(styles) {
11092    var style = "";
11093    forOwn(styles, function (value, key) {
11094      style += " " + camelToKebab(key) + ":" + value + ";";
11095    });
11096    return style.trim();
11097  };
11098
11099  _proto3.renderSlides = function renderSlides() {
11100    var _this10 = this;
11101
11102    var tag = this.config.slideTag;
11103    return this.slides.map(function (content) {
11104      return "<" + tag + " " + _this10.buildAttrs(content.attrs) + ">" + (content.html || "") + "</" + tag + ">";
11105    }).join("");
11106  };
11107
11108  _proto3.cover = function cover(content) {
11109    var styles = content.styles,
11110        _content$html = content.html,
11111        html = _content$html === void 0 ? "" : _content$html;
11112
11113    if (this.options.cover && !this.options.lazyLoad) {
11114      var src = html.match(/<img.*?src\s*=\s*(['"])(.+?)\1.*?>/);
11115
11116      if (src && src[2]) {
11117        styles.background = "center/cover no-repeat url('" + src[2] + "')";
11118      }
11119    }
11120  };
11121
11122  _proto3.generateClones = function generateClones(contents) {
11123    var classes = this.options.classes;
11124    var count = this.getCloneCount();
11125    var slides = contents.slice();
11126
11127    while (slides.length < count) {
11128      push(slides, slides);
11129    }
11130
11131    push(slides.slice(-count).reverse(), slides.slice(0, count)).forEach(function (content, index) {
11132      var attrs = splide_esm_assign({}, content.attrs, {
11133        class: content.attrs.class + " " + classes.clone
11134      });
11135      var clone = splide_esm_assign({}, content, {
11136        attrs: attrs
11137      });
11138      index < count ? contents.unshift(clone) : contents.push(clone);
11139    });
11140  };
11141
11142  _proto3.getCloneCount = function getCloneCount() {
11143    if (this.isLoop()) {
11144      var options = this.options;
11145
11146      if (options.clones) {
11147        return options.clones;
11148      }
11149
11150      var perPage = max.apply(void 0, this.breakpoints.map(function (_ref6) {
11151        var options2 = _ref6[1];
11152        return options2.perPage;
11153      }));
11154      return perPage * ((options.flickMaxPages || 1) + 1);
11155    }
11156
11157    return 0;
11158  };
11159
11160  _proto3.renderArrows = function renderArrows() {
11161    var html = "";
11162    html += "<div class=\"" + this.options.classes.arrows + "\">";
11163    html += this.renderArrow(true);
11164    html += this.renderArrow(false);
11165    html += "</div>";
11166    return html;
11167  };
11168
11169  _proto3.renderArrow = function renderArrow(prev) {
11170    var _this$options = this.options,
11171        classes = _this$options.classes,
11172        i18n = _this$options.i18n;
11173    var attrs = {
11174      class: classes.arrow + " " + (prev ? classes.prev : classes.next),
11175      type: "button",
11176      ariaLabel: prev ? i18n.prev : i18n.next
11177    };
11178    return "<button " + this.buildAttrs(attrs) + "><svg xmlns=\"" + XML_NAME_SPACE + "\" viewBox=\"0 0 " + SIZE + " " + SIZE + "\" width=\"" + SIZE + "\" height=\"" + SIZE + "\"><path d=\"" + (this.options.arrowPath || PATH) + "\" /></svg></button>";
11179  };
11180
11181  _proto3.html = function html() {
11182    var _this$config = this.config,
11183        rootClass = _this$config.rootClass,
11184        listTag = _this$config.listTag,
11185        arrows = _this$config.arrows,
11186        beforeTrack = _this$config.beforeTrack,
11187        afterTrack = _this$config.afterTrack,
11188        slider = _this$config.slider,
11189        beforeSlider = _this$config.beforeSlider,
11190        afterSlider = _this$config.afterSlider;
11191    var html = "";
11192    html += "<div id=\"" + this.id + "\" class=\"" + this.buildClasses() + " " + (rootClass || "") + "\">";
11193    html += "<style>" + this.Style.build() + "</style>";
11194
11195    if (slider) {
11196      html += beforeSlider || "";
11197      html += "<div class=\"splide__slider\">";
11198    }
11199
11200    html += beforeTrack || "";
11201
11202    if (arrows) {
11203      html += this.renderArrows();
11204    }
11205
11206    html += "<div class=\"splide__track\">";
11207    html += "<" + listTag + " class=\"splide__list\">";
11208    html += this.renderSlides();
11209    html += "</" + listTag + ">";
11210    html += "</div>";
11211    html += afterTrack || "";
11212
11213    if (slider) {
11214      html += "</div>";
11215      html += afterSlider || "";
11216    }
11217
11218    html += "</div>";
11219    return html;
11220  };
11221
11222  return SplideRenderer;
11223}()));
11224
11225
11226
11227;// CONCATENATED MODULE: ./src/scripts/components/tutorCarousel.ts
11228
11229
11230
11231function TutorCarousel() {
11232  var splideContainers = document.querySelectorAll('.tutorlink-carousel.splide');
vendor: 5,595 bytes, lines 11233-11265
11233  for (var _i = 0, _Array$from = Array.from(splideContainers); _i < _Array$from.length; _i++) {
11234    var splideContainer = _Array$from[_i];
11235    var splideSlides = splideContainer.querySelectorAll('.splide__slide');
11236    new Splide(splideContainer, {
11237      omitEnd: true,
11238      speed: 750,
11239      perPage: 3,
11240      autoHeight: true,
11241      gap: '1.111em',
11242      focus: 0,
11243      perMove: 1,
11244      arrows: splideSlides.length > 3,
11245      drag: splideSlides.length > 3,
11246      breakpoints: {
11247        '800': {
11248          perPage: 2,
11249          arrows: splideSlides.length > 2,
11250          drag: splideSlides.length > 2
11251        },
11252        '500': {
11253          perPage: 1,
11254          arrows: splideSlides.length > 1,
11255          drag: splideSlides.length > 1
11256        }
11257      }
11258    }).mount();
11259  }
11260}
11261// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.concat.js
11262var es_array_concat = __webpack_require__(2222);
11263;// CONCATENATED MODULE: ./src/scripts/components/tutormodal.ts
11264function tutormodal_typeof(obj) { "@babel/helpers - typeof"; return tutormodal_typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, tutormodal_typeof(obj); }
11265function tutormodal_regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ tutormodal_regeneratorRuntime = function _regeneratorRuntime() { return exports; }; var exports = {}, Op = Object.prototype, hasOwn = Op.hasOwnProperty, defineProperty = Object.defineProperty || function (obj, key, desc) { obj[key] = desc.value; }, $Symbol = "function" == typeof Symbol ? Symbol : {}, iteratorSymbol = $Symbol.iterator || "@@iterator", asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator", toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag"; function define(obj, key, value) { return Object.defineProperty(obj, key, { value: value, enumerable: !0, configurable: !0, writable: !0 }), obj[key]; } try { define({}, ""); } catch (err) { define = function define(obj, key, value) { return obj[key] = value; }; } function wrap(innerFn, outerFn, self, tryLocsList) { var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator, generator = Object.create(protoGenerator.prototype), context = new Context(tryLocsList || []); return defineProperty(generator, "_invoke", { value: makeInvokeMethod(innerFn, self, context) }), generator; } function tryCatch(fn, obj, arg) { try { return { type: "normal", arg: fn.call(obj, arg) }; } catch (err) { return { type: "throw", arg: err }; } } exports.wrap = wrap; var ContinueSentinel = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var IteratorPrototype = {}; define(IteratorPrototype, iteratorSymbol, function () { return this; }); var getProto = Object.getPrototypeOf, NativeIteratorPrototype = getProto && getProto(getProto(values([]))); NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol) && (IteratorPrototype = NativeIteratorPrototype); var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype); function defineIteratorMethods(prototype) { ["next", "throw", "return"].forEach(function (method) { define(prototype, method, function (arg) { return this._invoke(method, arg); }); }); } function AsyncIterator(generator, PromiseImpl) { function invoke(method, arg, resolve, reject) { var record = tryCatch(generator[method], generator, arg); if ("throw" !== record.type) { var result = record.arg, value = result.value; return value && "object" == tutormodal_typeof(value) && hasOwn.call(value, "__await") ? PromiseImpl.resolve(value.__await).then(function (value) { invoke("next", value, resolve, reject); }, function (err) { invoke("throw", err, resolve, reject); }) : PromiseImpl.resolve(value).then(function (unwrapped) { result.value = unwrapped, resolve(result); }, function (error) { return invoke("throw", error, resolve, reject); }); } reject(record.arg); } var previousPromise; defineProperty(this, "_invoke", { value: function value(method, arg) { function callInvokeWithMethodAndArg() { return new PromiseImpl(function (resolve, reject) { invoke(method, arg, resolve, reject); }); } return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(innerFn, self, context) { var state = "suspendedStart"; return function (method, arg) { if ("executing" === state) throw new Error("Generator is already running"); if ("completed" === state) { if ("throw" === method) throw arg; return doneResult(); } for (context.method = method, context.arg = arg;;) { var delegate = context.delegate; if (delegate) { var delegateResult = maybeInvokeDelegate(delegate, context); if (delegateResult) { if (delegateResult === ContinueSentinel) continue; return delegateResult; } } if ("next" === context.method) context.sent = context._sent = context.arg;else if ("throw" === context.method) { if ("suspendedStart" === state) throw state = "completed", context.arg; context.dispatchException(context.arg); } else "return" === context.method && context.abrupt("return", context.arg); state = "executing"; var record = tryCatch(innerFn, self, context);
vendor: 4,705 bytes, line 11265
11265 if ("normal" === record.type) { if (state = context.done ? "completed" : "suspendedYield", record.arg === ContinueSentinel) continue; return { value: record.arg, done: context.done }; } "throw" === record.type && (state = "completed", context.method = "throw", context.arg = record.arg); } }; } function maybeInvokeDelegate(delegate, context) { var methodName = context.method, method = delegate.iterator[methodName]; if (undefined === method) return context.delegate = null, "throw" === methodName && delegate.iterator.return && (context.method = "return", context.arg = undefined, maybeInvokeDelegate(delegate, context), "throw" === context.method) || "return" !== methodName && (context.method = "throw", context.arg = new TypeError("The iterator does not provide a '" + methodName + "' method")), ContinueSentinel; var record = tryCatch(method, delegate.iterator, context.arg); if ("throw" === record.type) return context.method = "throw", context.arg = record.arg, context.delegate = null, ContinueSentinel; var info = record.arg; return info ? info.done ? (context[delegate.resultName] = info.value, context.next = delegate.nextLoc, "return" !== context.method && (context.method = "next", context.arg = undefined), context.delegate = null, ContinueSentinel) : info : (context.method = "throw", context.arg = new TypeError("iterator result is not an object"), context.delegate = null, ContinueSentinel); } function pushTryEntry(locs) { var entry = { tryLoc: locs[0] }; 1 in locs && (entry.catchLoc = locs[1]), 2 in locs && (entry.finallyLoc = locs[2], entry.afterLoc = locs[3]), this.tryEntries.push(entry); } function resetTryEntry(entry) { var record = entry.completion || {}; record.type = "normal", delete record.arg, entry.completion = record; } function Context(tryLocsList) { this.tryEntries = [{ tryLoc: "root" }], tryLocsList.forEach(pushTryEntry, this), this.reset(!0); } function values(iterable) { if (iterable) { var iteratorMethod = iterable[iteratorSymbol]; if (iteratorMethod) return iteratorMethod.call(iterable); if ("function" == typeof iterable.next) return iterable; if (!isNaN(iterable.length)) { var i = -1, next = function next() { for (; ++i < iterable.length;) if (hasOwn.call(iterable, i)) return next.value = iterable[i], next.done = !1, next; return next.value = undefined, next.done = !0, next; }; return next.next = next; } } return { next: doneResult }; } function doneResult() { return { value: undefined, done: !0 }; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, defineProperty(Gp, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), defineProperty(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, "GeneratorFunction"), exports.isGeneratorFunction = function (genFun) { var ctor = "function" == typeof genFun && genFun.constructor; return !!ctor && (ctor === GeneratorFunction || "GeneratorFunction" === (ctor.displayName || ctor.name)); }, exports.mark = function (genFun) { return Object.setPrototypeOf ? Object.setPrototypeOf(genFun, GeneratorFunctionPrototype) : (genFun.__proto__ = GeneratorFunctionPrototype, define(genFun, toStringTagSymbol, "GeneratorFunction")), genFun.prototype = Object.create(Gp), genFun; }, exports.awrap = function (arg) { return { __await: arg }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, asyncIteratorSymbol, function () { return this; }), exports.AsyncIterator = AsyncIterator, exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) { void 0 === PromiseImpl && (PromiseImpl = Promise); var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl); return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) { return result.done ? result.value : iter.next(); }); }, defineIteratorMethods(Gp), define(Gp, toStringTagSymbol, "Generator"), define(Gp, iteratorSymbol, function () { return this; }), define(Gp, "toString", function () { return "[object Generator]"; }), exports.keys = function (val) { var object = Object(val), keys = []; for (var key in object) keys.push(key); return keys.reverse(), function next() { for (; keys.length;) { var key = keys.pop(); if (key in object) return next.value = key, next.done = !1, next; } return next.done = !0, next; }; }, exports.values = values, Context.prototype = { constructor: Context, reset: function reset(skipTempReset) { if (this.prev = 0, this.next = 0, this.sent = this._sent = undefined, this.done = !1, this.delegate = null, this.method = "next", this.arg = undefined, this.tryEntries.forEac
vendor: 4,628 bytes, lines 11265-11298
11265h(resetTryEntry), !skipTempReset) for (var name in this) "t" === name.charAt(0) && hasOwn.call(this, name) && !isNaN(+name.slice(1)) && (this[name] = undefined); }, stop: function stop() { this.done = !0; var rootRecord = this.tryEntries[0].completion; if ("throw" === rootRecord.type) throw rootRecord.arg; return this.rval; }, dispatchException: function dispatchException(exception) { if (this.done) throw exception; var context = this; function handle(loc, caught) { return record.type = "throw", record.arg = exception, context.next = loc, caught && (context.method = "next", context.arg = undefined), !!caught; } for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i], record = entry.completion; if ("root" === entry.tryLoc) return handle("end"); if (entry.tryLoc <= this.prev) { var hasCatch = hasOwn.call(entry, "catchLoc"), hasFinally = hasOwn.call(entry, "finallyLoc"); if (hasCatch && hasFinally) { if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); } else if (hasCatch) { if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); } else { if (!hasFinally) throw new Error("try statement without catch or finally"); if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); } } } }, abrupt: function abrupt(type, arg) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.tryLoc <= this.prev && hasOwn.call(entry, "finallyLoc") && this.prev < entry.finallyLoc) { var finallyEntry = entry; break; } } finallyEntry && ("break" === type || "continue" === type) && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc && (finallyEntry = null); var record = finallyEntry ? finallyEntry.completion : {}; return record.type = type, record.arg = arg, finallyEntry ? (this.method = "next", this.next = finallyEntry.finallyLoc, ContinueSentinel) : this.complete(record); }, complete: function complete(record, afterLoc) { if ("throw" === record.type) throw record.arg; return "break" === record.type || "continue" === record.type ? this.next = record.arg : "return" === record.type ? (this.rval = this.arg = record.arg, this.method = "return", this.next = "end") : "normal" === record.type && afterLoc && (this.next = afterLoc), ContinueSentinel; }, finish: function finish(finallyLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.finallyLoc === finallyLoc) return this.complete(entry.completion, entry.afterLoc), resetTryEntry(entry), ContinueSentinel; } }, catch: function _catch(tryLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.tryLoc === tryLoc) { var record = entry.completion; if ("throw" === record.type) { var thrown = record.arg; resetTryEntry(entry); } return thrown; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(iterable, resultName, nextLoc) { return this.delegate = { iterator: values(iterable), resultName: resultName, nextLoc: nextLoc }, "next" === this.method && (this.arg = undefined), ContinueSentinel; } }, exports; }
11266
11267
11268
11269
11270
11271
11272
11273
11274
11275
11276
11277
11278
11279
11280
11281
11282
11283
11284
11285function tutormodal_asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
11286function tutormodal_asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { tutormodal_asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { tutormodal_asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
11287
11288function TutorModal() {
11289  var overlay = document.querySelector(".modal-overlay");
11290  var tutorModal = document.querySelector(".tutor-modal");
11291  var tutorImgParent = document.querySelector(".tutor-modal-img");
11292  var tutorname = document.querySelector(".tutor-modal-name");
11293  var tutorjobtitle = document.querySelector(".tutor-modal-job-title");
11294  var tutorbio = document.querySelector(".tutor-modal-bio");
11295  var tutorbtns = document.querySelectorAll('.tutor-link');
11296  var closebtn = document.querySelector("a.close");
11297  var populateTutorDetails = /*#__PURE__*/function () {
11298    var _ref = tutormodal_asyncToGenerator( /*#__PURE__*/tutormodal_regeneratorRuntime().mark(function _callee(tutorId) {
11299      var res, personDetails, img;
11300      return tutormodal_regeneratorRuntime().wrap(function _callee$(_context) {
11301        while (1) switch (_context.prev = _context.next) {
11302          case 0:
11303            _context.prev = 0;
11304            _context.next = 3;
11305            return fetch("/umbraco/api/tutorsapi/GetTutorById?tutorid=".concat(encodeURIComponent(tutorId), "&culture=").concat(window.culture));
11306          case 3:
11307            res = _context.sent;
11308            if (res.ok) {
11309              _context.next = 6;
11310              break;
11311            }
11312            throw new Error("Request failed: ".concat(res.status));
11313          case 6:
11314            _context.next = 8;
11315            return res.json();
11316          case 8:
11317            personDetails = _context.sent;
11318            img = document.createElement("img");
11319            img.dataset.srcset = personDetails.imageSrcSet;
11320            img.dataset.src = personDetails.imageCrop;
11321            img.alt = "photo of ".concat(personDetails.tutorName);
11322            img.classList.add("lazyload");
11323            tutorImgParent.replaceChildren(img);
11324            tutorname.textContent = personDetails.tutorName;
11325            tutorjobtitle.textContent = personDetails.jobTitle;
11326            tutorbio.innerHTML = personDetails.bio;
11327            overlay.classList.remove("hidden");
11328            lazysizes.autoSizer.checkElems();
11329            tutorModal.focus();
11330            closebtn.dataset.id = personDetails.id;
11331            _context.next = 27;
11332            break;
11333          case 24:
11334            _context.prev = 24;
11335            _context.t0 = _context["catch"](0);
11336            console.error("Failed to populate tutor details", _context.t0);
11337          case 27:
11338          case "end":
11339            return _context.stop();
11340        }
11341      }, _callee, null, [[0, 24]]);
11342    }));
11343    return function populateTutorDetails(_x) {
11344      return _ref.apply(this, arguments);
11345    };
11346  }();
11347  Array.from(tutorbtns).forEach(function (btn) {
11348    var tutorId = btn.getAttribute('data-id');
11349    btn.addEventListener('click', function (e) {
11350      e.preventDefault();
11351      populateTutorDetails(tutorId);
11352    });
11353  });
11354  closebtn.addEventListener('click', function (e) {
11355    e.preventDefault();
11356    overlay === null || overlay === void 0 ? void 0 : overlay.classList.add("hidden");
11357    var targetid = e.currentTarget.getAttribute('data-id');
11358    var targetprofile = document.querySelector("a.tutor-link[data-id='" + targetid + "']");
11359    targetprofile.focus();
11360    tutorImgParent.childNodes.forEach(function (cn) {
11361      return cn.remove();
11362    });
11363  });
11364}
11365;// CONCATENATED MODULE: ./src/scripts/components/heroactions.ts
11366function HeroActions() {
11367  var videoElm = document.querySelector("#headervideo");
11368  var videoControlElm = document.querySelector("#headervideocontrol");
11369  var topMenuElm = document.querySelector("label[for='toggle_menu']");
11370  var discoverElm = document.querySelector("header .discover");
11371  var menutoggle = document.querySelector("#toggle_menu");
11372  var headerBlockElm = document.querySelector("header.header-media");
11373  var menuActive = false;
11374  var videoPlaying = true;
11375  var init = function init() {
11376    menutoggle.addEventListener('change', function (e) {
11377      if (videoElm) {
11378        if (menutoggle.checked) {
11379          menuActive = true;
11380          videoisplaying();
11381        } else {
11382          menuActive = false;
11383          videoispaused();
11384        }
11385      }
11386    });
11387    if (menutoggle.checked) {
11388      menuActive = true;
11389      videoisplaying();
11390    }
11391    buttons();
11392  };
11393  var videoispaused = function videoispaused() {
11394    if (videoElm) {
11395      videoElm.play();
11396    }
11397    if (videoControlElm) {
11398      videoControlElm.setAttribute("aria-pressed", "true");
11399      videoControlElm.innerHTML = "&#x23f8; <span>Pause</span>";
11400    }
11401  };
11402  var videoisplaying = function videoisplaying() {
11403    if (videoElm) {
11404      videoElm.pause();
11405    }
11406    if (videoControlElm) {
11407      videoControlElm.setAttribute("aria-pressed", "false");
11408      videoControlElm.innerHTML = "&#x25b6; <span>Play</span>";
11409    }
11410  };
11411  var buttons = function buttons() {
11412    if (discoverElm) {
11413      discoverElm.addEventListener('click', function (e) {
11414        var nextblock = headerBlockElm.nextElementSibling;
11415        scroll({
11416          top: nextblock.offsetTop,
11417          behavior: "smooth"
11418        });
11419      });
11420    }
11421    if (topMenuElm) {
11422      topMenuElm.addEventListener('click', function (e) {
11423        if (menuActive) {
11424          if (videoPlaying) {
11425            videoispaused();
11426          }
11427          menuActive = false;
11428        } else {
11429          videoisplaying();
11430          menuActive = true;
11431        }
11432      });
11433    }
11434    if (videoControlElm) {
11435      videoControlElm.addEventListener('click', function (e) {
11436        if (videoPlaying) {
11437          videoisplaying();
11438          videoPlaying = false;
11439        } else {
11440          videoispaused();
11441          videoPlaying = true;
11442        }
11443      });
11444    }
11445  };
11446  init();
11447}
11448// EXTERNAL MODULE: ./node_modules/core-js/modules/es.regexp.exec.js
11449var es_regexp_exec = __webpack_require__(4916);
11450// EXTERNAL MODULE: ./node_modules/core-js/modules/es.string.search.js
11451var es_string_search = __webpack_require__(4765);
11452// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.map.js
11453var es_array_map = __webpack_require__(1249);
11454// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.filter.js
11455var es_array_filter = __webpack_require__(7327);
11456// EXTERNAL MODULE: ./node_modules/core-js/modules/es.string.includes.js
11457var es_string_includes = __webpack_require__(2023);
11458;// CONCATENATED MODULE: ./node_modules/js-search/dist/esm/js-search.js
11459/**
11460 * Indexes for all substring searches (e.g. the term "cat" is indexed as "c", "ca", "cat", "a", "at", and "t").
11461 */
11462var AllSubstringsIndexStrategy = /*#__PURE__*/(/* unused pure expression or super */ null && (function () {
11463  function AllSubstringsIndexStrategy() {}
11464
11465  var _proto = AllSubstringsIndexStrategy.prototype;
11466
11467  /**
11468   * @inheritDocs
11469   */
11470  _proto.expandToken = function expandToken(token) {
11471    var expandedTokens = [];
11472    var string;
11473
11474    for (var i = 0, length = token.length; i < length; ++i) {
11475      string = '';
11476
11477      for (var j = i; j < length; ++j) {
11478        string += token.charAt(j);
11479        expandedTokens.push(string);
11480      }
11481    }
11482
11483    return expandedTokens;
11484  };
11485
11486  return AllSubstringsIndexStrategy;
11487}()));
11488
11489/**
11490 * Indexes for exact word matches.
11491 */
11492var ExactWordIndexStrategy = /*#__PURE__*/(/* unused pure expression or super */ null && (function () {
11493  function ExactWordIndexStrategy() {}
11494
11495  var _proto = ExactWordIndexStrategy.prototype;
11496
11497  /**
11498   * @inheritDocs
11499   */
11500  _proto.expandToken = function expandToken(token) {
11501    return token ? [token] : [];
11502  };
11503
11504  return ExactWordIndexStrategy;
11505}()));
11506
11507/**
11508 * Indexes for prefix searches (e.g. the term "cat" is indexed as "c", "ca", and "cat" allowing prefix search lookups).
11509 */
11510var PrefixIndexStrategy = /*#__PURE__*/function () {
11511  function PrefixIndexStrategy() {}
11512
11513  var _proto = PrefixIndexStrategy.prototype;
11514
11515  /**
11516   * @inheritDocs
11517   */
11518  _proto.expandToken = function expandToken(token) {
11519    var expandedTokens = [];
11520    var string = '';
11521
11522    for (var i = 0, length = token.length; i < length; ++i) {
11523      string += token.charAt(i);
11524      expandedTokens.push(string);
11525    }
11526
11527    return expandedTokens;
11528  };
11529
11530  return PrefixIndexStrategy;
11531}();
11532
11533/**
11534 * Enforces case-sensitive text matches.
11535 */
11536var CaseSensitiveSanitizer = /*#__PURE__*/(/* unused pure expression or super */ null && (function () {
11537  function CaseSensitiveSanitizer() {}
11538
11539  var _proto = CaseSensitiveSanitizer.prototype;
11540
11541  /**
11542   * @inheritDocs
11543   */
11544  _proto.sanitize = function sanitize(text) {
11545    return text ? text.trim() : '';
11546  };
11547
11548  return CaseSensitiveSanitizer;
11549}
vendor: 7,650 bytes, lines 11549-11829
11549()));
11550
11551/**
11552 * Sanitizes text by converting to a locale-friendly lower-case version and triming leading and trailing whitespace.
11553 */
11554var LowerCaseSanitizer = /*#__PURE__*/function () {
11555  function LowerCaseSanitizer() {}
11556
11557  var _proto = LowerCaseSanitizer.prototype;
11558
11559  /**
11560   * @inheritDocs
11561   */
11562  _proto.sanitize = function sanitize(text) {
11563    return text ? text.toLocaleLowerCase().trim() : '';
11564  };
11565
11566  return LowerCaseSanitizer;
11567}();
11568
11569/**
11570 * Find and return a nested object value.
11571 *
11572 * @param object to crawl
11573 * @param path Property path
11574 * @returns {any}
11575 */
11576function getNestedFieldValue(object, path) {
11577  path = path || [];
11578  object = object || {};
11579  var value = object; // walk down the property path
11580
11581  for (var i = 0; i < path.length; i++) {
11582    value = value[path[i]];
11583
11584    if (value == null) {
11585      return null;
11586    }
11587  }
11588
11589  return value;
11590}
11591
11592/**
11593 * Search index capable of returning results matching a set of tokens and ranked according to TF-IDF.
11594 */
11595var TfIdfSearchIndex = /*#__PURE__*/function () {
11596  function TfIdfSearchIndex(uidFieldName) {
11597    this._uidFieldName = uidFieldName;
11598    this._tokenToIdfCache = {};
11599    this._tokenMap = {};
11600  }
11601  /**
11602   * @inheritDocs
11603   */
11604
11605
11606  var _proto = TfIdfSearchIndex.prototype;
11607
11608  _proto.indexDocument = function indexDocument(token, uid, doc) {
11609    this._tokenToIdfCache = {}; // New index invalidates previous IDF caches
11610
11611    var tokenMap = this._tokenMap;
11612    var tokenDatum;
11613
11614    if (typeof tokenMap[token] !== 'object') {
11615      tokenMap[token] = tokenDatum = {
11616        $numDocumentOccurrences: 0,
11617        $totalNumOccurrences: 1,
11618        $uidMap: {}
11619      };
11620    } else {
11621      tokenDatum = tokenMap[token];
11622      tokenDatum.$totalNumOccurrences++;
11623    }
11624
11625    var uidMap = tokenDatum.$uidMap;
11626
11627    if (typeof uidMap[uid] !== 'object') {
11628      tokenDatum.$numDocumentOccurrences++;
11629      uidMap[uid] = {
11630        $document: doc,
11631        $numTokenOccurrences: 1
11632      };
11633    } else {
11634      uidMap[uid].$numTokenOccurrences++;
11635    }
11636  }
11637  /**
11638   * @inheritDocs
11639   */
11640  ;
11641
11642  _proto.search = function search(tokens, corpus) {
11643    var uidToDocumentMap = {};
11644
11645    for (var i = 0, numTokens = tokens.length; i < numTokens; i++) {
11646      var token = tokens[i];
11647      var tokenMetadata = this._tokenMap[token]; // Short circuit if no matches were found for any given token.
11648
11649      if (!tokenMetadata) {
11650        return [];
11651      }
11652
11653      if (i === 0) {
11654        var keys = Object.keys(tokenMetadata.$uidMap);
11655
11656        for (var j = 0, numKeys = keys.length; j < numKeys; j++) {
11657          var uid = keys[j];
11658          uidToDocumentMap[uid] = tokenMetadata.$uidMap[uid].$document;
11659        }
11660      } else {
11661        var keys = Object.keys(uidToDocumentMap);
11662
11663        for (var j = 0, numKeys = keys.length; j < numKeys; j++) {
11664          var uid = keys[j];
11665
11666          if (typeof tokenMetadata.$uidMap[uid] !== 'object') {
11667            delete uidToDocumentMap[uid];
11668          }
11669        }
11670      }
11671    }
11672
11673    var documents = [];
11674
11675    for (var uid in uidToDocumentMap) {
11676      documents.push(uidToDocumentMap[uid]);
11677    }
11678
11679    var calculateTfIdf = this._createCalculateTfIdf(); // Return documents sorted by TF-IDF
11680
11681
11682    return documents.sort(function (documentA, documentB) {
11683      return calculateTfIdf(tokens, documentB, corpus) - calculateTfIdf(tokens, documentA, corpus);
11684    });
11685  };
11686
11687  _proto._createCalculateIdf = function _createCalculateIdf() {
11688    var tokenMap = this._tokenMap;
11689    var tokenToIdfCache = this._tokenToIdfCache;
11690    return function calculateIdf(token, documents) {
11691      if (!tokenToIdfCache[token]) {
11692        var numDocumentsWithToken = typeof tokenMap[token] !== 'undefined' ? tokenMap[token].$numDocumentOccurrences : 0;
11693        tokenToIdfCache[token] = 1 + Math.log(documents.length / (1 + numDocumentsWithToken));
11694      }
11695
11696      return tokenToIdfCache[token];
11697    };
11698  };
11699
11700  _proto._createCalculateTfIdf = function _createCalculateTfIdf() {
11701    var tokenMap = this._tokenMap;
11702    var uidFieldName = this._uidFieldName;
11703
11704    var calculateIdf = this._createCalculateIdf();
11705
11706    return function calculateTfIdf(tokens, document, documents) {
11707      var score = 0;
11708
11709      for (var i = 0, numTokens = tokens.length; i < numTokens; ++i) {
11710        var token = tokens[i];
11711        var inverseDocumentFrequency = calculateIdf(token, documents);
11712
11713        if (inverseDocumentFrequency === Infinity) {
11714          inverseDocumentFrequency = 0;
11715        }
11716
11717        var uid;
11718
11719        if (uidFieldName instanceof Array) {
11720          uid = document && getNestedFieldValue(document, uidFieldName);
11721        } else {
11722          uid = document && document[uidFieldName];
11723        }
11724
11725        var termFrequency = typeof tokenMap[token] !== 'undefined' && typeof tokenMap[token].$uidMap[uid] !== 'undefined' ? tokenMap[token].$uidMap[uid].$numTokenOccurrences : 0;
11726        score += termFrequency * inverseDocumentFrequency;
11727      }
11728
11729      return score;
11730    };
11731  };
11732
11733  return TfIdfSearchIndex;
11734}();
11735
11736/**
11737 * Search index capable of returning results matching a set of tokens but without any meaningful rank or order.
11738 */
11739var UnorderedSearchIndex = /*#__PURE__*/(/* unused pure expression or super */ null && (function () {
11740  function UnorderedSearchIndex() {
11741    this._tokenToUidToDocumentMap = {};
11742  }
11743  /**
11744   * @inheritDocs
11745   */
11746
11747
11748  var _proto = UnorderedSearchIndex.prototype;
11749
11750  _proto.indexDocument = function indexDocument(token, uid, doc) {
11751    if (typeof this._tokenToUidToDocumentMap[token] !== 'object') {
11752      this._tokenToUidToDocumentMap[token] = {};
11753    }
11754
11755    this._tokenToUidToDocumentMap[token][uid] = doc;
11756  }
11757  /**
11758   * @inheritDocs
11759   */
11760  ;
11761
11762  _proto.search = function search(tokens, corpus) {
11763    var intersectingDocumentMap = {};
11764    var tokenToUidToDocumentMap = this._tokenToUidToDocumentMap;
11765
11766    for (var i = 0, numTokens = tokens.length; i < numTokens; i++) {
11767      var token = tokens[i];
11768      var documentMap = tokenToUidToDocumentMap[token]; // Short circuit if no matches were found for any given token.
11769
11770      if (!documentMap) {
11771        return [];
11772      }
11773
11774      if (i === 0) {
11775        var keys = Object.keys(documentMap);
11776
11777        for (var j = 0, numKeys = keys.length; j < numKeys; j++) {
11778          var uid = keys[j];
11779          intersectingDocumentMap[uid] = documentMap[uid];
11780        }
11781      } else {
11782        var keys = Object.keys(intersectingDocumentMap);
11783
11784        for (var j = 0, numKeys = keys.length; j < numKeys; j++) {
11785          var uid = keys[j];
11786
11787          if (typeof documentMap[uid] !== 'object') {
11788            delete intersectingDocumentMap[uid];
11789          }
11790        }
11791      }
11792    }
11793
11794    var keys = Object.keys(intersectingDocumentMap);
11795    var documents = [];
11796
11797    for (var i = 0, numKeys = keys.length; i < numKeys; i++) {
11798      var uid = keys[i];
11799      documents.push(intersectingDocumentMap[uid]);
11800    }
11801
11802    return documents;
11803  };
11804
11805  return UnorderedSearchIndex;
11806}()));
11807
11808var REGEX = /[^a-zа-яё0-9\-']+/i;
11809/**
11810 * Simple tokenizer that splits strings on whitespace characters and returns an array of all non-empty substrings.
11811 */
11812
11813var SimpleTokenizer = /*#__PURE__*/function () {
11814  function SimpleTokenizer() {}
11815
11816  var _proto = SimpleTokenizer.prototype;
11817
11818  /**
11819   * @inheritDocs
11820   */
11821  _proto.tokenize = function tokenize(text) {
11822    return text.split(REGEX).filter(function (text) {
11823      return text;
11824    } // Filter empty tokens
11825    );
11826  };
11827
11828  return SimpleTokenizer;
11829}();
11830
11831/**
11832 * Stemming is the process of reducing search tokens to their root (or stem) so that searches for different forms of a
11833 * word will match. For example "search", "searching" and "searched" are all reduced to the stem "search".
11834 *
11835 * <p>This stemming tokenizer converts tokens (words) to their stem forms before returning them. It requires an
11836 * external stemming function to be provided; for this purpose I recommend the NPM 'porter-stemmer' library.
11837 *
11838 * <p>For more information see http : //tartarus.org/~martin/PorterStemmer/
11839 */
11840var StemmingTokenizer = /*#__PURE__*/(/* unused pure expression or super */ null && (function () {
11841  /**
11842   * Constructor.
11843   *
11844   * @param stemmingFunction Function capable of accepting a word and returning its stem.
11845   * @param decoratedIndexStrategy Index strategy to be run after all stop words have been removed.
11846   */
11847  function StemmingTokenizer(stemmingFunction, decoratedTokenizer) {
11848    this._stemmingFunction = stemmingFunction;
11849    this._tokenizer = decoratedTokenizer;
11850  }
11851  /**
11852   * @inheritDocs
11853   */
11854
11855
11856  var _proto = StemmingTokenizer.prototype;
11857
11858  _proto.tokenize = function tokenize(text) {
11859    return this._tokenizer.tokenize(text).map(this._stemmingFunction);
11860  };
11861
11862  return StemmingTokenizer;
11863}()));
11864
11865/**
11866 * Stop words list copied from Lunr JS.
11867 */
11868var StopWordsMap = {
11869  a: true,
11870  able: true,
11871  about: true,
11872  across: true,
11873  after: true,
11874  all: true,
11875  almost: true,
11876  also: true,
11877  am: true,
11878  among: true,
11879  an: true,
11880  and: true,
11881  any: true,
11882  are: true,
11883  as: true,
11884  at: true,
11885  be: true,
11886  because: true,
11887  been: true,
11888  but: true,
11889  by: true,
11890  can: true,
11891  cannot: true,
11892  could: true,
11893  dear: true,
11894  did: true,
11895  'do': true,
11896  does: true,
11897  either: true,
11898  'else': true,
11899  ever: true,
11900  every: true,
11901  'for': true,
11902  from: true,
11903  'get': true,
11904  got: true,
11905  had: true,
11906  has: true,
11907  have: true,
11908  he: true,
11909  her: true,
11910  hers: true,
11911  him: true,
11912  his: true,
11913  how: true,
11914  however: true,
11915  i: true,
11916  'if': true,
11917  'in': true,
11918  into: true,
11919  is: true,
11920  it: true,
11921  its: true,
11922  just: true,
11923  least: true,
11924  "let": true,
11925  like: true,
11926  likely: true,
11927  may: true,
11928  me: true,
11929  might: true,
11930  most: true,
11931  must: true,
11932  my: true,
11933  neither: true,
11934  no: true,
11935  nor: true,
11936  not: true,
11937  of: true,
11938  off: true,
11939  often: true,
11940  on: true,
11941  only: true,
11942  or: true,
11943  other: true,
11944  our: true,
11945  own: true,
11946  rather: true,
11947  said: true,
11948  say: true,
11949  says: true,
11950  she: true,
11951  should: true,
11952  since: true,
11953  so: true,
11954  some: true,
11955  than: true,
11956  that: true,
11957  the: true,
11958  their: true,
11959  them: true,
11960  then: true,
11961  there: true,
11962  these: true,
11963  they: true,
11964  'this': true,
11965  tis: true,
11966  to: true,
11967  too: true,
11968  twas: true,
11969  us: true,
11970  wants: true,
11971  was: true,
11972  we: true,
11973  were: true,
11974  what: true,
11975  when: true,
11976  where: true,
11977  which: true,
11978  'while': true,
11979  who: true,
11980  whom: true,
11981  why: true,
11982  will: true,
11983  'with': true,
11984  would: true,
11985  yet: true,
11986  you: true,
11987  your: true
11988}; // Prevent false positives for inherited properties
11989
11990StopWordsMap.constructor = false;
11991StopWordsMap.hasOwnProperty = false;
11992StopWordsMap.isPrototypeOf = false;
11993StopWordsMap.propertyIsEnumerable = false;
11994StopWordsMap.toLocaleString = false;
11995StopWordsMap.toString = false;
11996StopWordsMap.valueOf = false;
11997
11998/**
11999 * Stop words are very common (e.g. "a", "and", "the") and are often not semantically meaningful in the context of a
12000 * search. This tokenizer removes stop words from a set of tokens before passing the remaining tokens along for
12001 * indexing or searching purposes.
12002 */
12003
12004var StopWordsTokenizer = /*#__PURE__*/(/* unused pure expression or super */ null && (function () {
12005  /**
12006   * Constructor.
12007   *
12008   * @param decoratedIndexStrategy Index strategy to be run after all stop words have been removed.
12009   */
12010  function StopWordsTokenizer(decoratedTokenizer) {
12011    this._tokenizer = decoratedTokenizer;
12012  }
12013  /**
12014   * @inheritDocs
12015   */
12016
12017
12018  var _proto = StopWordsTokenizer.prototype;
12019
12020  _proto.tokenize = function tokenize(text) {
12021    return this._tokenizer.tokenize(text).filter(function (token) {
12022      return !StopWordsMap[token];
12023    });
vendor: 10,368 bytes, lines 12024-12338
12024  };
12025
12026  return StopWordsTokenizer;
12027}()));
12028
12029function js_search_defineProperties(target, props) {
12030  for (var i = 0; i < props.length; i++) {
12031    var descriptor = props[i];
12032    descriptor.enumerable = descriptor.enumerable || false;
12033    descriptor.configurable = true;
12034    if ("value" in descriptor) descriptor.writable = true;
12035    Object.defineProperty(target, descriptor.key, descriptor);
12036  }
12037}
12038
12039function js_search_createClass(Constructor, protoProps, staticProps) {
12040  if (protoProps) js_search_defineProperties(Constructor.prototype, protoProps);
12041  if (staticProps) js_search_defineProperties(Constructor, staticProps);
12042  return Constructor;
12043}
12044
12045/**
12046 * Simple client-side searching within a set of documents.
12047 *
12048 * <p>Documents can be searched by any number of fields. Indexing and search strategies are highly customizable.
12049 */
12050var Search = /*#__PURE__*/function () {
12051  /**
12052   * Array containing either a property name or a path (list of property names) to a nested value
12053   */
12054
12055  /**
12056   * Constructor.
12057   * @param uidFieldName Field containing values that uniquely identify search documents; this field's values are used
12058   *                     to ensure that a search result set does not contain duplicate objects.
12059   */
12060  function Search(uidFieldName) {
12061    if (!uidFieldName) {
12062      throw Error('js-search requires a uid field name constructor parameter');
12063    }
12064
12065    this._uidFieldName = uidFieldName; // Set default/recommended strategies
12066
12067    this._indexStrategy = new PrefixIndexStrategy();
12068    this._searchIndex = new TfIdfSearchIndex(uidFieldName);
12069    this._sanitizer = new LowerCaseSanitizer();
12070    this._tokenizer = new SimpleTokenizer();
12071    this._documents = [];
12072    this._searchableFields = [];
12073  }
12074  /**
12075   * Override the default index strategy.
12076   * @param value Custom index strategy
12077   * @throws Error if documents have already been indexed by this search instance
12078   */
12079
12080
12081  var _proto = Search.prototype;
12082
12083  /**
12084   * Add a searchable document to the index. Document will automatically be indexed for search.
12085   * @param document
12086   */
12087  _proto.addDocument = function addDocument(document) {
12088    this.addDocuments([document]);
12089  }
12090  /**
12091   * Adds searchable documents to the index. Documents will automatically be indexed for search.
12092   * @param document
12093   */
12094  ;
12095
12096  _proto.addDocuments = function addDocuments(documents) {
12097    this._documents = this._documents.concat(documents);
12098    this.indexDocuments_(documents, this._searchableFields);
12099  }
12100  /**
12101   * Add a new searchable field to the index. Existing documents will automatically be indexed using this new field.
12102   *
12103   * @param field Searchable field or field path. Pass a string to index a top-level field and an array of strings for nested fields.
12104   */
12105  ;
12106
12107  _proto.addIndex = function addIndex(field) {
12108    this._searchableFields.push(field);
12109
12110    this.indexDocuments_(this._documents, [field]);
12111  }
12112  /**
12113   * Search all documents for ones matching the specified query text.
12114   * @param query
12115   * @returns {Array<Object>}
12116   */
12117  ;
12118
12119  _proto.search = function search(query) {
12120    var tokens = this._tokenizer.tokenize(this._sanitizer.sanitize(query));
12121
12122    return this._searchIndex.search(tokens, this._documents);
12123  }
12124  /**
12125   * @param documents
12126   * @param _searchableFields Array containing property names and paths (lists of property names) to nested values
12127   * @private
12128   */
12129  ;
12130
12131  _proto.indexDocuments_ = function indexDocuments_(documents, _searchableFields) {
12132    this._initialized = true;
12133    var indexStrategy = this._indexStrategy;
12134    var sanitizer = this._sanitizer;
12135    var searchIndex = this._searchIndex;
12136    var tokenizer = this._tokenizer;
12137    var uidFieldName = this._uidFieldName;
12138
12139    for (var di = 0, numDocuments = documents.length; di < numDocuments; di++) {
12140      var doc = documents[di];
12141      var uid;
12142
12143      if (uidFieldName instanceof Array) {
12144        uid = getNestedFieldValue(doc, uidFieldName);
12145      } else {
12146        uid = doc[uidFieldName];
12147      }
12148
12149      for (var sfi = 0, numSearchableFields = _searchableFields.length; sfi < numSearchableFields; sfi++) {
12150        var fieldValue;
12151        var searchableField = _searchableFields[sfi];
12152
12153        if (searchableField instanceof Array) {
12154          fieldValue = getNestedFieldValue(doc, searchableField);
12155        } else {
12156          fieldValue = doc[searchableField];
12157        }
12158
12159        if (fieldValue != null && typeof fieldValue !== 'string' && fieldValue.toString) {
12160          fieldValue = fieldValue.toString();
12161        }
12162
12163        if (typeof fieldValue === 'string') {
12164          var fieldTokens = tokenizer.tokenize(sanitizer.sanitize(fieldValue));
12165
12166          for (var fti = 0, numFieldValues = fieldTokens.length; fti < numFieldValues; fti++) {
12167            var fieldToken = fieldTokens[fti];
12168            var expandedTokens = indexStrategy.expandToken(fieldToken);
12169
12170            for (var eti = 0, nummExpandedTokens = expandedTokens.length; eti < nummExpandedTokens; eti++) {
12171              var expandedToken = expandedTokens[eti];
12172              searchIndex.indexDocument(expandedToken, uid, doc);
12173            }
12174          }
12175        }
12176      }
12177    }
12178  };
12179
12180  js_search_createClass(Search, [{
12181    key: "indexStrategy",
12182    set: function set(value) {
12183      if (this._initialized) {
12184        throw Error('IIndexStrategy cannot be set after initialization');
12185      }
12186
12187      this._indexStrategy = value;
12188    },
12189    get: function get() {
12190      return this._indexStrategy;
12191    }
12192    /**
12193     * Override the default text sanitizing strategy.
12194     * @param value Custom text sanitizing strategy
12195     * @throws Error if documents have already been indexed by this search instance
12196     */
12197
12198  }, {
12199    key: "sanitizer",
12200    set: function set(value) {
12201      if (this._initialized) {
12202        throw Error('ISanitizer cannot be set after initialization');
12203      }
12204
12205      this._sanitizer = value;
12206    },
12207    get: function get() {
12208      return this._sanitizer;
12209    }
12210    /**
12211     * Override the default search index strategy.
12212     * @param value Custom search index strategy
12213     * @throws Error if documents have already been indexed
12214     */
12215
12216  }, {
12217    key: "searchIndex",
12218    set: function set(value) {
12219      if (this._initialized) {
12220        throw Error('ISearchIndex cannot be set after initialization');
12221      }
12222
12223      this._searchIndex = value;
12224    },
12225    get: function get() {
12226      return this._searchIndex;
12227    }
12228    /**
12229     * Override the default text tokenizing strategy.
12230     * @param value Custom text tokenizing strategy
12231     * @throws Error if documents have already been indexed by this search instance
12232     */
12233
12234  }, {
12235    key: "tokenizer",
12236    set: function set(value) {
12237      if (this._initialized) {
12238        throw Error('ITokenizer cannot be set after initialization');
12239      }
12240
12241      this._tokenizer = value;
12242    },
12243    get: function get() {
12244      return this._tokenizer;
12245    }
12246  }]);
12247
12248  return Search;
12249}();
12250
12251/**
12252 * This utility highlights the occurrences of tokens within a string of text. It can be used to give visual indicators
12253 * of match criteria within searchable fields.
12254 *
12255 * <p>For performance purposes this highlighter only works with full-word or prefix token indexes.
12256 */
12257var TokenHighlighter = /*#__PURE__*/(/* unused pure expression or super */ null && (function () {
12258  /**
12259   * Constructor.
12260   *
12261   * @param opt_indexStrategy Index strategy used by Search
12262   * @param opt_sanitizer Sanitizer used by Search
12263   * @param opt_wrapperTagName Optional wrapper tag name; defaults to 'mark' (e.g. <mark>)
12264   */
12265  function TokenHighlighter(opt_indexStrategy, opt_sanitizer, opt_wrapperTagName) {
12266    this._indexStrategy = opt_indexStrategy || new PrefixIndexStrategy();
12267    this._sanitizer = opt_sanitizer || new LowerCaseSanitizer();
12268    this._wrapperTagName = opt_wrapperTagName || 'mark';
12269  }
12270  /**
12271   * Highlights token occurrences within a string by wrapping them with a DOM element.
12272   *
12273   * @param text e.g. "john wayne"
12274   * @param tokens e.g. ["wa"]
12275   * @returns {string} e.g. "john <mark>wa</mark>yne"
12276   */
12277
12278
12279  var _proto = TokenHighlighter.prototype;
12280
12281  _proto.highlight = function highlight(text, tokens) {
12282    var tagsLength = this._wrapText('').length;
12283
12284    var tokenDictionary = Object.create(null); // Create a token map for easier lookup below.
12285
12286    for (var i = 0, numTokens = tokens.length; i < numTokens; i++) {
12287      var token = this._sanitizer.sanitize(tokens[i]);
12288
12289      var expandedTokens = this._indexStrategy.expandToken(token);
12290
12291      for (var j = 0, numExpandedTokens = expandedTokens.length; j < numExpandedTokens; j++) {
12292        var expandedToken = expandedTokens[j];
12293
12294        if (!tokenDictionary[expandedToken]) {
12295          tokenDictionary[expandedToken] = [token];
12296        } else {
12297          tokenDictionary[expandedToken].push(token);
12298        }
12299      }
12300    } // Track actualCurrentWord and sanitizedCurrentWord separately in case we encounter nested tags.
12301
12302
12303    var actualCurrentWord = '';
12304    var sanitizedCurrentWord = '';
12305    var currentWordStartIndex = 0; // Note this assumes either prefix or full word matching.
12306
12307    for (var i = 0, textLength = text.length; i < textLength; i++) {
12308      var character = text.charAt(i);
12309
12310      if (character === ' ') {
12311        actualCurrentWord = '';
12312        sanitizedCurrentWord = '';
12313        currentWordStartIndex = i + 1;
12314      } else {
12315        actualCurrentWord += character;
12316        sanitizedCurrentWord += this._sanitizer.sanitize(character);
12317      }
12318
12319      if (tokenDictionary[sanitizedCurrentWord] && tokenDictionary[sanitizedCurrentWord].indexOf(sanitizedCurrentWord) >= 0) {
12320        actualCurrentWord = this._wrapText(actualCurrentWord);
12321        text = text.substring(0, currentWordStartIndex) + actualCurrentWord + text.substring(i + 1);
12322        i += tagsLength;
12323        textLength += tagsLength;
12324      }
12325    }
12326
12327    return text;
12328  }
12329  /**
12330   * @param text to wrap
12331   * @returns Text wrapped by wrapper tag (e.g. "foo" becomes "<mark>foo</mark>")
12332   * @private
12333   */
12334  ;
12335
12336  _proto._wrapText = function _wrapText(text) {
12337    var tagName = this._wrapperTagName;
12338    return "<" + tagName + ">
12338" + text + "</" + tagName + ">";
12339  };
12340
12341  return TokenHighlighter;
12342}()));
12343
12344
12345
12346;// CONCATENATED MODULE: ./src/scripts/components/faqsearch.ts
12347
12348
12349
12350
12351
12352
12353
12354
12355
12356
12357
12358
12359function FAQSearch() {
12360  var faqWrapperElm = document.querySelector('.faq-block');
12361  var containerElms = faqWrapperElm.querySelectorAll('.container');
12362  var faqQAElms = faqWrapperElm.querySelectorAll('.cc-accordion');
12363  var headerElms = faqWrapperElm.querySelectorAll('.faq-group-header');
12364  var columnElms = faqWrapperElm.querySelectorAll('.faq-column');
12365  var clearButtonElm = faqWrapperElm.querySelector('.clearfaqs');
12366  var searchBoxElm = document.querySelector('.faqsearch');
12367  var faqGroup = Array();
12368  faqQAElms.forEach(function (elm) {
12369    var faqData = {};
12370    var id = crypto.randomUUID();
12371    elm.setAttribute('data-id', id);
12372    faqData.id = id;
12373    faqData.question = elm.querySelector('.cc-accordion-header [data-question]').getAttribute('data-question');
12374    var answerElms = elm.querySelectorAll('.cc-accordion-content .answer p');
12375    var answerText = '';
12376    answerElms.forEach(function (answerElm) {
12377      answerText += ' ' + answerElm.textContent;
12378    });
12379    faqData.answer = answerText;
12380    faqGroup.push(faqData);
12381  });
12382  var options = {
12383    keys: ['question', 'answer'],
12384    findAllMatches: true,
12385    ignoreLocation: true
12386  };
12387  var search = new Search('id');
12388  search.indexStrategy = new PrefixIndexStrategy();
12389  search.sanitizer = new LowerCaseSanitizer();
12390  search.searchIndex = new TfIdfSearchIndex('id');
12391  search.addIndex('question');
12392  search.addIndex('answer');
12393  search.addDocuments(faqGroup);
12394  if (searchBoxElm) {
12395    searchBoxElm.addEventListener('keyup', function (e) {
12396      if (searchBoxElm.value.length > 2) {
12397        setTimeout(function () {
12398          var results = search.search(searchBoxElm.value);
12399          if (results) {
12400            faqWrapperElm.classList.add('searching');
12401            headerElms.forEach(function (header) {
12402              header.classList.add('hidden');
12403            });
12404            var foundIds = results.map(function (r) {
12405              return r.id;
12406            });
12407            var toHide = Array.from(faqQAElms).filter(function (item) {
12408              return !foundIds.includes(item.getAttribute('data-id'));
12409            });
12410            toHide.forEach(function (elm) {
12411              elm.classList.add('hidden');
12412            });
12413            columnElms.forEach(function (col) {
12414              var accItems = col.querySelectorAll('.cc-accordion');
12415              var hidden = 0;
12416              accItems.forEach(function (accItem) {
12417                if (accItem.classList.contains('hidden')) {
12418                  hidden += 1;
12419                }
12420              });
12421              if (accItems.length === hidden) {
12422                col.classList.add('hidden');
12423              }
12424            });
12425            containerElms.forEach(function (elm) {
12426              elm.classList.add('hide-row-gap');
12427              var notHidden = elm.querySelectorAll('.faq-column:not(.hidden)');
12428              notHidden.forEach(function (nhElm) {
12429                nhElm.classList.add('col-12');
12430              });
12431            });
12432            var acc = accordion.getInstance();
12433            acc.sizer();
12434          }
12435        }, 500);
12436      } else if (searchBoxElm.value.length < 3) {
12437        clearResults();
12438      }
12439    });
12440    clearButtonElm.addEventListener('click', function (e) {
12441      e.preventDefault();
12442      searchBoxElm.value = '';
12443      clearResults();
12444    });
12445  }
12446  var clearResults = function clearResults() {
12447    faqQAElms.forEach(function (elm) {
12448      elm.classList.remove('hidden');
12449    });
12450    headerElms.forEach(function (header) {
12451      header.classList.remove('hidden');
12452    });
12453    columnElms.forEach(function (col) {
12454      col.classList.remove('hidden');
12455      col.classList.remove('col-12');
12456    });
12457    containerElms.forEach(function (elm) {
12458      elm.classList.remove('hide-row-gap');
12459    });
12460    faqWrapperElm.classList.remove('searching');
12461  };
12462}
12463;// CONCATENATED MODULE: ./src/scripts/components/tablecontainer.ts
12464
12465
12466function TableContainer() {
12467  var tablecontainer = {
12468    tables: [],
12469    init: function init() {
12470      tablecontainer.tables = document.querySelectorAll('.content table');
12471      tablecontainer.tables.forEach(function (ele) {
12472        tablecontainer.nest(ele);
12473      });
12474    },
12475    nest: function nest(table) {
12476      var wrapper = document.createElement('div');
12477      wrapper.className = 'table-container';
12478      table.parentNode.insertBefore(wrapper, table);
12479      wrapper.appendChild(table);
12480    }
12481  };
12482  tablecontainer.init();
12483}
12484;// CONCATENATED MODULE: ./src/scripts/components/search.ts
12485function search_typeof(obj) { "@babel/helpers - typeof"; return search_typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, search_typeof(obj); }
12486
12487
12488
12489
12490
12491
12492
12493
12494
12495
12496
12497
12498
12499function search_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
12500function search_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, search_toPropertyKey(descriptor.key), descriptor); } }
12501function search_createClass(Constructor, protoProps, staticProps) { if (protoProps) search_defineProperties(Constructor.prototype, protoProps); if (staticProps) search_defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
12502function search_defineProperty(obj, key, value) { key = search_toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
12503function search_toPropertyKey(arg) { var key = search_toPrimitive(arg, "string"); return search_typeof(key) === "symbol" ? key : String(key); }
12504function search_toPrimitive(input, hint) { if (search_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (search_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
12505var search_Search = /*#__PURE__*/function () {
12506  function Search(searchForm) {
12507    search_classCallCheck(this, Search);
12508    search_defineProperty(this, "_searchContextActive", false);
12509    search_defineProperty(this, "_searchForm", undefined);
12510    search_defineProperty(this, "_searchInput", undefined);
12511    search_defineProperty(this, "_resultslistElm", undefined);
12512    search_defineProperty(this, "_searchClose", undefined);
12513    search_defineProperty(this, "_searchSubmitBtn", undefined);
12514    search_defineProperty(this, "_currentId", '');
12515    this._searchForm = searchForm;
12516    this._searchInput = searchForm.querySelector('.search-input');
12517    this._resultslistElm = searchForm.querySelector('.contextual-search-results-list');
12518    this._searchClose = searchForm.querySelector('label.close');
12519    this._searchSubmitBtn = searchForm.querySelector('button');
12520    this._currentId = searchForm.getAttribute('data-id');
12521    this.addEvents();
12522    this.phSwitch();
12523  }
12524  search_createClass(Search, [{
12525    key: "debounce",
12526    value: function debounce(func) {
12527      var _this = this;
12528      var timeout = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 500;
12529      var timer;
12530      return function () {
12531        for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
12532          args[_key] = arguments[_key];
12533        }
12534        clearTimeout(timer);
12535        timer = setTimeout(function () {
12536          func.apply(_this, args);
12537        }, timeout);
12538      };
12539    }
12540  }, {
12541    key: "doSearch",
12542    value: function doSearch() {
12543      var _this2 = this;
12544      this._searchContextActive = true;
12545      var paritalstring = this._searchInput.value;
12546      if (this._resultslistElm) {
12547        if (paritalstring != '' && paritalstring.length > 2) {
12548          var url = '/umbraco/api/searchapi/GetContextualResults?c=' + window.culture + '&id=' + this._currentId + '&searchterm=' + paritalstring;
12549          fetch(url, {
12550            method: 'POST'
12551          }).then(function (res) {
12552            return res.json();
12553          }).then(function (response) {
12554            _this2._resultslistElm.innerHTML = "";
12555            if (response.length > 0) {
12556              _this2._resultslistElm.classList.remove('hidden');
12557              response.forEach(function (group) {
12558                if (group.results.length > 0) {
12559                  var groupul = document.createElement('ul');
12560                  var groupnameli = document.createElement('li');
12561                  groupnameli.innerHTML = group.groupName;
12562                  groupul.appendChild(groupnameli);
12563                  group.results.forEach(function (result) {
12564                    var link = document.createElement('a');
12565                    link.href = result.url;
12566                    link.innerHTML = result.pageTitle;
12567                    link.target = "_self";
12568                    var li = document.createElement('li');
12569                    li.appendChild(link);
12570                    groupul.appendChild(li);
12571                  });
12572                  var groupli = document.createElement('li');
12573                  groupli.appendChild(groupul);
12574                  _this2._resultslistElm.append(groupli);
12575                }
12576              });
12577              _this2._searchContextActive = true;
12578            }
12579          }).catch(function (error) {
12580            return console.error('Error:', error);
12581          });
12582        } else {
12583          if (!this._resultslistElm.classList.contains('hidden')) {
12584            this._resultslistElm.classList.add('hidden');
12585            this._searchContextActive = false;
12586          }
12587        }
12588      }
12589    }
12590  }, {
12591    key: "clearSearch",
12592    value: function clearSearch() {
12593      this._searchInput.value = '';
12594      if (this._resultslistElm != undefined) {
12595        this._resultslistElm.innerHTML = '';
12596      }
12597      this._searchContextActive = false;
12598    }
12599  }, {
12600    key: "phSwitch",
12601    value: function phSwitch() {
12602      var txt = window.innerWidth < 400 ? 'Search...' : 'Type here to search the site...';
12603      this._searchInput.placeholder = txt;
12604    }
12605  }, {
12606    key: "addEvents",
12607    value: function addEvents() {
12608      var _this3 = this;
12609      var instance = this;
12610      document.body.addEventListener('click', function (e) {
12611        if (instance._searchContextActive && e.srcElement != instance._searchSubmitBtn && e.srcElement != instance._searchInput) {
12612          instance.clearSearch();
12613        }
12614      }, true);
12615      this._searchInput.addEventListener('input', function (e) {
12616        _this3.debounce(_this3.doSearch()).bind(_this3);
12617      });
12618      window.addEventListener('resize', function (e) {
12619        _this3.phSwitch();
12620      });
12621      var observer = new IntersectionObserver(function (entries) {
12622        if (entries[0].isIntersecting) {
12623          entries[0].target.focus();
12624        }
12625      }, {
12626        threshold: [1]
12627      });
12628      observer.observe(this._searchInput);
12629    }
12630  }]);
12631  return Search;
12632}();
12633/* harmony default export */ var search = (search_Search);
12634// EXTERNAL MODULE: ./node_modules/core-js/modules/es.string.replace.js
12635var es_string_replace = __webpack_require__(5306);
12636;// CONCATENATED MODULE: ./node_modules/typescript-cookie/dist/typescript-cookie.mjs
12637/*! typescript-cookie v1.0.6 | MIT */
12638var index = /*#__PURE__*/Object.freeze({
12639    __proto__: null
12640});
12641
12642const encodeName = (name) => encodeURIComponent(name)
12643    .replace(/%(2[346B]|5E|60|7C)/g, decodeURIComponent)
12644    .replace(/[()]/g, escape);
12645const encodeValue = (value) => {
12646    return encodeURIComponent(value).replace(/%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g, decodeURIComponent);
12647};
12648const decodeName = decodeURIComponent;
12649const decodeValue = (value) => {
12650    if (value[0] === '"') {
12651        value = value.slice(1, -1);
12652    }
12653    return value.replace(/(%[\dA-F]{2})+/gi, decodeURIComponent);
12654};
12655
12656function stringifyAttributes(attributes) {
12657    // Copy incoming attributes as to not alter the original object..
12658    attributes = Object.assign({}, attributes);
12659    if (typeof attributes.expires === 'number') {
12660        attributes.expires = new Date(Date.now() + attributes.expires * 864e5);
12661    }
12662    if (attributes.expires != null) {
12663        attributes.expires = attributes.expires.toUTCString();
12664    }
12665    return (Object.entries(attributes)
12666        .filter(([key, value]) => value != null && value !== false)
12667        // Considers RFC 6265 section 5.2:
12668        // ...
12669        // 3.  If the remaining unparsed-attributes contains a %x3B (";")
12670        //     character:
12671        // Consume the characters of the unparsed-attributes up to,
12672        // not including, the first %x3B (";") character.
12673        // ...
12674        .map(([key, value]) => value === true ? `; ${key}` : `; ${key}=${value.split(';')[0]}`)
12675        .join(''));
12676}
12677function get(name, decodeValue, decodeName) {
12678    const scan = /(?:^|; )([^=]*)=([^;]*)/g;
12679    const jar = {};
12680    let match;
12681    while ((match = scan.exec(document.cookie)) != null) {
12682        try {
12683            const found = decodeName(match[1]);
12684            jar[found] = decodeValue(match[2], found);
12685            if (name === found) {
12686                break;
12687            }
12688        }
12689        catch (e) { }
12690    }
12691    return name != null ? jar[name] : jar;
12692}
12693const DEFAULT_CODEC = Object.freeze({
12694    decodeName: decodeName,
12695    decodeValue: decodeValue,
12696    encodeName: encodeName,
12697    encodeValue: encodeValue
12698});
12699const DEFAULT_ATTRIBUTES = Object.freeze({
12700    path: '/'
12701});
12702function setCookie(name, value, attributes = DEFAULT_ATTRIBUTES, { encodeValue: encodeValue$1 = encodeValue, encodeName: encodeName$1 = encodeName } = {}) {
12703    return (document.cookie = `${encodeName$1(name)}=${encodeValue$1(value, name)}${stringifyAttributes(attributes)}`);
12704}
12705function getCookie(name, { decodeValue: decodeValue$1 = decodeValue, decodeName: decodeName$1 = decodeName } = {}) {
12706    return get(name, decodeValue$1, decodeName$1);
12707}
12708function getCookies({ decodeValue: decodeValue$1 = decodeValue, decodeName: decodeName$1 = decodeName } = {}) {
12709    return get(undefined, decodeValue$1, decodeName$1);
12710}
12711function removeCookie(name, attributes = DEFAULT_ATTRIBUTES) {
12712    setCookie(name, '', Object.assign({}, attributes, {
12713        expires: -1
12714    }));
12715}
12716
12717function init(converter, defaultAttributes) {
12718    const api = {
12719        set: function (name, value, attributes) {
12720            return setCookie(name, value, Object.assign({}, this.attributes, attributes), {
12721                encodeValue: this.converter.write
12722            });
12723        },
12724        get: function (name) {
12725            if (arguments.length === 0) {
12726                return getCookies(this.converter.read);
12727            }
12728            if (name == null) {
12729                return;
12730            }
12731            return getCookie(name, this.converter.read);
12732        },
12733        remove: function (name, attributes) {
12734            removeCookie(name, Object.assign({}, this.attributes, attributes));
12735        },
12736        withAttributes: function (attributes) {
12737            return init(this.converter, Object.assign({}, this.attributes, attributes));
12738        },
12739        withConverter: function (converter) {
12740            return init(Object.assign({}, this.converter, converter), this.attributes);
12741        }
12742    };
12743    const config = {
12744        attributes: { value: Object.freeze(defaultAttributes) },
12745        converter: { value: Object.freeze(converter) }
12746    };
12747    return Object.create(api, config);
12748}
12749var compat = init({ read: DEFAULT_CODEC.decodeValue, write: DEFAULT_CODEC.encodeValue }, DEFAULT_ATTRIBUTES);
12750
12751
12752
12753;// CONCATENATED MODULE: ./src/scripts/components/ecom.ts
12754var ecom;
12755(function (_ecom) {
12756  var cartCookieName = _ecom.cartCookieName = 'umbraco-session';
12757  var apiCartPrefix = _ecom.apiCartPrefix = '/umbraco/api/cartapi/';
12758  var apiCoursePrefix = _ecom.apiCoursePrefix = '/umbraco/api/courseapi/';
12759  var storageKey = _ecom.storageKey = 'cart';
12760  var apiMembershipPrefix = _ecom.apiMembershipPrefix = '/umbraco/api/singleproductapi/';
12761  var defaultCartAddText = _ecom.defaultCartAddText = 'Add to cart';
12762  var defaultProcessingCartText = _ecom.defaultProcessingCartText = "Adding...";
12763  var defaultCompleteCartText = _ecom.defaultCompleteCartText = "&#10003;";
12764  var defaultFailMessage = _ecom.defaultFailMessage = 'Unable to add to cart, please try again.';
12765})(ecom || (ecom = {}));
12766;
12767;// CONCATENATED MODULE: ./src/scripts/components/cart.ts
12768function cart_typeof(obj) { "@babel/helpers - typeof"; return cart_typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, cart_typeof(obj); }
12769
12770
12771
12772
12773
12774
12775
12776
12777
12778
12779
12780
12781
12782
12783
12784
12785
12786
12787
12788
12789
12790
12791
12792function cart_regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ cart_regeneratorRuntime = function _regeneratorRuntime() { return exports; }; var exports = {}, Op = Object.prototype, hasOwn = Op.hasOwnProperty, defineProperty = Object.defineProperty || function (obj, key, desc) { obj[key] = desc.value; }, $Symbol = "function" == typeof Symbol ? Symbol : {}, iteratorSymbol = $Symbol.iterator || "@@iterator", asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator", toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag"; function define(obj, key, value) { return Object.defineProperty(obj, key, { value: value, enumerable: !0, configurable: !0, writable: !0 }), obj[key]; } try { define({}, ""); } catch (err) { define = function define(obj, key, value) { return obj[key] = value; }; } function wrap(innerFn, outerFn, self, tryLocsList) { var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator, generator = Object.create(protoGenerator.prototype), context = new Context(tryLocsList || []); return defineProperty(generator, "_invoke", { value: makeInvokeMethod(innerFn, self, context) }), generator; }
vendor: 7,633 bytes, line 12792
12792 function tryCatch(fn, obj, arg) { try { return { type: "normal", arg: fn.call(obj, arg) }; } catch (err) { return { type: "throw", arg: err }; } } exports.wrap = wrap; var ContinueSentinel = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var IteratorPrototype = {}; define(IteratorPrototype, iteratorSymbol, function () { return this; }); var getProto = Object.getPrototypeOf, NativeIteratorPrototype = getProto && getProto(getProto(values([]))); NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol) && (IteratorPrototype = NativeIteratorPrototype); var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype); function defineIteratorMethods(prototype) { ["next", "throw", "return"].forEach(function (method) { define(prototype, method, function (arg) { return this._invoke(method, arg); }); }); } function AsyncIterator(generator, PromiseImpl) { function invoke(method, arg, resolve, reject) { var record = tryCatch(generator[method], generator, arg); if ("throw" !== record.type) { var result = record.arg, value = result.value; return value && "object" == cart_typeof(value) && hasOwn.call(value, "__await") ? PromiseImpl.resolve(value.__await).then(function (value) { invoke("next", value, resolve, reject); }, function (err) { invoke("throw", err, resolve, reject); }) : PromiseImpl.resolve(value).then(function (unwrapped) { result.value = unwrapped, resolve(result); }, function (error) { return invoke("throw", error, resolve, reject); }); } reject(record.arg); } var previousPromise; defineProperty(this, "_invoke", { value: function value(method, arg) { function callInvokeWithMethodAndArg() { return new PromiseImpl(function (resolve, reject) { invoke(method, arg, resolve, reject); }); } return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(innerFn, self, context) { var state = "suspendedStart"; return function (method, arg) { if ("executing" === state) throw new Error("Generator is already running"); if ("completed" === state) { if ("throw" === method) throw arg; return doneResult(); } for (context.method = method, context.arg = arg;;) { var delegate = context.delegate; if (delegate) { var delegateResult = maybeInvokeDelegate(delegate, context); if (delegateResult) { if (delegateResult === ContinueSentinel) continue; return delegateResult; } } if ("next" === context.method) context.sent = context._sent = context.arg;else if ("throw" === context.method) { if ("suspendedStart" === state) throw state = "completed", context.arg; context.dispatchException(context.arg); } else "return" === context.method && context.abrupt("return", context.arg); state = "executing"; var record = tryCatch(innerFn, self, context); if ("normal" === record.type) { if (state = context.done ? "completed" : "suspendedYield", record.arg === ContinueSentinel) continue; return { value: record.arg, done: context.done }; } "throw" === record.type && (state = "completed", context.method = "throw", context.arg = record.arg); } }; } function maybeInvokeDelegate(delegate, context) { var methodName = context.method, method = delegate.iterator[methodName]; if (undefined === method) return context.delegate = null, "throw" === methodName && delegate.iterator.return && (context.method = "return", context.arg = undefined, maybeInvokeDelegate(delegate, context), "throw" === context.method) || "return" !== methodName && (context.method = "throw", context.arg = new TypeError("The iterator does not provide a '" + methodName + "' method")), ContinueSentinel; var record = tryCatch(method, delegate.iterator, context.arg); if ("throw" === record.type) return context.method = "throw", context.arg = record.arg, context.delegate = null, ContinueSentinel; var info = record.arg; return info ? info.done ? (context[delegate.resultName] = info.value, context.next = delegate.nextLoc, "return" !== context.method && (context.method = "next", context.arg = undefined), context.delegate = null, ContinueSentinel) : info : (context.method = "throw", context.arg = new TypeError("iterator result is not an object"), context.delegate = null, ContinueSentinel); } function pushTryEntry(locs) { var entry = { tryLoc: locs[0] }; 1 in locs && (entry.catchLoc = locs[1]), 2 in locs && (entry.finallyLoc = locs[2], entry.afterLoc = locs[3]), this.tryEntries.push(entry); } function resetTryEntry(entry) { var record = entry.completion || {}; record.type = "normal", delete record.arg, entry.completion = record; } function Context(tryLocsList) { this.tryEntries = [{ tryLoc: "root" }], tryLocsList.forEach(pushTryEntry, this), this.reset(!0); } function values(iterable) { if (iterable) { var iteratorMethod = iterable[iteratorSymbol]; if (iteratorMethod) return iteratorMethod.call(iterable); if ("function" == typeof iterable.next) return iterable; if (!isNaN(iterable.length)) { var i = -1, next = function next() { for (; ++i < iterable.length;) if (hasOwn.call(iterable, i)) return next.value = iterable[i], next.done = !1, next; return next.value = undefined, next.done = !0, next; }; return next.next = next; } } return { next: doneResult }; } function doneResult() { return { value: undefined, done: !0 }; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, defineProperty(Gp, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), defineProperty(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, "GeneratorFunction"), exports.isGeneratorFunction = function (genFun) { var ctor = "function" == typeof genFun && genFun.constructor; return !!ctor && (ctor === GeneratorFunction || "GeneratorFunction" === (ctor.displayName || ctor.name)); }, exports.mark = function (genFun) { return Object.setPrototypeOf ? Object.setPrototypeOf(genFun, GeneratorFunctionPrototype) : (genFun.__proto__ = GeneratorFunctionPrototype, define(genFun, toStringTagSymbol, "GeneratorFunction")), genFun.prototype = Object.create(Gp), genFun; }, exports.awrap = function (arg) { return { __await: arg }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, asyncIteratorSymbol, function () { return this; }), exports.AsyncIterator = AsyncIterator, exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) { void 0 === PromiseImpl && (PromiseImpl = Promise); var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl); return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) { return result.done ? result.value : iter.next(); }); }, defineIteratorMethods(Gp), define(Gp, toStringTagSymbol, "Generator"), define(Gp, iteratorSymbol, function () { return this; }), define(Gp, "toString", function () { return "[object Generator]"; }), exports.keys = function (val) { var object = Object(val), keys = []; for (var key in object) keys.push(key); return keys.reverse(), function next() { for (; keys.length;) { var key = keys.pop(); if (key in object) return next.value = key, next.done = !1, next; } return next.done = !0, next; }; }, exports.values = values, Context.prototype = { constructor: Context, reset: function reset(skipTempReset) { if (this.prev = 0, this.next = 0, this.sent = this._sent = undefined, this.done = !1, this.delegate = null, this.method = "next", this.arg = undefined, this.tryEntries.forEac
vendor: 4,983 bytes, lines 12792-12799
12792h(resetTryEntry), !skipTempReset) for (var name in this) "t" === name.charAt(0) && hasOwn.call(this, name) && !isNaN(+name.slice(1)) && (this[name] = undefined); }, stop: function stop() { this.done = !0; var rootRecord = this.tryEntries[0].completion; if ("throw" === rootRecord.type) throw rootRecord.arg; return this.rval; }, dispatchException: function dispatchException(exception) { if (this.done) throw exception; var context = this; function handle(loc, caught) { return record.type = "throw", record.arg = exception, context.next = loc, caught && (context.method = "next", context.arg = undefined), !!caught; } for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i], record = entry.completion; if ("root" === entry.tryLoc) return handle("end"); if (entry.tryLoc <= this.prev) { var hasCatch = hasOwn.call(entry, "catchLoc"), hasFinally = hasOwn.call(entry, "finallyLoc"); if (hasCatch && hasFinally) { if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); } else if (hasCatch) { if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); } else { if (!hasFinally) throw new Error("try statement without catch or finally"); if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); } } } }, abrupt: function abrupt(type, arg) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.tryLoc <= this.prev && hasOwn.call(entry, "finallyLoc") && this.prev < entry.finallyLoc) { var finallyEntry = entry; break; } } finallyEntry && ("break" === type || "continue" === type) && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc && (finallyEntry = null); var record = finallyEntry ? finallyEntry.completion : {}; return record.type = type, record.arg = arg, finallyEntry ? (this.method = "next", this.next = finallyEntry.finallyLoc, ContinueSentinel) : this.complete(record); }, complete: function complete(record, afterLoc) { if ("throw" === record.type) throw record.arg; return "break" === record.type || "continue" === record.type ? this.next = record.arg : "return" === record.type ? (this.rval = this.arg = record.arg, this.method = "return", this.next = "end") : "normal" === record.type && afterLoc && (this.next = afterLoc), ContinueSentinel; }, finish: function finish(finallyLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.finallyLoc === finallyLoc) return this.complete(entry.completion, entry.afterLoc), resetTryEntry(entry), ContinueSentinel; } }, catch: function _catch(tryLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.tryLoc === tryLoc) { var record = entry.completion; if ("throw" === record.type) { var thrown = record.arg; resetTryEntry(entry); } return thrown; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(iterable, resultName, nextLoc) { return this.delegate = { iterator: values(iterable), resultName: resultName, nextLoc: nextLoc }, "next" === this.method && (this.arg = undefined), ContinueSentinel; } }, exports; }
12793function cart_asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
12794function cart_asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { cart_asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { cart_asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
12795function cart_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
12796function cart_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, cart_toPropertyKey(descriptor.key), descriptor); } }
12797function cart_createClass(Constructor, protoProps, staticProps) { if (protoProps) cart_defineProperties(Constructor.prototype, protoProps); if (staticProps) cart_defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
12798function cart_defineProperty(obj, key, value) { key = cart_toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
12799function cart_toPropertyKey(arg) { var key = cart_toPrimitive(arg, "string");
12799 return cart_typeof(key) === "symbol" ? key : String(key); }
12800function cart_toPrimitive(input, hint) { if (cart_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (cart_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
12801
12802
12803var Cart = /*#__PURE__*/function () {
12804  //private _animateQueue = [];
12805
12806  function Cart() {
12807    var _this = this;
12808    cart_classCallCheck(this, Cart);
12809    cart_defineProperty(this, "cartId", '');
12810    cart_defineProperty(this, "isCartReady", false);
12811    cart_defineProperty(this, "_cartActiveElm", document.querySelector('.siteheader .cart .cart-active'));
12812    cart_defineProperty(this, "_cartStorage", {
12813      cartId: '',
12814      currency: 0
12815    });
12816    cart_defineProperty(this, "_modalOverlay", document.querySelector('.basket-modal-overlay'));
12817    cart_defineProperty(this, "_statusDiv", this._modalOverlay.querySelector('.status-text'));
12818    cart_defineProperty(this, "_errordiv", this._modalOverlay.querySelector('.error-div'));
12819    cart_defineProperty(this, "_successdiv", this._modalOverlay.querySelector('.success-div'));
12820    cart_defineProperty(this, "init", /*#__PURE__*/cart_asyncToGenerator( /*#__PURE__*/cart_regeneratorRuntime().mark(function _callee() {
12821      return cart_regeneratorRuntime().wrap(function _callee$(_context) {
12822        while (1) switch (_context.prev = _context.next) {
12823          case 0:
12824            _context.next = 2;
12825            return _this.updateSession();
12826          case 2:
12827            _context.next = 4;
12828            return _this.updateCartDisplay();
12829          case 4:
12830            document.addEventListener('click', function (e) {
12831              var target = e.target;
12832              if (target && target.classList.contains('modal-continue') || target.classList.contains('error-close')) {
12833                e.preventDefault();
12834                _this.resetModal();
12835              }
12836            });
12837            _this.isCartReady = true;
12838          case 6:
12839          case "end":
12840            return _context.stop();
12841        }
12842      }, _callee);
12843    })));
12844    cart_defineProperty(this, "hasActiveBasketAPI", /*#__PURE__*/function () {
12845      var _ref2 = cart_asyncToGenerator( /*#__PURE__*/cart_regeneratorRuntime().mark(function _callee2(cartId) {
12846        var res, itemsJson;
12847        return cart_regeneratorRuntime().wrap(function _callee2$(_context2) {
12848          while (1) switch (_context2.prev = _context2.next) {
12849            case 0:
12850              _context2.prev = 0;
12851              _context2.next = 3;
12852              return fetch(ecom.apiCartPrefix + 'hasActiveCart?cartId=' + cartId + '&node=' + window.node, {
12853                method: 'GET',
12854                headers: {
12855                  "Content-Type": "application/json"
12856                }
12857              });
12858            case 3:
12859              res = _context2.sent;
12860              if (!res.ok) {
12861                _context2.next = 11;
12862                break;
12863              }
12864              _context2.next = 7;
12865              return res.json();
12866            case 7:
12867              itemsJson = _context2.sent;
12868              return _context2.abrupt("return", itemsJson);
12869            case 11:
12870              console.log('HTTP error:::' + res.status + ' ' + res.statusText);
12871            case 12:
12872              _context2.next = 17;
12873              break;
12874            case 14:
12875              _context2.prev = 14;
12876              _context2.t0 = _context2["catch"](0);
12877              console.log(_context2.t0);
12878            case 17:
12879            case "end":
12880              return _context2.stop();
12881          }
12882        }, _callee2, null, [[0, 14]]);
12883      }));
12884      return function (_x) {
12885        return _ref2.apply(this, arguments);
12886      };
12887    }());
12888    cart_defineProperty(this, "hasActiveCurrencyAPI", /*#__PURE__*/function () {
12889      var _ref3 = cart_asyncToGenerator( /*#__PURE__*/cart_regeneratorRuntime().mark(function _callee3(cartId) {
12890        var res, itemsJson;
12891        return cart_regeneratorRuntime().wrap(function _callee3$(_context3) {
12892          while (1) switch (_context3.prev = _context3.next) {
12893            case 0:
12894              _context3.prev = 0;
12895              _context3.next = 3;
12896              return fetch(ecom.apiCartPrefix + 'hasActiveCurrency?cartId=' + cartId + '&node=' + window.node, {
12897                method: 'GET',
12898                headers: {
12899                  "Content-Type": "application/json"
12900                }
12901              });
12902            case 3:
12903              res = _context3.sent;
12904              if (!res.ok) {
12905                _context3.next = 11;
12906                break;
12907              }
12908              _context3.next = 7;
12909              return res.json();
12910            case 7:
12911              itemsJson = _context3.sent;
12912              return _context3.abrupt("return", itemsJson);
12913            case 11:
12914              console.log('HTTP error:::' + res.status + ' ' + res.statusText);
12915            case 12:
12916              _context3.next = 17;
12917              break;
12918            case 14:
12919              _context3.prev = 14;
12920              _context3.t0 = _context3["catch"](0);
12921              console.log(_context3.t0);
12922            case 17:
12923            case "end":
12924              return _context3.stop();
12925          }
12926        }, _callee3, null, [[0, 14]]);
12927      }));
12928      return function (_x2) {
12929        return _ref3.apply(this, arguments);
12930      };
12931    }());
12932    cart_defineProperty(this, "updateCookie", function (cartId, token) {
12933      setCookie(ecom.cartCookieName, token, {
12934        domain: window.location.hostname.replace('www.', ''),
12935        path: '/'
12936      });
12937      _this._cartStorage.cartId = cartId;
12938    });
12939    cart_defineProperty(this, "updateSession", /*#__PURE__*/cart_asyncToGenerator( /*#__PURE__*/cart_regeneratorRuntime().mark(function _callee4() {
12940      var token, tokenResponse, hasActiveCurrency;
12941      return cart_regeneratorRuntime().wrap(function _callee4$(_context4) {
12942        while (1) switch (_context4.prev = _context4.next) {
12943          case 0:
12944            //get local storage and update _cartStorage object
12945            _this.getLocalStorage();
12946            //get cookie data
12947            token = getCookie(ecom.cartCookieName);
12948            if (!token) {
12949              _context4.next = 12;
12950              break;
12951            }
12952            _context4.next = 5;
12953            return _this.getTokenApi(token);
12954          case 5:
12955            tokenResponse = _context4.sent;
12956            _context4.next = 8;
12957            return _this.hasActiveCurrencyAPI(tokenResponse);
12958          case 8:
12959            hasActiveCurrency = _context4.sent;
12960            _this.updateLocalStorage(tokenResponse, hasActiveCurrency ? null : 0);
12961            _context4.next = 13;
12962            break;
12963          case 12:
12964            _this.emptyCartStorage();
12965          case 13:
12966          case "end":
12967            return _context4.stop();
12968        }
12969      }, _callee4);
12970    })));
12971    cart_defineProperty(this, "getTokenApi", /*#__PURE__*/function () {
12972      var _ref5 = cart_asyncToGenerator( /*#__PURE__*/cart_regeneratorRuntime().mark(function _callee5(token) {
12973        var res, itemsJson;
12974        return cart_regeneratorRuntime().wrap(function _callee5$(_context5) {
12975          while (1) switch (_context5.prev = _context5.next) {
12976            case 0:
12977              _context5.prev = 0;
12978              _context5.next = 3;
12979              return fetch(ecom.apiCartPrefix + 'tokenToCartId?token=' + token, {
12980                method: 'POST',
12981                headers: {
12982                  "Content-Type": "application/json"
12983                }
12984              });
12985            case 3:
12986              res = _context5.sent;
12987              if (!res.ok) {
12988                _context5.next = 11;
12989                break;
12990              }
12991              _context5.next = 7;
12992              return res.json();
12993            case 7:
12994              itemsJson = _context5.sent;
12995              return _context5.abrupt("return", itemsJson);
12996            case 11:
12997              console.log('HTTP error:::' + res.status + ' ' + res.statusText);
12998            case 12:
12999              _context5.next = 17;
13000              break;
13001            case 14:
13002              _context5.prev = 14;
13003              _context5.t0 = _context5["catch"](0);
13004              console.log(_context5.t0);
13005            case 17:
13006            case "end":
13007              return _context5.stop();
13008          }
13009        }, _callee5, null, [[0, 14]]);
13010      }));
13011      return function (_x3) {
13012        return _ref5.apply(this, arguments);
13013      };
13014    }());
13015    cart_defineProperty(this, "addToBasketApi", /*#__PURE__*/function () {
13016      var _ref6 = cart_asyncToGenerator( /*#__PURE__*/cart_regeneratorRuntime().mark(function _callee6(request) {
13017        var res, itemsJson;
13018        return cart_regeneratorRuntime().wrap(function _callee6$(_context6) {
13019          while (1) switch (_context6.prev = _context6.next) {
13020            case 0:
13021              _context6.prev = 0;
13022              _context6.next = 3;
13023              return fetch(ecom.apiCartPrefix + 'addToBasket?node=' + window.node, {
13024                method: 'POST',
13025                headers: {
13026                  "Content-Type": "application/json"
13027                },
13028                body: JSON.stringify(request)
13029              });
13030            case 3:
13031              res = _context6.sent;
13032              if (!res.ok) {
13033                _context6.next = 11;
13034                break;
13035              }
13036              _context6.next = 7;
13037              return res.json();
13038            case 7:
13039              itemsJson = _context6.sent;
13040              return _context6.abrupt("return", itemsJson);
13041            case 11:
13042              console.log('HTTP error:::' + res.status + ' ' + res.statusText);
13043              return _context6.abrupt("return", {
13044                errorMessage: res.status + ' ' + res.statusText,
13045                cartId: null,
13046                token: null
13047              });
13048            case 13:
13049              _context6.next = 19;
13050              break;
13051            case 15:
13052              _context6.prev = 15;
13053              _context6.t0 = _context6["catch"](0);
13054              console.log(_context6.t0);
13055              return _context6.abrupt("return", {
13056                errorMessage: _context6.t0,
13057                cartId: null,
13058                token: null
13059              });
13060            case 19:
13061            case "end":
13062              return _context6.stop();
13063          }
13064        }, _callee6, null, [[0, 15]]);
13065      }));
13066      return function (_x4) {
13067        return _ref6.apply(this, arguments);
13068      };
13069    }());
13070    cart_defineProperty(this, "canAddToBasket", function (currency) {
13071      if (!_this._cartStorage || _this._cartStorage.currency == 0) {
13072        return true;
13073      }
13074      return +_this._cartStorage.currency == currency;
13075    });
13076    cart_defineProperty(this, "hasActiveBasket", /*#__PURE__*/cart_asyncToGenerator( /*#__PURE__*/cart_regeneratorRuntime().mark(function _callee7() {
13077      var isActive;
13078      return cart_regeneratorRuntime().wrap(function _callee7$(_context7) {
13079        while (1) switch (_context7.prev = _context7.next) {
13080          case 0:
13081            if (!_this._cartStorage.cartId) {
13082              _context7.next = 6;
13083              break;
13084            }
13085            _context7.next = 3;
13086            return _this.hasActiveBasketAPI(_this._cartStorage.cartId);
13087          case 3:
13088            isActive = _context7.sent;
13089            if (!isActive) {
13090              _this.emptyCartStorage();
13091            }
13092            return _context7.abrupt("return", isActive);
13093          case 6:
13094          case "end":
13095            return _context7.stop();
13096        }
13097      }, _callee7);
13098    })));
13099    cart_defineProperty(this, "updateCartDisplay", /*#__PURE__*/cart_asyncToGenerator( /*#__PURE__*/cart_regeneratorRuntime().mark(function _callee8() {
13100      var isActive;
13101      return cart_regeneratorRuntime().wrap(function _callee8$(_context8) {
13102        while (1) switch (_context8.prev = _context8.next) {
13103          case 0:
13104            if (!_this._cartStorage.cartId) {
13105              _context8.next = 5;
13106              break;
13107            }
13108            _context8.next = 3;
13109            return _this.hasActiveBasket();
13110          case 3:
13111            isActive = _context8.sent;
13112            //if cart exists display cart active
13113            if (isActive) {
13114              _this._cartActiveElm.classList.remove('hidden');
13115            } else {
13116              if (_this._cartActiveElm) {
13117                _this._cartActiveElm.classList.add('hidden');
13118              }
13119            }
13120          case 5:
13121          case "end":
13122            return _context8.stop();
13123        }
13124      }, _callee8);
13125    })));
13126    cart_defineProperty(this, "addToBasket", /*#__PURE__*/function () {
13127      var _ref9 = cart_asyncToGenerator( /*#__PURE__*/cart_regeneratorRuntime().mark(function _callee9(request, currentElm) {
13128        var response;
13129        return cart_regeneratorRuntime().wrap(function _callee9$(_context9) {
13130          while (1) switch (_context9.prev = _context9.next) {
13131            case 0:
13132              if (!_this.isCartReady) {
13133                _context9.next = 23;
13134                break;
13135              }
13136              if (!(!request || request && !request.sku || !request.currency)) {
13137                _context9.next = 4;
13138                break;
13139              }
13140              _this.showFailMessage();
13141              return _context9.abrupt("return");
13142            case 4:
13143              if (_this.canAddToBasket(request.currency)) {
13144                _context9.next = 7;
13145                break;
13146              }
13147              _this.showFailMessage('Unable to add product to cart, all products added to the cart must be in the same currency.');
13148              return _context9.abrupt("return");
13149            case 7:
13150              _context9.next = 9;
13151              return _this.addToBasketApi(request);
13152            case 9:
13153              response = _context9.sent;
13154              if (!(response && response.cartId && response.errorMessage == null)) {
13155                _context9.next = 19;
13156                break;
13157              }
13158              _this.updateCookie(response.cartId, response.token);
13159              _this.updateLocalStorage(response.cartId, request.currency);
13160              _context9.next = 15;
13161              return _this.updateCartDisplay();
13162            case 15:
13163              _this.showSuccessMessage();
13164              return _context9.abrupt("return");
13165            case 19:
13166              if (response && response.errorMessage) {
13167                _this.showFailMessage(response.errorMessage);
13168              } else {
13169                _this.showFailMessage();
13170              }
13171              return _context9.abrupt("return");
13172            case 21:
13173              _context9.next = 24;
13174              break;
13175            case 23:
13176              _this.showFailMessage();
13177            case 24:
13178            case "end":
13179              return _context9.stop();
13180          }
13181        }, _callee9);
13182      }));
13183      return function (_x5, _x6) {
13184        return _ref9.apply(this, arguments);
13185      };
13186    }());
13187  }
13188  cart_createClass(Cart, [{
13189    key: "getLocalStorage",
13190    value: function getLocalStorage() {
13191      var local = localStorage.getItem(ecom.storageKey);
13192      if (local) {
13193        this._cartStorage = JSON.parse(local);
13194        this.cartId = this._cartStorage.cartId;
13195      }
13196      //console.log(this._cartStorage);
13197    }
13198  }, {
13199    key: "setLocalStorage",
13200    value: function setLocalStorage() {
13201      //console.log('setLocalStorage' + ecom.storageKey);
13202      localStorage.setItem(ecom.storageKey, JSON.stringify(this._cartStorage));
13203    }
13204  }, {
13205    key: "updateLocalStorage",
13206    value: function updateLocalStorage(cartId, currency) {
13207      if (currency || currency === 0) {
13208        this._cartStorage.currency = currency;
13209      }
13210      this._cartStorage.cartId = cartId;
13211      this.cartId = cartId;
13212      this.setLocalStorage();
13213    }
13214  }, {
13215    key: "emptyCartStorage",
13216    value: function emptyCartStorage() {
13217      this.updateLocalStorage('', 0);
13218    }
13219  }, {
13220    key: "initModal",
13221    value: function initModal() {
13222      this._modalOverlay.classList.remove("hidden");
13223    }
13224  }, {
13225    key: "showFailMessage",
13226    value: function showFailMessage() {
13227      var failMessage = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "";
13228      this.initModal();
13229      if (failMessage == "") {
13230        failMessage = ecom.defaultFailMessage;
13231      }
13232      var errorPara = document.createElement("p");
13233      errorPara.classList.add("t-c-pink-mid", "t-s-22");
13234      errorPara.append(failMessage);
13235      this._errordiv.prepend(errorPara);
13236      this._statusDiv.classList.add("hidden");
13237      this._errordiv.classList.remove("hidden");
13238    }
13239  }, {
13240    key: "showSuccessMessage",
13241    value: function showSuccessMessage() {
13242      this.initModal();
13243      this._statusDiv.classList.add("hidden");
13244      this._successdiv.classList.remove("hidden");
13245    }
13246  }, {
13247    key: "resetModal",
13248    value: function resetModal() {
13249      this._modalOverlay.classList.add("hidden");
13250      if (this._statusDiv.classList.contains("hidden")) {
13251        this._statusDiv.classList.remove("hidden");
13252      }
13253      if (!this._errordiv.classList.contains("hidden")) {
13254        this._errordiv.classList.add("hidden");
13255      }
13256      if (!this._successdiv.classList.contains("hidden")) {
13257        this._successdiv.classList.add("hidden");
13258      }
13259      var errorpara = this._errordiv.querySelector('p');
13260      if (errorpara) {
13261        this._errordiv.removeChild(errorpara);
13262      }
13263    }
13264  }]);
13265  return Cart;
13266}();
13267cart_defineProperty(Cart, "build", /*#__PURE__*/cart_asyncToGenerator( /*#__PURE__*/cart_regeneratorRuntime().mark(function _callee10() {
13268  var cart;
13269  return cart_regeneratorRuntime().wrap(function _callee10$(_context10) {
13270    while (1) switch (_context10.prev = _context10.next) {
13271      case 0:
13272        cart = new Cart();
13273        _context10.next = 3;
13274        return cart.init();
13275      case 3:
13276        return _context10.abrupt("return", cart);
13277      case 4:
13278      case "end":
13279        return _context10.stop();
13280    }
13281  }, _callee10);
13282})));
13283/* harmony default export */ var cart = (Cart);
13284;// CONCATENATED MODULE: ./src/scripts/components/productType.ts
13285var ProductType;
13286(function (ProductType) {
13287  ProductType[ProductType["LearningPath"] = 1] = "LearningPath";
13288  ProductType[ProductType["Standard"] = 2] = "Standard";
13289  ProductType[ProductType["Bundle"] = 3] = "Bundle";
13290  ProductType[ProductType["SingleProduct"] = 4] = "SingleProduct";
13291  ProductType[ProductType["LearningPathNoCohort"] = 5] = "LearningPathNoCohort";
13292  ProductType[ProductType["SingleProductBundle"] = 6] = "SingleProductBundle";
13293})(ProductType || (ProductType = {}));
13294;// CONCATENATED MODULE: ./src/scripts/components/singleProduct.ts
13295function singleProduct_typeof(obj) { "@babel/helpers - typeof"; return singleProduct_typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, singleProduct_typeof(obj); }
13296function singleProduct_regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ singleProduct_regeneratorRuntime = function _regeneratorRuntime() { return exports; }; var exports = {}, Op = Object.prototype, hasOwn = Op.hasOwnProperty, defineProperty = Object.defineProperty || function (obj, key, desc) { obj[key] = desc.value; }, $Symbol = "function" == typeof Symbol ? Symbol : {}, iteratorSymbol = $Symbol.iterator || "@@iterator", asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator", toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag"; function define(obj, key, value) { return Object.defineProperty(obj, key, { value: value, enumerable: !0, configurable: !0, writable: !0 }), obj[key]; } try { define({}, ""); } catch (err) { define = function define(obj, key, value) { return obj[key] = value; }; } function wrap(innerFn, outerFn, self, tryLocsList) { var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator, generator = Object.create(protoGenerator.prototype), context = new Context(tryLocsList || []); return defineProperty(generator, "_invoke", { value: makeInvokeMethod(innerFn, self, context) }), generator; }
vendor: 7,642 bytes, line 13296
13296 function tryCatch(fn, obj, arg) { try { return { type: "normal", arg: fn.call(obj, arg) }; } catch (err) { return { type: "throw", arg: err }; } } exports.wrap = wrap; var ContinueSentinel = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var IteratorPrototype = {}; define(IteratorPrototype, iteratorSymbol, function () { return this; }); var getProto = Object.getPrototypeOf, NativeIteratorPrototype = getProto && getProto(getProto(values([]))); NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol) && (IteratorPrototype = NativeIteratorPrototype); var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype); function defineIteratorMethods(prototype) { ["next", "throw", "return"].forEach(function (method) { define(prototype, method, function (arg) { return this._invoke(method, arg); }); }); } function AsyncIterator(generator, PromiseImpl) { function invoke(method, arg, resolve, reject) { var record = tryCatch(generator[method], generator, arg); if ("throw" !== record.type) { var result = record.arg, value = result.value; return value && "object" == singleProduct_typeof(value) && hasOwn.call(value, "__await") ? PromiseImpl.resolve(value.__await).then(function (value) { invoke("next", value, resolve, reject); }, function (err) { invoke("throw", err, resolve, reject); }) : PromiseImpl.resolve(value).then(function (unwrapped) { result.value = unwrapped, resolve(result); }, function (error) { return invoke("throw", error, resolve, reject); }); } reject(record.arg); } var previousPromise; defineProperty(this, "_invoke", { value: function value(method, arg) { function callInvokeWithMethodAndArg() { return new PromiseImpl(function (resolve, reject) { invoke(method, arg, resolve, reject); }); } return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(innerFn, self, context) { var state = "suspendedStart"; return function (method, arg) { if ("executing" === state) throw new Error("Generator is already running"); if ("completed" === state) { if ("throw" === method) throw arg; return doneResult(); } for (context.method = method, context.arg = arg;;) { var delegate = context.delegate; if (delegate) { var delegateResult = maybeInvokeDelegate(delegate, context); if (delegateResult) { if (delegateResult === ContinueSentinel) continue; return delegateResult; } } if ("next" === context.method) context.sent = context._sent = context.arg;else if ("throw" === context.method) { if ("suspendedStart" === state) throw state = "completed", context.arg; context.dispatchException(context.arg); } else "return" === context.method && context.abrupt("return", context.arg); state = "executing"; var record = tryCatch(innerFn, self, context); if ("normal" === record.type) { if (state = context.done ? "completed" : "suspendedYield", record.arg === ContinueSentinel) continue; return { value: record.arg, done: context.done }; } "throw" === record.type && (state = "completed", context.method = "throw", context.arg = record.arg); } }; } function maybeInvokeDelegate(delegate, context) { var methodName = context.method, method = delegate.iterator[methodName]; if (undefined === method) return context.delegate = null, "throw" === methodName && delegate.iterator.return && (context.method = "return", context.arg = undefined, maybeInvokeDelegate(delegate, context), "throw" === context.method) || "return" !== methodName && (context.method = "throw", context.arg = new TypeError("The iterator does not provide a '" + methodName + "' method")), ContinueSentinel; var record = tryCatch(method, delegate.iterator, context.arg); if ("throw" === record.type) return context.method = "throw", context.arg = record.arg, context.delegate = null, ContinueSentinel; var info = record.arg; return info ? info.done ? (context[delegate.resultName] = info.value, context.next = delegate.nextLoc, "return" !== context.method && (context.method = "next", context.arg = undefined), context.delegate = null, ContinueSentinel) : info : (context.method = "throw", context.arg = new TypeError("iterator result is not an object"), context.delegate = null, ContinueSentinel); } function pushTryEntry(locs) { var entry = { tryLoc: locs[0] }; 1 in locs && (entry.catchLoc = locs[1]), 2 in locs && (entry.finallyLoc = locs[2], entry.afterLoc = locs[3]), this.tryEntries.push(entry); } function resetTryEntry(entry) { var record = entry.completion || {}; record.type = "normal", delete record.arg, entry.completion = record; } function Context(tryLocsList) { this.tryEntries = [{ tryLoc: "root" }], tryLocsList.forEach(pushTryEntry, this), this.reset(!0); } function values(iterable) { if (iterable) { var iteratorMethod = iterable[iteratorSymbol]; if (iteratorMethod) return iteratorMethod.call(iterable); if ("function" == typeof iterable.next) return iterable; if (!isNaN(iterable.length)) { var i = -1, next = function next() { for (; ++i < iterable.length;) if (hasOwn.call(iterable, i)) return next.value = iterable[i], next.done = !1, next; return next.value = undefined, next.done = !0, next; }; return next.next = next; } } return { next: doneResult }; } function doneResult() { return { value: undefined, done: !0 }; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, defineProperty(Gp, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), defineProperty(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, "GeneratorFunction"), exports.isGeneratorFunction = function (genFun) { var ctor = "function" == typeof genFun && genFun.constructor; return !!ctor && (ctor === GeneratorFunction || "GeneratorFunction" === (ctor.displayName || ctor.name)); }, exports.mark = function (genFun) { return Object.setPrototypeOf ? Object.setPrototypeOf(genFun, GeneratorFunctionPrototype) : (genFun.__proto__ = GeneratorFunctionPrototype, define(genFun, toStringTagSymbol, "GeneratorFunction")), genFun.prototype = Object.create(Gp), genFun; }, exports.awrap = function (arg) { return { __await: arg }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, asyncIteratorSymbol, function () { return this; }), exports.AsyncIterator = AsyncIterator, exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) { void 0 === PromiseImpl && (PromiseImpl = Promise); var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl); return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) { return result.done ? result.value : iter.next(); }); }, defineIteratorMethods(Gp), define(Gp, toStringTagSymbol, "Generator"), define(Gp, iteratorSymbol, function () { return this; }), define(Gp, "toString", function () { return "[object Generator]"; }), exports.keys = function (val) { var object = Object(val), keys = []; for (var key in object) keys.push(key); return keys.reverse(), function next() { for (; keys.length;) { var key = keys.pop(); if (key in object) return next.value = key, next.done = !1, next; } return next.done = !0, next; }; }, exports.values = values, Context.prototype = { constructor: Context, reset: function reset(skipTempReset) { if (this.prev = 0, this.next = 0, this.sent = this._sent = undefined, this.done = !1, this.delegate = null, this.method = "next", this.arg = undefined, this.tryEntries.forEac
13296h(resetTryEntry), !skipTempReset) for (var name in this) "t" === name.charAt(0) && hasOwn.call(this, name) && !isNaN(+name.slice(1)) && (this[name] = undefined); }, stop: function stop() { this.done = !0; var rootRecord = this.tryEntries[0].completion; if ("throw" === rootRecord.type) throw rootRecord.arg; return this.rval; }, dispatchException: function dispatchException(exception) { if (this.done) throw exception; var context = this; function handle(loc, caught) { return record.type = "throw", record.arg = exception, context.next = loc, caught && (context.method = "next", context.arg = undefined), !!caught; } for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i], record = entry.completion; if ("root" === entry.tryLoc) return handle("end"); if (entry.tryLoc <= this.prev) { var hasCatch = hasOwn.call(entry, "catchLoc"), hasFinally = hasOwn.call(entry, "finallyLoc"); if (hasCatch && hasFinally) { if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); } else if (hasCatch) { if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); } else { if (!hasFinally) throw new Error("try statement without catch or finally"); if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); } } } }, abrupt: function abrupt(type, arg) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.tryLoc <= this.prev && hasOwn.call(entry, "finallyLoc") && this.prev < entry.finallyLoc) { var finallyEntry = entry; break; } } finallyEntry && ("break" === type || "continue" === type) && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc && (finallyEntry = null); var record = finallyEntry ? finallyEntry.completion : {}; return record.type = type, record.arg = arg, finallyEntry ? (this.method = "next", this.next = finallyEntry.finallyLoc, ContinueSentinel) : this.complete(record); }, complete: function complete(record, afterLoc) { if ("throw" === record.type) throw record.arg; return "break" === record.type || "continue" === record.type ? this.next = record.arg : "return" === record.type ? (this.rval = this.arg = record.arg, this.method = "return", this.next = "end") : "normal" === record.type && afterLoc && (this.next = afterLoc), ContinueSentinel; }, finish: function finish(finallyLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.finallyLoc === finallyLoc) return this.complete(entry.completion, entry.afterLoc), resetTryEntry(entry), ContinueSentinel; } }, catch: function _catch(tryLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.tryLoc === tryLoc) { var record = entry.completion; if ("throw" === record.type) { var thrown = record.arg; resetTryEntry(entry); } return thrown; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(iterable, resultName, nextLoc) { return this.delegate = { iterator: values(iterable), resultName: resultName, nextLoc: nextLoc }, "next" === this.method && (this.arg = undefined), ContinueSentinel; } }, exports; }
13297
13298
13299
13300
13301
13302
13303
13304
13305
13306
13307
13308
13309
13310
13311
13312
13313
13314
13315
13316
13317function singleProduct_asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
13318function singleProduct_asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { singleProduct_asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { singleProduct_asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
13319
13320
13321var getProducts = /*#__PURE__*/function () {
13322  var _ref = singleProduct_asyncToGenerator( /*#__PURE__*/singleProduct_regeneratorRuntime().mark(function _callee(country, id, nodeId) {
13323    var res, itemsJson;
13324    return singleProduct_regeneratorRuntime().wrap(function _callee$(_context) {
13325      while (1) switch (_context.prev = _context.next) {
13326        case 0:
13327          _context.prev = 0;
13328          _context.next = 3;
13329          return fetch(ecom.apiMembershipPrefix + 'getSingleProduct', {
13330            method: 'POST',
13331            headers: {
13332              "Content-Type": "application/json"
13333            },
13334            body: JSON.stringify({
13335              "country": country,
13336              "id": id,
13337              "nodeId": nodeId
13338            })
13339          });
13340        case 3:
13341          res = _context.sent;
13342          if (!res.ok) {
13343            _context.next = 11;
13344            break;
13345          }
13346          _context.next = 7;
13347          return res.json();
13348        case 7:
13349          itemsJson = _context.sent;
13350          return _context.abrupt("return", itemsJson);
13351        case 11:
13352          console.log('HTTP error:::' + res.status + ' ' + res.statusText);
13353        case 12:
13354          _context.next = 17;
13355          break;
13356        case 14:
13357          _context.prev = 14;
13358          _context.t0 = _context["catch"](0);
13359          console.log(_context.t0);
13360        case 17:
13361        case "end":
13362          return _context.stop();
13363      }
13364    }, _callee, null, [[0, 14]]);
13365  }));
13366  return function getProducts(_x, _x2, _x3) {
13367    return _ref.apply(this, arguments);
13368  };
13369}();
13370var displayProducts = /*#__PURE__*/function () {
13371  var _ref2 = singleProduct_asyncToGenerator( /*#__PURE__*/singleProduct_regeneratorRuntime().mark(function _callee2(country, id, nodeId) {
13372    var membershipContainer, membershipOptions, membershipProducts, html;
13373    return singleProduct_regeneratorRuntime().wrap(function _callee2$(_context2) {
13374      while (1) switch (_context2.prev = _context2.next) {
13375        case 0:
13376          membershipContainer = document.querySelector('.single-product-block[data-id="' + id + '"]');
13377          membershipOptions = membershipContainer.querySelector('.single-product-options');
13378          _context2.next = 4;
13379          return getProducts(country, id, nodeId);
13380        case 4:
13381          membershipProducts = _context2.sent;
13382          html = "\n        <div class=\"single-product-selections\">\n    ";
13383          if (membershipProducts && membershipProducts.length !== 0) {
13384            membershipProducts.forEach(function (product, idx) {
13385              html += "\n                <button class=\"block button single-product-option-btn\" data-bundleVariantIds=\"".concat(product.bundleVariantIds.join(','), "\" data-masterId=\"").concat(product.masterProductId, "\" data-currency=\"").concat(product.currency.currencySymbol, "\" data-currencyId=\"").concat(product.currency.currencyId, "\" data-price=\"").concat(product.currency.currencySymbol + product.price, "\">").concat(product.text, "</button>\n            ");
13386            });
13387            html += "\n            </div>\n            <div class=\"action hidden\">\n                <div class=\"price\"></div>\n                <button class=\"block button single-product-basket\">".concat(ecom.defaultCartAddText, "</button>\n            </div>\n            <div class=\"single-product-fail-message hidden\"></div>\n        ");
13388          } else {
13389            html = "<div class=\"\">No options found</div>";
13390          }
13391          membershipOptions.innerHTML = html;
13392          membershipOptions.classList.remove('hidden');
13393        case 9:
13394        case "end":
13395          return _context2.stop();
13396      }
13397    }, _callee2);
13398  }));
13399  return function displayProducts(_x4, _x5, _x6) {
13400    return _ref2.apply(this, arguments);
13401  };
13402}();
13403var displayFail = function displayFail(failContainer, message) {
13404  failContainer.innerText = message ? message : ecom.defaultFailMessage;
13405  failContainer.classList.remove('hidden');
13406};
13407var initialiseBlocksWithDefaultSelector = function initialiseBlocksWithDefaultSelector() {
13408  var blocksWithDefaultSelector = document.querySelectorAll('[data-default-selector]');
13409  blocksWithDefaultSelector.forEach(function (elm) {
13410    var membershipBlock = elm.closest('.single-product-block');
13411    var countryId = Number(elm.dataset.defaultSelector);
13412    displayProducts(countryId, membershipBlock.dataset.id, Number(membershipBlock.dataset.node));
13413  });
13414};
13415function SingleProduct() {
13416  initialiseBlocksWithDefaultSelector();
13417  var memberCountry = document.querySelector('.single-product-country');
13418  if (memberCountry) {
13419    document.addEventListener('change', /*#__PURE__*/function () {
13420      var _ref3 = singleProduct_asyncToGenerator( /*#__PURE__*/singleProduct_regeneratorRuntime().mark(function _callee3(e) {
13421        var target, elm, selectedOption, membershipBlock, optionsContainerElm;
13422        return singleProduct_regeneratorRuntime().wrap(function _callee3$(_context3) {
13423          while (1) switch (_context3.prev = _context3.next) {
13424            case 0:
13425              target = e.target;
13426              if (target && target.classList.contains('single-product-country')) {
13427                e.preventDefault();
13428                elm = target;
13429                selectedOption = elm.options[elm.selectedIndex];
13430                membershipBlock = elm.closest('.single-product-block');
13431                optionsContainerElm = membershipBlock.querySelector('.single-product-options');
13432                optionsContainerElm.classList.remove('hidden');
13433                if (selectedOption.value !== '0') {
13434                  displayProducts(Number(selectedOption.value), membershipBlock.dataset.id, Number(membershipBlock.dataset.node));
13435                }
13436              }
13437            case 2:
13438            case "end":
13439              return _context3.stop();
13440          }
13441        }, _callee3);
13442      }));
13443      return function (_x7) {
13444        return _ref3.apply(this, arguments);
13445      };
13446    }());
13447  }
13448  document.addEventListener('click', /*#__PURE__*/function () {
13449    var _ref4 = singleProduct_asyncToGenerator( /*#__PURE__*/singleProduct_regeneratorRuntime().mark(function _callee4(e) {
13450      var target, membershipContainer, id, price, allOptions, priceElm, addBasketElm, singleProductContainer, selectedOption, currency, bundleVariantIds, mId, basketRequest, failContainer;
13451      return singleProduct_regeneratorRuntime().wrap(function _callee4$(_context4) {
13452        while (1) switch (_context4.prev = _context4.next) {
13453          case 0:
13454            target = e.target;
13455            if (target && target.classList.contains('single-product-option-btn')) {
13456              e.preventDefault();
13457              membershipContainer = target.closest('.single-product-block');
13458              id = target.dataset.masterid;
13459              price = target.dataset.price; //deselect all other options
13460              allOptions = membershipContainer.querySelectorAll('.single-product-option-btn');
13461              allOptions.forEach(function (option) {
13462                option.setAttribute('data-isselected', 'false');
13463                option.classList.remove('selected');
13464              });
13465              target.classList.add('selected');
13466              //set this option as the selected option
13467              target.dataset.isselected = "true";
13468              if (id && price) {
13469                //set price
13470
13471                if (membershipContainer) {
13472                  priceElm = membershipContainer.querySelector('.price');
13473                  priceElm.innerText = price;
13474                  addBasketElm = membershipContainer.querySelector('.action');
13475                  addBasketElm.classList.remove('hidden');
13476                }
13477              }
13478            }
13479            if (!(target && target.classList.contains('single-product-basket'))) {
13480              _context4.next = 19;
13481              break;
13482            }
13483            e.preventDefault();
13484            singleProductContainer = target.closest('.single-product-block');
13485            selectedOption = singleProductContainer.querySelector('.single-product-option-btn[data-isselected="true"]');
13486            currency = +selectedOption.dataset.currencyid;
13487            bundleVariantIds = selectedOption.dataset.bundlevariantids ? selectedOption.dataset.bundlevariantids.split(',') : null;
13488            mId = selectedOption.dataset.masterid;
13489            if (!(mId && currency)) {
13490              _context4.next = 16;
13491              break;
13492            }
13493            basketRequest = {
13494              sku: mId,
13495              currency: currency,
13496              productType: ProductType.SingleProduct,
13497              cartId: window.Cart.cartId
13498            };
13499            if (bundleVariantIds) {
13500              basketRequest.bundleSku = bundleVariantIds;
13501              basketRequest.productType = ProductType.SingleProductBundle;
13502            }
13503            _context4.next = 14;
13504            return window.Cart.addToBasket(basketRequest, singleProductContainer);
13505          case 14:
13506            _context4.next = 19;
13507            break;
13508          case 16:
13509            //fail
13510            failContainer = singleProductContainer.querySelector('.single-product-fail-message');
13511            displayFail(failContainer, ecom.defaultFailMessage);
13512            target.innerText = ecom.defaultCartAddText;
13513          case 19:
13514          case "end":
13515            return _context4.stop();
13516        }
13517      }, _callee4);
13518    }));
13519    return function (_x8) {
13520      return _ref4.apply(this, arguments);
13521    };
13522  }());
13523}
13524// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.reduce.js
13525var es_array_reduce = __webpack_require__(5827);
13526// EXTERNAL MODULE: ./node_modules/core-js/modules/es.regexp.test.js
13527var es_regexp_test = __webpack_require__(7601);
13528;// CONCATENATED MODULE: ./src/scripts/components/enrolment.ts
13529function enrolment_typeof(obj) { "@babel/helpers - typeof"; return enrolment_typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, enrolment_typeof(obj); }
13530function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
13531
13532
13533
13534
13535
13536
13537
13538
13539
13540
13541
13542
13543
13544
13545
13546
13547
13548
13549
13550
13551
13552
13553
13554
13555function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
13556function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
13557function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
13558function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
13559function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
13560function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
13561function enrolment_regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ enrolment_regeneratorRuntime = function _regeneratorRuntime() { return exports; }; var exports = {}, Op = Object.prototype, hasOwn = Op.hasOwnProperty, defineProperty = Object.defineProperty || function (obj, key, desc) { obj[key] = desc.value; }, $Symbol = "function" == typeof Symbol ? Symbol : {}, iteratorSymbol = $Symbol.iterator || "@@iterator", asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator", toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag"; function define(obj, key, value) { return Object.defineProperty(obj, key, { value: value, enumerable: !0, configurable: !0, writable: !0 }), obj[key]; } try { define({}, ""); } catch (err) { define = function define(obj, key, value) { return obj[key] = value; }; } function wrap(innerFn, outerFn, self, tryLocsList) { var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator, generator = Object.create(protoGenerator.prototype), context = new Context(tryLocsList || []); return defineProperty(generator, "_invoke", { value: makeInvokeMethod(innerFn, self, context) }), generator; }
vendor: 7,638 bytes, line 13561
13561 function tryCatch(fn, obj, arg) { try { return { type: "normal", arg: fn.call(obj, arg) }; } catch (err) { return { type: "throw", arg: err }; } } exports.wrap = wrap; var ContinueSentinel = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var IteratorPrototype = {}; define(IteratorPrototype, iteratorSymbol, function () { return this; }); var getProto = Object.getPrototypeOf, NativeIteratorPrototype = getProto && getProto(getProto(values([]))); NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol) && (IteratorPrototype = NativeIteratorPrototype); var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype); function defineIteratorMethods(prototype) { ["next", "throw", "return"].forEach(function (method) { define(prototype, method, function (arg) { return this._invoke(method, arg); }); }); } function AsyncIterator(generator, PromiseImpl) { function invoke(method, arg, resolve, reject) { var record = tryCatch(generator[method], generator, arg); if ("throw" !== record.type) { var result = record.arg, value = result.value; return value && "object" == enrolment_typeof(value) && hasOwn.call(value, "__await") ? PromiseImpl.resolve(value.__await).then(function (value) { invoke("next", value, resolve, reject); }, function (err) { invoke("throw", err, resolve, reject); }) : PromiseImpl.resolve(value).then(function (unwrapped) { result.value = unwrapped, resolve(result); }, function (error) { return invoke("throw", error, resolve, reject); }); } reject(record.arg); } var previousPromise; defineProperty(this, "_invoke", { value: function value(method, arg) { function callInvokeWithMethodAndArg() { return new PromiseImpl(function (resolve, reject) { invoke(method, arg, resolve, reject); }); } return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(innerFn, self, context) { var state = "suspendedStart"; return function (method, arg) { if ("executing" === state) throw new Error("Generator is already running"); if ("completed" === state) { if ("throw" === method) throw arg; return doneResult(); } for (context.method = method, context.arg = arg;;) { var delegate = context.delegate; if (delegate) { var delegateResult = maybeInvokeDelegate(delegate, context); if (delegateResult) { if (delegateResult === ContinueSentinel) continue; return delegateResult; } } if ("next" === context.method) context.sent = context._sent = context.arg;else if ("throw" === context.method) { if ("suspendedStart" === state) throw state = "completed", context.arg; context.dispatchException(context.arg); } else "return" === context.method && context.abrupt("return", context.arg); state = "executing"; var record = tryCatch(innerFn, self, context); if ("normal" === record.type) { if (state = context.done ? "completed" : "suspendedYield", record.arg === ContinueSentinel) continue; return { value: record.arg, done: context.done }; } "throw" === record.type && (state = "completed", context.method = "throw", context.arg = record.arg); } }; } function maybeInvokeDelegate(delegate, context) { var methodName = context.method, method = delegate.iterator[methodName]; if (undefined === method) return context.delegate = null, "throw" === methodName && delegate.iterator.return && (context.method = "return", context.arg = undefined, maybeInvokeDelegate(delegate, context), "throw" === context.method) || "return" !== methodName && (context.method = "throw", context.arg = new TypeError("The iterator does not provide a '" + methodName + "' method")), ContinueSentinel; var record = tryCatch(method, delegate.iterator, context.arg); if ("throw" === record.type) return context.method = "throw", context.arg = record.arg, context.delegate = null, ContinueSentinel; var info = record.arg; return info ? info.done ? (context[delegate.resultName] = info.value, context.next = delegate.nextLoc, "return" !== context.method && (context.method = "next", context.arg = undefined), context.delegate = null, ContinueSentinel) : info : (context.method = "throw", context.arg = new TypeError("iterator result is not an object"), context.delegate = null, ContinueSentinel); } function pushTryEntry(locs) { var entry = { tryLoc: locs[0] }; 1 in locs && (entry.catchLoc = locs[1]), 2 in locs && (entry.finallyLoc = locs[2], entry.afterLoc = locs[3]), this.tryEntries.push(entry); } function resetTryEntry(entry) { var record = entry.completion || {}; record.type = "normal", delete record.arg, entry.completion = record; } function Context(tryLocsList) { this.tryEntries = [{ tryLoc: "root" }], tryLocsList.forEach(pushTryEntry, this), this.reset(!0); } function values(iterable) { if (iterable) { var iteratorMethod = iterable[iteratorSymbol]; if (iteratorMethod) return iteratorMethod.call(iterable); if ("function" == typeof iterable.next) return iterable; if (!isNaN(iterable.length)) { var i = -1, next = function next() { for (; ++i < iterable.length;) if (hasOwn.call(iterable, i)) return next.value = iterable[i], next.done = !1, next; return next.value = undefined, next.done = !0, next; }; return next.next = next; } } return { next: doneResult }; } function doneResult() { return { value: undefined, done: !0 }; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, defineProperty(Gp, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), defineProperty(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, "GeneratorFunction"), exports.isGeneratorFunction = function (genFun) { var ctor = "function" == typeof genFun && genFun.constructor; return !!ctor && (ctor === GeneratorFunction || "GeneratorFunction" === (ctor.displayName || ctor.name)); }, exports.mark = function (genFun) { return Object.setPrototypeOf ? Object.setPrototypeOf(genFun, GeneratorFunctionPrototype) : (genFun.__proto__ = GeneratorFunctionPrototype, define(genFun, toStringTagSymbol, "GeneratorFunction")), genFun.prototype = Object.create(Gp), genFun; }, exports.awrap = function (arg) { return { __await: arg }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, asyncIteratorSymbol, function () { return this; }), exports.AsyncIterator = AsyncIterator, exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) { void 0 === PromiseImpl && (PromiseImpl = Promise); var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl); return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) { return result.done ? result.value : iter.next(); }); }, defineIteratorMethods(Gp), define(Gp, toStringTagSymbol, "Generator"), define(Gp, iteratorSymbol, function () { return this; }), define(Gp, "toString", function () { return "[object Generator]"; }), exports.keys = function (val) { var object = Object(val), keys = []; for (var key in object) keys.push(key); return keys.reverse(), function next() { for (; keys.length;) { var key = keys.pop(); if (key in object) return next.value = key, next.done = !1, next; } return next.done = !0, next; }; }, exports.values = values, Context.prototype = { constructor: Context, reset: function reset(skipTempReset) { if (this.prev = 0, this.next = 0, this.sent = this._sent = undefined, this.done = !1, this.delegate = null, this.method = "next", this.arg = undefined, this.tryEntries.forEac
13561h(resetTryEntry), !skipTempReset) for (var name in this) "t" === name.charAt(0) && hasOwn.call(this, name) && !isNaN(+name.slice(1)) && (this[name] = undefined); }, stop: function stop() { this.done = !0; var rootRecord = this.tryEntries[0].completion; if ("throw" === rootRecord.type) throw rootRecord.arg; return this.rval; }, dispatchException: function dispatchException(exception) { if (this.done) throw exception; var context = this; function handle(loc, caught) { return record.type = "throw", record.arg = exception, context.next = loc, caught && (context.method = "next", context.arg = undefined), !!caught; } for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i], record = entry.completion; if ("root" === entry.tryLoc) return handle("end"); if (entry.tryLoc <= this.prev) { var hasCatch = hasOwn.call(entry, "catchLoc"), hasFinally = hasOwn.call(entry, "finallyLoc"); if (hasCatch && hasFinally) { if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); } else if (hasCatch) { if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); } else { if (!hasFinally) throw new Error("try statement without catch or finally"); if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); } } } }, abrupt: function abrupt(type, arg) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.tryLoc <= this.prev && hasOwn.call(entry, "finallyLoc") && this.prev < entry.finallyLoc) { var finallyEntry = entry; break; } } finallyEntry && ("break" === type || "continue" === type) && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc && (finallyEntry = null); var record = finallyEntry ? finallyEntry.completion : {}; return record.type = type, record.arg = arg, finallyEntry ? (this.method = "next", this.next = finallyEntry.finallyLoc, ContinueSentinel) : this.complete(record); }, complete: function complete(record, afterLoc) { if ("throw" === record.type) throw record.arg; return "break" === record.type || "continue" === record.type ? this.next = record.arg : "return" === record.type ? (this.rval = this.arg = record.arg, this.method = "return", this.next = "end") : "normal" === record.type && afterLoc && (this.next = afterLoc), ContinueSentinel; }, finish: function finish(finallyLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.finallyLoc === finallyLoc) return this.complete(entry.completion, entry.afterLoc), resetTryEntry(entry), ContinueSentinel; } }, catch: function _catch(tryLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.tryLoc === tryLoc) { var record = entry.completion; if ("throw" === record.type) { var thrown = record.arg; resetTryEntry(entry); } return thrown; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(iterable, resultName, nextLoc) { return this.delegate = { iterator: values(iterable), resultName: resultName, nextLoc: nextLoc }, "next" === this.method && (this.arg = undefined), ContinueSentinel; } }, exports; }
13562function enrolment_asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
13563function enrolment_asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { enrolment_asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { enrolment_asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
13564
13565
13566function InitEnrolmentBlock() {
13567  try {
13568    Enrolment();
13569  } catch (error) {
13570    console.error('Could not initialise enrolment block', error);
13571  }
13572}
13573function Enrolment() {
13574  var product = {};
13575  var noCohortSelections = {};
13576  var noCohortDisplayGroups;
13577  var cachedOptions = null;
13578  var enrolBlock = requireElement('.enrolment-block');
13579  var enrolContainer = requireElement('.enrol-options');
13580  var enrolCountry = document.querySelector('.enrol-country');
13581  var locationSelectContainer = document.querySelector('.location-select-wrapper');
13582  var locationSelectEl = enrolBlock === null || enrolBlock === void 0 ? void 0 : enrolBlock.querySelector('.enrol-location');
13583  getOptions();
13584  if (enrolCountry && locationSelectEl) {
13585    enrolCountry.addEventListener('change', /*#__PURE__*/function () {
13586      var _ref = enrolment_asyncToGenerator( /*#__PURE__*/enrolment_regeneratorRuntime().mark(function _callee(e) {
13587        var elm, selectedOption, enableDependentSelector, locations;
13588        return enrolment_regeneratorRuntime().wrap(function _callee$(_context) {
13589          while (1) switch (_context.prev = _context.next) {
13590            case 0:
13591              e.preventDefault();
13592              //get enrolments
13593              elm = e.currentTarget;
13594              selectedOption = elm.options[elm.selectedIndex];
13595              enableDependentSelector = selectedOption.dataset.enableDependentSelector === 'true';
13596              if (!(selectedOption.value === '0')) {
13597                _context.next = 6;
13598                break;
13599              }
13600              return _context.abrupt("return");
13601            case 6:
13602              if (!enableDependentSelector) {
13603                _context.next = 14;
13604                break;
13605              }
13606              _context.next = 9;
13607              return getLocations(cachedOptions.id, +selectedOption.value);
13608            case 9:
13609              locations = _context.sent;
13610              if (!locations.length) {
13611                _context.next = 14;
13612                break;
13613              }
13614              clearAndHideVariants();
13615              displayLocations(locations);
13616              return _context.abrupt("return");
13617            case 14:
13618              clearAndHideLocations();
13619              displayVariants(cachedOptions.id, +selectedOption.value);
13620            case 16:
13621            case "end":
13622              return _context.stop();
13623          }
13624        }, _callee);
13625      }));
13626      return function (_x) {
13627        return _ref.apply(this, arguments);
13628      };
13629    }());
13630    locationSelectEl.addEventListener('change', /*#__PURE__*/function () {
13631      var _ref2 = enrolment_asyncToGenerator( /*#__PURE__*/enrolment_regeneratorRuntime().mark(function _callee2(e) {
13632        var elm, selectedLocation, selectedOption;
13633        return enrolment_regeneratorRuntime().wrap(function _callee2$(_context2) {
13634          while (1) switch (_context2.prev = _context2.next) {
13635            case 0:
13636              e.preventDefault();
13637              elm = e.currentTarget;
13638              selectedLocation = elm.options[elm.selectedIndex];
13639              if (!(selectedLocation.value === '0')) {
13640                _context2.next = 5;
13641                break;
13642              }
13643              return _context2.abrupt("return");
13644            case 5:
13645              selectedOption = enrolCountry.options[enrolCountry.selectedIndex];
13646              if (!(selectedOption.value === '0')) {
13647                _context2.next = 8;
13648                break;
13649              }
13650              return _context2.abrupt("return");
13651            case 8:
13652              displayVariants(cachedOptions.id, +selectedOption.value, false, selectedLocation.value);
13653            case 9:
13654            case "end":
13655              return _context2.stop();
13656          }
13657        }, _callee2);
13658      }));
13659      return function (_x2) {
13660        return _ref2.apply(this, arguments);
13661      };
13662    }());
13663  } else if (cachedOptions.options.noSelectors) {
13664    displayVariants(cachedOptions.id, null, true);
13665  }
13666  document.addEventListener('click', /*#__PURE__*/function () {
13667    var _ref3 = enrolment_asyncToGenerator( /*#__PURE__*/enrolment_regeneratorRuntime().mark(function _callee3(e) {
13668      var target;
13669      return enrolment_regeneratorRuntime().wrap(function _callee3$(_context3) {
13670        while (1) switch (_context3.prev = _context3.next) {
13671          case 0:
13672            target = e.target;
13673            if (target) {
13674              _context3.next = 3;
13675              break;
13676            }
13677            return _context3.abrupt("return");
13678          case 3:
13679            if (!target.classList.contains('enrol-basket')) {
13680              _context3.next = 9;
13681              break;
13682            }
13683            e.preventDefault();
13684            _context3.next = 7;
13685            return handleEnrolBasketClick(target);
13686          case 7:
13687            _context3.next = 10;
13688            break;
13689          case 9:
13690            if (target.classList.contains('no-cohort-select')) {
13691              e.preventDefault();
13692              handleNoCohortSelectClick(target);
13693            } else if (target.classList.contains('groups-select')) {
13694              e.preventDefault();
13695              handleGroupsSelectClick(target);
13696            }
13697          case 10:
13698          case "end":
13699            return _context3.stop();
13700        }
13701      }, _callee3);
13702    }));
13703    return function (_x3) {
13704      return _ref3.apply(this, arguments);
13705    };
13706  }());
13707  function requireElement(selector) {
13708    var el = document.querySelector(selector);
13709    if (!el) {
13710      throw new Error("Required element not found: ".concat(selector));
13711    }
13712    return el;
13713  }
13714  function getOptions() {
13715    if (cachedOptions) {
13716      return cachedOptions;
13717    }
13718    var el = document.querySelector('#enrolment-config');
13719    if (!el || !el.textContent) {
13720      throw new Error('enrolment-config not found');
13721    }
13722    cachedOptions = JSON.parse(el.textContent);
13723    return cachedOptions;
13724  }
13725  function getMethods(_x4, _x5) {
13726    return _getMethods.apply(this, arguments);
13727  }
13728  function _getMethods() {
13729    _getMethods = enrolment_asyncToGenerator( /*#__PURE__*/enrolment_regeneratorRuntime().mark(function _callee4(nodeId, selector) {
13730      var noSelectors,
13731        locationFilter,
13732        res,
13733        itemsJson,
13734        _args4 = arguments;
13735      return enrolment_regeneratorRuntime().wrap(function _callee4$(_context4) {
13736        while (1) switch (_context4.prev = _context4.next) {
13737          case 0:
13738            noSelectors = _args4.length > 2 && _args4[2] !== undefined ? _args4[2] : false;
13739            locationFilter = _args4.length > 3 ? _args4[3] : undefined;
13740            _context4.prev = 2;
13741            _context4.next = 5;
13742            return fetch(ecom.apiCoursePrefix + 'getEnrolments', {
13743              method: 'POST',
13744              headers: {
13745                'Content-Type': 'application/json'
13746              },
13747              body: JSON.stringify({
13748                selector: selector !== null && selector !== void 0 ? selector : 0,
13749                nodeId: nodeId,
13750                cartId: window.Cart.cartId,
13751                noSelectors: noSelectors,
13752                culture: window.culture,
13753                locationFilter: locationFilter
13754              })
13755            });
13756          case 5:
13757            res = _context4.sent;
13758            if (!res.ok) {
13759              _context4.next = 13;
13760              break;
13761            }
13762            _context4.next = 9;
13763            return res.json();
13764          case 9:
13765            itemsJson = _context4.sent;
13766            return _context4.abrupt("return", itemsJson);
13767          case 13:
13768            console.log('HTTP error:::' + res.status + ' ' + res.statusText);
13769          case 14:
13770            _context4.next = 19;
13771            break;
13772          case 16:
13773            _context4.prev = 16;
13774            _context4.t0 = _context4["catch"](2);
13775            console.log(_context4.t0);
13776          case 19:
13777          case "end":
13778            return _context4.stop();
13779        }
13780      }, _callee4, null, [[2, 16]]);
13781    }));
13782    return _getMethods.apply(this, arguments);
13783  }
13784  function displayVariants(_x6, _x7) {
13785    return _displayVariants.apply(this, arguments);
13786  }
13787  function _displayVariants() {
13788    _displayVariants = enrolment_asyncToGenerator( /*#__PURE__*/enrolment_regeneratorRuntime().mark(function _callee5(nodeId, selector) {
13789      var noSelectors,
13790        locationFilter,
13791        html,
13792        _args5 = arguments;
13793      return enrolment_regeneratorRuntime().wrap(function _callee5$(_context5) {
13794        while (1) switch (_context5.prev = _context5.next) {
13795          case 0:
13796            noSelectors = _args5.length > 2 && _args5[2] !== undefined ? _args5[2] : false;
13797            locationFilter = _args5.length > 3 ? _args5[3] : undefined;
13798            _context5.next = 4;
13799            return getMethods(nodeId, selector, noSelectors, locationFilter);
13800          case 4:
13801            product = _context5.sent;
13802            html = ''; //if the product doesn't have a group we will assume it is unpublished
13803            if (!product.groups || product.groups.length === 0) {
13804              html = renderUnavailableProduct();
13805            } else if (product.productType !== ProductType.LearningPathNoCohort) {
13806              html = renderStandardVariants(product);
13807            } else {
13808              html = renderNoCohortVariants(product);
13809            }
13810            enrolContainer.innerHTML = html;
13811            enrolContainer.classList.remove('hidden');
13812            noCohortDisplayGroups = document.querySelectorAll('.no-cohort-group');
13813          case 10:
13814          case "end":
13815            return _context5.stop();
13816        }
13817      }, _callee5);
13818    }));
13819    return _displayVariants.apply(this, arguments);
13820  }
13821  function renderNoCohortVariants(product) {
13822    var html = '';
13823
13824    //initialize selections array from groups data
13825    noCohortSelections.selections = new Array(product.groups.length);
13826    noCohortSelections.selections = _toConsumableArray(noCohortSelections.selections);
13827    product.groups.forEach(function (group, idx) {
13828      //we have a no cohort learning path
13829      var htmlSegment = "<div class=\"no-cohort-group ".concat(idx === 0 ? 'open' : '', "\">\n                    Module ").concat(idx + 1, ": <strong>").concat(group.groupMasterProduct.description, "</strong>\n                </div>");
13830      if (idx === 0) {
13831        htmlSegment += noCohortsGroupBuilder(idx);
13832      }
13833      html += htmlSegment;
13834    });
13835    html += "<div class=\"no-cohort-cart-wrapper\">\n                <div class=\"no-cohort-cart-button-wrapper radius-1\">\n                    <div>".concat(product.currency.currencySymbol + product.price, "</div>\n                    <button class=\"block button enrol-btn enrol-basket\">").concat(ecom.defaultCartAddText, "</button>\n                </div>\n            </div>");
13836    return html;
13837  }
13838  function renderStandardVariants(product) {
13839    var html = '';
13840    var productGroup = product.groups;
13841
13842    //if we have no cohorts then there will only be one element in array
13843    var enrolmentMethods = productGroup[0].items;
13844    if (enrolmentMethods && enrolmentMethods.length !== 0) {
13845      enrolmentMethods.forEach(function (method, idx) {
13846        var displayStartDate = '';
13847        if (method.startDate) {
13848          if (method.startDate.displayDate) {
13849            displayStartDate = method.startDate.displayDate;
13850          } else {
13851            displayStartDate = method.startDate.dateFormatted.toString();
13852          }
13853        }
13854        var displayEndDate = '';
13855        if (method.endDate && method.endDate.displayDate) {
13856          if (method.startDate.displayDate) {
13857            displayEndDate = method.endDate.displayDate;
13858          }
13859        }
13860
13861        //if the method is classroom we don't want to display it due to confusion
13862        //between classroom and virtual
13863        var htmlSegment = "<div class=\"enrolment bg-white radius-1\">\n                        <div class=\"event-variant\">\n                            <div>".concat(method.method.toLowerCase() === 'classroom' ? '' : method.method, "</div>\n                            <div class=\"enrol-desc\">").concat(method.description ? method.description : '').concat(method.location ? '<br>' + method.location : '').concat(method.venue ? '<br>' + method.venue : '').concat(method.speaker ? '<br><strong>Speaker:</strong> ' + method.speaker : '').concat(displayStartDate ? '<br><strong>Starts:</strong> ' + displayStartDate : '', " ").concat(displayEndDate ? '<strong>Ends:</strong> ' + displayEndDate : '', "</div>\n                            <div>").concat(method.method.toLowerCase() === 'partner' ? '' : method.currency.currencySymbol + method.price, "</div>\n                            ").concat(function () {
13864          if (method.method.toLowerCase() === 'partner') {
13865            return "<div class=\"enrol-wrapper\"><a class=\"block button enrol-btn\" href=\"".concat(method.partnerLink, "\" target=\"_blank\">Enrol with our partner</a></div>");
13866          } else {
13867            var buttonConfig = {
13868              label: ecom.defaultCartAddText,
13869              css: 'enrol-basket'
13870            };
13871            if (product.productType === ProductType.LearningPath) {
13872              buttonConfig.label = 'Select';
13873              buttonConfig.css = 'groups-select';
13874            }
13875            return "<div class=\"enrol-wrapper\"><button class=\"block button enrol-btn ".concat(method.quantityAvailable === 0 ? 'sold-out' : buttonConfig.css, "\" ").concat(method.quantityAvailable === 0 ? 'disabled' : '', " data-index=\"").concat(idx, "\">").concat(method.quantityAvailable === 0 ? 'Sold Out' : buttonConfig.label, "</button></div>");
13876          }
13877        }(), "\n                        </div>\n                    </div>");
13878        html += htmlSegment;
13879      });
13880    } else if ((enrolCountry === null || enrolCountry === void 0 ? void 0 : enrolCountry.value) !== '0' && (!enrolmentMethods || enrolmentMethods && enrolmentMethods.length === 0)) {
13881      html = "<div class=\"\">No course dates found</div>";
13882    }
13883    return html;
13884  }
13885  function renderUnavailableProduct() {
13886    return "<div>This product is currently unavailable.</div>";
13887  }
13888  function clearAndHideVariants() {
13889    if (!enrolContainer) return;
13890    enrolContainer.classList.add('hidden');
13891    enrolContainer.innerHTML = '';
13892  }
13893  function getLocations(_x8, _x9) {
13894    return _getLocations.apply(this, arguments);
13895  }
13896  function _getLocations() {
13897    _getLocations = enrolment_asyncToGenerator( /*#__PURE__*/enrolment_regeneratorRuntime().mark(function _callee6(nodeId, selector) {
13898      var res;
13899      return enrolment_regeneratorRuntime().wrap(function _callee6$(_context6) {
13900        while (1) switch (_context6.prev = _context6.next) {
13901          case 0:
13902            _context6.prev = 0;
13903            _context6.next = 3;
13904            return fetch(ecom.apiCoursePrefix + 'getLocations', {
13905              method: 'POST',
13906              headers: {
13907                'Content-Type': 'application/json'
13908              },
13909              body: JSON.stringify({
13910                selector: selector !== null && selector !== void 0 ? selector : 0,
13911                nodeId: nodeId,
13912                cartId: window.Cart.cartId,
13913                noSelectors: false,
13914                culture: window.culture
13915              })
13916            });
13917          case 3:
13918            res = _context6.sent;
13919            if (!res.ok) {
13920              _context6.next = 10;
13921              break;
13922            }
13923            _context6.next = 7;
13924            return res.json();
13925          case 7:
13926            return _context6.abrupt("return", _context6.sent);
13927          case 10:
13928            console.log('HTTP error:::' + res.status + ' ' + res.statusText);
13929          case 11:
13930            _context6.next = 16;
13931            break;
13932          case 13:
13933            _context6.prev = 13;
13934            _context6.t0 = _context6["catch"](0);
13935            console.log(_context6.t0);
13936          case 16:
13937            return _context6.abrupt("return", []);
13938          case 17:
13939          case "end":
13940            return _context6.stop();
13941        }
13942      }, _callee6, null, [[0, 13]]);
13943    }));
13944    return _getLocations.apply(this, arguments);
13945  }
13946  function displayLocations(locations) {
13947    if (!locationSelectContainer || !locationSelectEl) return;
13948    var html = '';
13949    html += "<option value=\"0\">Select a location</option>";
13950    var _iterator = _createForOfIteratorHelper(locations),
13951      _step;
13952    try {
13953      for (_iterator.s();
13953 !(_step = _iterator.n()).done;) {
13954        var location = _step.value;
13955        html += "<option value=\"".concat(location, "\">").concat(location, "</option>");
13956      }
13957    } catch (err) {
13958      _iterator.e(err);
13959    } finally {
13960      _iterator.f();
13961    }
13962    locationSelectEl.innerHTML = html;
13963    locationSelectContainer.classList.remove('hidden');
13964  }
13965  function clearAndHideLocations() {
13966    if (!locationSelectContainer || !locationSelectEl) return;
13967    locationSelectContainer.classList.add('hidden');
13968    locationSelectEl.innerHTML = '';
13969  }
13970  function cohortGroupsBuilder(groups, variantIndex) {
13971    var htmlSegment = "";
13972    if (groups) {
13973      htmlSegment += "<div class=\"cohort-groups-outer pl-1 pr-1\"><h5>Select your group:</h5><div class=\"cohort-groups-wrapper\" data-index=\"".concat(variantIndex, "\">");
13974      groups.forEach(function (group, idx) {
13975        htmlSegment += "<div class=\"cohort-group\" >";
13976        group.events.forEach(function (group) {
13977          htmlSegment += "<div class=\"cohort-group-event t-s-14\">\n                    <div class=\"t-w-700\">".concat(group.name, "</div>\n                    <div><span class=\"t-w-700\">Starts: </span>").concat(group.startDate.displayDate, "</div>\n                </div>");
13978        });
13979        htmlSegment += "<button class=\"block button enrol-btn enrol-basket\" data-index=\"".concat(idx, "\">").concat(ecom.defaultCartAddText, "</button>");
13980        htmlSegment += '</div>';
13981      });
13982      htmlSegment += "<div>";
13983    }
13984    return htmlSegment;
13985  }
13986  function noCohortsDisplayGroup(groupIndex) {
13987    if (groupIndex < noCohortDisplayGroups.length) {
13988      var currentGroupElm = noCohortDisplayGroups[groupIndex];
13989      if (currentGroupElm && !currentGroupElm.classList.contains('open')) {
13990        var htmlString = noCohortsGroupBuilder(groupIndex);
13991        currentGroupElm.insertAdjacentHTML('afterend', htmlString);
13992        currentGroupElm.classList.add('open');
13993      }
13994    }
13995  }
13996  function noCohortsGroupBuilder(groupIndex) {
13997    var buildFor = product.groups[groupIndex];
13998    var htmlSegment = '<div class="no-cohort-selections"><div>Select one event</div>';
13999    buildFor.items.forEach(function (item, idx) {
14000      var displayDate = '';
14001      if (item.startDate) {
14002        if (item.startDate.displayDate) {
14003          displayDate = item.startDate.displayDate;
14004        } else {
14005          displayDate = item.startDate.dateFormatted.toString();
14006        }
14007      }
14008      htmlSegment += "<div class=\"enrolment no-cohort bg-white radius-1\">\n                <div class=\"event-variant\">\n                    <div class=\"enrol-desc\">".concat(item.description ? item.description : '', "</div>\n                    <div>").concat(displayDate ? "<span class=\"t-w-700\">Starts:</span>".concat(displayDate) : "", "</div>\n                    <div class=\"enrol-wrapper\"><button class=\"block button no-cohort-select\" ").concat(item.quantityAvailable === 0 ? 'disabled' : '', " data-groupindex=\"").concat(groupIndex, "\" data-index=\"").concat(idx, "\">Select</button></div>\n                </div>\n            </div>");
14009    });
14010    return htmlSegment += '</div>';
14011  }
14012  function disableButton(button) {
14013    button.setAttribute('disabled', 'true');
14014  }
14015  function enableButton(button) {
14016    button.removeAttribute('disabled');
14017  }
14018  function handleGroupsSelectClick(target) {
14019    var eventVariantElm = target.closest('.event-variant');
14020    var currentEventVariant = enrolBlock.querySelector('.event-variant.selected');
14021    var currentSelectButton = null;
14022    var currentCohortGroupsOuterElm = null;
14023    if (currentEventVariant) {
14024      currentSelectButton = currentEventVariant.querySelector('.groups-select');
14025      currentCohortGroupsOuterElm = currentEventVariant.nextElementSibling;
14026    }
14027
14028    //First remove existing selected cohort
14029    //slide up the block first then remove
14030    // TODO need to add animation
14031    if (currentEventVariant) {
14032      currentEventVariant.classList.remove('selected');
14033    }
14034    if (currentSelectButton) {
14035      currentSelectButton.innerText = 'Select';
14036    }
14037    if (currentCohortGroupsOuterElm) {
14038      currentCohortGroupsOuterElm.remove();
14039    }
14040    eventVariantElm.classList.add('selected');
14041    target.innerText = 'Selected';
14042    var idx = target.dataset.index;
14043    if (idx) {
14044      var currentVariant = product.groups[0].items[idx];
14045      var groups = currentVariant.cohortGroups;
14046      var htmlString = cohortGroupsBuilder(groups, idx);
14047      target.closest('.event-variant').insertAdjacentHTML('afterend', htmlString);
14048    }
14049  }
14050  function handleNoCohortSelectClick(target) {
14051    //disable button so can't be clicked again
14052    disableButton(target);
14053    var idx = target.dataset.index;
14054    if (idx) {
14055      var selectedVariant;
14056      var currentGroupIdx = +target.dataset.groupindex;
14057      selectedVariant = product.groups[currentGroupIdx].items[idx];
14058
14059      //first deselect
14060      var currentGroupElm = noCohortDisplayGroups[currentGroupIdx];
14061      var noCohortSelectGroup = currentGroupElm.nextElementSibling;
14062
14063      //reset existing button
14064      if (noCohortSelectGroup && noCohortSelectGroup.classList.contains('no-cohort-selections')) {
14065        var selectedEvent = noCohortSelectGroup.querySelector('.selected');
14066        if (selectedEvent) {
14067          selectedEvent.classList.remove('selected');
14068          var selectButtonElm = selectedEvent.querySelector('.no-cohort-select');
14069          selectButtonElm.textContent = 'Select';
14070          enableButton(selectButtonElm);
14071        }
14072      }
14073      if (!noCohortSelections.masterProductSKU) {
14074        noCohortSelections.masterProductSKU = product.sku;
14075      }
14076      noCohortSelections.selections[currentGroupIdx] = selectedVariant.sku;
14077
14078      //update new button
14079      var parent = target.closest('.no-cohort');
14080      parent.classList.add('selected');
14081      target.textContent = 'Selected';
14082      noCohortsDisplayGroup(currentGroupIdx + 1);
14083    }
14084  }
14085  function handleEnrolBasketClick(_x10) {
14086    return _handleEnrolBasketClick.apply(this, arguments);
14087  }
14088  function _handleEnrolBasketClick() {
14089    _handleEnrolBasketClick = enrolment_asyncToGenerator( /*#__PURE__*/enrolment_regeneratorRuntime().mark(function _callee7(target) {
14090      var selectionsValid, basketRequest, lpEarlistVariant, currentWrapperElm, variantIdx, groupIdx, currentVariant, selectedGroup, idx, _currentVariant;
14091      return enrolment_regeneratorRuntime().wrap(function _callee7$(_context7) {
14092        while (1) switch (_context7.prev = _context7.next) {
14093          case 0:
14094            disableButton(target);
14095            selectionsValid = true;
14096            basketRequest = {
14097              productType: product.productType,
14098              cartId: window.Cart.cartId
14099            };
14100            if (product.productType === ProductType.LearningPathNoCohort) {
14101              //this is a no cohort learning path
14102              //check we have all groups selected
14103              if (noCohortSelections.selections) {
14104                noCohortSelections.selections.forEach(function (sel) {
14105                  if (!sel) {
14106                    selectionsValid = false;
14107                  }
14108                });
14109              }
14110              if (selectionsValid) {
14111                //find start date
14112                lpEarlistVariant = product.groups[0].items.reduce(function (prev, current, idx) {
14113                  var prevSplitDate = prev.startDate.dateFormatted.toString().split('/');
14114                  var currentSplitDate = current.startDate.dateFormatted.toString().split('/');
14115                  var prevDate = new Date(+prevSplitDate[2], +prevSplitDate[1] - 1, +prevSplitDate[0]);
14116                  var currentDate = new Date(+currentSplitDate[2], +currentSplitDate[1] - 1, +currentSplitDate[0]);
14117                  return prevDate.getTime() < currentDate.getTime() ? prev : current;
14118                });
14119                basketRequest.sku = noCohortSelections.masterProductSKU;
14120                basketRequest.bundleSku = noCohortSelections.selections;
14121                basketRequest.startDate = lpEarlistVariant.startDate.dateFormatted;
14122                basketRequest.currency = product.currency.currencyId;
14123              } else {
14124                window.Cart.showFailMessage('Please select an event from each Module.');
14125              }
14126            } else if (product.productType === ProductType.LearningPath) {
14127              currentWrapperElm = target.closest('.cohort-groups-wrapper');
14128              variantIdx = '';
14129              groupIdx = target.dataset.index;
14130              if (currentWrapperElm) {
14131                variantIdx = currentWrapperElm.dataset.index;
14132              } else {
14133                //if currentWrapperElm doesn't exist
14134                //we must be in a one group variant
14135                variantIdx = target.dataset.index;
14136                groupIdx = '0';
14137              }
14138              if (variantIdx && groupIdx) {
14139                currentVariant = product.groups[0].items[variantIdx];
14140                selectedGroup = currentVariant.cohortGroups[groupIdx];
14141                basketRequest.bundleSku = selectedGroup.courseSKUs;
14142                basketRequest.sku = currentVariant.sku;
14143                basketRequest.currency = currentVariant.currency.currencyId;
14144                basketRequest.startDate = selectedGroup.startDate.dateFormatted;
14145              }
14146            } else {
14147              idx = target.dataset.index;
14148              if (idx) {
14149                _currentVariant = product.groups[0].items[idx];
14150                basketRequest.sku = _currentVariant.sku;
14151                basketRequest.currency = _currentVariant.currency.currencyId;
14152                basketRequest.startDate = _currentVariant.startDate.dateFormatted;
14153              }
14154            }
14155            if (!selectionsValid) {
14156              _context7.next = 7;
14157              break;
14158            }
14159            _context7.next = 7;
14160            return window.Cart.addToBasket(basketRequest, enrolBlock);
14161          case 7:
14162            enableButton(target);
14163          case 8:
14164          case "end":
14165            return _context7.stop();
14166        }
14167      }, _callee7);
14168    }));
14169    return _handleEnrolBasketClick.apply(this, arguments);
14170  }
14171}
14172;// CONCATENATED MODULE: ./src/scripts/index.ts
14173function scripts_typeof(obj) { "@babel/helpers - typeof"; return scripts_typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, scripts_typeof(obj); }
14174function scripts_regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ scripts_regeneratorRuntime = function _regeneratorRuntime() { return exports; }; var exports = {}, Op = Object.prototype, hasOwn = Op.hasOwnProperty, defineProperty = Object.defineProperty || function (obj, key, desc) { obj[key] = desc.value; }, $Symbol = "function" == typeof Symbol ? Symbol : {}, iteratorSymbol = $Symbol.iterator || "@@iterator", asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator", toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag"; function define(obj, key, value) { return Object.defineProperty(obj, key, { value: value, enumerable: !0, configurable: !0, writable: !0 }), obj[key]; } try { define({}, ""); } catch (err) { define = function define(obj, key, value) { return obj[key] = value; }; } function wrap(innerFn, outerFn, self, tryLocsList) { var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator, generator = Object.create(protoGenerator.prototype), context = new Context(tryLocsList || []); return defineProperty(generator, "_invoke", { value: makeInvokeMethod(innerFn, self, context) }), generator; }
vendor: 7,636 bytes, line 14174
14174 function tryCatch(fn, obj, arg) { try { return { type: "normal", arg: fn.call(obj, arg) }; } catch (err) { return { type: "throw", arg: err }; } } exports.wrap = wrap; var ContinueSentinel = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var IteratorPrototype = {}; define(IteratorPrototype, iteratorSymbol, function () { return this; }); var getProto = Object.getPrototypeOf, NativeIteratorPrototype = getProto && getProto(getProto(values([]))); NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol) && (IteratorPrototype = NativeIteratorPrototype); var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype); function defineIteratorMethods(prototype) { ["next", "throw", "return"].forEach(function (method) { define(prototype, method, function (arg) { return this._invoke(method, arg); }); }); } function AsyncIterator(generator, PromiseImpl) { function invoke(method, arg, resolve, reject) { var record = tryCatch(generator[method], generator, arg); if ("throw" !== record.type) { var result = record.arg, value = result.value; return value && "object" == scripts_typeof(value) && hasOwn.call(value, "__await") ? PromiseImpl.resolve(value.__await).then(function (value) { invoke("next", value, resolve, reject); }, function (err) { invoke("throw", err, resolve, reject); }) : PromiseImpl.resolve(value).then(function (unwrapped) { result.value = unwrapped, resolve(result); }, function (error) { return invoke("throw", error, resolve, reject); }); } reject(record.arg); } var previousPromise; defineProperty(this, "_invoke", { value: function value(method, arg) { function callInvokeWithMethodAndArg() { return new PromiseImpl(function (resolve, reject) { invoke(method, arg, resolve, reject); }); } return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(innerFn, self, context) { var state = "suspendedStart"; return function (method, arg) { if ("executing" === state) throw new Error("Generator is already running"); if ("completed" === state) { if ("throw" === method) throw arg; return doneResult(); } for (context.method = method, context.arg = arg;;) { var delegate = context.delegate; if (delegate) { var delegateResult = maybeInvokeDelegate(delegate, context); if (delegateResult) { if (delegateResult === ContinueSentinel) continue; return delegateResult; } } if ("next" === context.method) context.sent = context._sent = context.arg;else if ("throw" === context.method) { if ("suspendedStart" === state) throw state = "completed", context.arg; context.dispatchException(context.arg); } else "return" === context.method && context.abrupt("return", context.arg); state = "executing"; var record = tryCatch(innerFn, self, context); if ("normal" === record.type) { if (state = context.done ? "completed" : "suspendedYield", record.arg === ContinueSentinel) continue; return { value: record.arg, done: context.done }; } "throw" === record.type && (state = "completed", context.method = "throw", context.arg = record.arg); } }; } function maybeInvokeDelegate(delegate, context) { var methodName = context.method, method = delegate.iterator[methodName]; if (undefined === method) return context.delegate = null, "throw" === methodName && delegate.iterator.return && (context.method = "return", context.arg = undefined, maybeInvokeDelegate(delegate, context), "throw" === context.method) || "return" !== methodName && (context.method = "throw", context.arg = new TypeError("The iterator does not provide a '" + methodName + "' method")), ContinueSentinel; var record = tryCatch(method, delegate.iterator, context.arg); if ("throw" === record.type) return context.method = "throw", context.arg = record.arg, context.delegate = null, ContinueSentinel; var info = record.arg; return info ? info.done ? (context[delegate.resultName] = info.value, context.next = delegate.nextLoc, "return" !== context.method && (context.method = "next", context.arg = undefined), context.delegate = null, ContinueSentinel) : info : (context.method = "throw", context.arg = new TypeError("iterator result is not an object"), context.delegate = null, ContinueSentinel); } function pushTryEntry(locs) { var entry = { tryLoc: locs[0] }; 1 in locs && (entry.catchLoc = locs[1]), 2 in locs && (entry.finallyLoc = locs[2], entry.afterLoc = locs[3]), this.tryEntries.push(entry); } function resetTryEntry(entry) { var record = entry.completion || {}; record.type = "normal", delete record.arg, entry.completion = record; } function Context(tryLocsList) { this.tryEntries = [{ tryLoc: "root" }], tryLocsList.forEach(pushTryEntry, this), this.reset(!0); } function values(iterable) { if (iterable) { var iteratorMethod = iterable[iteratorSymbol]; if (iteratorMethod) return iteratorMethod.call(iterable); if ("function" == typeof iterable.next) return iterable; if (!isNaN(iterable.length)) { var i = -1, next = function next() { for (; ++i < iterable.length;) if (hasOwn.call(iterable, i)) return next.value = iterable[i], next.done = !1, next; return next.value = undefined, next.done = !0, next; }; return next.next = next; } } return { next: doneResult }; } function doneResult() { return { value: undefined, done: !0 }; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, defineProperty(Gp, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), defineProperty(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, "GeneratorFunction"), exports.isGeneratorFunction = function (genFun) { var ctor = "function" == typeof genFun && genFun.constructor; return !!ctor && (ctor === GeneratorFunction || "GeneratorFunction" === (ctor.displayName || ctor.name)); }, exports.mark = function (genFun) { return Object.setPrototypeOf ? Object.setPrototypeOf(genFun, GeneratorFunctionPrototype) : (genFun.__proto__ = GeneratorFunctionPrototype, define(genFun, toStringTagSymbol, "GeneratorFunction")), genFun.prototype = Object.create(Gp), genFun; }, exports.awrap = function (arg) { return { __await: arg }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, asyncIteratorSymbol, function () { return this; }), exports.AsyncIterator = AsyncIterator, exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) { void 0 === PromiseImpl && (PromiseImpl = Promise); var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl); return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) { return result.done ? result.value : iter.next(); }); }, defineIteratorMethods(Gp), define(Gp, toStringTagSymbol, "Generator"), define(Gp, iteratorSymbol, function () { return this; }), define(Gp, "toString", function () { return "[object Generator]"; }), exports.keys = function (val) { var object = Object(val), keys = []; for (var key in object) keys.push(key); return keys.reverse(), function next() { for (; keys.length;) { var key = keys.pop(); if (key in object) return next.value = key, next.done = !1, next; } return next.done = !0, next; }; }, exports.values = values, Context.prototype = { constructor: Context, reset: function reset(skipTempReset) { if (this.prev = 0, this.next = 0, this.sent = this._sent = undefined, this.done = !1, this.delegate = null, this.method = "next", this.arg = undefined, this.tryEntries.forEac
vendor: 4,564 bytes, lines 14174-14221
14174h(resetTryEntry), !skipTempReset) for (var name in this) "t" === name.charAt(0) && hasOwn.call(this, name) && !isNaN(+name.slice(1)) && (this[name] = undefined); }, stop: function stop() { this.done = !0; var rootRecord = this.tryEntries[0].completion; if ("throw" === rootRecord.type) throw rootRecord.arg; return this.rval; }, dispatchException: function dispatchException(exception) { if (this.done) throw exception; var context = this; function handle(loc, caught) { return record.type = "throw", record.arg = exception, context.next = loc, caught && (context.method = "next", context.arg = undefined), !!caught; } for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i], record = entry.completion; if ("root" === entry.tryLoc) return handle("end"); if (entry.tryLoc <= this.prev) { var hasCatch = hasOwn.call(entry, "catchLoc"), hasFinally = hasOwn.call(entry, "finallyLoc"); if (hasCatch && hasFinally) { if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); } else if (hasCatch) { if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); } else { if (!hasFinally) throw new Error("try statement without catch or finally"); if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); } } } }, abrupt: function abrupt(type, arg) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.tryLoc <= this.prev && hasOwn.call(entry, "finallyLoc") && this.prev < entry.finallyLoc) { var finallyEntry = entry; break; } } finallyEntry && ("break" === type || "continue" === type) && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc && (finallyEntry = null); var record = finallyEntry ? finallyEntry.completion : {}; return record.type = type, record.arg = arg, finallyEntry ? (this.method = "next", this.next = finallyEntry.finallyLoc, ContinueSentinel) : this.complete(record); }, complete: function complete(record, afterLoc) { if ("throw" === record.type) throw record.arg; return "break" === record.type || "continue" === record.type ? this.next = record.arg : "return" === record.type ? (this.rval = this.arg = record.arg, this.method = "return", this.next = "end") : "normal" === record.type && afterLoc && (this.next = afterLoc), ContinueSentinel; }, finish: function finish(finallyLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.finallyLoc === finallyLoc) return this.complete(entry.completion, entry.afterLoc), resetTryEntry(entry), ContinueSentinel; } }, catch: function _catch(tryLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.tryLoc === tryLoc) { var record = entry.completion; if ("throw" === record.type) { var thrown = record.arg; resetTryEntry(entry); } return thrown; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(iterable, resultName, nextLoc) { return this.delegate = { iterator: values(iterable), resultName: resultName, nextLoc: nextLoc }, "next" === this.method && (this.arg = undefined), ContinueSentinel; } }, exports; }
14175
14176
14177
14178
14179
14180
14181
14182
14183
14184
14185
14186
14187
14188
14189
14190
14191
14192function scripts_asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
14193function scripts_asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { scripts_asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { scripts_asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
14194
14195
14196
14197
14198
14199
14200
14201
14202
14203
14204
14205
14206
14207
14208document.addEventListener('DOMContentLoaded', /*#__PURE__*/scripts_asyncToGenerator( /*#__PURE__*/scripts_regeneratorRuntime().mark(function _callee() {
14209  var contextSearch;
14210  return scripts_regeneratorRuntime().wrap(function _callee$(_context) {
14211    while (1) switch (_context.prev = _context.next) {
14212      case 0:
14213        _context.next = 2;
14214        return cart.build();
14215      case 2:
14216        window.Cart = _context.sent;
14217        if (document.querySelector('div[data-youtube]')) {
14218          Video();
14219        }
14220        contextSearch = document.querySelectorAll('.form-contextualsearch');
14221        if (contextSearch) {
14222          contextSearch.forEach(function (cs) {
14223            new search(cs);
14224          });
14225        }
14226        if (document.querySelector('.cc-accordion')) {
14227          accordion.getInstance();
14228        }
14229        if (document.querySelector('.cc-primary-nav')) {
14230          Nav();
14231        }
14232        if (document.querySelector('.tutorlink-carousel.splide')) {
14233          TutorCarousel();
14234        }
14235        if (document.querySelector('.tutorlink,.personlink')) {
14236          TutorModal();
14237        }
14238        if (document.querySelector('.header-media')) {
14239          HeroActions();
14240        }
14241        if (document.querySelector('.enrolment-block')) {
14242          InitEnrolmentBlock();
14243        }
14244        if (document.querySelector('.faq-block')) {
14245          FAQSearch();
14246        }
14247        if (document.querySelector('.content table')) {
14248          TableContainer();
14249        }
14250        if (document.querySelector('.single-product-block')) {
14251          SingleProduct();
14252        }
14253      case 15:
14254      case "end":
14255        return _context.stop();
14256    }
14257  }, _callee);
14258})));
14259}();
14260/******/ })()
14261;

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.