UNPKG

116 kBJavaScriptView Raw
1(function (global, factory) {
2 typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('jquery')) :
3 typeof define === 'function' && define.amd ? define(['exports', 'jquery'], factory) :
4 (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.BootstrapTable = {}, global.jQuery));
5})(this, (function (exports, $$a) { 'use strict';
6
7 function _typeof(obj) {
8 "@babel/helpers - typeof";
9
10 return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) {
11 return typeof obj;
12 } : function (obj) {
13 return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
14 }, _typeof(obj);
15 }
16
17 var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
18
19 var check = function (it) {
20 return it && it.Math == Math && it;
21 };
22
23 // https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
24 var global$e =
25 // eslint-disable-next-line es/no-global-this -- safe
26 check(typeof globalThis == 'object' && globalThis) ||
27 check(typeof window == 'object' && window) ||
28 // eslint-disable-next-line no-restricted-globals -- safe
29 check(typeof self == 'object' && self) ||
30 check(typeof commonjsGlobal == 'object' && commonjsGlobal) ||
31 // eslint-disable-next-line no-new-func -- fallback
32 (function () { return this; })() || Function('return this')();
33
34 var objectGetOwnPropertyDescriptor = {};
35
36 var fails$m = function (exec) {
37 try {
38 return !!exec();
39 } catch (error) {
40 return true;
41 }
42 };
43
44 var fails$l = fails$m;
45
46 // Detect IE8's incomplete defineProperty implementation
47 var descriptors = !fails$l(function () {
48 // eslint-disable-next-line es/no-object-defineproperty -- required for testing
49 return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;
50 });
51
52 var fails$k = fails$m;
53
54 var functionBindNative = !fails$k(function () {
55 // eslint-disable-next-line es/no-function-prototype-bind -- safe
56 var test = (function () { /* empty */ }).bind();
57 // eslint-disable-next-line no-prototype-builtins -- safe
58 return typeof test != 'function' || test.hasOwnProperty('prototype');
59 });
60
61 var NATIVE_BIND$3 = functionBindNative;
62
63 var call$a = Function.prototype.call;
64
65 var functionCall = NATIVE_BIND$3 ? call$a.bind(call$a) : function () {
66 return call$a.apply(call$a, arguments);
67 };
68
69 var objectPropertyIsEnumerable = {};
70
71 var $propertyIsEnumerable = {}.propertyIsEnumerable;
72 // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
73 var getOwnPropertyDescriptor$1 = Object.getOwnPropertyDescriptor;
74
75 // Nashorn ~ JDK8 bug
76 var NASHORN_BUG = getOwnPropertyDescriptor$1 && !$propertyIsEnumerable.call({ 1: 2 }, 1);
77
78 // `Object.prototype.propertyIsEnumerable` method implementation
79 // https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable
80 objectPropertyIsEnumerable.f = NASHORN_BUG ? function propertyIsEnumerable(V) {
81 var descriptor = getOwnPropertyDescriptor$1(this, V);
82 return !!descriptor && descriptor.enumerable;
83 } : $propertyIsEnumerable;
84
85 var createPropertyDescriptor$3 = function (bitmap, value) {
86 return {
87 enumerable: !(bitmap & 1),
88 configurable: !(bitmap & 2),
89 writable: !(bitmap & 4),
90 value: value
91 };
92 };
93
94 var NATIVE_BIND$2 = functionBindNative;
95
96 var FunctionPrototype$2 = Function.prototype;
97 var call$9 = FunctionPrototype$2.call;
98 var uncurryThisWithBind = NATIVE_BIND$2 && FunctionPrototype$2.bind.bind(call$9, call$9);
99
100 var functionUncurryThis = NATIVE_BIND$2 ? uncurryThisWithBind : function (fn) {
101 return function () {
102 return call$9.apply(fn, arguments);
103 };
104 };
105
106 var uncurryThis$l = functionUncurryThis;
107
108 var toString$9 = uncurryThis$l({}.toString);
109 var stringSlice$5 = uncurryThis$l(''.slice);
110
111 var classofRaw$2 = function (it) {
112 return stringSlice$5(toString$9(it), 8, -1);
113 };
114
115 var uncurryThis$k = functionUncurryThis;
116 var fails$j = fails$m;
117 var classof$6 = classofRaw$2;
118
119 var $Object$3 = Object;
120 var split = uncurryThis$k(''.split);
121
122 // fallback for non-array-like ES3 and non-enumerable old V8 strings
123 var indexedObject = fails$j(function () {
124 // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346
125 // eslint-disable-next-line no-prototype-builtins -- safe
126 return !$Object$3('z').propertyIsEnumerable(0);
127 }) ? function (it) {
128 return classof$6(it) == 'String' ? split(it, '') : $Object$3(it);
129 } : $Object$3;
130
131 // we can't use just `it == null` since of `document.all` special case
132 // https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot-aec
133 var isNullOrUndefined$4 = function (it) {
134 return it === null || it === undefined;
135 };
136
137 var isNullOrUndefined$3 = isNullOrUndefined$4;
138
139 var $TypeError$8 = TypeError;
140
141 // `RequireObjectCoercible` abstract operation
142 // https://tc39.es/ecma262/#sec-requireobjectcoercible
143 var requireObjectCoercible$6 = function (it) {
144 if (isNullOrUndefined$3(it)) throw $TypeError$8("Can't call method on " + it);
145 return it;
146 };
147
148 // toObject with fallback for non-array-like ES3 strings
149 var IndexedObject$2 = indexedObject;
150 var requireObjectCoercible$5 = requireObjectCoercible$6;
151
152 var toIndexedObject$5 = function (it) {
153 return IndexedObject$2(requireObjectCoercible$5(it));
154 };
155
156 var documentAll$2 = typeof document == 'object' && document.all;
157
158 // https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot
159 // eslint-disable-next-line unicorn/no-typeof-undefined -- required for testing
160 var IS_HTMLDDA = typeof documentAll$2 == 'undefined' && documentAll$2 !== undefined;
161
162 var documentAll_1 = {
163 all: documentAll$2,
164 IS_HTMLDDA: IS_HTMLDDA
165 };
166
167 var $documentAll$1 = documentAll_1;
168
169 var documentAll$1 = $documentAll$1.all;
170
171 // `IsCallable` abstract operation
172 // https://tc39.es/ecma262/#sec-iscallable
173 var isCallable$e = $documentAll$1.IS_HTMLDDA ? function (argument) {
174 return typeof argument == 'function' || argument === documentAll$1;
175 } : function (argument) {
176 return typeof argument == 'function';
177 };
178
179 var isCallable$d = isCallable$e;
180 var $documentAll = documentAll_1;
181
182 var documentAll = $documentAll.all;
183
184 var isObject$7 = $documentAll.IS_HTMLDDA ? function (it) {
185 return typeof it == 'object' ? it !== null : isCallable$d(it) || it === documentAll;
186 } : function (it) {
187 return typeof it == 'object' ? it !== null : isCallable$d(it);
188 };
189
190 var global$d = global$e;
191 var isCallable$c = isCallable$e;
192
193 var aFunction = function (argument) {
194 return isCallable$c(argument) ? argument : undefined;
195 };
196
197 var getBuiltIn$4 = function (namespace, method) {
198 return arguments.length < 2 ? aFunction(global$d[namespace]) : global$d[namespace] && global$d[namespace][method];
199 };
200
201 var uncurryThis$j = functionUncurryThis;
202
203 var objectIsPrototypeOf = uncurryThis$j({}.isPrototypeOf);
204
205 var engineUserAgent = typeof navigator != 'undefined' && String(navigator.userAgent) || '';
206
207 var global$c = global$e;
208 var userAgent$2 = engineUserAgent;
209
210 var process = global$c.process;
211 var Deno = global$c.Deno;
212 var versions = process && process.versions || Deno && Deno.version;
213 var v8 = versions && versions.v8;
214 var match, version;
215
216 if (v8) {
217 match = v8.split('.');
218 // in old Chrome, versions of V8 isn't V8 = Chrome / 10
219 // but their correct versions are not interesting for us
220 version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);
221 }
222
223 // BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`
224 // so check `userAgent` even if `.v8` exists, but 0
225 if (!version && userAgent$2) {
226 match = userAgent$2.match(/Edge\/(\d+)/);
227 if (!match || match[1] >= 74) {
228 match = userAgent$2.match(/Chrome\/(\d+)/);
229 if (match) version = +match[1];
230 }
231 }
232
233 var engineV8Version = version;
234
235 /* eslint-disable es/no-symbol -- required for testing */
236
237 var V8_VERSION$2 = engineV8Version;
238 var fails$i = fails$m;
239
240 // eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing
241 var symbolConstructorDetection = !!Object.getOwnPropertySymbols && !fails$i(function () {
242 var symbol = Symbol();
243 // Chrome 38 Symbol has incorrect toString conversion
244 // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances
245 return !String(symbol) || !(Object(symbol) instanceof Symbol) ||
246 // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances
247 !Symbol.sham && V8_VERSION$2 && V8_VERSION$2 < 41;
248 });
249
250 /* eslint-disable es/no-symbol -- required for testing */
251
252 var NATIVE_SYMBOL$1 = symbolConstructorDetection;
253
254 var useSymbolAsUid = NATIVE_SYMBOL$1
255 && !Symbol.sham
256 && typeof Symbol.iterator == 'symbol';
257
258 var getBuiltIn$3 = getBuiltIn$4;
259 var isCallable$b = isCallable$e;
260 var isPrototypeOf$1 = objectIsPrototypeOf;
261 var USE_SYMBOL_AS_UID$1 = useSymbolAsUid;
262
263 var $Object$2 = Object;
264
265 var isSymbol$2 = USE_SYMBOL_AS_UID$1 ? function (it) {
266 return typeof it == 'symbol';
267 } : function (it) {
268 var $Symbol = getBuiltIn$3('Symbol');
269 return isCallable$b($Symbol) && isPrototypeOf$1($Symbol.prototype, $Object$2(it));
270 };
271
272 var $String$3 = String;
273
274 var tryToString$2 = function (argument) {
275 try {
276 return $String$3(argument);
277 } catch (error) {
278 return 'Object';
279 }
280 };
281
282 var isCallable$a = isCallable$e;
283 var tryToString$1 = tryToString$2;
284
285 var $TypeError$7 = TypeError;
286
287 // `Assert: IsCallable(argument) is true`
288 var aCallable$3 = function (argument) {
289 if (isCallable$a(argument)) return argument;
290 throw $TypeError$7(tryToString$1(argument) + ' is not a function');
291 };
292
293 var aCallable$2 = aCallable$3;
294 var isNullOrUndefined$2 = isNullOrUndefined$4;
295
296 // `GetMethod` abstract operation
297 // https://tc39.es/ecma262/#sec-getmethod
298 var getMethod$3 = function (V, P) {
299 var func = V[P];
300 return isNullOrUndefined$2(func) ? undefined : aCallable$2(func);
301 };
302
303 var call$8 = functionCall;
304 var isCallable$9 = isCallable$e;
305 var isObject$6 = isObject$7;
306
307 var $TypeError$6 = TypeError;
308
309 // `OrdinaryToPrimitive` abstract operation
310 // https://tc39.es/ecma262/#sec-ordinarytoprimitive
311 var ordinaryToPrimitive$1 = function (input, pref) {
312 var fn, val;
313 if (pref === 'string' && isCallable$9(fn = input.toString) && !isObject$6(val = call$8(fn, input))) return val;
314 if (isCallable$9(fn = input.valueOf) && !isObject$6(val = call$8(fn, input))) return val;
315 if (pref !== 'string' && isCallable$9(fn = input.toString) && !isObject$6(val = call$8(fn, input))) return val;
316 throw $TypeError$6("Can't convert object to primitive value");
317 };
318
319 var sharedExports = {};
320 var shared$4 = {
321 get exports(){ return sharedExports; },
322 set exports(v){ sharedExports = v; },
323 };
324
325 var global$b = global$e;
326
327 // eslint-disable-next-line es/no-object-defineproperty -- safe
328 var defineProperty$2 = Object.defineProperty;
329
330 var defineGlobalProperty$3 = function (key, value) {
331 try {
332 defineProperty$2(global$b, key, { value: value, configurable: true, writable: true });
333 } catch (error) {
334 global$b[key] = value;
335 } return value;
336 };
337
338 var global$a = global$e;
339 var defineGlobalProperty$2 = defineGlobalProperty$3;
340
341 var SHARED = '__core-js_shared__';
342 var store$3 = global$a[SHARED] || defineGlobalProperty$2(SHARED, {});
343
344 var sharedStore = store$3;
345
346 var store$2 = sharedStore;
347
348 (shared$4.exports = function (key, value) {
349 return store$2[key] || (store$2[key] = value !== undefined ? value : {});
350 })('versions', []).push({
351 version: '3.29.0',
352 mode: 'global',
353 copyright: '© 2014-2023 Denis Pushkarev (zloirock.ru)',
354 license: 'https://github.com/zloirock/core-js/blob/v3.29.0/LICENSE',
355 source: 'https://github.com/zloirock/core-js'
356 });
357
358 var requireObjectCoercible$4 = requireObjectCoercible$6;
359
360 var $Object$1 = Object;
361
362 // `ToObject` abstract operation
363 // https://tc39.es/ecma262/#sec-toobject
364 var toObject$6 = function (argument) {
365 return $Object$1(requireObjectCoercible$4(argument));
366 };
367
368 var uncurryThis$i = functionUncurryThis;
369 var toObject$5 = toObject$6;
370
371 var hasOwnProperty = uncurryThis$i({}.hasOwnProperty);
372
373 // `HasOwnProperty` abstract operation
374 // https://tc39.es/ecma262/#sec-hasownproperty
375 // eslint-disable-next-line es/no-object-hasown -- safe
376 var hasOwnProperty_1 = Object.hasOwn || function hasOwn(it, key) {
377 return hasOwnProperty(toObject$5(it), key);
378 };
379
380 var uncurryThis$h = functionUncurryThis;
381
382 var id = 0;
383 var postfix = Math.random();
384 var toString$8 = uncurryThis$h(1.0.toString);
385
386 var uid$2 = function (key) {
387 return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString$8(++id + postfix, 36);
388 };
389
390 var global$9 = global$e;
391 var shared$3 = sharedExports;
392 var hasOwn$7 = hasOwnProperty_1;
393 var uid$1 = uid$2;
394 var NATIVE_SYMBOL = symbolConstructorDetection;
395 var USE_SYMBOL_AS_UID = useSymbolAsUid;
396
397 var Symbol$1 = global$9.Symbol;
398 var WellKnownSymbolsStore = shared$3('wks');
399 var createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol$1['for'] || Symbol$1 : Symbol$1 && Symbol$1.withoutSetter || uid$1;
400
401 var wellKnownSymbol$9 = function (name) {
402 if (!hasOwn$7(WellKnownSymbolsStore, name)) {
403 WellKnownSymbolsStore[name] = NATIVE_SYMBOL && hasOwn$7(Symbol$1, name)
404 ? Symbol$1[name]
405 : createWellKnownSymbol('Symbol.' + name);
406 } return WellKnownSymbolsStore[name];
407 };
408
409 var call$7 = functionCall;
410 var isObject$5 = isObject$7;
411 var isSymbol$1 = isSymbol$2;
412 var getMethod$2 = getMethod$3;
413 var ordinaryToPrimitive = ordinaryToPrimitive$1;
414 var wellKnownSymbol$8 = wellKnownSymbol$9;
415
416 var $TypeError$5 = TypeError;
417 var TO_PRIMITIVE = wellKnownSymbol$8('toPrimitive');
418
419 // `ToPrimitive` abstract operation
420 // https://tc39.es/ecma262/#sec-toprimitive
421 var toPrimitive$1 = function (input, pref) {
422 if (!isObject$5(input) || isSymbol$1(input)) return input;
423 var exoticToPrim = getMethod$2(input, TO_PRIMITIVE);
424 var result;
425 if (exoticToPrim) {
426 if (pref === undefined) pref = 'default';
427 result = call$7(exoticToPrim, input, pref);
428 if (!isObject$5(result) || isSymbol$1(result)) return result;
429 throw $TypeError$5("Can't convert object to primitive value");
430 }
431 if (pref === undefined) pref = 'number';
432 return ordinaryToPrimitive(input, pref);
433 };
434
435 var toPrimitive = toPrimitive$1;
436 var isSymbol = isSymbol$2;
437
438 // `ToPropertyKey` abstract operation
439 // https://tc39.es/ecma262/#sec-topropertykey
440 var toPropertyKey$3 = function (argument) {
441 var key = toPrimitive(argument, 'string');
442 return isSymbol(key) ? key : key + '';
443 };
444
445 var global$8 = global$e;
446 var isObject$4 = isObject$7;
447
448 var document$1 = global$8.document;
449 // typeof document.createElement is 'object' in old IE
450 var EXISTS$1 = isObject$4(document$1) && isObject$4(document$1.createElement);
451
452 var documentCreateElement$2 = function (it) {
453 return EXISTS$1 ? document$1.createElement(it) : {};
454 };
455
456 var DESCRIPTORS$7 = descriptors;
457 var fails$h = fails$m;
458 var createElement = documentCreateElement$2;
459
460 // Thanks to IE8 for its funny defineProperty
461 var ie8DomDefine = !DESCRIPTORS$7 && !fails$h(function () {
462 // eslint-disable-next-line es/no-object-defineproperty -- required for testing
463 return Object.defineProperty(createElement('div'), 'a', {
464 get: function () { return 7; }
465 }).a != 7;
466 });
467
468 var DESCRIPTORS$6 = descriptors;
469 var call$6 = functionCall;
470 var propertyIsEnumerableModule = objectPropertyIsEnumerable;
471 var createPropertyDescriptor$2 = createPropertyDescriptor$3;
472 var toIndexedObject$4 = toIndexedObject$5;
473 var toPropertyKey$2 = toPropertyKey$3;
474 var hasOwn$6 = hasOwnProperty_1;
475 var IE8_DOM_DEFINE$1 = ie8DomDefine;
476
477 // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
478 var $getOwnPropertyDescriptor$1 = Object.getOwnPropertyDescriptor;
479
480 // `Object.getOwnPropertyDescriptor` method
481 // https://tc39.es/ecma262/#sec-object.getownpropertydescriptor
482 objectGetOwnPropertyDescriptor.f = DESCRIPTORS$6 ? $getOwnPropertyDescriptor$1 : function getOwnPropertyDescriptor(O, P) {
483 O = toIndexedObject$4(O);
484 P = toPropertyKey$2(P);
485 if (IE8_DOM_DEFINE$1) try {
486 return $getOwnPropertyDescriptor$1(O, P);
487 } catch (error) { /* empty */ }
488 if (hasOwn$6(O, P)) return createPropertyDescriptor$2(!call$6(propertyIsEnumerableModule.f, O, P), O[P]);
489 };
490
491 var objectDefineProperty = {};
492
493 var DESCRIPTORS$5 = descriptors;
494 var fails$g = fails$m;
495
496 // V8 ~ Chrome 36-
497 // https://bugs.chromium.org/p/v8/issues/detail?id=3334
498 var v8PrototypeDefineBug = DESCRIPTORS$5 && fails$g(function () {
499 // eslint-disable-next-line es/no-object-defineproperty -- required for testing
500 return Object.defineProperty(function () { /* empty */ }, 'prototype', {
501 value: 42,
502 writable: false
503 }).prototype != 42;
504 });
505
506 var isObject$3 = isObject$7;
507
508 var $String$2 = String;
509 var $TypeError$4 = TypeError;
510
511 // `Assert: Type(argument) is Object`
512 var anObject$9 = function (argument) {
513 if (isObject$3(argument)) return argument;
514 throw $TypeError$4($String$2(argument) + ' is not an object');
515 };
516
517 var DESCRIPTORS$4 = descriptors;
518 var IE8_DOM_DEFINE = ie8DomDefine;
519 var V8_PROTOTYPE_DEFINE_BUG$1 = v8PrototypeDefineBug;
520 var anObject$8 = anObject$9;
521 var toPropertyKey$1 = toPropertyKey$3;
522
523 var $TypeError$3 = TypeError;
524 // eslint-disable-next-line es/no-object-defineproperty -- safe
525 var $defineProperty = Object.defineProperty;
526 // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
527 var $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
528 var ENUMERABLE = 'enumerable';
529 var CONFIGURABLE$1 = 'configurable';
530 var WRITABLE = 'writable';
531
532 // `Object.defineProperty` method
533 // https://tc39.es/ecma262/#sec-object.defineproperty
534 objectDefineProperty.f = DESCRIPTORS$4 ? V8_PROTOTYPE_DEFINE_BUG$1 ? function defineProperty(O, P, Attributes) {
535 anObject$8(O);
536 P = toPropertyKey$1(P);
537 anObject$8(Attributes);
538 if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {
539 var current = $getOwnPropertyDescriptor(O, P);
540 if (current && current[WRITABLE]) {
541 O[P] = Attributes.value;
542 Attributes = {
543 configurable: CONFIGURABLE$1 in Attributes ? Attributes[CONFIGURABLE$1] : current[CONFIGURABLE$1],
544 enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],
545 writable: false
546 };
547 }
548 } return $defineProperty(O, P, Attributes);
549 } : $defineProperty : function defineProperty(O, P, Attributes) {
550 anObject$8(O);
551 P = toPropertyKey$1(P);
552 anObject$8(Attributes);
553 if (IE8_DOM_DEFINE) try {
554 return $defineProperty(O, P, Attributes);
555 } catch (error) { /* empty */ }
556 if ('get' in Attributes || 'set' in Attributes) throw $TypeError$3('Accessors not supported');
557 if ('value' in Attributes) O[P] = Attributes.value;
558 return O;
559 };
560
561 var DESCRIPTORS$3 = descriptors;
562 var definePropertyModule$4 = objectDefineProperty;
563 var createPropertyDescriptor$1 = createPropertyDescriptor$3;
564
565 var createNonEnumerableProperty$4 = DESCRIPTORS$3 ? function (object, key, value) {
566 return definePropertyModule$4.f(object, key, createPropertyDescriptor$1(1, value));
567 } : function (object, key, value) {
568 object[key] = value;
569 return object;
570 };
571
572 var makeBuiltInExports = {};
573 var makeBuiltIn$2 = {
574 get exports(){ return makeBuiltInExports; },
575 set exports(v){ makeBuiltInExports = v; },
576 };
577
578 var DESCRIPTORS$2 = descriptors;
579 var hasOwn$5 = hasOwnProperty_1;
580
581 var FunctionPrototype$1 = Function.prototype;
582 // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
583 var getDescriptor = DESCRIPTORS$2 && Object.getOwnPropertyDescriptor;
584
585 var EXISTS = hasOwn$5(FunctionPrototype$1, 'name');
586 // additional protection from minified / mangled / dropped function names
587 var PROPER = EXISTS && (function something() { /* empty */ }).name === 'something';
588 var CONFIGURABLE = EXISTS && (!DESCRIPTORS$2 || (DESCRIPTORS$2 && getDescriptor(FunctionPrototype$1, 'name').configurable));
589
590 var functionName = {
591 EXISTS: EXISTS,
592 PROPER: PROPER,
593 CONFIGURABLE: CONFIGURABLE
594 };
595
596 var uncurryThis$g = functionUncurryThis;
597 var isCallable$8 = isCallable$e;
598 var store$1 = sharedStore;
599
600 var functionToString = uncurryThis$g(Function.toString);
601
602 // this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper
603 if (!isCallable$8(store$1.inspectSource)) {
604 store$1.inspectSource = function (it) {
605 return functionToString(it);
606 };
607 }
608
609 var inspectSource$2 = store$1.inspectSource;
610
611 var global$7 = global$e;
612 var isCallable$7 = isCallable$e;
613
614 var WeakMap$1 = global$7.WeakMap;
615
616 var weakMapBasicDetection = isCallable$7(WeakMap$1) && /native code/.test(String(WeakMap$1));
617
618 var shared$2 = sharedExports;
619 var uid = uid$2;
620
621 var keys = shared$2('keys');
622
623 var sharedKey$2 = function (key) {
624 return keys[key] || (keys[key] = uid(key));
625 };
626
627 var hiddenKeys$4 = {};
628
629 var NATIVE_WEAK_MAP = weakMapBasicDetection;
630 var global$6 = global$e;
631 var isObject$2 = isObject$7;
632 var createNonEnumerableProperty$3 = createNonEnumerableProperty$4;
633 var hasOwn$4 = hasOwnProperty_1;
634 var shared$1 = sharedStore;
635 var sharedKey$1 = sharedKey$2;
636 var hiddenKeys$3 = hiddenKeys$4;
637
638 var OBJECT_ALREADY_INITIALIZED = 'Object already initialized';
639 var TypeError$1 = global$6.TypeError;
640 var WeakMap = global$6.WeakMap;
641 var set, get, has;
642
643 var enforce = function (it) {
644 return has(it) ? get(it) : set(it, {});
645 };
646
647 var getterFor = function (TYPE) {
648 return function (it) {
649 var state;
650 if (!isObject$2(it) || (state = get(it)).type !== TYPE) {
651 throw TypeError$1('Incompatible receiver, ' + TYPE + ' required');
652 } return state;
653 };
654 };
655
656 if (NATIVE_WEAK_MAP || shared$1.state) {
657 var store = shared$1.state || (shared$1.state = new WeakMap());
658 /* eslint-disable no-self-assign -- prototype methods protection */
659 store.get = store.get;
660 store.has = store.has;
661 store.set = store.set;
662 /* eslint-enable no-self-assign -- prototype methods protection */
663 set = function (it, metadata) {
664 if (store.has(it)) throw TypeError$1(OBJECT_ALREADY_INITIALIZED);
665 metadata.facade = it;
666 store.set(it, metadata);
667 return metadata;
668 };
669 get = function (it) {
670 return store.get(it) || {};
671 };
672 has = function (it) {
673 return store.has(it);
674 };
675 } else {
676 var STATE = sharedKey$1('state');
677 hiddenKeys$3[STATE] = true;
678 set = function (it, metadata) {
679 if (hasOwn$4(it, STATE)) throw TypeError$1(OBJECT_ALREADY_INITIALIZED);
680 metadata.facade = it;
681 createNonEnumerableProperty$3(it, STATE, metadata);
682 return metadata;
683 };
684 get = function (it) {
685 return hasOwn$4(it, STATE) ? it[STATE] : {};
686 };
687 has = function (it) {
688 return hasOwn$4(it, STATE);
689 };
690 }
691
692 var internalState = {
693 set: set,
694 get: get,
695 has: has,
696 enforce: enforce,
697 getterFor: getterFor
698 };
699
700 var uncurryThis$f = functionUncurryThis;
701 var fails$f = fails$m;
702 var isCallable$6 = isCallable$e;
703 var hasOwn$3 = hasOwnProperty_1;
704 var DESCRIPTORS$1 = descriptors;
705 var CONFIGURABLE_FUNCTION_NAME = functionName.CONFIGURABLE;
706 var inspectSource$1 = inspectSource$2;
707 var InternalStateModule = internalState;
708
709 var enforceInternalState = InternalStateModule.enforce;
710 var getInternalState$1 = InternalStateModule.get;
711 var $String$1 = String;
712 // eslint-disable-next-line es/no-object-defineproperty -- safe
713 var defineProperty$1 = Object.defineProperty;
714 var stringSlice$4 = uncurryThis$f(''.slice);
715 var replace$3 = uncurryThis$f(''.replace);
716 var join = uncurryThis$f([].join);
717
718 var CONFIGURABLE_LENGTH = DESCRIPTORS$1 && !fails$f(function () {
719 return defineProperty$1(function () { /* empty */ }, 'length', { value: 8 }).length !== 8;
720 });
721
722 var TEMPLATE = String(String).split('String');
723
724 var makeBuiltIn$1 = makeBuiltIn$2.exports = function (value, name, options) {
725 if (stringSlice$4($String$1(name), 0, 7) === 'Symbol(') {
726 name = '[' + replace$3($String$1(name), /^Symbol\(([^)]*)\)/, '$1') + ']';
727 }
728 if (options && options.getter) name = 'get ' + name;
729 if (options && options.setter) name = 'set ' + name;
730 if (!hasOwn$3(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) {
731 if (DESCRIPTORS$1) defineProperty$1(value, 'name', { value: name, configurable: true });
732 else value.name = name;
733 }
734 if (CONFIGURABLE_LENGTH && options && hasOwn$3(options, 'arity') && value.length !== options.arity) {
735 defineProperty$1(value, 'length', { value: options.arity });
736 }
737 try {
738 if (options && hasOwn$3(options, 'constructor') && options.constructor) {
739 if (DESCRIPTORS$1) defineProperty$1(value, 'prototype', { writable: false });
740 // in V8 ~ Chrome 53, prototypes of some methods, like `Array.prototype.values`, are non-writable
741 } else if (value.prototype) value.prototype = undefined;
742 } catch (error) { /* empty */ }
743 var state = enforceInternalState(value);
744 if (!hasOwn$3(state, 'source')) {
745 state.source = join(TEMPLATE, typeof name == 'string' ? name : '');
746 } return value;
747 };
748
749 // add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
750 // eslint-disable-next-line no-extend-native -- required
751 Function.prototype.toString = makeBuiltIn$1(function toString() {
752 return isCallable$6(this) && getInternalState$1(this).source || inspectSource$1(this);
753 }, 'toString');
754
755 var isCallable$5 = isCallable$e;
756 var definePropertyModule$3 = objectDefineProperty;
757 var makeBuiltIn = makeBuiltInExports;
758 var defineGlobalProperty$1 = defineGlobalProperty$3;
759
760 var defineBuiltIn$4 = function (O, key, value, options) {
761 if (!options) options = {};
762 var simple = options.enumerable;
763 var name = options.name !== undefined ? options.name : key;
764 if (isCallable$5(value)) makeBuiltIn(value, name, options);
765 if (options.global) {
766 if (simple) O[key] = value;
767 else defineGlobalProperty$1(key, value);
768 } else {
769 try {
770 if (!options.unsafe) delete O[key];
771 else if (O[key]) simple = true;
772 } catch (error) { /* empty */ }
773 if (simple) O[key] = value;
774 else definePropertyModule$3.f(O, key, {
775 value: value,
776 enumerable: false,
777 configurable: !options.nonConfigurable,
778 writable: !options.nonWritable
779 });
780 } return O;
781 };
782
783 var objectGetOwnPropertyNames = {};
784
785 var ceil = Math.ceil;
786 var floor$2 = Math.floor;
787
788 // `Math.trunc` method
789 // https://tc39.es/ecma262/#sec-math.trunc
790 // eslint-disable-next-line es/no-math-trunc -- safe
791 var mathTrunc = Math.trunc || function trunc(x) {
792 var n = +x;
793 return (n > 0 ? floor$2 : ceil)(n);
794 };
795
796 var trunc = mathTrunc;
797
798 // `ToIntegerOrInfinity` abstract operation
799 // https://tc39.es/ecma262/#sec-tointegerorinfinity
800 var toIntegerOrInfinity$4 = function (argument) {
801 var number = +argument;
802 // eslint-disable-next-line no-self-compare -- NaN check
803 return number !== number || number === 0 ? 0 : trunc(number);
804 };
805
806 var toIntegerOrInfinity$3 = toIntegerOrInfinity$4;
807
808 var max$2 = Math.max;
809 var min$2 = Math.min;
810
811 // Helper for a popular repeating case of the spec:
812 // Let integer be ? ToInteger(index).
813 // If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).
814 var toAbsoluteIndex$2 = function (index, length) {
815 var integer = toIntegerOrInfinity$3(index);
816 return integer < 0 ? max$2(integer + length, 0) : min$2(integer, length);
817 };
818
819 var toIntegerOrInfinity$2 = toIntegerOrInfinity$4;
820
821 var min$1 = Math.min;
822
823 // `ToLength` abstract operation
824 // https://tc39.es/ecma262/#sec-tolength
825 var toLength$3 = function (argument) {
826 return argument > 0 ? min$1(toIntegerOrInfinity$2(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
827 };
828
829 var toLength$2 = toLength$3;
830
831 // `LengthOfArrayLike` abstract operation
832 // https://tc39.es/ecma262/#sec-lengthofarraylike
833 var lengthOfArrayLike$5 = function (obj) {
834 return toLength$2(obj.length);
835 };
836
837 var toIndexedObject$3 = toIndexedObject$5;
838 var toAbsoluteIndex$1 = toAbsoluteIndex$2;
839 var lengthOfArrayLike$4 = lengthOfArrayLike$5;
840
841 // `Array.prototype.{ indexOf, includes }` methods implementation
842 var createMethod$3 = function (IS_INCLUDES) {
843 return function ($this, el, fromIndex) {
844 var O = toIndexedObject$3($this);
845 var length = lengthOfArrayLike$4(O);
846 var index = toAbsoluteIndex$1(fromIndex, length);
847 var value;
848 // Array#includes uses SameValueZero equality algorithm
849 // eslint-disable-next-line no-self-compare -- NaN check
850 if (IS_INCLUDES && el != el) while (length > index) {
851 value = O[index++];
852 // eslint-disable-next-line no-self-compare -- NaN check
853 if (value != value) return true;
854 // Array#indexOf ignores holes, Array#includes - not
855 } else for (;length > index; index++) {
856 if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;
857 } return !IS_INCLUDES && -1;
858 };
859 };
860
861 var arrayIncludes = {
862 // `Array.prototype.includes` method
863 // https://tc39.es/ecma262/#sec-array.prototype.includes
864 includes: createMethod$3(true),
865 // `Array.prototype.indexOf` method
866 // https://tc39.es/ecma262/#sec-array.prototype.indexof
867 indexOf: createMethod$3(false)
868 };
869
870 var uncurryThis$e = functionUncurryThis;
871 var hasOwn$2 = hasOwnProperty_1;
872 var toIndexedObject$2 = toIndexedObject$5;
873 var indexOf$1 = arrayIncludes.indexOf;
874 var hiddenKeys$2 = hiddenKeys$4;
875
876 var push$3 = uncurryThis$e([].push);
877
878 var objectKeysInternal = function (object, names) {
879 var O = toIndexedObject$2(object);
880 var i = 0;
881 var result = [];
882 var key;
883 for (key in O) !hasOwn$2(hiddenKeys$2, key) && hasOwn$2(O, key) && push$3(result, key);
884 // Don't enum bug & hidden keys
885 while (names.length > i) if (hasOwn$2(O, key = names[i++])) {
886 ~indexOf$1(result, key) || push$3(result, key);
887 }
888 return result;
889 };
890
891 // IE8- don't enum bug keys
892 var enumBugKeys$3 = [
893 'constructor',
894 'hasOwnProperty',
895 'isPrototypeOf',
896 'propertyIsEnumerable',
897 'toLocaleString',
898 'toString',
899 'valueOf'
900 ];
901
902 var internalObjectKeys$1 = objectKeysInternal;
903 var enumBugKeys$2 = enumBugKeys$3;
904
905 var hiddenKeys$1 = enumBugKeys$2.concat('length', 'prototype');
906
907 // `Object.getOwnPropertyNames` method
908 // https://tc39.es/ecma262/#sec-object.getownpropertynames
909 // eslint-disable-next-line es/no-object-getownpropertynames -- safe
910 objectGetOwnPropertyNames.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
911 return internalObjectKeys$1(O, hiddenKeys$1);
912 };
913
914 var objectGetOwnPropertySymbols = {};
915
916 // eslint-disable-next-line es/no-object-getownpropertysymbols -- safe
917 objectGetOwnPropertySymbols.f = Object.getOwnPropertySymbols;
918
919 var getBuiltIn$2 = getBuiltIn$4;
920 var uncurryThis$d = functionUncurryThis;
921 var getOwnPropertyNamesModule = objectGetOwnPropertyNames;
922 var getOwnPropertySymbolsModule = objectGetOwnPropertySymbols;
923 var anObject$7 = anObject$9;
924
925 var concat$1 = uncurryThis$d([].concat);
926
927 // all object keys, includes non-enumerable and symbols
928 var ownKeys$1 = getBuiltIn$2('Reflect', 'ownKeys') || function ownKeys(it) {
929 var keys = getOwnPropertyNamesModule.f(anObject$7(it));
930 var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;
931 return getOwnPropertySymbols ? concat$1(keys, getOwnPropertySymbols(it)) : keys;
932 };
933
934 var hasOwn$1 = hasOwnProperty_1;
935 var ownKeys = ownKeys$1;
936 var getOwnPropertyDescriptorModule = objectGetOwnPropertyDescriptor;
937 var definePropertyModule$2 = objectDefineProperty;
938
939 var copyConstructorProperties$1 = function (target, source, exceptions) {
940 var keys = ownKeys(source);
941 var defineProperty = definePropertyModule$2.f;
942 var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;
943 for (var i = 0; i < keys.length; i++) {
944 var key = keys[i];
945 if (!hasOwn$1(target, key) && !(exceptions && hasOwn$1(exceptions, key))) {
946 defineProperty(target, key, getOwnPropertyDescriptor(source, key));
947 }
948 }
949 };
950
951 var fails$e = fails$m;
952 var isCallable$4 = isCallable$e;
953
954 var replacement = /#|\.prototype\./;
955
956 var isForced$1 = function (feature, detection) {
957 var value = data[normalize(feature)];
958 return value == POLYFILL ? true
959 : value == NATIVE ? false
960 : isCallable$4(detection) ? fails$e(detection)
961 : !!detection;
962 };
963
964 var normalize = isForced$1.normalize = function (string) {
965 return String(string).replace(replacement, '.').toLowerCase();
966 };
967
968 var data = isForced$1.data = {};
969 var NATIVE = isForced$1.NATIVE = 'N';
970 var POLYFILL = isForced$1.POLYFILL = 'P';
971
972 var isForced_1 = isForced$1;
973
974 var global$5 = global$e;
975 var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;
976 var createNonEnumerableProperty$2 = createNonEnumerableProperty$4;
977 var defineBuiltIn$3 = defineBuiltIn$4;
978 var defineGlobalProperty = defineGlobalProperty$3;
979 var copyConstructorProperties = copyConstructorProperties$1;
980 var isForced = isForced_1;
981
982 /*
983 options.target - name of the target object
984 options.global - target is the global object
985 options.stat - export as static methods of target
986 options.proto - export as prototype methods of target
987 options.real - real prototype method for the `pure` version
988 options.forced - export even if the native feature is available
989 options.bind - bind methods to the target, required for the `pure` version
990 options.wrap - wrap constructors to preventing global pollution, required for the `pure` version
991 options.unsafe - use the simple assignment of property instead of delete + defineProperty
992 options.sham - add a flag to not completely full polyfills
993 options.enumerable - export as enumerable property
994 options.dontCallGetSet - prevent calling a getter on target
995 options.name - the .name of the function if it does not match the key
996 */
997 var _export = function (options, source) {
998 var TARGET = options.target;
999 var GLOBAL = options.global;
1000 var STATIC = options.stat;
1001 var FORCED, target, key, targetProperty, sourceProperty, descriptor;
1002 if (GLOBAL) {
1003 target = global$5;
1004 } else if (STATIC) {
1005 target = global$5[TARGET] || defineGlobalProperty(TARGET, {});
1006 } else {
1007 target = (global$5[TARGET] || {}).prototype;
1008 }
1009 if (target) for (key in source) {
1010 sourceProperty = source[key];
1011 if (options.dontCallGetSet) {
1012 descriptor = getOwnPropertyDescriptor(target, key);
1013 targetProperty = descriptor && descriptor.value;
1014 } else targetProperty = target[key];
1015 FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);
1016 // contained in target
1017 if (!FORCED && targetProperty !== undefined) {
1018 if (typeof sourceProperty == typeof targetProperty) continue;
1019 copyConstructorProperties(sourceProperty, targetProperty);
1020 }
1021 // add a flag to not completely full polyfills
1022 if (options.sham || (targetProperty && targetProperty.sham)) {
1023 createNonEnumerableProperty$2(sourceProperty, 'sham', true);
1024 }
1025 defineBuiltIn$3(target, key, sourceProperty, options);
1026 }
1027 };
1028
1029 var classofRaw$1 = classofRaw$2;
1030 var uncurryThis$c = functionUncurryThis;
1031
1032 var functionUncurryThisClause = function (fn) {
1033 // Nashorn bug:
1034 // https://github.com/zloirock/core-js/issues/1128
1035 // https://github.com/zloirock/core-js/issues/1130
1036 if (classofRaw$1(fn) === 'Function') return uncurryThis$c(fn);
1037 };
1038
1039 var uncurryThis$b = functionUncurryThisClause;
1040 var aCallable$1 = aCallable$3;
1041 var NATIVE_BIND$1 = functionBindNative;
1042
1043 var bind$1 = uncurryThis$b(uncurryThis$b.bind);
1044
1045 // optional / simple context binding
1046 var functionBindContext = function (fn, that) {
1047 aCallable$1(fn);
1048 return that === undefined ? fn : NATIVE_BIND$1 ? bind$1(fn, that) : function (/* ...args */) {
1049 return fn.apply(that, arguments);
1050 };
1051 };
1052
1053 var classof$5 = classofRaw$2;
1054
1055 // `IsArray` abstract operation
1056 // https://tc39.es/ecma262/#sec-isarray
1057 // eslint-disable-next-line es/no-array-isarray -- safe
1058 var isArray$2 = Array.isArray || function isArray(argument) {
1059 return classof$5(argument) == 'Array';
1060 };
1061
1062 var wellKnownSymbol$7 = wellKnownSymbol$9;
1063
1064 var TO_STRING_TAG$1 = wellKnownSymbol$7('toStringTag');
1065 var test$1 = {};
1066
1067 test$1[TO_STRING_TAG$1] = 'z';
1068
1069 var toStringTagSupport = String(test$1) === '[object z]';
1070
1071 var TO_STRING_TAG_SUPPORT$2 = toStringTagSupport;
1072 var isCallable$3 = isCallable$e;
1073 var classofRaw = classofRaw$2;
1074 var wellKnownSymbol$6 = wellKnownSymbol$9;
1075
1076 var TO_STRING_TAG = wellKnownSymbol$6('toStringTag');
1077 var $Object = Object;
1078
1079 // ES3 wrong here
1080 var CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';
1081
1082 // fallback for IE11 Script Access Denied error
1083 var tryGet = function (it, key) {
1084 try {
1085 return it[key];
1086 } catch (error) { /* empty */ }
1087 };
1088
1089 // getting tag from ES6+ `Object.prototype.toString`
1090 var classof$4 = TO_STRING_TAG_SUPPORT$2 ? classofRaw : function (it) {
1091 var O, tag, result;
1092 return it === undefined ? 'Undefined' : it === null ? 'Null'
1093 // @@toStringTag case
1094 : typeof (tag = tryGet(O = $Object(it), TO_STRING_TAG)) == 'string' ? tag
1095 // builtinTag case
1096 : CORRECT_ARGUMENTS ? classofRaw(O)
1097 // ES3 arguments fallback
1098 : (result = classofRaw(O)) == 'Object' && isCallable$3(O.callee) ? 'Arguments' : result;
1099 };
1100
1101 var uncurryThis$a = functionUncurryThis;
1102 var fails$d = fails$m;
1103 var isCallable$2 = isCallable$e;
1104 var classof$3 = classof$4;
1105 var getBuiltIn$1 = getBuiltIn$4;
1106 var inspectSource = inspectSource$2;
1107
1108 var noop = function () { /* empty */ };
1109 var empty = [];
1110 var construct = getBuiltIn$1('Reflect', 'construct');
1111 var constructorRegExp = /^\s*(?:class|function)\b/;
1112 var exec$1 = uncurryThis$a(constructorRegExp.exec);
1113 var INCORRECT_TO_STRING = !constructorRegExp.exec(noop);
1114
1115 var isConstructorModern = function isConstructor(argument) {
1116 if (!isCallable$2(argument)) return false;
1117 try {
1118 construct(noop, empty, argument);
1119 return true;
1120 } catch (error) {
1121 return false;
1122 }
1123 };
1124
1125 var isConstructorLegacy = function isConstructor(argument) {
1126 if (!isCallable$2(argument)) return false;
1127 switch (classof$3(argument)) {
1128 case 'AsyncFunction':
1129 case 'GeneratorFunction':
1130 case 'AsyncGeneratorFunction': return false;
1131 }
1132 try {
1133 // we can't check .prototype since constructors produced by .bind haven't it
1134 // `Function#toString` throws on some built-it function in some legacy engines
1135 // (for example, `DOMQuad` and similar in FF41-)
1136 return INCORRECT_TO_STRING || !!exec$1(constructorRegExp, inspectSource(argument));
1137 } catch (error) {
1138 return true;
1139 }
1140 };
1141
1142 isConstructorLegacy.sham = true;
1143
1144 // `IsConstructor` abstract operation
1145 // https://tc39.es/ecma262/#sec-isconstructor
1146 var isConstructor$1 = !construct || fails$d(function () {
1147 var called;
1148 return isConstructorModern(isConstructorModern.call)
1149 || !isConstructorModern(Object)
1150 || !isConstructorModern(function () { called = true; })
1151 || called;
1152 }) ? isConstructorLegacy : isConstructorModern;
1153
1154 var isArray$1 = isArray$2;
1155 var isConstructor = isConstructor$1;
1156 var isObject$1 = isObject$7;
1157 var wellKnownSymbol$5 = wellKnownSymbol$9;
1158
1159 var SPECIES$2 = wellKnownSymbol$5('species');
1160 var $Array$1 = Array;
1161
1162 // a part of `ArraySpeciesCreate` abstract operation
1163 // https://tc39.es/ecma262/#sec-arrayspeciescreate
1164 var arraySpeciesConstructor$1 = function (originalArray) {
1165 var C;
1166 if (isArray$1(originalArray)) {
1167 C = originalArray.constructor;
1168 // cross-realm fallback
1169 if (isConstructor(C) && (C === $Array$1 || isArray$1(C.prototype))) C = undefined;
1170 else if (isObject$1(C)) {
1171 C = C[SPECIES$2];
1172 if (C === null) C = undefined;
1173 }
1174 } return C === undefined ? $Array$1 : C;
1175 };
1176
1177 var arraySpeciesConstructor = arraySpeciesConstructor$1;
1178
1179 // `ArraySpeciesCreate` abstract operation
1180 // https://tc39.es/ecma262/#sec-arrayspeciescreate
1181 var arraySpeciesCreate$2 = function (originalArray, length) {
1182 return new (arraySpeciesConstructor(originalArray))(length === 0 ? 0 : length);
1183 };
1184
1185 var bind = functionBindContext;
1186 var uncurryThis$9 = functionUncurryThis;
1187 var IndexedObject$1 = indexedObject;
1188 var toObject$4 = toObject$6;
1189 var lengthOfArrayLike$3 = lengthOfArrayLike$5;
1190 var arraySpeciesCreate$1 = arraySpeciesCreate$2;
1191
1192 var push$2 = uncurryThis$9([].push);
1193
1194 // `Array.prototype.{ forEach, map, filter, some, every, find, findIndex, filterReject }` methods implementation
1195 var createMethod$2 = function (TYPE) {
1196 var IS_MAP = TYPE == 1;
1197 var IS_FILTER = TYPE == 2;
1198 var IS_SOME = TYPE == 3;
1199 var IS_EVERY = TYPE == 4;
1200 var IS_FIND_INDEX = TYPE == 6;
1201 var IS_FILTER_REJECT = TYPE == 7;
1202 var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;
1203 return function ($this, callbackfn, that, specificCreate) {
1204 var O = toObject$4($this);
1205 var self = IndexedObject$1(O);
1206 var boundFunction = bind(callbackfn, that);
1207 var length = lengthOfArrayLike$3(self);
1208 var index = 0;
1209 var create = specificCreate || arraySpeciesCreate$1;
1210 var target = IS_MAP ? create($this, length) : IS_FILTER || IS_FILTER_REJECT ? create($this, 0) : undefined;
1211 var value, result;
1212 for (;length > index; index++) if (NO_HOLES || index in self) {
1213 value = self[index];
1214 result = boundFunction(value, index, O);
1215 if (TYPE) {
1216 if (IS_MAP) target[index] = result; // map
1217 else if (result) switch (TYPE) {
1218 case 3: return true; // some
1219 case 5: return value; // find
1220 case 6: return index; // findIndex
1221 case 2: push$2(target, value); // filter
1222 } else switch (TYPE) {
1223 case 4: return false; // every
1224 case 7: push$2(target, value); // filterReject
1225 }
1226 }
1227 }
1228 return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;
1229 };
1230 };
1231
1232 var arrayIteration = {
1233 // `Array.prototype.forEach` method
1234 // https://tc39.es/ecma262/#sec-array.prototype.foreach
1235 forEach: createMethod$2(0),
1236 // `Array.prototype.map` method
1237 // https://tc39.es/ecma262/#sec-array.prototype.map
1238 map: createMethod$2(1),
1239 // `Array.prototype.filter` method
1240 // https://tc39.es/ecma262/#sec-array.prototype.filter
1241 filter: createMethod$2(2),
1242 // `Array.prototype.some` method
1243 // https://tc39.es/ecma262/#sec-array.prototype.some
1244 some: createMethod$2(3),
1245 // `Array.prototype.every` method
1246 // https://tc39.es/ecma262/#sec-array.prototype.every
1247 every: createMethod$2(4),
1248 // `Array.prototype.find` method
1249 // https://tc39.es/ecma262/#sec-array.prototype.find
1250 find: createMethod$2(5),
1251 // `Array.prototype.findIndex` method
1252 // https://tc39.es/ecma262/#sec-array.prototype.findIndex
1253 findIndex: createMethod$2(6),
1254 // `Array.prototype.filterReject` method
1255 // https://github.com/tc39/proposal-array-filtering
1256 filterReject: createMethod$2(7)
1257 };
1258
1259 var objectDefineProperties = {};
1260
1261 var internalObjectKeys = objectKeysInternal;
1262 var enumBugKeys$1 = enumBugKeys$3;
1263
1264 // `Object.keys` method
1265 // https://tc39.es/ecma262/#sec-object.keys
1266 // eslint-disable-next-line es/no-object-keys -- safe
1267 var objectKeys$1 = Object.keys || function keys(O) {
1268 return internalObjectKeys(O, enumBugKeys$1);
1269 };
1270
1271 var DESCRIPTORS = descriptors;
1272 var V8_PROTOTYPE_DEFINE_BUG = v8PrototypeDefineBug;
1273 var definePropertyModule$1 = objectDefineProperty;
1274 var anObject$6 = anObject$9;
1275 var toIndexedObject$1 = toIndexedObject$5;
1276 var objectKeys = objectKeys$1;
1277
1278 // `Object.defineProperties` method
1279 // https://tc39.es/ecma262/#sec-object.defineproperties
1280 // eslint-disable-next-line es/no-object-defineproperties -- safe
1281 objectDefineProperties.f = DESCRIPTORS && !V8_PROTOTYPE_DEFINE_BUG ? Object.defineProperties : function defineProperties(O, Properties) {
1282 anObject$6(O);
1283 var props = toIndexedObject$1(Properties);
1284 var keys = objectKeys(Properties);
1285 var length = keys.length;
1286 var index = 0;
1287 var key;
1288 while (length > index) definePropertyModule$1.f(O, key = keys[index++], props[key]);
1289 return O;
1290 };
1291
1292 var getBuiltIn = getBuiltIn$4;
1293
1294 var html$1 = getBuiltIn('document', 'documentElement');
1295
1296 /* global ActiveXObject -- old IE, WSH */
1297
1298 var anObject$5 = anObject$9;
1299 var definePropertiesModule = objectDefineProperties;
1300 var enumBugKeys = enumBugKeys$3;
1301 var hiddenKeys = hiddenKeys$4;
1302 var html = html$1;
1303 var documentCreateElement$1 = documentCreateElement$2;
1304 var sharedKey = sharedKey$2;
1305
1306 var GT = '>';
1307 var LT = '<';
1308 var PROTOTYPE = 'prototype';
1309 var SCRIPT = 'script';
1310 var IE_PROTO = sharedKey('IE_PROTO');
1311
1312 var EmptyConstructor = function () { /* empty */ };
1313
1314 var scriptTag = function (content) {
1315 return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;
1316 };
1317
1318 // Create object with fake `null` prototype: use ActiveX Object with cleared prototype
1319 var NullProtoObjectViaActiveX = function (activeXDocument) {
1320 activeXDocument.write(scriptTag(''));
1321 activeXDocument.close();
1322 var temp = activeXDocument.parentWindow.Object;
1323 activeXDocument = null; // avoid memory leak
1324 return temp;
1325 };
1326
1327 // Create object with fake `null` prototype: use iframe Object with cleared prototype
1328 var NullProtoObjectViaIFrame = function () {
1329 // Thrash, waste and sodomy: IE GC bug
1330 var iframe = documentCreateElement$1('iframe');
1331 var JS = 'java' + SCRIPT + ':';
1332 var iframeDocument;
1333 iframe.style.display = 'none';
1334 html.appendChild(iframe);
1335 // https://github.com/zloirock/core-js/issues/475
1336 iframe.src = String(JS);
1337 iframeDocument = iframe.contentWindow.document;
1338 iframeDocument.open();
1339 iframeDocument.write(scriptTag('document.F=Object'));
1340 iframeDocument.close();
1341 return iframeDocument.F;
1342 };
1343
1344 // Check for document.domain and active x support
1345 // No need to use active x approach when document.domain is not set
1346 // see https://github.com/es-shims/es5-shim/issues/150
1347 // variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346
1348 // avoid IE GC bug
1349 var activeXDocument;
1350 var NullProtoObject = function () {
1351 try {
1352 activeXDocument = new ActiveXObject('htmlfile');
1353 } catch (error) { /* ignore */ }
1354 NullProtoObject = typeof document != 'undefined'
1355 ? document.domain && activeXDocument
1356 ? NullProtoObjectViaActiveX(activeXDocument) // old IE
1357 : NullProtoObjectViaIFrame()
1358 : NullProtoObjectViaActiveX(activeXDocument); // WSH
1359 var length = enumBugKeys.length;
1360 while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];
1361 return NullProtoObject();
1362 };
1363
1364 hiddenKeys[IE_PROTO] = true;
1365
1366 // `Object.create` method
1367 // https://tc39.es/ecma262/#sec-object.create
1368 // eslint-disable-next-line es/no-object-create -- safe
1369 var objectCreate = Object.create || function create(O, Properties) {
1370 var result;
1371 if (O !== null) {
1372 EmptyConstructor[PROTOTYPE] = anObject$5(O);
1373 result = new EmptyConstructor();
1374 EmptyConstructor[PROTOTYPE] = null;
1375 // add "__proto__" for Object.getPrototypeOf polyfill
1376 result[IE_PROTO] = O;
1377 } else result = NullProtoObject();
1378 return Properties === undefined ? result : definePropertiesModule.f(result, Properties);
1379 };
1380
1381 var wellKnownSymbol$4 = wellKnownSymbol$9;
1382 var create$1 = objectCreate;
1383 var defineProperty = objectDefineProperty.f;
1384
1385 var UNSCOPABLES = wellKnownSymbol$4('unscopables');
1386 var ArrayPrototype = Array.prototype;
1387
1388 // Array.prototype[@@unscopables]
1389 // https://tc39.es/ecma262/#sec-array.prototype-@@unscopables
1390 if (ArrayPrototype[UNSCOPABLES] == undefined) {
1391 defineProperty(ArrayPrototype, UNSCOPABLES, {
1392 configurable: true,
1393 value: create$1(null)
1394 });
1395 }
1396
1397 // add a key to Array.prototype[@@unscopables]
1398 var addToUnscopables$2 = function (key) {
1399 ArrayPrototype[UNSCOPABLES][key] = true;
1400 };
1401
1402 var $$9 = _export;
1403 var $find = arrayIteration.find;
1404 var addToUnscopables$1 = addToUnscopables$2;
1405
1406 var FIND = 'find';
1407 var SKIPS_HOLES = true;
1408
1409 // Shouldn't skip holes
1410 if (FIND in []) Array(1)[FIND](function () { SKIPS_HOLES = false; });
1411
1412 // `Array.prototype.find` method
1413 // https://tc39.es/ecma262/#sec-array.prototype.find
1414 $$9({ target: 'Array', proto: true, forced: SKIPS_HOLES }, {
1415 find: function find(callbackfn /* , that = undefined */) {
1416 return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
1417 }
1418 });
1419
1420 // https://tc39.es/ecma262/#sec-array.prototype-@@unscopables
1421 addToUnscopables$1(FIND);
1422
1423 var TO_STRING_TAG_SUPPORT$1 = toStringTagSupport;
1424 var classof$2 = classof$4;
1425
1426 // `Object.prototype.toString` method implementation
1427 // https://tc39.es/ecma262/#sec-object.prototype.tostring
1428 var objectToString = TO_STRING_TAG_SUPPORT$1 ? {}.toString : function toString() {
1429 return '[object ' + classof$2(this) + ']';
1430 };
1431
1432 var TO_STRING_TAG_SUPPORT = toStringTagSupport;
1433 var defineBuiltIn$2 = defineBuiltIn$4;
1434 var toString$7 = objectToString;
1435
1436 // `Object.prototype.toString` method
1437 // https://tc39.es/ecma262/#sec-object.prototype.tostring
1438 if (!TO_STRING_TAG_SUPPORT) {
1439 defineBuiltIn$2(Object.prototype, 'toString', toString$7, { unsafe: true });
1440 }
1441
1442 var classof$1 = classof$4;
1443
1444 var $String = String;
1445
1446 var toString$6 = function (argument) {
1447 if (classof$1(argument) === 'Symbol') throw TypeError('Cannot convert a Symbol value to a string');
1448 return $String(argument);
1449 };
1450
1451 // a string of all valid unicode whitespaces
1452 var whitespaces$2 = '\u0009\u000A\u000B\u000C\u000D\u0020\u00A0\u1680\u2000\u2001\u2002' +
1453 '\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF';
1454
1455 var uncurryThis$8 = functionUncurryThis;
1456 var requireObjectCoercible$3 = requireObjectCoercible$6;
1457 var toString$5 = toString$6;
1458 var whitespaces$1 = whitespaces$2;
1459
1460 var replace$2 = uncurryThis$8(''.replace);
1461 var ltrim = RegExp('^[' + whitespaces$1 + ']+');
1462 var rtrim = RegExp('(^|[^' + whitespaces$1 + '])[' + whitespaces$1 + ']+$');
1463
1464 // `String.prototype.{ trim, trimStart, trimEnd, trimLeft, trimRight }` methods implementation
1465 var createMethod$1 = function (TYPE) {
1466 return function ($this) {
1467 var string = toString$5(requireObjectCoercible$3($this));
1468 if (TYPE & 1) string = replace$2(string, ltrim, '');
1469 if (TYPE & 2) string = replace$2(string, rtrim, '$1');
1470 return string;
1471 };
1472 };
1473
1474 var stringTrim = {
1475 // `String.prototype.{ trimLeft, trimStart }` methods
1476 // https://tc39.es/ecma262/#sec-string.prototype.trimstart
1477 start: createMethod$1(1),
1478 // `String.prototype.{ trimRight, trimEnd }` methods
1479 // https://tc39.es/ecma262/#sec-string.prototype.trimend
1480 end: createMethod$1(2),
1481 // `String.prototype.trim` method
1482 // https://tc39.es/ecma262/#sec-string.prototype.trim
1483 trim: createMethod$1(3)
1484 };
1485
1486 var PROPER_FUNCTION_NAME$1 = functionName.PROPER;
1487 var fails$c = fails$m;
1488 var whitespaces = whitespaces$2;
1489
1490 var non = '\u200B\u0085\u180E';
1491
1492 // check that a method works with the correct list
1493 // of whitespaces and has a correct name
1494 var stringTrimForced = function (METHOD_NAME) {
1495 return fails$c(function () {
1496 return !!whitespaces[METHOD_NAME]()
1497 || non[METHOD_NAME]() !== non
1498 || (PROPER_FUNCTION_NAME$1 && whitespaces[METHOD_NAME].name !== METHOD_NAME);
1499 });
1500 };
1501
1502 var $$8 = _export;
1503 var $trim = stringTrim.trim;
1504 var forcedStringTrimMethod = stringTrimForced;
1505
1506 // `String.prototype.trim` method
1507 // https://tc39.es/ecma262/#sec-string.prototype.trim
1508 $$8({ target: 'String', proto: true, forced: forcedStringTrimMethod('trim') }, {
1509 trim: function trim() {
1510 return $trim(this);
1511 }
1512 });
1513
1514 var anObject$4 = anObject$9;
1515
1516 // `RegExp.prototype.flags` getter implementation
1517 // https://tc39.es/ecma262/#sec-get-regexp.prototype.flags
1518 var regexpFlags$1 = function () {
1519 var that = anObject$4(this);
1520 var result = '';
1521 if (that.hasIndices) result += 'd';
1522 if (that.global) result += 'g';
1523 if (that.ignoreCase) result += 'i';
1524 if (that.multiline) result += 'm';
1525 if (that.dotAll) result += 's';
1526 if (that.unicode) result += 'u';
1527 if (that.unicodeSets) result += 'v';
1528 if (that.sticky) result += 'y';
1529 return result;
1530 };
1531
1532 var call$5 = functionCall;
1533 var hasOwn = hasOwnProperty_1;
1534 var isPrototypeOf = objectIsPrototypeOf;
1535 var regExpFlags = regexpFlags$1;
1536
1537 var RegExpPrototype$2 = RegExp.prototype;
1538
1539 var regexpGetFlags = function (R) {
1540 var flags = R.flags;
1541 return flags === undefined && !('flags' in RegExpPrototype$2) && !hasOwn(R, 'flags') && isPrototypeOf(RegExpPrototype$2, R)
1542 ? call$5(regExpFlags, R) : flags;
1543 };
1544
1545 var PROPER_FUNCTION_NAME = functionName.PROPER;
1546 var defineBuiltIn$1 = defineBuiltIn$4;
1547 var anObject$3 = anObject$9;
1548 var $toString = toString$6;
1549 var fails$b = fails$m;
1550 var getRegExpFlags = regexpGetFlags;
1551
1552 var TO_STRING = 'toString';
1553 var RegExpPrototype$1 = RegExp.prototype;
1554 var nativeToString = RegExpPrototype$1[TO_STRING];
1555
1556 var NOT_GENERIC = fails$b(function () { return nativeToString.call({ source: 'a', flags: 'b' }) != '/a/b'; });
1557 // FF44- RegExp#toString has a wrong name
1558 var INCORRECT_NAME = PROPER_FUNCTION_NAME && nativeToString.name != TO_STRING;
1559
1560 // `RegExp.prototype.toString` method
1561 // https://tc39.es/ecma262/#sec-regexp.prototype.tostring
1562 if (NOT_GENERIC || INCORRECT_NAME) {
1563 defineBuiltIn$1(RegExp.prototype, TO_STRING, function toString() {
1564 var R = anObject$3(this);
1565 var pattern = $toString(R.source);
1566 var flags = $toString(getRegExpFlags(R));
1567 return '/' + pattern + '/' + flags;
1568 }, { unsafe: true });
1569 }
1570
1571 var tryToString = tryToString$2;
1572
1573 var $TypeError$2 = TypeError;
1574
1575 var deletePropertyOrThrow$1 = function (O, P) {
1576 if (!delete O[P]) throw $TypeError$2('Cannot delete property ' + tryToString(P) + ' of ' + tryToString(O));
1577 };
1578
1579 var toPropertyKey = toPropertyKey$3;
1580 var definePropertyModule = objectDefineProperty;
1581 var createPropertyDescriptor = createPropertyDescriptor$3;
1582
1583 var createProperty$2 = function (object, key, value) {
1584 var propertyKey = toPropertyKey(key);
1585 if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));
1586 else object[propertyKey] = value;
1587 };
1588
1589 var toAbsoluteIndex = toAbsoluteIndex$2;
1590 var lengthOfArrayLike$2 = lengthOfArrayLike$5;
1591 var createProperty$1 = createProperty$2;
1592
1593 var $Array = Array;
1594 var max$1 = Math.max;
1595
1596 var arraySliceSimple = function (O, start, end) {
1597 var length = lengthOfArrayLike$2(O);
1598 var k = toAbsoluteIndex(start, length);
1599 var fin = toAbsoluteIndex(end === undefined ? length : end, length);
1600 var result = $Array(max$1(fin - k, 0));
1601 for (var n = 0; k < fin; k++, n++) createProperty$1(result, n, O[k]);
1602 result.length = n;
1603 return result;
1604 };
1605
1606 var arraySlice = arraySliceSimple;
1607
1608 var floor$1 = Math.floor;
1609
1610 var mergeSort = function (array, comparefn) {
1611 var length = array.length;
1612 var middle = floor$1(length / 2);
1613 return length < 8 ? insertionSort(array, comparefn) : merge(
1614 array,
1615 mergeSort(arraySlice(array, 0, middle), comparefn),
1616 mergeSort(arraySlice(array, middle), comparefn),
1617 comparefn
1618 );
1619 };
1620
1621 var insertionSort = function (array, comparefn) {
1622 var length = array.length;
1623 var i = 1;
1624 var element, j;
1625
1626 while (i < length) {
1627 j = i;
1628 element = array[i];
1629 while (j && comparefn(array[j - 1], element) > 0) {
1630 array[j] = array[--j];
1631 }
1632 if (j !== i++) array[j] = element;
1633 } return array;
1634 };
1635
1636 var merge = function (array, left, right, comparefn) {
1637 var llength = left.length;
1638 var rlength = right.length;
1639 var lindex = 0;
1640 var rindex = 0;
1641
1642 while (lindex < llength || rindex < rlength) {
1643 array[lindex + rindex] = (lindex < llength && rindex < rlength)
1644 ? comparefn(left[lindex], right[rindex]) <= 0 ? left[lindex++] : right[rindex++]
1645 : lindex < llength ? left[lindex++] : right[rindex++];
1646 } return array;
1647 };
1648
1649 var arraySort = mergeSort;
1650
1651 var fails$a = fails$m;
1652
1653 var arrayMethodIsStrict$4 = function (METHOD_NAME, argument) {
1654 var method = [][METHOD_NAME];
1655 return !!method && fails$a(function () {
1656 // eslint-disable-next-line no-useless-call -- required for testing
1657 method.call(null, argument || function () { return 1; }, 1);
1658 });
1659 };
1660
1661 var userAgent$1 = engineUserAgent;
1662
1663 var firefox = userAgent$1.match(/firefox\/(\d+)/i);
1664
1665 var engineFfVersion = !!firefox && +firefox[1];
1666
1667 var UA = engineUserAgent;
1668
1669 var engineIsIeOrEdge = /MSIE|Trident/.test(UA);
1670
1671 var userAgent = engineUserAgent;
1672
1673 var webkit = userAgent.match(/AppleWebKit\/(\d+)\./);
1674
1675 var engineWebkitVersion = !!webkit && +webkit[1];
1676
1677 var $$7 = _export;
1678 var uncurryThis$7 = functionUncurryThis;
1679 var aCallable = aCallable$3;
1680 var toObject$3 = toObject$6;
1681 var lengthOfArrayLike$1 = lengthOfArrayLike$5;
1682 var deletePropertyOrThrow = deletePropertyOrThrow$1;
1683 var toString$4 = toString$6;
1684 var fails$9 = fails$m;
1685 var internalSort = arraySort;
1686 var arrayMethodIsStrict$3 = arrayMethodIsStrict$4;
1687 var FF = engineFfVersion;
1688 var IE_OR_EDGE = engineIsIeOrEdge;
1689 var V8 = engineV8Version;
1690 var WEBKIT = engineWebkitVersion;
1691
1692 var test = [];
1693 var nativeSort = uncurryThis$7(test.sort);
1694 var push$1 = uncurryThis$7(test.push);
1695
1696 // IE8-
1697 var FAILS_ON_UNDEFINED = fails$9(function () {
1698 test.sort(undefined);
1699 });
1700 // V8 bug
1701 var FAILS_ON_NULL = fails$9(function () {
1702 test.sort(null);
1703 });
1704 // Old WebKit
1705 var STRICT_METHOD$1 = arrayMethodIsStrict$3('sort');
1706
1707 var STABLE_SORT = !fails$9(function () {
1708 // feature detection can be too slow, so check engines versions
1709 if (V8) return V8 < 70;
1710 if (FF && FF > 3) return;
1711 if (IE_OR_EDGE) return true;
1712 if (WEBKIT) return WEBKIT < 603;
1713
1714 var result = '';
1715 var code, chr, value, index;
1716
1717 // generate an array with more 512 elements (Chakra and old V8 fails only in this case)
1718 for (code = 65; code < 76; code++) {
1719 chr = String.fromCharCode(code);
1720
1721 switch (code) {
1722 case 66: case 69: case 70: case 72: value = 3; break;
1723 case 68: case 71: value = 4; break;
1724 default: value = 2;
1725 }
1726
1727 for (index = 0; index < 47; index++) {
1728 test.push({ k: chr + index, v: value });
1729 }
1730 }
1731
1732 test.sort(function (a, b) { return b.v - a.v; });
1733
1734 for (index = 0; index < test.length; index++) {
1735 chr = test[index].k.charAt(0);
1736 if (result.charAt(result.length - 1) !== chr) result += chr;
1737 }
1738
1739 return result !== 'DGBEFHACIJK';
1740 });
1741
1742 var FORCED$3 = FAILS_ON_UNDEFINED || !FAILS_ON_NULL || !STRICT_METHOD$1 || !STABLE_SORT;
1743
1744 var getSortCompare = function (comparefn) {
1745 return function (x, y) {
1746 if (y === undefined) return -1;
1747 if (x === undefined) return 1;
1748 if (comparefn !== undefined) return +comparefn(x, y) || 0;
1749 return toString$4(x) > toString$4(y) ? 1 : -1;
1750 };
1751 };
1752
1753 // `Array.prototype.sort` method
1754 // https://tc39.es/ecma262/#sec-array.prototype.sort
1755 $$7({ target: 'Array', proto: true, forced: FORCED$3 }, {
1756 sort: function sort(comparefn) {
1757 if (comparefn !== undefined) aCallable(comparefn);
1758
1759 var array = toObject$3(this);
1760
1761 if (STABLE_SORT) return comparefn === undefined ? nativeSort(array) : nativeSort(array, comparefn);
1762
1763 var items = [];
1764 var arrayLength = lengthOfArrayLike$1(array);
1765 var itemsLength, index;
1766
1767 for (index = 0; index < arrayLength; index++) {
1768 if (index in array) push$1(items, array[index]);
1769 }
1770
1771 internalSort(items, getSortCompare(comparefn));
1772
1773 itemsLength = lengthOfArrayLike$1(items);
1774 index = 0;
1775
1776 while (index < itemsLength) array[index] = items[index++];
1777 while (index < arrayLength) deletePropertyOrThrow(array, index++);
1778
1779 return array;
1780 }
1781 });
1782
1783 var fails$8 = fails$m;
1784 var global$4 = global$e;
1785
1786 // babel-minify and Closure Compiler transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError
1787 var $RegExp$2 = global$4.RegExp;
1788
1789 var UNSUPPORTED_Y$1 = fails$8(function () {
1790 var re = $RegExp$2('a', 'y');
1791 re.lastIndex = 2;
1792 return re.exec('abcd') != null;
1793 });
1794
1795 // UC Browser bug
1796 // https://github.com/zloirock/core-js/issues/1008
1797 var MISSED_STICKY = UNSUPPORTED_Y$1 || fails$8(function () {
1798 return !$RegExp$2('a', 'y').sticky;
1799 });
1800
1801 var BROKEN_CARET = UNSUPPORTED_Y$1 || fails$8(function () {
1802 // https://bugzilla.mozilla.org/show_bug.cgi?id=773687
1803 var re = $RegExp$2('^r', 'gy');
1804 re.lastIndex = 2;
1805 return re.exec('str') != null;
1806 });
1807
1808 var regexpStickyHelpers = {
1809 BROKEN_CARET: BROKEN_CARET,
1810 MISSED_STICKY: MISSED_STICKY,
1811 UNSUPPORTED_Y: UNSUPPORTED_Y$1
1812 };
1813
1814 var fails$7 = fails$m;
1815 var global$3 = global$e;
1816
1817 // babel-minify and Closure Compiler transpiles RegExp('.', 's') -> /./s and it causes SyntaxError
1818 var $RegExp$1 = global$3.RegExp;
1819
1820 var regexpUnsupportedDotAll = fails$7(function () {
1821 var re = $RegExp$1('.', 's');
1822 return !(re.dotAll && re.exec('\n') && re.flags === 's');
1823 });
1824
1825 var fails$6 = fails$m;
1826 var global$2 = global$e;
1827
1828 // babel-minify and Closure Compiler transpiles RegExp('(?<a>b)', 'g') -> /(?<a>b)/g and it causes SyntaxError
1829 var $RegExp = global$2.RegExp;
1830
1831 var regexpUnsupportedNcg = fails$6(function () {
1832 var re = $RegExp('(?<a>b)', 'g');
1833 return re.exec('b').groups.a !== 'b' ||
1834 'b'.replace(re, '$<a>c') !== 'bc';
1835 });
1836
1837 /* eslint-disable regexp/no-empty-capturing-group, regexp/no-empty-group, regexp/no-lazy-ends -- testing */
1838 /* eslint-disable regexp/no-useless-quantifier -- testing */
1839 var call$4 = functionCall;
1840 var uncurryThis$6 = functionUncurryThis;
1841 var toString$3 = toString$6;
1842 var regexpFlags = regexpFlags$1;
1843 var stickyHelpers = regexpStickyHelpers;
1844 var shared = sharedExports;
1845 var create = objectCreate;
1846 var getInternalState = internalState.get;
1847 var UNSUPPORTED_DOT_ALL = regexpUnsupportedDotAll;
1848 var UNSUPPORTED_NCG = regexpUnsupportedNcg;
1849
1850 var nativeReplace = shared('native-string-replace', String.prototype.replace);
1851 var nativeExec = RegExp.prototype.exec;
1852 var patchedExec = nativeExec;
1853 var charAt$3 = uncurryThis$6(''.charAt);
1854 var indexOf = uncurryThis$6(''.indexOf);
1855 var replace$1 = uncurryThis$6(''.replace);
1856 var stringSlice$3 = uncurryThis$6(''.slice);
1857
1858 var UPDATES_LAST_INDEX_WRONG = (function () {
1859 var re1 = /a/;
1860 var re2 = /b*/g;
1861 call$4(nativeExec, re1, 'a');
1862 call$4(nativeExec, re2, 'a');
1863 return re1.lastIndex !== 0 || re2.lastIndex !== 0;
1864 })();
1865
1866 var UNSUPPORTED_Y = stickyHelpers.BROKEN_CARET;
1867
1868 // nonparticipating capturing group, copied from es5-shim's String#split patch.
1869 var NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;
1870
1871 var PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED || UNSUPPORTED_Y || UNSUPPORTED_DOT_ALL || UNSUPPORTED_NCG;
1872
1873 if (PATCH) {
1874 patchedExec = function exec(string) {
1875 var re = this;
1876 var state = getInternalState(re);
1877 var str = toString$3(string);
1878 var raw = state.raw;
1879 var result, reCopy, lastIndex, match, i, object, group;
1880
1881 if (raw) {
1882 raw.lastIndex = re.lastIndex;
1883 result = call$4(patchedExec, raw, str);
1884 re.lastIndex = raw.lastIndex;
1885 return result;
1886 }
1887
1888 var groups = state.groups;
1889 var sticky = UNSUPPORTED_Y && re.sticky;
1890 var flags = call$4(regexpFlags, re);
1891 var source = re.source;
1892 var charsAdded = 0;
1893 var strCopy = str;
1894
1895 if (sticky) {
1896 flags = replace$1(flags, 'y', '');
1897 if (indexOf(flags, 'g') === -1) {
1898 flags += 'g';
1899 }
1900
1901 strCopy = stringSlice$3(str, re.lastIndex);
1902 // Support anchored sticky behavior.
1903 if (re.lastIndex > 0 && (!re.multiline || re.multiline && charAt$3(str, re.lastIndex - 1) !== '\n')) {
1904 source = '(?: ' + source + ')';
1905 strCopy = ' ' + strCopy;
1906 charsAdded++;
1907 }
1908 // ^(? + rx + ) is needed, in combination with some str slicing, to
1909 // simulate the 'y' flag.
1910 reCopy = new RegExp('^(?:' + source + ')', flags);
1911 }
1912
1913 if (NPCG_INCLUDED) {
1914 reCopy = new RegExp('^' + source + '$(?!\\s)', flags);
1915 }
1916 if (UPDATES_LAST_INDEX_WRONG) lastIndex = re.lastIndex;
1917
1918 match = call$4(nativeExec, sticky ? reCopy : re, strCopy);
1919
1920 if (sticky) {
1921 if (match) {
1922 match.input = stringSlice$3(match.input, charsAdded);
1923 match[0] = stringSlice$3(match[0], charsAdded);
1924 match.index = re.lastIndex;
1925 re.lastIndex += match[0].length;
1926 } else re.lastIndex = 0;
1927 } else if (UPDATES_LAST_INDEX_WRONG && match) {
1928 re.lastIndex = re.global ? match.index + match[0].length : lastIndex;
1929 }
1930 if (NPCG_INCLUDED && match && match.length > 1) {
1931 // Fix browsers whose `exec` methods don't consistently return `undefined`
1932 // for NPCG, like IE8. NOTE: This doesn't work for /(.?)?/
1933 call$4(nativeReplace, match[0], reCopy, function () {
1934 for (i = 1; i < arguments.length - 2; i++) {
1935 if (arguments[i] === undefined) match[i] = undefined;
1936 }
1937 });
1938 }
1939
1940 if (match && groups) {
1941 match.groups = object = create(null);
1942 for (i = 0; i < groups.length; i++) {
1943 group = groups[i];
1944 object[group[0]] = match[group[1]];
1945 }
1946 }
1947
1948 return match;
1949 };
1950 }
1951
1952 var regexpExec$2 = patchedExec;
1953
1954 var $$6 = _export;
1955 var exec = regexpExec$2;
1956
1957 // `RegExp.prototype.exec` method
1958 // https://tc39.es/ecma262/#sec-regexp.prototype.exec
1959 $$6({ target: 'RegExp', proto: true, forced: /./.exec !== exec }, {
1960 exec: exec
1961 });
1962
1963 var NATIVE_BIND = functionBindNative;
1964
1965 var FunctionPrototype = Function.prototype;
1966 var apply$1 = FunctionPrototype.apply;
1967 var call$3 = FunctionPrototype.call;
1968
1969 // eslint-disable-next-line es/no-reflect -- safe
1970 var functionApply = typeof Reflect == 'object' && Reflect.apply || (NATIVE_BIND ? call$3.bind(apply$1) : function () {
1971 return call$3.apply(apply$1, arguments);
1972 });
1973
1974 // TODO: Remove from `core-js@4` since it's moved to entry points
1975
1976 var uncurryThis$5 = functionUncurryThisClause;
1977 var defineBuiltIn = defineBuiltIn$4;
1978 var regexpExec$1 = regexpExec$2;
1979 var fails$5 = fails$m;
1980 var wellKnownSymbol$3 = wellKnownSymbol$9;
1981 var createNonEnumerableProperty$1 = createNonEnumerableProperty$4;
1982
1983 var SPECIES$1 = wellKnownSymbol$3('species');
1984 var RegExpPrototype = RegExp.prototype;
1985
1986 var fixRegexpWellKnownSymbolLogic = function (KEY, exec, FORCED, SHAM) {
1987 var SYMBOL = wellKnownSymbol$3(KEY);
1988
1989 var DELEGATES_TO_SYMBOL = !fails$5(function () {
1990 // String methods call symbol-named RegEp methods
1991 var O = {};
1992 O[SYMBOL] = function () { return 7; };
1993 return ''[KEY](O) != 7;
1994 });
1995
1996 var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL && !fails$5(function () {
1997 // Symbol-named RegExp methods call .exec
1998 var execCalled = false;
1999 var re = /a/;
2000
2001 if (KEY === 'split') {
2002 // We can't use real regex here since it causes deoptimization
2003 // and serious performance degradation in V8
2004 // https://github.com/zloirock/core-js/issues/306
2005 re = {};
2006 // RegExp[@@split] doesn't call the regex's exec method, but first creates
2007 // a new one. We need to return the patched regex when creating the new one.
2008 re.constructor = {};
2009 re.constructor[SPECIES$1] = function () { return re; };
2010 re.flags = '';
2011 re[SYMBOL] = /./[SYMBOL];
2012 }
2013
2014 re.exec = function () { execCalled = true; return null; };
2015
2016 re[SYMBOL]('');
2017 return !execCalled;
2018 });
2019
2020 if (
2021 !DELEGATES_TO_SYMBOL ||
2022 !DELEGATES_TO_EXEC ||
2023 FORCED
2024 ) {
2025 var uncurriedNativeRegExpMethod = uncurryThis$5(/./[SYMBOL]);
2026 var methods = exec(SYMBOL, ''[KEY], function (nativeMethod, regexp, str, arg2, forceStringMethod) {
2027 var uncurriedNativeMethod = uncurryThis$5(nativeMethod);
2028 var $exec = regexp.exec;
2029 if ($exec === regexpExec$1 || $exec === RegExpPrototype.exec) {
2030 if (DELEGATES_TO_SYMBOL && !forceStringMethod) {
2031 // The native String method already delegates to @@method (this
2032 // polyfilled function), leasing to infinite recursion.
2033 // We avoid it by directly calling the native @@method method.
2034 return { done: true, value: uncurriedNativeRegExpMethod(regexp, str, arg2) };
2035 }
2036 return { done: true, value: uncurriedNativeMethod(str, regexp, arg2) };
2037 }
2038 return { done: false };
2039 });
2040
2041 defineBuiltIn(String.prototype, KEY, methods[0]);
2042 defineBuiltIn(RegExpPrototype, SYMBOL, methods[1]);
2043 }
2044
2045 if (SHAM) createNonEnumerableProperty$1(RegExpPrototype[SYMBOL], 'sham', true);
2046 };
2047
2048 var uncurryThis$4 = functionUncurryThis;
2049 var toIntegerOrInfinity$1 = toIntegerOrInfinity$4;
2050 var toString$2 = toString$6;
2051 var requireObjectCoercible$2 = requireObjectCoercible$6;
2052
2053 var charAt$2 = uncurryThis$4(''.charAt);
2054 var charCodeAt = uncurryThis$4(''.charCodeAt);
2055 var stringSlice$2 = uncurryThis$4(''.slice);
2056
2057 var createMethod = function (CONVERT_TO_STRING) {
2058 return function ($this, pos) {
2059 var S = toString$2(requireObjectCoercible$2($this));
2060 var position = toIntegerOrInfinity$1(pos);
2061 var size = S.length;
2062 var first, second;
2063 if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;
2064 first = charCodeAt(S, position);
2065 return first < 0xD800 || first > 0xDBFF || position + 1 === size
2066 || (second = charCodeAt(S, position + 1)) < 0xDC00 || second > 0xDFFF
2067 ? CONVERT_TO_STRING
2068 ? charAt$2(S, position)
2069 : first
2070 : CONVERT_TO_STRING
2071 ? stringSlice$2(S, position, position + 2)
2072 : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;
2073 };
2074 };
2075
2076 var stringMultibyte = {
2077 // `String.prototype.codePointAt` method
2078 // https://tc39.es/ecma262/#sec-string.prototype.codepointat
2079 codeAt: createMethod(false),
2080 // `String.prototype.at` method
2081 // https://github.com/mathiasbynens/String.prototype.at
2082 charAt: createMethod(true)
2083 };
2084
2085 var charAt$1 = stringMultibyte.charAt;
2086
2087 // `AdvanceStringIndex` abstract operation
2088 // https://tc39.es/ecma262/#sec-advancestringindex
2089 var advanceStringIndex$2 = function (S, index, unicode) {
2090 return index + (unicode ? charAt$1(S, index).length : 1);
2091 };
2092
2093 var uncurryThis$3 = functionUncurryThis;
2094 var toObject$2 = toObject$6;
2095
2096 var floor = Math.floor;
2097 var charAt = uncurryThis$3(''.charAt);
2098 var replace = uncurryThis$3(''.replace);
2099 var stringSlice$1 = uncurryThis$3(''.slice);
2100 // eslint-disable-next-line redos/no-vulnerable -- safe
2101 var SUBSTITUTION_SYMBOLS = /\$([$&'`]|\d{1,2}|<[^>]*>)/g;
2102 var SUBSTITUTION_SYMBOLS_NO_NAMED = /\$([$&'`]|\d{1,2})/g;
2103
2104 // `GetSubstitution` abstract operation
2105 // https://tc39.es/ecma262/#sec-getsubstitution
2106 var getSubstitution$1 = function (matched, str, position, captures, namedCaptures, replacement) {
2107 var tailPos = position + matched.length;
2108 var m = captures.length;
2109 var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;
2110 if (namedCaptures !== undefined) {
2111 namedCaptures = toObject$2(namedCaptures);
2112 symbols = SUBSTITUTION_SYMBOLS;
2113 }
2114 return replace(replacement, symbols, function (match, ch) {
2115 var capture;
2116 switch (charAt(ch, 0)) {
2117 case '$': return '$';
2118 case '&': return matched;
2119 case '`': return stringSlice$1(str, 0, position);
2120 case "'": return stringSlice$1(str, tailPos);
2121 case '<':
2122 capture = namedCaptures[stringSlice$1(ch, 1, -1)];
2123 break;
2124 default: // \d\d?
2125 var n = +ch;
2126 if (n === 0) return match;
2127 if (n > m) {
2128 var f = floor(n / 10);
2129 if (f === 0) return match;
2130 if (f <= m) return captures[f - 1] === undefined ? charAt(ch, 1) : captures[f - 1] + charAt(ch, 1);
2131 return match;
2132 }
2133 capture = captures[n - 1];
2134 }
2135 return capture === undefined ? '' : capture;
2136 });
2137 };
2138
2139 var call$2 = functionCall;
2140 var anObject$2 = anObject$9;
2141 var isCallable$1 = isCallable$e;
2142 var classof = classofRaw$2;
2143 var regexpExec = regexpExec$2;
2144
2145 var $TypeError$1 = TypeError;
2146
2147 // `RegExpExec` abstract operation
2148 // https://tc39.es/ecma262/#sec-regexpexec
2149 var regexpExecAbstract = function (R, S) {
2150 var exec = R.exec;
2151 if (isCallable$1(exec)) {
2152 var result = call$2(exec, R, S);
2153 if (result !== null) anObject$2(result);
2154 return result;
2155 }
2156 if (classof(R) === 'RegExp') return call$2(regexpExec, R, S);
2157 throw $TypeError$1('RegExp#exec called on incompatible receiver');
2158 };
2159
2160 var apply = functionApply;
2161 var call$1 = functionCall;
2162 var uncurryThis$2 = functionUncurryThis;
2163 var fixRegExpWellKnownSymbolLogic$1 = fixRegexpWellKnownSymbolLogic;
2164 var fails$4 = fails$m;
2165 var anObject$1 = anObject$9;
2166 var isCallable = isCallable$e;
2167 var isNullOrUndefined$1 = isNullOrUndefined$4;
2168 var toIntegerOrInfinity = toIntegerOrInfinity$4;
2169 var toLength$1 = toLength$3;
2170 var toString$1 = toString$6;
2171 var requireObjectCoercible$1 = requireObjectCoercible$6;
2172 var advanceStringIndex$1 = advanceStringIndex$2;
2173 var getMethod$1 = getMethod$3;
2174 var getSubstitution = getSubstitution$1;
2175 var regExpExec$1 = regexpExecAbstract;
2176 var wellKnownSymbol$2 = wellKnownSymbol$9;
2177
2178 var REPLACE = wellKnownSymbol$2('replace');
2179 var max = Math.max;
2180 var min = Math.min;
2181 var concat = uncurryThis$2([].concat);
2182 var push = uncurryThis$2([].push);
2183 var stringIndexOf = uncurryThis$2(''.indexOf);
2184 var stringSlice = uncurryThis$2(''.slice);
2185
2186 var maybeToString = function (it) {
2187 return it === undefined ? it : String(it);
2188 };
2189
2190 // IE <= 11 replaces $0 with the whole match, as if it was $&
2191 // https://stackoverflow.com/questions/6024666/getting-ie-to-replace-a-regex-with-the-literal-string-0
2192 var REPLACE_KEEPS_$0 = (function () {
2193 // eslint-disable-next-line regexp/prefer-escape-replacement-dollar-char -- required for testing
2194 return 'a'.replace(/./, '$0') === '$0';
2195 })();
2196
2197 // Safari <= 13.0.3(?) substitutes nth capture where n>m with an empty string
2198 var REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = (function () {
2199 if (/./[REPLACE]) {
2200 return /./[REPLACE]('a', '$0') === '';
2201 }
2202 return false;
2203 })();
2204
2205 var REPLACE_SUPPORTS_NAMED_GROUPS = !fails$4(function () {
2206 var re = /./;
2207 re.exec = function () {
2208 var result = [];
2209 result.groups = { a: '7' };
2210 return result;
2211 };
2212 // eslint-disable-next-line regexp/no-useless-dollar-replacements -- false positive
2213 return ''.replace(re, '$<a>') !== '7';
2214 });
2215
2216 // @@replace logic
2217 fixRegExpWellKnownSymbolLogic$1('replace', function (_, nativeReplace, maybeCallNative) {
2218 var UNSAFE_SUBSTITUTE = REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE ? '$' : '$0';
2219
2220 return [
2221 // `String.prototype.replace` method
2222 // https://tc39.es/ecma262/#sec-string.prototype.replace
2223 function replace(searchValue, replaceValue) {
2224 var O = requireObjectCoercible$1(this);
2225 var replacer = isNullOrUndefined$1(searchValue) ? undefined : getMethod$1(searchValue, REPLACE);
2226 return replacer
2227 ? call$1(replacer, searchValue, O, replaceValue)
2228 : call$1(nativeReplace, toString$1(O), searchValue, replaceValue);
2229 },
2230 // `RegExp.prototype[@@replace]` method
2231 // https://tc39.es/ecma262/#sec-regexp.prototype-@@replace
2232 function (string, replaceValue) {
2233 var rx = anObject$1(this);
2234 var S = toString$1(string);
2235
2236 if (
2237 typeof replaceValue == 'string' &&
2238 stringIndexOf(replaceValue, UNSAFE_SUBSTITUTE) === -1 &&
2239 stringIndexOf(replaceValue, '$<') === -1
2240 ) {
2241 var res = maybeCallNative(nativeReplace, rx, S, replaceValue);
2242 if (res.done) return res.value;
2243 }
2244
2245 var functionalReplace = isCallable(replaceValue);
2246 if (!functionalReplace) replaceValue = toString$1(replaceValue);
2247
2248 var global = rx.global;
2249 if (global) {
2250 var fullUnicode = rx.unicode;
2251 rx.lastIndex = 0;
2252 }
2253 var results = [];
2254 while (true) {
2255 var result = regExpExec$1(rx, S);
2256 if (result === null) break;
2257
2258 push(results, result);
2259 if (!global) break;
2260
2261 var matchStr = toString$1(result[0]);
2262 if (matchStr === '') rx.lastIndex = advanceStringIndex$1(S, toLength$1(rx.lastIndex), fullUnicode);
2263 }
2264
2265 var accumulatedResult = '';
2266 var nextSourcePosition = 0;
2267 for (var i = 0; i < results.length; i++) {
2268 result = results[i];
2269
2270 var matched = toString$1(result[0]);
2271 var position = max(min(toIntegerOrInfinity(result.index), S.length), 0);
2272 var captures = [];
2273 // NOTE: This is equivalent to
2274 // captures = result.slice(1).map(maybeToString)
2275 // but for some reason `nativeSlice.call(result, 1, result.length)` (called in
2276 // the slice polyfill when slicing native arrays) "doesn't work" in safari 9 and
2277 // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it.
2278 for (var j = 1; j < result.length; j++) push(captures, maybeToString(result[j]));
2279 var namedCaptures = result.groups;
2280 if (functionalReplace) {
2281 var replacerArgs = concat([matched], captures, position, S);
2282 if (namedCaptures !== undefined) push(replacerArgs, namedCaptures);
2283 var replacement = toString$1(apply(replaceValue, undefined, replacerArgs));
2284 } else {
2285 replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);
2286 }
2287 if (position >= nextSourcePosition) {
2288 accumulatedResult += stringSlice(S, nextSourcePosition, position) + replacement;
2289 nextSourcePosition = position + matched.length;
2290 }
2291 }
2292 return accumulatedResult + stringSlice(S, nextSourcePosition);
2293 }
2294 ];
2295 }, !REPLACE_SUPPORTS_NAMED_GROUPS || !REPLACE_KEEPS_$0 || REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE);
2296
2297 var $TypeError = TypeError;
2298 var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF; // 2 ** 53 - 1 == 9007199254740991
2299
2300 var doesNotExceedSafeInteger$1 = function (it) {
2301 if (it > MAX_SAFE_INTEGER) throw $TypeError('Maximum allowed index exceeded');
2302 return it;
2303 };
2304
2305 var fails$3 = fails$m;
2306 var wellKnownSymbol$1 = wellKnownSymbol$9;
2307 var V8_VERSION$1 = engineV8Version;
2308
2309 var SPECIES = wellKnownSymbol$1('species');
2310
2311 var arrayMethodHasSpeciesSupport$2 = function (METHOD_NAME) {
2312 // We can't use this feature detection in V8 since it causes
2313 // deoptimization and serious performance degradation
2314 // https://github.com/zloirock/core-js/issues/677
2315 return V8_VERSION$1 >= 51 || !fails$3(function () {
2316 var array = [];
2317 var constructor = array.constructor = {};
2318 constructor[SPECIES] = function () {
2319 return { foo: 1 };
2320 };
2321 return array[METHOD_NAME](Boolean).foo !== 1;
2322 });
2323 };
2324
2325 var $$5 = _export;
2326 var fails$2 = fails$m;
2327 var isArray = isArray$2;
2328 var isObject = isObject$7;
2329 var toObject$1 = toObject$6;
2330 var lengthOfArrayLike = lengthOfArrayLike$5;
2331 var doesNotExceedSafeInteger = doesNotExceedSafeInteger$1;
2332 var createProperty = createProperty$2;
2333 var arraySpeciesCreate = arraySpeciesCreate$2;
2334 var arrayMethodHasSpeciesSupport$1 = arrayMethodHasSpeciesSupport$2;
2335 var wellKnownSymbol = wellKnownSymbol$9;
2336 var V8_VERSION = engineV8Version;
2337
2338 var IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');
2339
2340 // We can't use this feature detection in V8 since it causes
2341 // deoptimization and serious performance degradation
2342 // https://github.com/zloirock/core-js/issues/679
2343 var IS_CONCAT_SPREADABLE_SUPPORT = V8_VERSION >= 51 || !fails$2(function () {
2344 var array = [];
2345 array[IS_CONCAT_SPREADABLE] = false;
2346 return array.concat()[0] !== array;
2347 });
2348
2349 var isConcatSpreadable = function (O) {
2350 if (!isObject(O)) return false;
2351 var spreadable = O[IS_CONCAT_SPREADABLE];
2352 return spreadable !== undefined ? !!spreadable : isArray(O);
2353 };
2354
2355 var FORCED$2 = !IS_CONCAT_SPREADABLE_SUPPORT || !arrayMethodHasSpeciesSupport$1('concat');
2356
2357 // `Array.prototype.concat` method
2358 // https://tc39.es/ecma262/#sec-array.prototype.concat
2359 // with adding support of @@isConcatSpreadable and @@species
2360 $$5({ target: 'Array', proto: true, arity: 1, forced: FORCED$2 }, {
2361 // eslint-disable-next-line no-unused-vars -- required for `.length`
2362 concat: function concat(arg) {
2363 var O = toObject$1(this);
2364 var A = arraySpeciesCreate(O, 0);
2365 var n = 0;
2366 var i, k, length, len, E;
2367 for (i = -1, length = arguments.length; i < length; i++) {
2368 E = i === -1 ? O : arguments[i];
2369 if (isConcatSpreadable(E)) {
2370 len = lengthOfArrayLike(E);
2371 doesNotExceedSafeInteger(n + len);
2372 for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);
2373 } else {
2374 doesNotExceedSafeInteger(n + 1);
2375 createProperty(A, n++, E);
2376 }
2377 }
2378 A.length = n;
2379 return A;
2380 }
2381 });
2382
2383 var $$4 = _export;
2384 var $filter = arrayIteration.filter;
2385 var arrayMethodHasSpeciesSupport = arrayMethodHasSpeciesSupport$2;
2386
2387 var HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('filter');
2388
2389 // `Array.prototype.filter` method
2390 // https://tc39.es/ecma262/#sec-array.prototype.filter
2391 // with adding support of @@species
2392 $$4({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {
2393 filter: function filter(callbackfn /* , thisArg */) {
2394 return $filter(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
2395 }
2396 });
2397
2398 var call = functionCall;
2399 var fixRegExpWellKnownSymbolLogic = fixRegexpWellKnownSymbolLogic;
2400 var anObject = anObject$9;
2401 var isNullOrUndefined = isNullOrUndefined$4;
2402 var toLength = toLength$3;
2403 var toString = toString$6;
2404 var requireObjectCoercible = requireObjectCoercible$6;
2405 var getMethod = getMethod$3;
2406 var advanceStringIndex = advanceStringIndex$2;
2407 var regExpExec = regexpExecAbstract;
2408
2409 // @@match logic
2410 fixRegExpWellKnownSymbolLogic('match', function (MATCH, nativeMatch, maybeCallNative) {
2411 return [
2412 // `String.prototype.match` method
2413 // https://tc39.es/ecma262/#sec-string.prototype.match
2414 function match(regexp) {
2415 var O = requireObjectCoercible(this);
2416 var matcher = isNullOrUndefined(regexp) ? undefined : getMethod(regexp, MATCH);
2417 return matcher ? call(matcher, regexp, O) : new RegExp(regexp)[MATCH](toString(O));
2418 },
2419 // `RegExp.prototype[@@match]` method
2420 // https://tc39.es/ecma262/#sec-regexp.prototype-@@match
2421 function (string) {
2422 var rx = anObject(this);
2423 var S = toString(string);
2424 var res = maybeCallNative(nativeMatch, rx, S);
2425
2426 if (res.done) return res.value;
2427
2428 if (!rx.global) return regExpExec(rx, S);
2429
2430 var fullUnicode = rx.unicode;
2431 rx.lastIndex = 0;
2432 var A = [];
2433 var n = 0;
2434 var result;
2435 while ((result = regExpExec(rx, S)) !== null) {
2436 var matchStr = toString(result[0]);
2437 A[n] = matchStr;
2438 if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);
2439 n++;
2440 }
2441 return n === 0 ? null : A;
2442 }
2443 ];
2444 });
2445
2446 var $$3 = _export;
2447 var $includes = arrayIncludes.includes;
2448 var fails$1 = fails$m;
2449 var addToUnscopables = addToUnscopables$2;
2450
2451 // FF99+ bug
2452 var BROKEN_ON_SPARSE = fails$1(function () {
2453 // eslint-disable-next-line es/no-array-prototype-includes -- detection
2454 return !Array(1).includes();
2455 });
2456
2457 // `Array.prototype.includes` method
2458 // https://tc39.es/ecma262/#sec-array.prototype.includes
2459 $$3({ target: 'Array', proto: true, forced: BROKEN_ON_SPARSE }, {
2460 includes: function includes(el /* , fromIndex = 0 */) {
2461 return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);
2462 }
2463 });
2464
2465 // https://tc39.es/ecma262/#sec-array.prototype-@@unscopables
2466 addToUnscopables('includes');
2467
2468 // iterable DOM collections
2469 // flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods
2470 var domIterables = {
2471 CSSRuleList: 0,
2472 CSSStyleDeclaration: 0,
2473 CSSValueList: 0,
2474 ClientRectList: 0,
2475 DOMRectList: 0,
2476 DOMStringList: 0,
2477 DOMTokenList: 1,
2478 DataTransferItemList: 0,
2479 FileList: 0,
2480 HTMLAllCollection: 0,
2481 HTMLCollection: 0,
2482 HTMLFormElement: 0,
2483 HTMLSelectElement: 0,
2484 MediaList: 0,
2485 MimeTypeArray: 0,
2486 NamedNodeMap: 0,
2487 NodeList: 1,
2488 PaintRequestList: 0,
2489 Plugin: 0,
2490 PluginArray: 0,
2491 SVGLengthList: 0,
2492 SVGNumberList: 0,
2493 SVGPathSegList: 0,
2494 SVGPointList: 0,
2495 SVGStringList: 0,
2496 SVGTransformList: 0,
2497 SourceBufferList: 0,
2498 StyleSheetList: 0,
2499 TextTrackCueList: 0,
2500 TextTrackList: 0,
2501 TouchList: 0
2502 };
2503
2504 // in old WebKit versions, `element.classList` is not an instance of global `DOMTokenList`
2505 var documentCreateElement = documentCreateElement$2;
2506
2507 var classList = documentCreateElement('span').classList;
2508 var DOMTokenListPrototype$1 = classList && classList.constructor && classList.constructor.prototype;
2509
2510 var domTokenListPrototype = DOMTokenListPrototype$1 === Object.prototype ? undefined : DOMTokenListPrototype$1;
2511
2512 var $forEach = arrayIteration.forEach;
2513 var arrayMethodIsStrict$2 = arrayMethodIsStrict$4;
2514
2515 var STRICT_METHOD = arrayMethodIsStrict$2('forEach');
2516
2517 // `Array.prototype.forEach` method implementation
2518 // https://tc39.es/ecma262/#sec-array.prototype.foreach
2519 var arrayForEach = !STRICT_METHOD ? function forEach(callbackfn /* , thisArg */) {
2520 return $forEach(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
2521 // eslint-disable-next-line es/no-array-prototype-foreach -- safe
2522 } : [].forEach;
2523
2524 var global$1 = global$e;
2525 var DOMIterables = domIterables;
2526 var DOMTokenListPrototype = domTokenListPrototype;
2527 var forEach = arrayForEach;
2528 var createNonEnumerableProperty = createNonEnumerableProperty$4;
2529
2530 var handlePrototype = function (CollectionPrototype) {
2531 // some Chrome versions have non-configurable methods on DOMTokenList
2532 if (CollectionPrototype && CollectionPrototype.forEach !== forEach) try {
2533 createNonEnumerableProperty(CollectionPrototype, 'forEach', forEach);
2534 } catch (error) {
2535 CollectionPrototype.forEach = forEach;
2536 }
2537 };
2538
2539 for (var COLLECTION_NAME in DOMIterables) {
2540 if (DOMIterables[COLLECTION_NAME]) {
2541 handlePrototype(global$1[COLLECTION_NAME] && global$1[COLLECTION_NAME].prototype);
2542 }
2543 }
2544
2545 handlePrototype(DOMTokenListPrototype);
2546
2547 var $$2 = _export;
2548 var toObject = toObject$6;
2549 var nativeKeys = objectKeys$1;
2550 var fails = fails$m;
2551
2552 var FAILS_ON_PRIMITIVES = fails(function () { nativeKeys(1); });
2553
2554 // `Object.keys` method
2555 // https://tc39.es/ecma262/#sec-object.keys
2556 $$2({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, {
2557 keys: function keys(it) {
2558 return nativeKeys(toObject(it));
2559 }
2560 });
2561
2562 var $$1 = _export;
2563 var uncurryThis$1 = functionUncurryThis;
2564 var IndexedObject = indexedObject;
2565 var toIndexedObject = toIndexedObject$5;
2566 var arrayMethodIsStrict$1 = arrayMethodIsStrict$4;
2567
2568 var nativeJoin = uncurryThis$1([].join);
2569
2570 var ES3_STRINGS = IndexedObject != Object;
2571 var FORCED$1 = ES3_STRINGS || !arrayMethodIsStrict$1('join', ',');
2572
2573 // `Array.prototype.join` method
2574 // https://tc39.es/ecma262/#sec-array.prototype.join
2575 $$1({ target: 'Array', proto: true, forced: FORCED$1 }, {
2576 join: function join(separator) {
2577 return nativeJoin(toIndexedObject(this), separator === undefined ? ',' : separator);
2578 }
2579 });
2580
2581 /* eslint-disable es/no-array-prototype-indexof -- required for testing */
2582 var $ = _export;
2583 var uncurryThis = functionUncurryThisClause;
2584 var $indexOf = arrayIncludes.indexOf;
2585 var arrayMethodIsStrict = arrayMethodIsStrict$4;
2586
2587 var nativeIndexOf = uncurryThis([].indexOf);
2588
2589 var NEGATIVE_ZERO = !!nativeIndexOf && 1 / nativeIndexOf([1], 1, -0) < 0;
2590 var FORCED = NEGATIVE_ZERO || !arrayMethodIsStrict('indexOf');
2591
2592 // `Array.prototype.indexOf` method
2593 // https://tc39.es/ecma262/#sec-array.prototype.indexof
2594 $({ target: 'Array', proto: true, forced: FORCED }, {
2595 indexOf: function indexOf(searchElement /* , fromIndex = 0 */) {
2596 var fromIndex = arguments.length > 1 ? arguments[1] : undefined;
2597 return NEGATIVE_ZERO
2598 // convert -0 to +0
2599 ? nativeIndexOf(this, searchElement, fromIndex) || 0
2600 : $indexOf(this, searchElement, fromIndex);
2601 }
2602 });
2603
2604 /* eslint-disable no-use-before-define */
2605 var Utils = $$a.fn.bootstrapTable.utils;
2606 var searchControls = 'select, input:not([type="checkbox"]):not([type="radio"])';
2607 function getInputClass(that) {
2608 var isSelect = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
2609 var formControlClass = isSelect ? that.constants.classes.select : that.constants.classes.input;
2610 return that.options.iconSize ? Utils.sprintf('%s %s-%s', formControlClass, formControlClass, that.options.iconSize) : formControlClass;
2611 }
2612 function getOptionsFromSelectControl(selectControl) {
2613 return selectControl[0].options;
2614 }
2615 function getControlContainer(that) {
2616 if (that.options.filterControlContainer) {
2617 return $$a("".concat(that.options.filterControlContainer));
2618 }
2619 if (that.options.height && that._initialized) {
2620 return that.$tableContainer.find('.fixed-table-header table thead');
2621 }
2622 return that.$header;
2623 }
2624 function isKeyAllowed(keyCode) {
2625 return $$a.inArray(keyCode, [37, 38, 39, 40]) > -1;
2626 }
2627 function getSearchControls(that) {
2628 return getControlContainer(that).find(searchControls);
2629 }
2630 function hideUnusedSelectOptions(selectControl, uniqueValues) {
2631 var options = getOptionsFromSelectControl(selectControl);
2632 for (var i = 0; i < options.length; i++) {
2633 if (options[i].value !== '') {
2634 if (!uniqueValues.hasOwnProperty(options[i].value)) {
2635 selectControl.find(Utils.sprintf('option[value=\'%s\']', options[i].value)).hide();
2636 } else {
2637 selectControl.find(Utils.sprintf('option[value=\'%s\']', options[i].value)).show();
2638 }
2639 }
2640 }
2641 }
2642 function existOptionInSelectControl(selectControl, value) {
2643 var options = getOptionsFromSelectControl(selectControl);
2644 for (var i = 0; i < options.length; i++) {
2645 if (options[i].value === Utils.unescapeHTML(value)) {
2646 // The value is not valid to add
2647 return true;
2648 }
2649 }
2650
2651 // If we get here, the value is valid to add
2652 return false;
2653 }
2654 function addOptionToSelectControl(selectControl, _value, text, selected, shouldCompareText) {
2655 var value = _value === undefined || _value === null ? '' : _value.toString().trim();
2656 value = Utils.removeHTML(Utils.unescapeHTML(value));
2657 text = Utils.removeHTML(Utils.unescapeHTML(text));
2658 if (existOptionInSelectControl(selectControl, value)) {
2659 return;
2660 }
2661 var isSelected = shouldCompareText ? value === selected || text === selected : value === selected;
2662 var option = new Option(text, value, false, isSelected);
2663 selectControl.get(0).add(option);
2664 }
2665 function sortSelectControl(selectControl, orderBy, options) {
2666 var $selectControl = selectControl.get(0);
2667 if (orderBy === 'server') {
2668 return;
2669 }
2670 var tmpAry = new Array();
2671 for (var i = 0; i < $selectControl.options.length; i++) {
2672 tmpAry[i] = new Array();
2673 tmpAry[i][0] = $selectControl.options[i].text;
2674 tmpAry[i][1] = $selectControl.options[i].value;
2675 tmpAry[i][2] = $selectControl.options[i].selected;
2676 }
2677 tmpAry.sort(function (a, b) {
2678 return Utils.sort(a[0], b[0], orderBy === 'desc' ? -1 : 1, options);
2679 });
2680 while ($selectControl.options.length > 0) {
2681 $selectControl.options[0] = null;
2682 }
2683 for (var _i = 0; _i < tmpAry.length; _i++) {
2684 var op = new Option(tmpAry[_i][0], tmpAry[_i][1], false, tmpAry[_i][2]);
2685 $selectControl.add(op);
2686 }
2687 }
2688 function fixHeaderCSS(_ref) {
2689 var $tableHeader = _ref.$tableHeader;
2690 $tableHeader.css('height', $tableHeader.find('table').outerHeight(true));
2691 }
2692 function getElementClass($element) {
2693 return $element.attr('class').replace('form-control', '').replace('form-select', '').replace('focus-temp', '').replace('search-input', '').trim();
2694 }
2695 function getCursorPosition(el) {
2696 if ($$a(el).is('input[type=search]')) {
2697 var pos = 0;
2698 if ('selectionStart' in el) {
2699 pos = el.selectionStart;
2700 } else if ('selection' in document) {
2701 el.focus();
2702 var Sel = document.selection.createRange();
2703 var SelLength = document.selection.createRange().text.length;
2704 Sel.moveStart('character', -el.value.length);
2705 pos = Sel.text.length - SelLength;
2706 }
2707 return pos;
2708 }
2709 return -1;
2710 }
2711 function cacheValues(that) {
2712 var searchControls = getSearchControls(that);
2713 that._valuesFilterControl = [];
2714 searchControls.each(function () {
2715 var $field = $$a(this);
2716 var fieldClass = escapeID(getElementClass($field));
2717 if (that.options.height && !that.options.filterControlContainer) {
2718 $field = that.$el.find(".fixed-table-header .".concat(fieldClass));
2719 } else if (that.options.filterControlContainer) {
2720 $field = $$a("".concat(that.options.filterControlContainer, " .").concat(fieldClass));
2721 } else {
2722 $field = that.$el.find(".".concat(fieldClass));
2723 }
2724 that._valuesFilterControl.push({
2725 field: $field.closest('[data-field]').data('field'),
2726 value: $field.val(),
2727 position: getCursorPosition($field.get(0)),
2728 hasFocus: $field.is(':focus')
2729 });
2730 });
2731 }
2732 function setCaretPosition(elem, caretPos) {
2733 try {
2734 if (elem) {
2735 if (elem.createTextRange) {
2736 var range = elem.createTextRange();
2737 range.move('character', caretPos);
2738 range.select();
2739 } else {
2740 elem.setSelectionRange(caretPos, caretPos);
2741 }
2742 }
2743 } catch (ex) {
2744 // ignored
2745 }
2746 }
2747 function setValues(that) {
2748 var field = null;
2749 var result = [];
2750 var searchControls = getSearchControls(that);
2751 if (that._valuesFilterControl.length > 0) {
2752 // Callback to apply after settings fields values
2753 var callbacks = [];
2754 searchControls.each(function (i, el) {
2755 var $this = $$a(el);
2756 field = $this.closest('[data-field]').data('field');
2757 result = that._valuesFilterControl.filter(function (valueObj) {
2758 return valueObj.field === field;
2759 });
2760 if (result.length > 0) {
2761 if (result[0].hasFocus || result[0].value) {
2762 var fieldToFocusCallback = function (element, cacheElementInfo) {
2763 // Closure here to capture the field information
2764 var closedCallback = function closedCallback() {
2765 if (cacheElementInfo.hasFocus) {
2766 element.focus();
2767 }
2768 if (Array.isArray(cacheElementInfo.value)) {
2769 var $element = $$a(element);
2770 $$a.each(cacheElementInfo.value, function (i, e) {
2771 $element.find(Utils.sprintf('option[value=\'%s\']', e)).prop('selected', true);
2772 });
2773 } else {
2774 element.value = cacheElementInfo.value;
2775 }
2776 setCaretPosition(element, cacheElementInfo.position);
2777 };
2778 return closedCallback;
2779 }($this.get(0), result[0]);
2780 callbacks.push(fieldToFocusCallback);
2781 }
2782 }
2783 });
2784
2785 // Callback call.
2786 if (callbacks.length > 0) {
2787 callbacks.forEach(function (callback) {
2788 return callback();
2789 });
2790 }
2791 }
2792 }
2793 function collectBootstrapTableFilterCookies() {
2794 var cookies = [];
2795 var foundCookies = document.cookie.match(/bs\.table\.(filterControl|searchText)/g);
2796 var foundLocalStorage = localStorage;
2797 if (foundCookies) {
2798 $$a.each(foundCookies, function (i, _cookie) {
2799 var cookie = _cookie;
2800 if (/./.test(cookie)) {
2801 cookie = cookie.split('.').pop();
2802 }
2803 if ($$a.inArray(cookie, cookies) === -1) {
2804 cookies.push(cookie);
2805 }
2806 });
2807 }
2808 if (foundLocalStorage) {
2809 for (var i = 0; i < foundLocalStorage.length; i++) {
2810 var cookie = foundLocalStorage.key(i);
2811 if (/./.test(cookie)) {
2812 cookie = cookie.split('.').pop();
2813 }
2814 if (!cookies.includes(cookie)) {
2815 cookies.push(cookie);
2816 }
2817 }
2818 }
2819 return cookies;
2820 }
2821 function escapeID(id) {
2822 // eslint-disable-next-line no-useless-escape
2823 return String(id).replace(/([:.\[\],])/g, '\\$1');
2824 }
2825 function isColumnSearchableViaSelect(_ref2) {
2826 var filterControl = _ref2.filterControl,
2827 searchable = _ref2.searchable;
2828 return filterControl && filterControl.toLowerCase() === 'select' && searchable;
2829 }
2830 function isFilterDataNotGiven(_ref3) {
2831 var filterData = _ref3.filterData;
2832 return filterData === undefined || filterData.toLowerCase() === 'column';
2833 }
2834 function hasSelectControlElement(selectControl) {
2835 return selectControl && selectControl.length > 0;
2836 }
2837 function initFilterSelectControls(that) {
2838 var data = that.options.data;
2839 $$a.each(that.header.fields, function (j, field) {
2840 var column = that.columns[that.fieldsColumnsIndex[field]];
2841 var selectControl = getControlContainer(that).find("select.bootstrap-table-filter-control-".concat(escapeID(column.field)));
2842 if (isColumnSearchableViaSelect(column) && isFilterDataNotGiven(column) && hasSelectControlElement(selectControl)) {
2843 if (!selectControl[0].multiple && selectControl.get(selectControl.length - 1).options.length === 0) {
2844 // Added the default option, must use a non-breaking space(&nbsp;) to pass the W3C validator
2845 addOptionToSelectControl(selectControl, '', column.filterControlPlaceholder || ' ', column.filterDefault);
2846 }
2847 var uniqueValues = {};
2848 for (var i = 0; i < data.length; i++) {
2849 // Added a new value
2850 var fieldValue = Utils.getItemField(data[i], field, false);
2851 var formatter = that.options.editable && column.editable ? column._formatter : that.header.formatters[j];
2852 var formattedValue = Utils.calculateObjectValue(that.header, formatter, [fieldValue, data[i], i], fieldValue);
2853 if (fieldValue === undefined || fieldValue === null) {
2854 fieldValue = formattedValue;
2855 column._forceFormatter = true;
2856 }
2857 if (column.filterDataCollector) {
2858 formattedValue = Utils.calculateObjectValue(that.header, column.filterDataCollector, [fieldValue, data[i], formattedValue], formattedValue);
2859 }
2860 if (column.searchFormatter) {
2861 fieldValue = formattedValue;
2862 }
2863 uniqueValues[formattedValue] = fieldValue;
2864 if (_typeof(formattedValue) === 'object' && formattedValue !== null) {
2865 formattedValue.forEach(function (value) {
2866 addOptionToSelectControl(selectControl, value, value, column.filterDefault);
2867 });
2868 continue;
2869 }
2870 }
2871
2872 // eslint-disable-next-line guard-for-in
2873 for (var key in uniqueValues) {
2874 addOptionToSelectControl(selectControl, uniqueValues[key], key, column.filterDefault);
2875 }
2876 if (that.options.sortSelectOptions) {
2877 sortSelectControl(selectControl, 'asc', that.options);
2878 }
2879 }
2880 });
2881 }
2882 function getFilterDataMethod(objFilterDataMethod, searchTerm) {
2883 var keys = Object.keys(objFilterDataMethod);
2884 for (var i = 0; i < keys.length; i++) {
2885 if (keys[i] === searchTerm) {
2886 return objFilterDataMethod[searchTerm];
2887 }
2888 }
2889 return null;
2890 }
2891 function createControls(that, header) {
2892 var addedFilterControl = false;
2893 var html;
2894 $$a.each(that.columns, function (_, column) {
2895 html = [];
2896 if (!column.visible && !(that.options.filterControlContainer && $$a(".bootstrap-table-filter-control-".concat(escapeID(column.field))).length >= 1)) {
2897 return;
2898 }
2899 if (!column.filterControl && !that.options.filterControlContainer) {
2900 html.push('<div class="no-filter-control"></div>');
2901 } else if (that.options.filterControlContainer) {
2902 // Use a filter control container instead of th
2903 var $filterControls = $$a(".bootstrap-table-filter-control-".concat(escapeID(column.field)));
2904 $$a.each($filterControls, function (_, filterControl) {
2905 var $filterControl = $$a(filterControl);
2906 if (!$filterControl.is('[type=radio]')) {
2907 var placeholder = column.filterControlPlaceholder || '';
2908 $filterControl.attr('placeholder', placeholder).val(column.filterDefault);
2909 }
2910 $filterControl.attr('data-field', column.field);
2911 });
2912 addedFilterControl = true;
2913 } else {
2914 // Create the control based on the html defined in the filterTemplate array.
2915 var nameControl = column.filterControl.toLowerCase();
2916 html.push('<div class="filter-control">');
2917 addedFilterControl = true;
2918 if (column.searchable && that.options.filterTemplate[nameControl]) {
2919 html.push(that.options.filterTemplate[nameControl](that, column, column.filterControlPlaceholder ? column.filterControlPlaceholder : '', column.filterDefault));
2920 }
2921 }
2922
2923 // Filtering by default when it is set.
2924 if (column.filterControl && '' !== column.filterDefault && 'undefined' !== typeof column.filterDefault) {
2925 if ($$a.isEmptyObject(that.filterColumnsPartial)) {
2926 that.filterColumnsPartial = {};
2927 }
2928 if (!(column.field in that.filterColumnsPartial)) {
2929 that.filterColumnsPartial[column.field] = column.filterDefault;
2930 }
2931 }
2932 $$a.each(header.find('th'), function (_, th) {
2933 var $th = $$a(th);
2934 if ($th.data('field') === column.field) {
2935 $th.find('.filter-control').remove();
2936 $th.find('.fht-cell').html(html.join(''));
2937 return false;
2938 }
2939 });
2940 if (column.filterData && column.filterData.toLowerCase() !== 'column') {
2941 var filterDataType = getFilterDataMethod(filterDataMethods, column.filterData.substring(0, column.filterData.indexOf(':')));
2942 var filterDataSource;
2943 var selectControl;
2944 if (filterDataType) {
2945 filterDataSource = column.filterData.substring(column.filterData.indexOf(':') + 1, column.filterData.length);
2946 selectControl = header.find(".bootstrap-table-filter-control-".concat(escapeID(column.field)));
2947 addOptionToSelectControl(selectControl, '', column.filterControlPlaceholder, column.filterDefault, true);
2948 filterDataType(that, filterDataSource, selectControl, that.options.filterOrderBy, column.filterDefault);
2949 } else {
2950 throw new SyntaxError('Error. You should use any of these allowed filter data methods: var, obj, json, url, func.' + ' Use like this: var: {key: "value"}');
2951 }
2952 }
2953 });
2954 if (addedFilterControl) {
2955 header.off('keyup', 'input').on('keyup', 'input', function (_ref4, obj) {
2956 var currentTarget = _ref4.currentTarget,
2957 keyCode = _ref4.keyCode;
2958 keyCode = obj ? obj.keyCode : keyCode;
2959 if (that.options.searchOnEnterKey && keyCode !== 13) {
2960 return;
2961 }
2962 if (isKeyAllowed(keyCode)) {
2963 return;
2964 }
2965 var $currentTarget = $$a(currentTarget);
2966 if ($currentTarget.is(':checkbox') || $currentTarget.is(':radio')) {
2967 return;
2968 }
2969 clearTimeout(currentTarget.timeoutId || 0);
2970 currentTarget.timeoutId = setTimeout(function () {
2971 that.onColumnSearch({
2972 currentTarget: currentTarget,
2973 keyCode: keyCode
2974 });
2975 }, that.options.searchTimeOut);
2976 });
2977 header.off('change', 'select', '.fc-multipleselect').on('change', 'select', '.fc-multipleselect', function (_ref5) {
2978 var currentTarget = _ref5.currentTarget,
2979 keyCode = _ref5.keyCode;
2980 var $selectControl = $$a(currentTarget);
2981 var value = $selectControl.val();
2982 if (Array.isArray(value)) {
2983 for (var i = 0; i < value.length; i++) {
2984 if (value[i] && value[i].length > 0 && value[i].trim()) {
2985 $selectControl.find("option[value=\"".concat(value[i], "\"]")).attr('selected', true);
2986 }
2987 }
2988 } else if (value && value.length > 0 && value.trim()) {
2989 $selectControl.find('option[selected]').removeAttr('selected');
2990 $selectControl.find("option[value=\"".concat(value, "\"]")).attr('selected', true);
2991 } else {
2992 $selectControl.find('option[selected]').removeAttr('selected');
2993 }
2994 clearTimeout(currentTarget.timeoutId || 0);
2995 currentTarget.timeoutId = setTimeout(function () {
2996 that.onColumnSearch({
2997 currentTarget: currentTarget,
2998 keyCode: keyCode
2999 });
3000 }, that.options.searchTimeOut);
3001 });
3002 header.off('mouseup', 'input:not([type=radio])').on('mouseup', 'input:not([type=radio])', function (_ref6) {
3003 var currentTarget = _ref6.currentTarget,
3004 keyCode = _ref6.keyCode;
3005 var $input = $$a(currentTarget);
3006 var oldValue = $input.val();
3007 if (oldValue === '') {
3008 return;
3009 }
3010 setTimeout(function () {
3011 var newValue = $input.val();
3012 if (newValue === '') {
3013 clearTimeout(currentTarget.timeoutId || 0);
3014 currentTarget.timeoutId = setTimeout(function () {
3015 that.onColumnSearch({
3016 currentTarget: currentTarget,
3017 keyCode: keyCode
3018 });
3019 }, that.options.searchTimeOut);
3020 }
3021 }, 1);
3022 });
3023 header.off('change', 'input[type=radio]').on('change', 'input[type=radio]', function (_ref7) {
3024 var currentTarget = _ref7.currentTarget,
3025 keyCode = _ref7.keyCode;
3026 clearTimeout(currentTarget.timeoutId || 0);
3027 currentTarget.timeoutId = setTimeout(function () {
3028 that.onColumnSearch({
3029 currentTarget: currentTarget,
3030 keyCode: keyCode
3031 });
3032 }, that.options.searchTimeOut);
3033 });
3034
3035 // See https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/date
3036 if (header.find('.date-filter-control').length > 0) {
3037 $$a.each(that.columns, function (i, _ref8) {
3038 var filterDefault = _ref8.filterDefault,
3039 filterControl = _ref8.filterControl,
3040 field = _ref8.field,
3041 filterDatepickerOptions = _ref8.filterDatepickerOptions;
3042 if (filterControl !== undefined && filterControl.toLowerCase() === 'datepicker') {
3043 var $datepicker = header.find(".date-filter-control.bootstrap-table-filter-control-".concat(escapeID(field)));
3044 if (filterDefault) {
3045 $datepicker.value(filterDefault);
3046 }
3047 if (filterDatepickerOptions.min) {
3048 $datepicker.attr('min', filterDatepickerOptions.min);
3049 }
3050 if (filterDatepickerOptions.max) {
3051 $datepicker.attr('max', filterDatepickerOptions.max);
3052 }
3053 if (filterDatepickerOptions.step) {
3054 $datepicker.attr('step', filterDatepickerOptions.step);
3055 }
3056 if (filterDatepickerOptions.pattern) {
3057 $datepicker.attr('pattern', filterDatepickerOptions.pattern);
3058 }
3059 $datepicker.on('change', function (_ref9) {
3060 var currentTarget = _ref9.currentTarget;
3061 clearTimeout(currentTarget.timeoutId || 0);
3062 currentTarget.timeoutId = setTimeout(function () {
3063 that.onColumnSearch({
3064 currentTarget: currentTarget
3065 });
3066 }, that.options.searchTimeOut);
3067 });
3068 }
3069 });
3070 }
3071 if (that.options.sidePagination !== 'server') {
3072 that.triggerSearch();
3073 }
3074 if (!that.options.filterControlVisible) {
3075 header.find('.filter-control, .no-filter-control').hide();
3076 }
3077 } else {
3078 header.find('.filter-control, .no-filter-control').hide();
3079 }
3080 that.trigger('created-controls');
3081 }
3082 function getDirectionOfSelectOptions(_alignment) {
3083 var alignment = _alignment === undefined ? 'left' : _alignment.toLowerCase();
3084 switch (alignment) {
3085 case 'left':
3086 return 'ltr';
3087 case 'right':
3088 return 'rtl';
3089 case 'auto':
3090 return 'auto';
3091 default:
3092 return 'ltr';
3093 }
3094 }
3095 function syncHeaders(that) {
3096 if (!that.options.height) {
3097 return;
3098 }
3099 var fixedHeader = that.$tableContainer.find('.fixed-table-header table thead');
3100 if (fixedHeader.length === 0) {
3101 return;
3102 }
3103 that.$header.children().find('th[data-field]').each(function (_, element) {
3104 if (element.classList[0] !== 'bs-checkbox') {
3105 var $element = $$a(element);
3106 var $field = $element.data('field');
3107 var $fixedField = that.$tableContainer.find("th[data-field='".concat($field, "']")).not($element);
3108 var input = $element.find('input');
3109 var fixedInput = $fixedField.find('input');
3110 if (input.length > 0 && fixedInput.length > 0) {
3111 if (input.val() !== fixedInput.val()) {
3112 input.val(fixedInput.val());
3113 }
3114 }
3115 }
3116 });
3117 }
3118 var filterDataMethods = {
3119 func: function func(that, filterDataSource, selectControl, filterOrderBy, selected) {
3120 var variableValues = window[filterDataSource].apply();
3121
3122 // eslint-disable-next-line guard-for-in
3123 for (var key in variableValues) {
3124 addOptionToSelectControl(selectControl, key, variableValues[key], selected);
3125 }
3126 if (that.options.sortSelectOptions) {
3127 sortSelectControl(selectControl, filterOrderBy, that.options);
3128 }
3129 setValues(that);
3130 },
3131 obj: function obj(that, filterDataSource, selectControl, filterOrderBy, selected) {
3132 var objectKeys = filterDataSource.split('.');
3133 var variableName = objectKeys.shift();
3134 var variableValues = window[variableName];
3135 if (objectKeys.length > 0) {
3136 objectKeys.forEach(function (key) {
3137 variableValues = variableValues[key];
3138 });
3139 }
3140
3141 // eslint-disable-next-line guard-for-in
3142 for (var key in variableValues) {
3143 addOptionToSelectControl(selectControl, key, variableValues[key], selected);
3144 }
3145 if (that.options.sortSelectOptions) {
3146 sortSelectControl(selectControl, filterOrderBy, that.options);
3147 }
3148 setValues(that);
3149 },
3150 var: function _var(that, filterDataSource, selectControl, filterOrderBy, selected) {
3151 var variableValues = window[filterDataSource];
3152 var isArray = Array.isArray(variableValues);
3153 for (var key in variableValues) {
3154 if (isArray) {
3155 addOptionToSelectControl(selectControl, variableValues[key], variableValues[key], selected, true);
3156 } else {
3157 addOptionToSelectControl(selectControl, key, variableValues[key], selected, true);
3158 }
3159 }
3160 if (that.options.sortSelectOptions) {
3161 sortSelectControl(selectControl, filterOrderBy, that.options);
3162 }
3163 setValues(that);
3164 },
3165 url: function url(that, filterDataSource, selectControl, filterOrderBy, selected) {
3166 $$a.ajax({
3167 url: filterDataSource,
3168 dataType: 'json',
3169 success: function success(data) {
3170 // eslint-disable-next-line guard-for-in
3171 for (var key in data) {
3172 addOptionToSelectControl(selectControl, key, data[key], selected);
3173 }
3174 if (that.options.sortSelectOptions) {
3175 sortSelectControl(selectControl, filterOrderBy, that.options);
3176 }
3177 setValues(that);
3178 }
3179 });
3180 },
3181 json: function json(that, filterDataSource, selectControl, filterOrderBy, selected) {
3182 var variableValues = JSON.parse(filterDataSource);
3183
3184 // eslint-disable-next-line guard-for-in
3185 for (var key in variableValues) {
3186 addOptionToSelectControl(selectControl, key, variableValues[key], selected);
3187 }
3188 if (that.options.sortSelectOptions) {
3189 sortSelectControl(selectControl, filterOrderBy, that.options);
3190 }
3191 setValues(that);
3192 }
3193 };
3194
3195 exports.addOptionToSelectControl = addOptionToSelectControl;
3196 exports.cacheValues = cacheValues;
3197 exports.collectBootstrapTableFilterCookies = collectBootstrapTableFilterCookies;
3198 exports.createControls = createControls;
3199 exports.escapeID = escapeID;
3200 exports.existOptionInSelectControl = existOptionInSelectControl;
3201 exports.fixHeaderCSS = fixHeaderCSS;
3202 exports.getControlContainer = getControlContainer;
3203 exports.getCursorPosition = getCursorPosition;
3204 exports.getDirectionOfSelectOptions = getDirectionOfSelectOptions;
3205 exports.getElementClass = getElementClass;
3206 exports.getFilterDataMethod = getFilterDataMethod;
3207 exports.getInputClass = getInputClass;
3208 exports.getOptionsFromSelectControl = getOptionsFromSelectControl;
3209 exports.getSearchControls = getSearchControls;
3210 exports.hasSelectControlElement = hasSelectControlElement;
3211 exports.hideUnusedSelectOptions = hideUnusedSelectOptions;
3212 exports.initFilterSelectControls = initFilterSelectControls;
3213 exports.isColumnSearchableViaSelect = isColumnSearchableViaSelect;
3214 exports.isFilterDataNotGiven = isFilterDataNotGiven;
3215 exports.isKeyAllowed = isKeyAllowed;
3216 exports.setCaretPosition = setCaretPosition;
3217 exports.setValues = setValues;
3218 exports.sortSelectControl = sortSelectControl;
3219 exports.syncHeaders = syncHeaders;
3220
3221}));